权值初始化
使用tanh作为激活函数。
权值赋值方法:
方法一:使用小的随机数
最直观的想法,但这样会导致一个问题。
由于每一层的权值都非常小,所以每一层都好像衰减运算一样,随后会导致输出值均值为0,方差也为0。
那如果不进行0.01的衰减呢?
方法二:使用随机数
则会导致每一层都好像一个放大器一样,权值变得没有意义。
方法三:Xavier initialization
其实就是见了一个惩罚系数,让权值合理的分布。
具体如何实现有待研究。
如果激活函数换成ReLU呢?需要使用不同的初始化方法。
方法:He et al
具体没看懂,以后研究。
批量归一化
普通的标准化运算,没什么可说。
一般流程如下,会稍微降低运算速度(经验值最多30%)
超参数优化
一般超参数有如学习率,正则化,差量(?)等。
超参数的重要程度不同,很多时候超参数的优化是数据驱动,就是通过实验验证到底哪个更好。以学习率为例。
不同的学习率会导致不同的损失函数曲线,可以看到太大太小都不好。
有的时候初始化权值选择的不好会出现这样的损失函数曲线。
一般来说千分之一一般比较好。