想象一下,我有一个 2D 矩阵 A。我对其应用了一些变换,例如:B = A_shifted + A。
是否有可能训练一个 CNN 来学习从 B 到 A 的映射?以 B 为例,以 A 为目标?
谢谢!
想象一下,我有一个 2D 矩阵 A。我对其应用了一些变换,例如:B = A_shifted + A。
是否有可能训练一个 CNN 来学习从 B 到 A 的映射?以 B 为例,以 A 为目标?
谢谢!
是的,有一些限制。
CNN 可用于将图像映射到相关图像,这应该包括许多简单的矩阵变换。例如,这里是一个使用 CNN 去模糊 OCRed 文本的示例。
基本上,您将使用大量 A、B 示例来训练您的网络,输入为 B,所需的输出为 A。
限制是,如果你有技术上不可逆的转换,那么 CNN 可能会学习产生最佳的“平均”输出。这种情况的症状将是缺少高频分量的模糊图像,以及不代表目标分布但确实解决了变换的矩阵(在训练精度的范围内)。如果您想对此进行改进,并生成更真实/更精确的原件,那么您可能需要考虑添加一个生成组件 - GAN、VAE/GAN 或 RBM 等。请注意,这不会准确地生成原始矩阵,但会生成一个既转换为给定转换矩阵(在一定精度范围内)又从输入分布中采样的矩阵。也就是说,它可能更可行原始而不是使用更简单的 CNN 架构生成的。