假设你有20万张来自互联网的图片和5000张来自你的移动app用户的图片。这些数据的大小比例是40:1。从理论上来说,只要你构建一个大的神经网络并在这所有205000张图片上训练足够长的时间,对于我们试图让算法在互联网图片和移动图片上做的更好来说并没有什么坏处。
但是在实践中,相比移动app端的图片而言,其40倍的互联网图可能意味着相比只训练5000张图片,需要花费40倍(或更多)的计算资源来对二者进行同时建模。
如果你没有庞大的计算资源,你可以给互联网图片一个较低的权重作为妥协。
例如,假设你的优化目标是平方差(对于分类任务,这不是一个好的选择,但它会简化我们的解释)。因此,学习算法试图去优化:
上面的第一项是在5000张移动app端图片中求平方差的和,第二项是在2万张互联网图片中求平方差的和。你可以改为使用一个额外的参数 β 进行优化:
如果你设置 β = 1/40,算法会给5000移动图片和20万张互联网图片相同的权重。你也可以设置参数 β 为其他值以调整到开发集性能更好。
通过对额外的网络图像赋予更少的权重,你不需要构建一个庞大的神经网络来确保算法在这两种类型的任务上都能很好地完成。只有当你怀疑这些额外的数据(互联网图片)与开发/测试集分布不一致,或者额外的数据规模比与相同分布的开发/测试集(移动app端图片)数据规模大得多时,这种类型的权重重加权才需要。