我只是观看有关转移学习的视频(如果您的数据集很小,则在更大的相似数据集上训练模型)。我对不同的数据集标签如何不干扰迁移学习感到困惑。
我了解,如果目标任务只有少量数据(比如说模糊的猫照片),而数据量却很大(例如称为Dataset A
,这是一组专业拍摄的但不是模糊的狼照片),并且可以将其较低级别的功能用于学习Dataset B
(直觉是相同的边缘和曲线检测/其他较低级别)有助于检测来自Dataset A
的狼的功能还可以帮助检测来自Dataset B
的猫)。
据我了解,您将首先在Dataset A
上训练神经网络,然后将最后一层的权重设置为随机,并保持所有其他参数不变,然后在Dataset B
上进行训练。
但是考虑到Dataset A
的标签方案适用于狼,而Dataset B
的标签适用于猫,标签上的差异不会造成问题吗?
答案 0 :(得分:0)
您的理解在一定程度上是正确的。 在重新训练之前,您不必只将“最后一层的权重设为随机”。但这更像是切割最后一层,然后用另一个新设计的层替换它。
这意味着您的网络可以具有不同的类型和不同数量的输出,从而在重新培训期间允许使用不同数量和类型的标签。
注意: Tensorflow称其为“仅在顶部训练新的分类层”。 here可以找到更多关于此的知识,以及一个很好的教程来理解这些想法。