关于神经网络权重初始值的设置的研究
一、权重初始值
权值衰减—抑制过拟合、提高泛化能力。
所谓权值衰减,即,以减小权重参数的值为目的进行学习。
所以说人们一开始,就想把权重初始值设置的比较小。
那如果权重初始值全设为0或者一样的值呢?那可不行,如果输入层权重为0,那么第二层神经元都到的全是0,如果第二层是乘法节点,拿上图举例子,x=y=0,所以返回来的两个梯度是一个样的。就没意义了。所有权重共同进退有何意义?权重共同进退,术语叫做权重均一化。
二、权重初始值会影响隐藏层的激活值分布
先看斯坦福大学做的一个实验:
向一个5层神经网络传入随机生成的输入数据,用直方图绘制各层激活值的数据分布。
实验目的是通过改变标准差,观察激活值的分布如何变化。
实验代码:
这个实验各层激活值的结果保存在activations变量中。
import numpy as np
import matplotlib