我正在尝试创建一个编码器-解码器模型,该模型编码10x10列表,并应将其解码为3x8x8数组/列表。我应该选择哪个损失函数来实现这个?我知道输入和输出的形状是非常随机的,我不太确定如何将两者都放入一个编码器-解码器模型中。然而,3x8x8的输出是强制性的,10x10的形状是两个嵌套列表之间的差异。
从我目前的研究来看,损失函数需要(在某种程度上)相同的形状来预测和目标。现在我不知道该拿哪一件,才能符合我笨拙的外形要求。
损失函数的选择应该根据您要执行的任务来指导,而不一定是输入/输出的形状。下面是一些常用任务和常用损耗的示例:
- 如果你正在做分类(预测n种可能性中的一种),交叉熵可能会很有趣。
- 如果你正在做回归(预测连续轴上的值),均方误差可能很适合。
- 如果你试图预测概率分布,你可以使用Kullback-Lieber散度或对数似然。
- 存在多个其他丢失(参见pytorch文档中的该页),其中一些是其他的特定情况。你也可以建立自己的损失,如果没有适合你的问题。
综上所述,我们需要更多关于输出的信息(图像,声音,类,位置预测,文本标记…)来判断哪种损失对你的模型是最好的。