神经网络

多层感知机

感知机是激活函数是sign,输出1或-1,一层感知机是没法表达异或的,但是多层又无法求导。后来sigmoid函数用上之后,才有了现在的神经网络。

梯度消失、非凸极值和初值敏感、深层网络浅层梯度几乎为0、计算量大,需要很多样本

一个细节,很多资料上都草草而过,有的资料甚至写错了。

一批样本m个, 先一个个的前向传播,算出误差。然后反向求导,求出每个参数的偏导数,即整体的梯度。 然后拿这m个梯度,平均一下, 然后再更新参数。

跟Andrew Ng的线性回归课一样,先举一个样本,求梯度,梯度下降更新参数。然后对于m个样本,用的是梯度平均来更新参数的。

反向求导,不是对输出求导,而是对误差函数求导。

此图来自 BP 算法之一种直观的解释

参考佳文

人工神经网络之几何原理(Geometric principle of Artificial Neural Networks)

聊一聊深度学习的activation function

神经网络浅讲:从神经元到深度学习 Neural Networks, Manifolds, and Topology 神经网络、 流形和拓扑介绍及相关讨论 神经网络训练中的Tricks之高效BP(反向传播算法)

Little Explanations #1 -神经网络与模型压缩

http://www.jiqizhixin.com/article/2017

colah 深度学习系列长文(一)