梯度消失和梯度爆炸
当神经网络的层数较多时,模型的数值稳定性容易变差
- 不考虑偏差参数,且设所有隐藏层的激活函数为恒等映射(identity mapping)ϕ(x)=x。
- 给定输入X,多层感知机的第l层的输出H(l)=XW(1)W(2)…W(l)。
此时,如果层数l较大,H(l)的计算可能会出现衰减或爆炸。
如果将每个隐藏单元的参数都初始化为相等的值
- 那么在正向传播时每个隐藏单元将根据相同的输入计算出相同的值,并传递至输出层。
- 在反向传播中,每个隐藏单元的参数梯度值相等。
- 因此,这些参数在使用基于梯度的优化算法迭代后值依然相等。
-
PyTorch的默认随机初始化
PyTorch中
nn.Module的模块参数都采取了较为合理的初始化策略,因此一般不用我们考虑。Xavier随机初始化
假设某全连接层的输入个数为a,输出个数为b,
Xavier随机初始化将使该层中权重参数的每个元素都随机采样于均匀分布
区分猫和狗的一个例子。我们的训练数据使用的是猫和狗的真实的照片,但是在测试时,我们被要求对猫和狗的卡通图片进行分类。
标签偏移
标签P(y)上的边缘分布可能随时间而改变,但类条件分布P(x∣y)是不变的
- 疾病引起症状,而非症状引起疾病,由于疾病分布往往不均匀,容易出现这种问题
概念偏移
不同地区同一个概念的可能完全不同,比如咸豆腐脑和甜豆腐脑?(大概是这个意思)
如果我们要建立一个机器翻译系统,分布P(y∣x)可能因我们的位置而异
- 不同地方的习惯用语不同,因此在同一个语境下,可能翻译结果完全不一样
