(tensorflow)是否可以组合GridLSTM和MLP / CNN?

时间:2016-09-22 08:38:06

标签: neural-network tensorflow deep-learning recurrent-neural-network lstm

我尝试使用GridLSTM和MLP / CNN训练图像。

基本上我想尝试的是将图像输入GridLSTM,然后将其输出并作为下一层输入MLP / CNN。

e.g:

2-D image -> GridLSTM -> MLP or CNN -> GridLSTM -> MLP or CNN -> Output

我尝试运行GridLSTM的示例代码和Cifar10上的教程(适用于CNN)。

但两个示例的输入和输出都是不同的类型(GridLSTM列表和CNN张量)。

我想知道是否可以将GridLSTM和MLP / CNN结合起来。

2 个答案:

答案 0 :(得分:1)

在"使用LSTM回归神经网络进行场景标记",我相信前馈层将每一步的LSTM图层输出作为输入。假设LSTM层为您提供了N个输出的列表,则需要遍历此列表,并将前馈层应用于列表的每个元素。

这就是为什么在本文的图1中,您会看到LSTM图层中的3xnxn块映射到Feedforward图层中的大小为1x1的块。您需要遍历整个图像,以便计算Feedforward图层的整个输出。这也解释了为什么他们使用LSTM和只有几十个单位的前馈层。

现在,如何在Tensorflow中实现这一点取决于您。您可以使用tf.scan()遍历LSTM给出的张量列表,并在每个元素上应用前馈层;或者您可以使用tf.concat()连接列表中的张量,并应用具有合适大小的卷积运算。根据您的网络,一种方式可能比另一种方式更快。<​​/ p>

希望它有所帮助。

答案 1 :(得分:0)

我联系了一位参与GridLSTM实施的同事,以下是她的回复:

你做不到。所以LSTM将删除time-freq中的相关性,所以我认为你不能把它传递给卷积层。话虽这么说,你可以有多个网格LSTM层。以此为例。

https://www.microsoft.com/en-us/research/wp-content/uploads/2016/06/TFLSTM-1.pdf