如果不知道,可以参考:李宏毅老师的课程
记住我们的重点是控制模型容量,使之复杂度和给定的样本复杂度相匹配
在参数数量一致的情况下,全连接网络(或者说多层感知机)的容量是最大的
全连接网络不受任何限制,它能表示的映射关系是最多的,假设空间是最大的,这也导致其很容易过拟合,极大的假设空间大概率能涵盖一个完美拟合给定数据自身特征的模型,如果样本量不够大,数据自身特征的普遍性和代表性差,习得模型的泛化性会很差
从这个角度考虑,常见的正则化方法都是在隐式地限制模型容量,例如
L2正则化
,通过调整损失函数控制优化方向,间接地限制最后学到模型的参数范围dropout正则化
,通过随机失活神经元,防止模型输出被某些神经元主导,间接地限制最后学到模型的参数范围上面这两种常见的正则化都是限制参数中出现极端值,也就是隐式地从假设空间中挖掉了被极端值主导的部分,一般而言无论什么问题我们都不想要这种极端的模型,因此这些正则化方法几乎哪里都能见到
在各种论文中我们常常见到作者修改损失函数,往里加一些正则化项之类的,如果从容量角度考虑,就是作者注意到了问题或者数据的某些潜在关系,然后增加正则化项控制优化方向,隐式地调节模型容量,使模型复杂度和样本复杂度更加匹配,从而能在使用相同样本的情况下得到更好的效果
进一步地,控制模型容量更直接的方法就是直接修改模型结构,从而硬性地,显式地限制模型假设空间的大小。当然,这个限制是有方向的,我们想要针对性地保留假设空间中能更好地表示给定数据特征的部分,这就需要针对问题去设计模型了结构了,例如
总之,不同的网络结构,都可以理解为将全连接网络中的一些层替换为特殊设计的层,也就是从全连接网络对应的最大的假设空间中根据数据特性保留一部分,保留的不同部分,决定了模型不同的归纳偏置
针对同一个任务,归纳偏置更强的模型复杂度更低,相同样本复杂度(可简单理解为相同样本数量)下更不容易过拟合;归纳偏置更弱的模型能表示的假设空间更大,能刻画的映射关系更复杂,如果有足够样本的话其性能上限更高。这可以解释为何 transformer 在各个领域乱杀,一方面因为各种监督学习问题大都能转换为序列预测问题,另一方面 transformer 中的 self-attention 的约束足够弱,其表示能力足够强,如下所示,纯 self-attention 层和全连接层组成的 BERT 结构几乎和全连接的 MLP 差不多了
这一点已经在 CV 领域得到验证,直接用 BERT 模型做图像分类的 VIT 方法,和使用 CNN resnet 结构做图像分类的 BIT 方法相比,预训练+微调后的性能如下
可见随着预训练数据集的增大,VIT 从不及 BIT 不断提升到超过 BIT
如果两个任务 A B 足够相似,那么它们所需模型的归纳偏置应当也很相似,A 任务中表现良好的模型,很可能只要进行正则化等简单的修改就能直接在 B 任务表现良好。在 Offline RL 领域,就有直接把 Online RL 方法 TD3 的 actor 加上简单 BC 正则项而得到的 TD3 + BC 方法,表现很不错
如果仔细设计网络宽度和深度,使模型复杂度合适,那么简单的 MLP 也能在各种问题中到达和复杂网络结构一样的效果。这个结论应该在多个领域中被验证过,Offline RL 领域的例子可以举最近的 RvS 论文