训练一个网络需要以下几步:
- 构建数据集
- 建立网络架构
- 使用损失函数来评估模型
- 使用优化算法优化网络架构结构
线性层,y=wx+b
俩层的体系结构可以看作是单独的不同的层,因此简单的叠加线性层不会帮助我们的算法学习到任何东西。为了解决这个问题,深度学习也提供了很多非线性层。
一些比较常用的非线性函数; - sigmod
- tanh
- ReLU
- leaky ReLU
非线性激活是接受输入,然后应用数学变换并产生输出的函数
Sigmod
输出0到1之间的值,之前很流行,现在逐渐不被使用了。其缺点是在趋向于无穷时,函数值变化很小,容易缺失梯度,不利于深层神经网络的反馈传
- Tanh
输出为-1到1,它也同样面对梯度饱和的问题当趋向于-1或者1时,他的输出是一零为中心的。