深度学习之Google Deepmind的alphago人工智能算法技术演变历程

简介: 强化学习的典型应用。


 

一、简介

 

有些人会有如下质疑“alphago都用了蒙特卡洛搜索树了,这变成了一部分搜索问题了并不是人工智能算法了或者说不够智能了,但我的拙见是人在思考问题的时候除了直觉、经验判断、逻辑推理之外也会去枚举、搜索,所以我觉得算法包含一部分搜索并不能直接说该算法这不够智能或者这不是智能算法了,我觉得更多的是要考虑该算法在该类问题上如何去刻画出人类的直觉、经验判断、逻辑推理等。

 

最近大家比较关心的围棋人机大战(alphago vs 李世石)中,deep mind基于Nature2016文章的alphago5局制的比赛中已经取得了4-1的获胜。2016googlefacebook两个大拿在围棋领域基于深度学习都发表了文章,其中facebook文章如下:《BETTER COMPUTER GO PLAYER WITH NEURAL NET- WORKAND LONG-TERM PREDICTION Google文章如下:《Mastering the game of Go with deep neural networks and tree search》。这两篇文章都是蒙特卡洛搜索树+DCNN,效果googlealphago优于facebook的方法,刚好借此机会将之前看到的deep mind该领域的文章捋了一下。

 

googlealphago之前就已经发表了相当多这方面的demo与文章,从其最早的NIPS2013文章《Playing Atari with Deep ReinforcementLearning》到现在的Nature2016 Mastering the game of Go with Deep Neural Networks & Tree Search》。deep mind在此期间做了很多扎实的研究工作,本文将进行简单的描述。本文接下去会按如下几点内容进行叙述:

1.Q-learning

2. Reinforcement learning

3. deep Q-Networks

4. alphago

 

二、Q-learningReinforcement learning 

 

增强学习Reinforcement learning的场景大部分有一个共同的特点,那就是这些场景有序列决策或者控制的问题,对于当前的任何一个state不能明确的对不同的action给出一个事先well definedscore值。它大多应用于如下的领域:机器人控制,市场决策,工业控制等。

 

Q-learning是用于解决Reinforcement learning问题的一种常见方法,其经典的公式如下:


 

 

三、deep Q-Networks(DQN)

 

2013发表NIPS文章《Playing Atari with Deep ReinforcementLearning》是deep mind公开的最早使用raw pixels作为输入的,用于解决reinforcement learning的深度学习网络DQN。在该文章中,作者在atari一系列的游戏上做了各种算法的比较,如下图所示:

 

 

在总共7个游戏中,有6个做到了算法中最好,其中还有3个做到了比人类专家还要好。该文章中提到的DQN有两个特点:1. 用来更新参数的minibatch是是从replay memory(回放记忆)中采样出来的,而不是仅仅的用当前一个片段或者session,这样能使得模型收敛性更好,否则会很容易训飞。2. value函数是一个多层网络。

 

在上述文章提出后,deep mind在该问题上不停的打磨,不断的优化其工程与算法:

1. 2015发表ICML文章《MassivelyParallel Methods for Deep Reinforcement Learning》,该文章从工程上了做了4个方面的分布式:学习、决策、价值、经验,第1个属于学习,第23个属于网络方面,第4个偏存储方面。DQN的全面分布式将DQN的学习时间成本与模型效果都提升了一个档次。DQN分布式结构简要如下:



 

2. 2016发表ICLR文章《PRIORITIZEDEXPERIENCE REPLAY》,该文章指出了原DQN中经验均匀采样的问题,并从防过拟合、防局部最优这些点上,设计了介于均匀采样与纯优先级贪心之间的经验采样方法,提出的这个改进再次将DQN的模型效果提升了一个档次。

3. 2016发表ICLR文章《PolicyDistillation》,该篇文章实际上是做了DQNtransfer learning的实验,有很多思想与hintondark knowledge里面的东西都很相似,其方法示意图如下所示:

 


 

四、alphago

 

训练阶段:

 

alphago训练如下图a中展示了alphago相应的4neural networkb中主要展示了policy networkvalue network及其输出形式。 

          

 

 

1. policy network14层,输出棋盘每步move概率值),它首先采用supervisedlearning训练方法在KGS数据集上达到了55.7%的专家moves预测准确率,然后由reinforcement learning训练方法进行自我训练(每一次训练都在前几次迭代完的模型中随机一个模型做决策),自我训练的policy network80%的情况下打败了supervised learning训练出来的policy network


2. value network15层,预测棋盘下一步move),该网络由pair训练数据做regressionloss反馈更新得到。在KGS的数据集上,该训练方法出现了过拟合的现象(训练MSE0.19,测试MSE0.37),但若在reinforcement learning学出来的policy network基础上产生出的自我训练集里进行采样学习的话,就可以有效的避免该问题(训练MSE0.226,测试MSE0.234)。


预测阶段:

 

