神经网络的表现
在Training Set上表现不好 ----> 可能陷入局部最优
在Testing Set上表现不好 -----> Overfitting 过拟合
虽然在机器学习中,很容易通过SVM等方法在Training Set上得出好的结果,但DL不是,所以得先看Training Set上的表现。
要注意方法适用的阶段:
比如:dropout方法只适合于在Training Data上表现好,在Testing Data上表现不好的,如果在Training Data上就表现不好了,那么这个方法不适用。
神经网络的改进
在输入层附近梯度小,在输出层梯度大,当参数还没有更新多少时,在输出层已经收敛了,这是激活函数\(sigmoid\)对值压缩的问题。
修改activation function为ReLU(Rectified Linear Unit),
ReLU input 大于0时,input 等于 output,input小于0时,output等于0。
其中,output为0的neural可以去掉,得到一个thinner linear network。
虽然局部是线性的,但这个network从总体上来说还是非线性的。
input小于0的部分,微分为0,这样就没法更新参数了,所以有以下两种方法改进。
此外,还可以通过Maxout自动学习activation function。
因为不是max的部分可以先去掉,所以可以不用train那些w,先train线性的局部。
当然,因为训练数据很多,最后都会被train到。