将RNN(递归中性网络)与CNN层相结合

时间:2020-08-29 03:10:38

标签: python machine-learning neural-network artificial-intelligence cnn

如何使用python对RNN算法与CNN层进行组合或将其进行图像分类?

1 个答案:

答案 0 :(得分:1)

这取决于您要解决的问题,但是当然可以有多种方法。

enter image description here

一个是您可以将CNN层输入到LSTM层中。在这里,您尝试捕获空间特征,然后将这些特殊特征编码为顺序嵌入。这可以通过时间分配CNN的输出来完成,以便LSTM获得顺序输入。

#define CNN model
cnn = Sequential()
cnn.add(Conv2D(...))
cnn.add(MaxPooling2D(...))
cnn.add(Flatten())
# define LSTM model
model = Sequential()
model.add(TimeDistributed(cnn, ...))
model.add(LSTM(..))
model.add(Dense(...))

您也可以采用其他方法,将LSTM馈入CNN。这可能是因为您可能想对顺序特征进行编码,但是之后,您可能希望这些隐藏表示的空间组合。这本身可以直接实现,而无需任何时间分布的层。

查找更多详细信息here

相关问题