也许与这个问题有关,但我的目标是让网络对输入图像执行操作并输出结果图像数据。
如果这个问题不清楚,我很乐意在评论中深入研究我的问题的细节。但是,我会尽量不针对具体情况,以便让其他人使用这个问题。
问题
我有大量的训练数据,由建议的操作前后的图像组成。我的问题与如何使用 Caffe 对每个像素进行 1 对 1 训练有关。我的损失应该采取计算两个图像之间差异的形式。
如果我有最后一个全连接/内积层输出channels * height * width
,并且我有预期输出图像的标签(相同尺寸),我应该使用哪种类型的损失+精度结构?
我的情况
我尝试使用标签数据将内积数据简单地传递给 sigmoid 交叉熵损失,但这似乎不是受支持的方法。
我的标签是非整数值,因为它们是 0 到 1 之间的像素 RGB 数据(注意:我可以使用 0 到 255 形式的整数)并且 Caffe 似乎将标签解释为类别而不是简单值。
每个像素通道我可以有 255 个类别,但这将导致 255 * 3 个通道 * 256 高度 * 256 宽度 = 50,135,040 个类别,这使我想要实现的目标过于复杂化了。
我的问题
- Caffe 本身是否支持我想要实现的目标?
- 如果是这样,我应该如何改变我的结构以符合这些规范?
- 如果没有,是否有任何其他神经网络框架(例如 Torch)支持这一点?
- 是否有我试图用我的网络解决的问题类型的名称(当然不是分类分类)?
- 过去使用什么来解决此类问题?
具有潜在价值的来源
- 训练超分辨率图像升级
- Karol Gregor 关于变分自动编码器和图像生成(与模型重建相关性较低)