增强式学习:如何使用Q-Learning算法训练围棋机器人

Q-Learning训练围棋AI

上一节我们构造出如下结构的神经网络:
屏幕快照 2019-07-09 下午6.21.30.png
本节我们看看如何使用该网络训练围棋机器人。我们在标题中提到Q-Learning,它实际上是一种使用上面网络进行训练的算法流程。首先我们先定义执行Q-Learning算法的机器人对象:

class QAgent:
    def  __init(self, model, encoder): 
        #参数model就是我们构造的神经网络
        self.model = model
        self.encoder = encoder  #对棋盘的编码
        self.temperature = 0  #对应epsilong参数
    def  set_temperature(self, temperature):
        self.temperature = temperature  #该参数的值越大,机器人胆子就越大,就越多的进行随机落子
    def set_collector(self, collector):
        #collector包含了机器人对弈时的棋盘数据
        self.collector = collector 

在上面代码实现中,参数temperature对应上一章我们说过的epsilong参数,这个参数的值越大,QAgent的随机性就越强.同时代码中的collector根前几节一样,它收集了两个机器人对弈的大量棋盘数据,这些数据将用于执行Q-Learning算法。接着我们看看基于Q-Learning算法的围棋机器人如何选择落子策略:

def  select_move(self, game_state):
        board_tensor = self.encoder.encode(game_state
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值