笔记一、batch_size 非线性激活函数

一、深度学习中batch_size的大小对模型训练的影响。

  在合理范围内,增加batch_size的好处:

  • 提高了内存利用率以及大矩阵乘法的并行化效率。
  • 跑完一次epoch所需要的迭代次数变少。
  • 在一定范围内batch_size越大,其确定的下降方向越准,引起训练振荡越小。

盲目增大batch_size的坏处:

  • 内存利用率提高了,但内存容量可能不够用。
  • 跑完一次epoch所需的迭代次数减少,但要想达到相同的精度,所花费的时间大大增大,从而对参数的修正也显得更加缓慢。
  • batch_size增大到一定程度,其确定的下降方向已经基本不再变化。

batch_size=1时:

  • 无法实现并行化。
  • 每次修正方向以各自样本的梯度方向修正,难以达到收敛。

二、激活函数为什么选取非线性函数

  

 

  假如使用线性函数作为激活函数,每层输出都是上一层输入的线性函数,无论神经网络有多少多少层,输出都是输入的线性组合。例如:一个f(x)=kx(k≠0)作为激活函数,经过一个三层神经网络之后输出为y=k^3 x,无法发挥多层神经网络带来的优势。

  相反使用非线性函数,激活函数给神经元引进了非线性因素,使得神经网络可以任意逼近任何非线性函数,这样的神经网络就可以应用到众多的非线性模型中。

【参考】https://www.zhihu.com/question/32673260

    https://blog.csdn.net/qq_34152244/article/details/100642157

 

posted @ 2020-11-09 14:50  Dem0_zhu  阅读(118)  评论(0)    收藏  举报