批量归一化和残差网络;凸优化;梯度下降
批量归一化
全连接在激活函数前归一化, 对于卷积层,则是在卷积之后。
全连接的归一化,是每一个神经元计算一个批量均值与方差;而对于卷积后的批量,是每一个通道计算一个批量的均值与方差。
思考点:为什么是一个通道做归一化,而不是通道的每个单元做归一化?
答案很显然,每一个通道即一张feature map,而作为feature,做平移与标准化并不会改变feature特征,比如某个通道捕捉到的是“眼睛”这个特征,则对这个通道做归一化,显然不会改变“眼睛”的形状特征。
但为什么不对所有通道使用统一的mean以及std做归一化?这样不是更简单快速?
如果不同通道的均值有较大差异,这么做就达不到归一化的目的,可能不同通道的均值还会很大,不利神经元的稳定以及优化。
残差网络
主要介绍了ResNet 与 DenseNet
核心理解点在于残差块的工作原理
主要解决的是深度学习中随着层数增加而出现退化的现象,即随着深度达到一定数量级后,增加层级反而会提高拟合误差以及泛化误差。注意,这并不是过拟合,而是欠拟合!
思考点:
1、为什么一定要通过增加模型的深度来提高模型能力?
更深以为着更多的非线性变化,也就以为着模型具有更强的表达能力。
2、残差块的原理是什么?为什么要这样设计?
核心在于如何理解学习的是残差?记得吴恩达在深度课上讲过一种理解,即模型最差也只是维持原来的输入,不会变的更差。所以这保证了每次学习都是在原本的基础上少量改进?想不清,总不能跑去问阿ming吧。。。唉
凸优化
记住一个, Jensen 不等式,函数的期望大于等于期望的函数,嗯前提是凸函数
梯度下降
这个简单。。。没啥好讲,变化在后边,Adagrad, Adam, Momentun等等