alphago系统模拟的时候,每一个action由如下三个因素决定:s状态下a的访问次数,RL policy network for action valueSL policy networkfor prior probability;在alphago系统模拟的时候,每一个叶子节点价值由如下两个因素决定:value networkrollout network;在alphago系统所有模拟都结束后,由上述两点计算得到s状态下avalue值。综上RLSL学习出来的两个policy network共同决定了蒙特卡洛搜索树节点的选择,value networkrollout network决定了模拟出来的叶子节点的价值,最终s状态下avalue由上述两部分以及所有模拟中s状态下a的访问次数共同影响得到。最后alphago系统选择s状态下最优的action作为围棋当前的move


本文作者:阿里-记忆


关注了解更多人工智能干货:



目录
相关文章
|
1月前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的眼疾识别系统实现~人工智能+卷积网络算法
眼疾识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了4种常见的眼疾图像数据集(白内障、糖尿病性视网膜病变、青光眼和正常眼睛) 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Django框架搭建了一个Web网页平台可视化操作界面,实现用户上传一张眼疾图片识别其名称。
130 5
基于Python深度学习的眼疾识别系统实现~人工智能+卷积网络算法
|
2月前
|
机器学习/深度学习 人工智能 算法
猫狗宠物识别系统Python+TensorFlow+人工智能+深度学习+卷积网络算法
宠物识别系统使用Python和TensorFlow搭建卷积神经网络,基于37种常见猫狗数据集训练高精度模型,并保存为h5格式。通过Django框架搭建Web平台,用户上传宠物图片即可识别其名称,提供便捷的宠物识别服务。
347 55
|
5天前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的【蘑菇识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
蘑菇识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了9种常见的蘑菇种类数据集【"香菇(Agaricus)", "毒鹅膏菌(Amanita)", "牛肝菌(Boletus)", "网状菌(Cortinarius)", "毒镰孢(Entoloma)", "湿孢菌(Hygrocybe)", "乳菇(Lactarius)", "红菇(Russula)", "松茸(Suillus)"】 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Django框架搭建了一个Web网页平台可视化操作界面,
41 11
基于Python深度学习的【蘑菇识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
|
2月前
|
机器学习/深度学习 人工智能 算法
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
宠物识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了37种常见的猫狗宠物种类数据集【'阿比西尼亚猫(Abyssinian)', '孟加拉猫(Bengal)', '暹罗猫(Birman)', '孟买猫(Bombay)', '英国短毛猫(British Shorthair)', '埃及猫(Egyptian Mau)', '缅因猫(Maine Coon)', '波斯猫(Persian)', '布偶猫(Ragdoll)', '俄罗斯蓝猫(Russian Blue)', '暹罗猫(Siamese)', '斯芬克斯猫(Sphynx)', '美国斗牛犬
220 29
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
|
2月前
|
机器学习/深度学习 人工智能 算法
人工智能平台年度技术趋势
阿里云智能集团研究员林伟在年度技术趋势演讲中,分享了AI平台的五大方面进展。首先,他介绍了大规模语言模型(LLM)训练中的挑战与解决方案,包括高效故障诊断和快速恢复机制。其次,探讨了AI应用和服务的普及化,强调通过优化调度降低成本,使AI真正惠及大众。第三,提出了GreenAI理念,旨在提高AI工程效率,减少能源消耗。第四,讨论了企业级能力,确保数据和模型的安全性,并推出硬件到软件的全面安全方案。最后,介绍了整合多项核心技术的Pai Prime框架,展示了阿里云在自主可控AI核心框架下的整体布局和发展方向。
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
深入理解人工智能中的深度学习技术及其最新进展
深入理解人工智能中的深度学习技术及其最新进展
400 33
|
2月前
|
机器学习/深度学习 算法 信息无障碍
基于GoogleNet深度学习网络的手语识别算法matlab仿真
本项目展示了基于GoogleNet的深度学习手语识别算法,使用Matlab2022a实现。通过卷积神经网络(CNN)识别手语手势,如"How are you"、"I am fine"、"I love you"等。核心在于Inception模块,通过多尺度处理和1x1卷积减少计算量,提高效率。项目附带完整代码及操作视频。
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
揭秘人工智能:深度学习的奥秘与实践
在本文中,我们将深入浅出地探索深度学习的神秘面纱。从基础概念到实际应用,你将获得一份简明扼要的指南,助你理解并运用这一前沿技术。我们避开复杂的数学公式和冗长的论述,以直观的方式呈现深度学习的核心原理和应用实例。无论你是技术新手还是有经验的开发者,这篇文章都将为你打开一扇通往人工智能新世界的大门。
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
深入理解人工智能中的深度学习技术及其最新进展
深入理解人工智能中的深度学习技术及其最新进展
144 14
|
2月前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于深度学习网络的宝石类型识别算法matlab仿真
本项目利用GoogLeNet深度学习网络进行宝石类型识别,实验包括收集多类宝石图像数据集并按7:1:2比例划分。使用Matlab2022a实现算法,提供含中文注释的完整代码及操作视频。GoogLeNet通过其独特的Inception模块,结合数据增强、学习率调整和正则化等优化手段,有效提升了宝石识别的准确性和效率。

热门文章

最新文章