训练神经网络
神经网络的历史
- 1960年左右,弗兰克·罗森布拉特设计了感知机
- 1960年,威德罗和霍夫制造出了适应性神经元,他们将这些感知机整合成了一个多层次的感知机网络
- 1986年,神经网络再次有了一个突破性进展,论文中第一次用清晰的公式很好的阐述了反向传播概念,提出损失函数,讨论了反向传播、梯度下降等问题。
- 2006年,第一次建立了神经网络的模型,同时提出了深度学习
- 2010年,神经网络有了非常大的成果,尤其是在语音合成方面。
激活函数
我们之前提到了激活函数有很多种,下面将着重介绍一下这些函数。
sigmoid
sigmoid有3个问题
- 在图像的饱和区域,梯度消失
- sigmoid函数的输出不是关于原点中心对称的
- 相比其他激活函数,指数运算相对耗时
tanh
- 区间在[-1,1]
- 中心对称
- 梯度消失
relu
- 激活时,不会产生梯度弥散问题,即梯度不会为0
- 计算高效
- 收敛速度快
- 不是关于原点中心对称
- 当x小于0时,同样有梯度消失问题
Leaky relu
- 不会发生梯度消失问题
- 计算高效
ELU
- 继承了RELU的所有优点
数据处理
- 归一化
- 零中心化
- PCA
-
图像常用下面方法
权重初始化
- small random numbers(gaussian with zero mean and 1e-2 standard deviation)
w = 0.01*np.random.randn(D,H)
网友评论