<p>Most of time tanh is quickly converge than sigmoid and logistic function, and performs better accuracy <a href="http://www.cscjournals.org/manuscript/Journals/IJAE/volume1/Issue4/IJAE-26.pdf">[1]</a>. However, recently rectified linear unit (ReLU) is proposed by Hinton <a href="http://machinelearning.wustl.edu/mlpapers/paper_files/icml2010_NairH10.pdf">[2]</a> which shows ReLU train six times fast than tanh <a href="http://www.cs.toronto.edu/~fritz/absps/imagenet.pdf">[3]</a> to reach same training error. And you can refer to <a href="http://en.wikipedia.org/wiki/Rectifier_%28neural_networks%29">[4]</a> to see what benefits ReLU provides.</p>

<hr>

<p>Accordining to about 2 years machine learning experience. I want to share some stratrgies the most paper used and my experience about computer vision.</p>

<h2>Normalizing input is very important</h2>

<p>Normalizing well could get better performance and converge quickly. Most of time we will subtract mean value to make input mean to be zero to prevent weights change same directions so that converge slowly <a href="http://yann.lecun.com/exdb/publis/pdf/lecun-98b.pdf">[5]</a> .Recently google also points that phenomenon as internal covariate shift out when training deep learning, and they proposed batch normalization <a href="http://arxiv.org/pdf/1502.03167v3.pdf">[6]</a> so as to normalize each vector having zero mean and unit variance.</p>

<h2>More data more accuracy</h2>

<p>More training data could generize feature space well and prevent overfitting. In computer vision if training data is not enough, most of used skill to increase training dataset is data argumentation and synthesis training data.</p>

<h2>Choosing a good activation function allows training better and efficiently.</h2>

<p>ReLU nonlinear acitivation worked better and performed state-of-art results in deep learning and MLP. Moreover, it has some benefits e.g. simple to implementation and cheaper computation in back-propagation to efficiently train more deep neural net. However, ReLU will get zero gradient and do not train when the unit is zero active. Hence some modified ReLUs are proposed e.g. Leaky ReLU, and Noise ReLU, and most popular method is PReLU <a href="http://arxiv.org/pdf/1502.01852v1.pdf">[7]</a> proposed by Microsoft which generalized the traditional recitifed unit.</p>

<h2>Others</h2>

<ul>
<li>choose large initial learning rate if it will not oscillate or diverge so as to find a better global minimum.</li>
<li>shuffling data</li>
</ul>
Why use tanh for activation function of MLP?
<p>Im personally studying theories of neural network and got some questions. </p>

<p>In many books and references, for activation function of hidden layer, hyper-tangent functions were used. </p>

<p>Books came up with really simple reason that linear combinations of tanh functions can describe nearly all shape of functions with given error. </p>

<p>But, there came a question. </p>

<ol>
<li>Is this a real reason why tanh function is used?</li>
<li>If then, is it the only reason why tanh function is used?</li>
<li>if then, is tanh function the only function that can do that?</li>
<li>if not, what is the real reason?..</li>
</ol>

<p>I stock here keep thinking... please help me out of this mental(?...) trap!</p>