【问题标题】:How does backpropagation changes pixels (input data) in neural style transfer?反向传播如何改变神经风格迁移中的像素(输入数据)?
【发布时间】:2019-10-24 00:09:16
【问题描述】:

我对机器学习很陌生,我想更好地理解神经风格迁移,但我觉得我错过了一些东西。据我所知

  1. 反向传播更新权重,而不是输入。生成的图像(G)是一个输入
  2. 神经风格迁移方法涉及迁移学习,这意味着它使用预训练网络 (VGG) 来计算成本函数。这个网络不是用来学习其他东西的,而是用来洞察 G 和内容图像 (C) 之间以及 G 和样式图像 (S) 之间的接近度

我的问题是:图像是如何更新的?我可能错了,但是更新网络似乎破坏了最初帮助定义成本函数的见解(成本函数使用某些层的激活来确定 G 是否具有与 C 相似的内容和风格接近S)。但是,假设我们改变了网络。但这意味着改变权重,而不是输入。我们如何根据成本函数调整像素?

我已经看过https://www.youtube.com/watch?v=xY-DMAJpIP4&list=PLkDaE6sCZn6Gl29AoE31iwdVwSG-KnDzF&index=39 和吴恩达关于这个主题的其他视频,但我还是不明白。我提到我指的是 Neural Style Transfer 的第一种方法(Leon A. Gatys 等人)

【问题讨论】:

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


    【解决方案1】:

    我在阅读 deeplearning.ai 的 cnn 课程中关于神经风格迁移的编程教程时也有同样的疑问。当我通过neural style transfer tutorial on tensorflow 时,事情变得更加清晰。

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

    【讨论】:

      猜你喜欢
      • 2014-01-15
      • 1970-01-01
      • 2021-01-17
      • 2014-09-25
      • 2015-03-03
      • 2012-02-21
      • 2011-01-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多