给数据加权重

假设你有 20 万张来自互联网的图片,还有来自移动应用用户的 5000 张照片。数据集的大小之间有一个 40:1 的比率。从理论上讲,只要你建立了一个庞大的神经网络,并在所有 205000 张图片上进行足够长的时间训练,那么在网络图像和移动图像上将算法都训练得很好是没有害处的。

但在实际操作中,拥有 40 倍的网络图像可能意味着,相比只使用 5000 张图片,你需要花费 40 倍(或更多)的计算资源来对两者进行建模。

如果你没有巨大的计算资源,你可以给互联网图片一个较低的权重作为妥协。

例如,假设优化目标是平方误差(对于分类任务来说这不是一个好的选择,但它将简化解释过程)。因此,我们的学习算法试图优化:

上面的第一个项是对 5000 个移动应用图像误差求和,第二项对 20 万个互联网图像误差求和。你可以使用一个额外的参数 𝛽 进行优化:

如果你设置 𝛽 = 1/40,这个算法会对 5000 个移动图像和 20 万个互联网图像给予同等的权重。你还可以将参数 𝛽 设置为其他值,也可以类似地对开发集进行调优。

通过对额外的网络图像赋予更少的权重,你不需要构建一个庞大的神经网络来确保算法在这两种类型的任务上都能很好地完成。只有当你怀疑这些额外的数据(网络图像)与开发/测试集分布不一致,或者额外的数据规模比与相同分布的开发/测试集(手机图像)数据规模大得多时,这种类型的权重加权才需要。


改进当前页面