计算机游戏中的深度学习:从卷积网络到强化学习方法
1. 构建深度卷积网络
在处理计算机游戏时,我们可以用深度卷积网络替代简单的单隐藏层网络。由于处理的是图像数据,卷积网络是很合适的选择。我们构建的网络将包含三个卷积层,之后连接一个扁平层,最终得到输出。使用四个隐藏层是合理的,因为我们需要从像素中检测出非常抽象的不变表示,并且这种架构已在多种场景中被证明是有效的。由于这是一个深度网络,使用 ReLU 激活函数是合适的。
以下是创建深度卷积网络的代码:
SCREEN_HEIGHT = 84
SCREEN_WIDTH = 74
STATE_FRAMES = 2
CONVOLUTIONS_LAYER_1 = 32
CONVOLUTIONS_LAYER_2 = 64
CONVOLUTIONS_LAYER_3 = 64
FLAT_HIDDEN_NODES = 512
def create_network():
input_layer = tf.placeholder("float", [None, SCREEN_HEIGHT,
SCREEN_WIDTH, STATE_FRAMES])
convolution_weights_1 = tf.Variable(tf.truncated_normal([8, 8,
STATE_FRAMES, CONVOLUTIONS_LAYER_1], stddev=0.01))
convolution_bias_1 = tf.Variable(tf.constant(0.01,
shape=[CONVOLUTIONS_LAYER_1]))
超级会员免费看
订阅专栏 解锁全文
14万+

被折叠的 条评论
为什么被折叠?



