微信扫一扫打赏支持

AlphaGo原理浅析

AlphaGo原理浅析

一、总结

一句话总结:

正如人类下棋那般【“手下一步棋,心想三步棋”】,Alphago也正是这个思想
【当处于一个状态时,机器会暗地里进行多次的尝试/采样】,并基于反馈回来的结果信息改进估值函数,从而最终通过增强版的估值函数来选择最优的落子动作。

 

1、AlphaGo的三大核心模块(正如人类下棋那般“手下一步棋,心想三步棋”,Alphago也正是这个思想)?

【(1)如何确定估值函数(2)如何进行采样(3)如何基于反馈信息改进估值函数】
对应:【深度学习、蒙特卡罗搜索树、强化学习】

 

2、AlphaGo的三大核心模块一:深度学习(拟合估值函数)?

由于围棋的状态空间巨大,像蒙特卡罗强化学习那样【通过采样来确定值函数就行不通】了。
在围棋中,状态值函数可以看作为一种局面函数,状态-动作值函数可以看作一种策略函数,若我们能获得这两个估值函数,便可以根据这两个函数来完成:【(1)衡量当前局面的价值;(2)选择当前最优的动作】。
那如何精确地估计这两个估值函数呢?这就用到了【深度学习】,【通过大量的对弈数据自动学习出特征,从而拟合出估值函数】。

 

3、AlphaGo的三大核心模块二:蒙特卡罗搜索树(采样)?

【蒙特卡罗树】是一种经典的【搜索框架】,它通过【反复地采样模拟对局来探索状态空间】。
具体表现在:【从当前状态开始,利用策略函数尽可能选择当前最优的动作,同时也引入随机性来减小估值错误带来的负面影响,从而模拟棋局运行,使得棋盘达到终局或一定步数后停止】。

 

4、AlphaGo的三大核心模块三:强化学习(调整估值函数)?

在使用【蒙特卡罗搜索树】进行【多次采样】后,每次采样都会反馈后续的局面信息(利用局面函数进行评价),
【根据反馈回来的结果信息自动调整两个估值函数的参数】,这便是强化学习的核心思想,最后基于改进后的策略函数选择出当前最优的落子动作。

 

 

二、AlphaGo原理浅析

本篇一开始便提到强化学习是AlphaGo的核心技术之一,刚好借着这个东风将AlphaGo的工作原理了解一番。正如人类下棋那般“手下一步棋,心想三步棋”,Alphago也正是这个思想,当处于一个状态时,机器会暗地里进行多次的尝试/采样,并基于反馈回来的结果信息改进估值函数,从而最终通过增强版的估值函数来选择最优的落子动作。

其中便涉及到了三个主要的问题:(1)如何确定估值函数(2)如何进行采样(3)如何基于反馈信息改进估值函数,这正对应着AlphaGo的三大核心模块:深度学习蒙特卡罗搜索树强化学习

1.深度学习(拟合估值函数)

由于围棋的状态空间巨大,像蒙特卡罗强化学习那样通过采样来确定值函数就行不通了。在围棋中,状态值函数可以看作为一种局面函数,状态-动作值函数可以看作一种策略函数,若我们能获得这两个估值函数,便可以根据这两个函数来完成:(1)衡量当前局面的价值;(2)选择当前最优的动作。那如何精确地估计这两个估值函数呢?这就用到了深度学习,通过大量的对弈数据自动学习出特征,从而拟合出估值函数。

2.蒙特卡罗搜索树(采样)

蒙特卡罗树是一种经典的搜索框架,它通过反复地采样模拟对局来探索状态空间。具体表现在:从当前状态开始,利用策略函数尽可能选择当前最优的动作,同时也引入随机性来减小估值错误带来的负面影响,从而模拟棋局运行,使得棋盘达到终局或一定步数后停止。

这里写图片描述

3.强化学习(调整估值函数)

在使用蒙特卡罗搜索树进行多次采样后,每次采样都会反馈后续的局面信息(利用局面函数进行评价),根据反馈回来的结果信息自动调整两个估值函数的参数,这便是强化学习的核心思想,最后基于改进后的策略函数选择出当前最优的落子动作。

这里写图片描述

 

 

转自:https://blog.csdn.net/weixin_42067668/article/details/88358985

 

 

 
posted @ 2020-11-20 09:37  范仁义  阅读(1488)  评论(0编辑  收藏  举报