我不是人工智能领域的专家,所以如果这是一个简单/容易的问题,我深表歉意。我试图为另一个游戏实现类似于 OpenAI 的网络,但我注意到我并不完全了解网络是如何工作的。
基本问题
数据如何连接/在 LSTM 之前连接之后或进入 LSTM 之前的数据维度是多少?以下是我为澄清起见而提供的想法。
第一次解释
在单位的蓝色区域,我最初的理解是,对于每个可见单位,最大池的输出沿列连接。因此,假设行数为 1(因为每个单元都应用了 1d 最大池),列数为 n 并且有 N 个可见单元,连接时矩阵的最终大小为如模型左侧所示,拾音器等提供了一些额外的列。
这种解释有问题
由于玩家每回合可以看到的单位数量不是恒定的,在这种解释下,我怀疑连接层之后的全连接层无法完成其工作,因为矩阵乘法在列数可变的情况下变得不可能。
可能的解决方案
一种可能的解决方案是将观察到的单元数设置为最大值如果未观察到某些单位,则用常量填充。是这样吗?
第二次解释
我的第二种解释是数据沿行连接。在这种情况下,我可以看到数据可以通过全连接层,因为列数可以保持不变。在这个假设下,我决定在通过 LSTM 之前,将数据重新整形为(批量大小、行数、列数)。
这种解释的问题
虽然我发现这种解释更吸引人,但我注意到在这种思路下,LSTM 仅用于关联输入数据而不与时间关联(LSTM 的时间步长只是下一行数据而不是比实际时间)。我知道这不是一个特别的问题,但我认为这里没有特别需要使用 LSTM,因为在第二种解释中,数据的顺序没有特殊意义。但情况是这样吗?
对于任何不清楚的地方,我提前道歉。请在评论中告诉我,我会尽力澄清!