AlphaGo Model-Based RL
AlphaGo & Model-Based RL
用强化学习解决围棋游戏。
在最初的AlphaGo 采用策略网络和价值网络,先使用behavior cloning学习人类经验训练策略网络(本质是多分类),然后用策略梯度继续训练策略网络,再通过策略网络训练价值网络。
目前AlphaGo 采用 蒙特卡洛树搜索进行训练策略网络和价值网络。
目前AlphaGo Zero使用 19 × 19 × 17 19\times 19\times 17 19×19×17的状态,保存黑棋和白棋的最近 8 8 8个状态,和当前是该谁走的一个状态。
1.策略网络
策略网络输出每个动作的概率分布。
2.Behavior cloning
从人类棋盘的数据集,模仿人类的经验,本质是361个类别,进行分类,不属于强化学习,而属于模仿学习。
只使用便相当于6-9段的棋手,但是如果遇到在训练集中未见到的 s t s_t st,且状态的可能性十分巨大,动作 a t a_t at可能是坏的,并且这种坏的reward会不断积累,导致最终输掉。因此采用RL就非常有必要。
3.策略网络的强化学习
采用自我对抗的方式,Agent使用最新参数的策略网络选择动作,而对手Opponent采用策略网络的旧参数选择动作。
我们定义 r t r_t rt为 t t t时刻的奖励, u t u_t ut表示回报,若 r T = 1 r_T=1 rT=1,说明第一步到第 T T T步都是好棋,所以 u 1 = u 2 = ⋯ = u T = 1 u_1=u_2=\dots=u_T=1 u1=u2=⋯=uT=1,反之 u 1 = u 2 = ⋯ = u T = − 1 u_1=u_2=\dots=u_T=-1 u1=u2=⋯=uT=−1
然后采用策略梯度上升更新参数 θ \theta θ
4.价值网络
这里的价值网络近似的是 V π ( s ) V_\pi(s) Vπ(s)函数,与之前的actor-critic算法里不同。
也就是 U t U_t Ut的期望,用来表示在策略 π \pi π下,状态 s s s的胜率。
因为两个网络的相似,因此卷积层可以共用。
采用梯度下降更新 w w w。
5.蒙特卡洛树搜索
根据策略函数选取若干个较优的 a a a,然后采用树搜索,类似 d f s dfs dfs,进行自我对抗直到结束,然后重复多次。给每个动作 a a a打分,选取打分最高的执行动作 a a a。
具体步骤如上。
注意这里由 M C T S MCTS MCTS计算的 Q ( a ) Q(a) Q(a)是一张表,叫做动作价值表,组成每个动作打分的一部分。
N ( a ) N(a) N(a)表示动作 a a a至今执行的次数。
统计完所有的动作的打分。
选择打分最大的动作,假装执行。
然后进行自我对抗,不断假想执行动作。
然后计算奖励 r T r_T rT
然后计算 V ( s t + 1 ) V(s_{t+1}) V(st+1) ,等于价值网络输出和奖励 r T r_T rT的均值。
注意每个动作存在多个 V ( s t + 1 ) V(s_{t+1}) V(st+1),因此我们采用平均值表示动作的价值 Q ( a t ) Q(a_t) Q(at)
然后根据 N ( a ) N(a) N(a)选择最大实际执行该动作。
MCTS总结
6.新版的AlphaGo Zero
与老版本不同的时,完全不依赖于人类经验,并且在策略网络也是用MCTS训练。
事实证明, 人类经验对于AlphaGo的学习有副作用。
但是不能说人类经验对任何学习都无用,比如在医疗和自动驾驶方向,采用behavior cloning节省大量成本,不需要真实实验,避免不必要的危险和码分。
Zero策略网络的训练方法
AlphaGo Model-Based RL相关推荐
- 小样本论文笔记5:Model Based - [6] One-shot learning with memory-augmented neural networks.
小样本论文笔记5:Model Based - [6] One-shot learning with memory-augmented neural networks 文章目录 小样本论文笔记5:Mod ...
- ”AE-OT A NEW GENERATIVE MODEL BASED ON EXTENDED“阅读笔记
"AE-OT A NEW GENERATIVE MODEL BASED ON EXTENDED SEMI-DISCRETE OPTIMAL TRANSPORT"阅读笔记 来源:IC ...
- Face Swapping under Large Pose Variations: a 3D Model Based Approach论文阅读笔记
题目:Face Swapping under Large Pose Variations: a 3D Model Based Approach 翻译:大姿态变化下的人脸交换:一种基于三维模型的方法 摘 ...
- 论文阅读【异常检测】ModelCoder: A Fault Model based Automatic Root Cause Localization Framework for Microservi
ModelCoder: A Fault Model based Automatic Root Cause Localization Framework for Microservice Systems ...
- A Rapid Scene Depth Estimation Model Based on Underwater Light Attenuation Prior......
A Rapid Scene Depth Estimation Model Based on Underwater Light Attenuation Prior for Underwater Imag ...
- Contrast in Haze Removal: Configurable Contrast Enhancement Model Based on Dark Channel Prior
吐槽吐槽!!!有史以来读的最费劲的一篇文章,各种长句!各种句式!各种缩写!各种实验中夹杂公式!!!各种各种!!!可是是IEEE的文章呢,读了那么多英文文章的如今读到我开始怀疑我的英文水平了,怀疑人生了 ...
- A data-driven two-lane traffic flow model based on cellular automata
A data-driven two-lane traffic flow model based on cellular automata 这是一篇发表在 Physica A 上的一篇论文.cellul ...
- 【论文学习】《Parallel WaveGAN: A fast waveform generation model based on generative adversarial networks》
<Parallel WaveGAN : A fast waveform generation model based on generative adversarial networks wit ...
- WOFOST模型Matlab,WOFOST Model Based on Soil Moisture Driven and Its Adaptability
[1]王鹏文,潘万博.我国玉米发展现状和趋势分析[J].天津农学院学报,2005,12(3):53-57.Wang P W,Pan W B. Present situation and objecti ...
- A Pulmonary Nodule Detection Model Based on Progressive Resolution and Hierarchical Saliency
paper:https://arxiv.org/abs/1807.00598 摘要 胸部CT上肺结节的检出是肺癌早期诊断的重要步骤,对于患者是至关重要的.虽然在文献中已经发表了一些计算机辅助结节检测方 ...
最新文章
- checkbox居中 editor_C1FlexGrid绑定自定义Editor-C1CheckBox
- 初学ArcGIS API for JavaScript
- VTK:Utilities之ExtractArrayComponent
- mongodb golang 批量更新_Mongodb读取数据缓慢问题-Sparkamp;Mongodb
- 传说中的“猴年马月”就要来了,感觉很多愿望都要实现啦!
- Atitit 时间的展示格式与存储格式 目录 1.1. 赛事时间的格式起源	1 1.1.1. 六十[编辑]	1 1.2. 1h 12m 23s 模式 (可读性最好	2 1.3. 日常模式 1:45:
- python爬虫反虫之setcookie
- Novel 网络小说点评
- 封装组件引发的问题——vue给对象添加响应式属性
- 2010年软件业十大新闻事件
- OSChina 周三乱弹 —— 谈什么对象?睡什么觉?
- 大鹅模拟器 for Mac休闲模拟游戏
- 安徽省发票认证服务器网站,安徽省增值税发票综合服务平台网址及操作指南
- 按如下函数原型编程从键盘输入一个m行n列的二维数组,然后计算数组中元素的最大值及其所在的行列下标值。其中,m和n的值由用户键盘输入。已知m和n的值都不超过10。
- OpenCV快速入门篇(Python实现)
- java验证11位手机号_JAVA怎样用数组实现输入手机号码为11位
- opencv打开相机获取图像并保存
- AI圣经《深度学习》作者斩获2018年图灵奖,100 万奖励!...
- 关于DecimalFormat的取舍问题,DecimalFormat四舍五入的坑
- 使用CStdioFile读写文件
热门文章
- SfxMCP基于onvif协议H5无插件直播方案中onvif设备的接入方法 - sfxlab
- ansible常见模块及使用方法
- 论文研究 | 基于机器视觉的 PCB 缺陷检测算法研究现状及展望
- 可燃气传感器 android,可燃气体传感器工作原理,一文看懂!
- ESXI虚拟机下安装 All in One系统
- word无法保存html文件,【修复】Word“文件发生错误”,无法保存文件
- linux操作系统下载gLINUX数据恢复及RAID数据恢复解决方案(组图
- PMP考试总结-2023-05-27
- 简历中的项目经历可以怎么写?
- 使用eclipse和JavaFX Scene Builder进行快速构建JavaFX应用程序