我正在开发一个项目,用于本地化图像中的对象。我将采用的方法基于CS231n-8中的定位算法。
网络结构有两个优化头,分类头和回归头。在培训网络时如何最小化它们?
我有一个想法,将它们总结为一个损失。但问题是分类损失是softmax损失,回归损失是l2损失,这意味着他们有不同的范围。我不认为这是最好的方式。
答案 0 :(得分:2)
这取决于您的网络状态。
如果您的网络只能提取功能[您正在使用其他网络保存的权重],您可以将此权重设置为常量,然后分别训练两个分类头,因为渐变不会流过常数。
如果您没有使用预先训练过的模型中的权重,那么
回归头将学习将从卷积层提取的特征与其参数相结合,以最大限度地减少L2损失。
<强>铊; DR:强>
graph_util.convert_variables_to_constants
将每个学习参数转换为常量张量,如“freeze_graph`脚本中所示。