反向传播如何改变神经样式传递中的像素(输入数据)?

时间:2019-06-09 04:41:59

标签: neural-network conv-neural-network backpropagation

我对机器学习还很陌生,我想更好地理解神经风格转换,但是我感觉缺少一些东西。据我所知

  1. 反向传播会更新权重(em),而不是输入。生成的图像(G)是输入
  2. 神经风格转移方法涉及转移学习,这意味着它使用预训练网络(VGG)来计算成本函数。这个网络不是用来学习其他知识的,而是用来暗示G与内容图片(C)之间以及G与样式图片(S)之间的紧密度

我的问题是:图像如何更新?我可能是错的,但是更新网络似乎首先破坏了帮助定义成本函数的见解(成本函数使用某些层的激活来确定G是否与C具有相似的内容并且样式接近S)。但是,假设我们更改了网络。但这意味着更改权重,而不是输入。如何获得与成本函数相关的像素?

我已经看过https://www.youtube.com/watch?v=xY-DMAJpIP4&list=PLkDaE6sCZn6Gl29AoE31iwdVwSG-KnDzF&index=39和Andrew Ng的其他有关该主题的视频,但我还是听不懂。我提到我要遵循神经风格转换的第一种方法(Leon A. Gatys等人)

1 个答案:

答案 0 :(得分:1)

在deeplearning.ai的cnn课程中,有关神经样式转换的编程教程时,我也有同样的疑问。当我经历neural style transfer tutorial on tensorflow时,事情变得更加清晰。

在本教程中,将生成的图像G声明为tf.variable。因此,将G的像素想象为权重。因此,在梯度下降像素会随着权重的更新而更新。