【问题标题】:how to use a neural network to learn a matrix transformation?如何使用神经网络学习矩阵变换?
【发布时间】:2023-03-24 11:50:02
【问题描述】:

给定一个输入图像,预测一个已被某些矩阵变换改变的输出图像。

重要的部分是给定一个网络以前从未见过的输入图像,能够对该输入图像执行相同的矩阵变换,就像我们对该图像执行矩阵变换一样。

我尝试过使用自动编码器,但我发现它的过度拟合非常明显。网络本质上最终会学习输入和输出中像素之间的映射,而不是学习将输入转换为输出的转换。

识别矩阵变换的最佳方法是什么?

【问题讨论】:

  • 大量的图像增强,降低了模型的能力。什么是图像的“矩阵变换”?
  • 我的意思是在输入图像上应用了一个变换矩阵,但是我们不知道该矩阵是什么,并希望通过查看它导致的变换来学习它。@ 987654321@
  • 应用“如何”?失真?过滤器?卷积?一个矩阵和图片大小一样?
  • 一个变换矩阵将应用于每个像素以某种方式增强它们。比如在这个链接中:alanzucconi.com/2016/02/10/tranfsormation-matrix
  • 我明白了....最后一个链接显示了“失真-旋转-翻译”转换。这很棘手,因为它适用于“坐标”,而不是“像素值”。神经网络在“值”方面更好,而不是在坐标方面。你能保证所有图像都应用了“相同”的矩阵吗?如果是这种情况,那么像素映射正是您想要的,不是吗?

标签: matrix keras neural-network computer-vision artificial-intelligence


【解决方案1】:

这听起来像是一项非常可行的任务(您想从示例中学习线性扭曲),并且神经网络非常冗余。神经网络(尤其是深层网络)对于函数形式为先验未知、高度非线性、非常复杂并且从输入空间的一部分到另一部分发生显着变化的转换建模非常有用。这些条件似乎都不适用于您陈述的问题。

预测线性扭曲的难点不是扭曲本身 - 它是找出哪些输出图像点对应于哪些输入图像点。当实现这一点时,估计扭曲本身就是线性最小二乘法的一个微不足道的应用。

点对应问题可以尽可能复杂 - 想象一下将今天伦敦的航拍照片与 1900 年在地面拍摄的照片相匹配 - 很难以功能或基于规则的形式表达。

【讨论】:

    猜你喜欢
    • 2016-07-11
    • 1970-01-01
    • 1970-01-01
    • 2016-05-25
    • 2019-03-15
    • 2011-08-17
    • 2020-10-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多