tensorflow conv2d_transpose 和 conv2d_backprop_filter 有什么区别?
What is the difference between tensorflow conv2d_transpose and conv2d_backprop_filter?
有人可以用简单的术语和示例解释这些在执行 conv2d 前向传递后如何工作。
让我补充一下这个问题 - conv2d_backprop_filter 和 tf.nn.conv2d_backprop_input 有什么区别?
为了解释 conv2d_transpose,我会查看其他堆栈溢出问题,例如:
至于conv2d_backprop_filter:
这是在传递给上一层的反向传播过程中计算出来的。它已被用于 Deep Dream 和创建对抗性示例等。
请参阅此 以获取示例中 tf.nn.conv2d_backprop_input
和 tf.nn.conv2d_backprop_filter
的详细示例。
对您问题的简短回答:
在tf.nn
中,有4个密切相关的2d conv函数:
tf.nn.conv2d
tf.nn.conv2d_backprop_filter
tf.nn.conv2d_backprop_input
tf.nn.conv2d_transpose
给定out = conv2d(x, w)
和输出梯度d_out
:
- 使用
tf.nn.conv2d_backprop_filter
计算过滤器梯度d_w
- 使用
tf.nn.conv2d_backprop_input
计算过滤器梯度d_x
tf.nn.conv2d_backprop_input
可以通过tf.nn.conv2d_transpose
实现
- 以上4个功能都可以通过
tf.nn.conv2d
实现
- 实际上,使用 TF 的 autodiff 是计算梯度的最快方法
有人可以用简单的术语和示例解释这些在执行 conv2d 前向传递后如何工作。
让我补充一下这个问题 - conv2d_backprop_filter 和 tf.nn.conv2d_backprop_input 有什么区别?
为了解释 conv2d_transpose,我会查看其他堆栈溢出问题,例如:
至于conv2d_backprop_filter: 这是在传递给上一层的反向传播过程中计算出来的。它已被用于 Deep Dream 和创建对抗性示例等。
请参阅此 tf.nn.conv2d_backprop_input
和 tf.nn.conv2d_backprop_filter
的详细示例。
对您问题的简短回答:
在tf.nn
中,有4个密切相关的2d conv函数:
tf.nn.conv2d
tf.nn.conv2d_backprop_filter
tf.nn.conv2d_backprop_input
tf.nn.conv2d_transpose
给定out = conv2d(x, w)
和输出梯度d_out
:
- 使用
tf.nn.conv2d_backprop_filter
计算过滤器梯度d_w
- 使用
tf.nn.conv2d_backprop_input
计算过滤器梯度d_x
tf.nn.conv2d_backprop_input
可以通过tf.nn.conv2d_transpose
实现
- 以上4个功能都可以通过
tf.nn.conv2d
实现
- 实际上,使用 TF 的 autodiff 是计算梯度的最快方法