【发布时间】:2018-09-11 05:04:08
【问题描述】:
1 和 2 一样吗?
- 使用
Convolution2D层和LSTM层 - 使用
ConvLSTM2D
如果有什么不同,你能给我解释一下吗?
【问题讨论】:
标签: python tensorflow keras
1 和 2 一样吗?
Convolution2D层和LSTM层ConvLSTM2D
如果有什么不同,你能给我解释一下吗?
【问题讨论】:
标签: python tensorflow keras
它们并不完全相同,原因如下:
Convolution2D层和LSTM层众所周知,Convolution2D 可以很好地捕捉图像或空间特征,而LSTM 用于检测随时间变化的相关性。但是,通过堆叠这些层,可能无法正确捕获空间和时间特征之间的相关性。
ConvLSTM2D
为了解决这个问题,Xingjian Shi et al. 提出了一种能够捕获时空相关性的网络结构,即ConvLSTM。在 Keras 中,这反映在 ConvLSTM2D 类中,该类计算输入和循环变换中的卷积运算。
也说明了这一点,你可以看到hereLSTM 代码,如果你从LSTMCell 转到call 方法,你只会看到:
x_i = K.dot(inputs_i, self.kernel_i)
x_f = K.dot(inputs_f, self.kernel_f)
x_c = K.dot(inputs_c, self.kernel_c)
x_o = K.dot(inputs_o, self.kernel_o)
相反,ConvLSTM2DCell 类调用:
x_i = self.input_conv(inputs_i, self.kernel_i, self.bias_i, padding=self.padding)
x_f = self.input_conv(inputs_f, self.kernel_f, self.bias_f, padding=self.padding)
x_c = self.input_conv(inputs_c, self.kernel_c, self.bias_c, padding=self.padding)
x_o = self.input_conv(inputs_o, self.kernel_o, self.bias_o, padding=self.padding)
h_i = self.recurrent_conv(h_tm1_i, self.recurrent_kernel_i)
h_f = self.recurrent_conv(h_tm1_f, self.recurrent_kernel_f)
h_c = self.recurrent_conv(h_tm1_c, self.recurrent_kernel_c)
h_o = self.recurrent_conv(h_tm1_o, self.recurrent_kernel_o)
地点:
def input_conv(self, x, w, b=None, padding='valid'):
conv_out = K.conv2d(x, w, strides=self.strides,
padding=padding,
data_format=self.data_format,
dilation_rate=self.dilation_rate)
if b is not None:
conv_out = K.bias_add(conv_out, b,
data_format=self.data_format)
return conv_out
def recurrent_conv(self, x, w):
conv_out = K.conv2d(x, w, strides=(1, 1),
padding='same',
data_format=self.data_format)
return conv_out
在LSTM 中,h_x(循环转换)的等价物是:
K.dot(h_tm1_x, self.recurrent_kernel_x)
而不是ConvLSTM2D的:
self.recurrent_conv(h_tm1_x, self.recurrent_kernel_x)
无法使用堆叠的Conv2D 和LSTM 层计算此类转换。
【讨论】:
- 使用 Convolution2D 层和 LSTM 层
在这种技术中,您可以堆叠卷积层和 LSTM 层。卷积层帮助您学习空间特征,LSTM 帮助您及时了解相关性。
2.使用ConvLSTM2D
ConvLSTM 是一种 LSTM,其中的门(输入到状态和状态到状态转换)是卷积操作。
研究论文-Convolutional LSTM Network: A Machine Learning Approach for Precipitation Nowcasting
【讨论】: