Slides:百度云 提取码: gs3n
第9课讲的是神经网络的软硬件,感觉比较科普,不做总结。
总览
- 单次设置
- 激活函数
- 数据预处理
- 权重初始化
- 正则化
- 动态训练
- 学习率规划
- large-batch 训练;
- 超参数优化
- 训练后
- 模型融合
- 迁移学习
今天第一讲讲解的是第一点,第二讲将介绍第二点和第三点。
激活函数
之前也介绍了激活函数是什么,不同的激活函数在训练上,在效果上,在解决问题的方面都各有侧重。下面一一来介绍。
Sigmoid
非常常用的激活函数,在很多线性分类的machine learning模型中也会有用到。
σ ( x ) = 1 1 + e − x \sigma(x) = {1\over 1+e^{-x}} σ(x)=1+e−x1
- 将函数值限制在[0, 1]之间
- 由于它们可以很好地模拟神经元的饱和“触发率”,因此在历史上很受欢迎
- 通常被用于表示概率,很适合用于表示boolean
- 也是一种非常不错的非线性关系的表达
缺点
- 饱和的神经元将使得梯度下降效果糟糕
- 我们可以看到在接近 ± ∞ ±\infin ±∞的时候,梯度是0,这也使得sigmoid难以训练
- 这种影响甚至会通过链式法则传递到之前的神经元中,导致整个网络的灾难性慢收敛
- 这是这个函数被弃用的最最最主要原因,其他缺点都是可以接受的
- sigmoid函数的输出中心不是0
- 在神经元输入全为正的情况下,在计算梯度的时候,w中的每一维都会同为正数。这也导致了训练收敛缓慢。