我想获取 CNN 中间层(G 层)的输出并将其馈送到更宽的 CNN(H 层)的中间层以完成推理。
挑战: G、H 两层的维度不同,不能直接做。 解决方案:使用第三个 CNN(称为 r),它将 G 层的输出作为输入,并为 H 层输出一个有效输入。然后使用损失函数调整 G 层和 r 层的权重:
我的问题:这种方法只会改变层 G 的权重和 r 的权重吗?整个系统之后是否需要微调以更新其他层的权重?
我想获取 CNN 中间层(G 层)的输出并将其馈送到更宽的 CNN(H 层)的中间层以完成推理。
挑战: G、H 两层的维度不同,不能直接做。 解决方案:使用第三个 CNN(称为 r),它将 G 层的输出作为输入,并为 H 层输出一个有效输入。然后使用损失函数调整 G 层和 r 层的权重:
我的问题:这种方法只会改变层 G 的权重和 r 的权重吗?整个系统之后是否需要微调以更新其他层的权重?
首先:可能你不应该用你建议的损失进行训练,因为使用 MSE,你将训练以最小化总误差,而不是保持特征不变,这是 CNN 擅长检测的;这与在 MSE 上训练图像自动编码器时发生的问题相同,即获得模糊图像。相反,根据需要配置网络,重用您认为合适的网络中的层,以及所需的适应层,然后在您需要网络执行的任务(例如分类)上训练整个网络。
这样做时,您可以选择只训练网络的某些部分,或者以不同的学习率训练它们。这些是一些潜在的替代方案: