Deep learning 状态表示的卷积

Deep learning 状态表示的卷积,deep-learning,reinforcement-learning,openai-gym,Deep Learning,Reinforcement Learning,Openai Gym,当使用DQN和其他深度RL算法时,当您有状态输入时,在actor或critic网络中使用卷积层有意义吗 比如说: 环境中每个对象的状态表示1:(obj标签、位置、速度) 国家代表2: 有一个基于平铺/网格世界风格的游戏。我们有一个二维数字网格来描述每个对象类型(1=苹果,2=狗,3=代理,等等)。我们将此网格展平,并将其作为状态传递给我们的RL算法 在这两种情况下,使用conv层有意义吗?为什么或者为什么不?卷积层基本上编码了“位置不变性”的直觉,即我们期望检测某些“特征”(“东西”、边、角、圆

当使用DQN和其他深度RL算法时,当您有状态输入时,在actor或critic网络中使用卷积层有意义吗

比如说: 环境中每个对象的状态表示1:(obj标签、位置、速度)

国家代表2: 有一个基于平铺/网格世界风格的游戏。我们有一个二维数字网格来描述每个对象类型(1=苹果,2=狗,3=代理,等等)。我们将此网格展平,并将其作为状态传递给我们的RL算法


在这两种情况下,使用conv层有意义吗?为什么或者为什么不?

卷积层基本上编码了“位置不变性”的直觉,即我们期望检测某些“特征”(“东西”、边、角、圆、鼻子、脸、什么)的方式大致相同,而不管“在哪里”(通常在2D空间中,但理论上也可能在其他类型的空间中)它们是。这种直觉是通过在某个空间中“滑动”的“过滤器”或“特征检测器”来实现的

假设:环境中每个对象的状态表示1:(obj标签、位置、速度)

在这种情况下,上面描述的直觉是没有意义的。输入不是我们期望能够在不同位置检测到类似“形状”的某种“空间”。卷积层可能在这里表现不佳

状态表示2:有一个基于tile的/gridworld风格的游戏。我们有一个2D数字网格来描述每个对象类型(1=苹果,2=狗,3=代理等)。我们将这个网格展平,并将其作为状态传递给我们的RL算法


在2D网格表示中,由卷积层编码的直觉可能是有意义的。例如,检测有用的模式,如狗与苹果相邻或被苹果包围。但是,在这种情况下,您不想展平网格;只需将整个2D网格作为输入传递到用于实现卷积的任何框架中即可卷积层:它可能会在内部进行一些展平,但是对于卷积层的整个概念来说,原始的、未展平的维度是高度相关和重要的。。数字1、2、3等分类变量的编码也不适用于神经网络。单热编码(对于卷积层通道,每种对象类型一个通道)效果更好。就像彩色图像往往有多个2D网格一样(对于RGB图像,通常一个2D网格表示红色,另一个表示绿色,另一个表示蓝色),您希望每种对象类型有一个完整的网格。

供将来参考:类似的问题(不直接涉及实施/编程)可能更适合现场