【知识点】神经⽹络输⼊归⼀化区别:[0,1]和[-1,1]
1 前置知识
1.1 ReLU的单侧抑制
参考:
单侧抑制含义:relu的曲线是⼀个折线,在⼩于0的部分⼀直为0,⽽在⼤于0的部分是⼀条斜率为1的直线。
单侧抑制的优点:使得部分神经元可能输出为0,相当于在本次优化中,⼀些神经元不参与,进⽽破坏了全部神经元联动优化的陷阱,使得模型更加的鲁棒。
所谓破坏联动优化陷阱,我的理解是类似于Dropout(如果模型参数过多,⽽训练样本过少,容易陷⼊过拟合。过拟合的表现主要是:在训练数据集上loss⽐较⼩,准确率⽐较⾼,但是在测试数据上loss⽐较⼤,准确率⽐较低。Dropout可以⽐较有效地缓解模型的过拟合问题,起到正则化的作⽤。)
单侧抑制缺点:假如某个神经元⼀直输出负值,则经过激活函数relu后始终输出为0,这就会导致在每⼀次的反向优化中,改神经元始终不参与,进⽽导致神经元成为死亡节点。
1.2 identity mapping 恒等函数
汕尾凤山输⼊和输出相同的函数
2 如何判断是否要归⼀化
参考:
取决于⽹络结构
其实归⼀化和神经⽹络没关系,和梯度下降有关,使⽤了梯度下降算法的⽹络就需要归⼀化。CNN有梯度下降,所以CNN就需要归⼀化。使⽤归⼀化只要是为了克服梯度下降算法带来的两个问题:
1. 防⽌梯度爆炸;
2. 能够复⽤他⼈的超参数(现有的梯度下降中的⼀些超参数是在归⼀化之后的输⼊数据范围内搜到的。你如果参考别⼈的算法超参数,
只有数值计算的范围⼀致,才有可能达到相同的结果。)
综上,归⼀化的根本⽬的为:让模型更快更好的收敛,即加速训练
3 ⼀般归⼀化到哪个区间
[-1, 1]
因为⼤部分⽹络是偏好零对称输⼊的
我们使⽤的激活函数⼀般都是ReLU,如果ReLU的输⼊都是正数,那么它其实就是⼀个恒等函数,有没有它都⼀个样,ReLU就失去了意义。暑假补习班
这⾥涉及到⼀个问题,如果ReLU的输⼊都是负数的话,会出现“死区”,即神经元输出都是0,像是去世了⼀般(悲伤)
为了避免这个问题,需要令ReLU的输⼊尽量正负平衡,⽐如在ReLU前加⼀个BN(⼤部分CNN都这么⼲)种草莓
倪妮的个人资料⼀些其他观点
1. 输⼊图像不⽤归⼀化,直接在输⼊层后加个BN。但⼜有⼈说按batch归⼀化不如整个数据集归⼀化来得稳定。
坐火车可以带白酒吗徐若瑄照艳全集图片
2. 在神经⽹络中,不论输⼊是正是负,都有bias将输出值调整到合适的位置,因此[0,1 ]和[-1, 1]没有什么区别