查看原文
其他

王川:深度学习有多深?(二十四) 乔布斯和 Deepmind 的突围

2016-09-14 硅谷王川 investguru

本文是

王川:深度学习有多深?(二十三) 经历的回放

的续篇。


    (1)


游戏公司 Atari 在1977年推出的 Breakout (突围)电脑游戏,主要开发者是苹果公司的创始人之一, Steve Wozniak. 乔布斯的角色是 Atari 和 Wozniak 中间的掮客.


Atari 起先告诉乔布斯,游戏如果四天内开发出来,将支付 700 美元的报酬。乔布斯许诺和 Wozniak 平分这笔钱。但Wozniak 不知道的是, Atari 还承诺如果此游戏在逻辑芯片的需求上低于某个指标,将给予更多的奖励.


最终Wozniak 连续四天挑灯夜战只拿到了 350 美元 的报酬, 而乔布斯则独吞了从  Atari 那里获得的五千美元的额外奖励。等Wozniak 知道真相时,已经是1984年,苹果上市四年了.


(下图为 Wozniak 和 Jobs)



"突围" 游戏的规则很简单:显示屏上八层砖头,每两层是同一种颜色, 总共分黄,绿,桔,红四色。玩家用板子击球,球碰倒砖头后就得分。不同颜色的砖头得分各不相同。如果来球没有被接到,就丢掉一个回合。球的速度随着击打次数的增加也不断增加。最终目的是在三个回合内获得最高分.


有兴趣的读者建议亲自去玩一下这个游戏。要想成为高手,着实不易。


    (2)


2013年12月,总部在伦敦的 Deepmind 公司的团队发表论文:Playing Atari with Deep Reinforcement Learning ("使用深度增强学习玩Atari 电脑游戏"), 详细地解释了他们使用改进的神经网络算法在包括 Atari Breakout 在内的电脑游戏的成果.


Deepmind 算法设计时,把电脑游戏的最新的四帧屏幕,作为神经网络的输入。每帧屏幕用 84 x 84 的像素表征.


除了获得的分数以外,没有任何人为输入的游戏规则的信息。全靠长期培训,让机器自己悟出,什么是最佳的策略.


这颇有点像某哲人曾经对培养华尔街交易员的评论, "我们把他们扔到有很多鲨鱼的水箱里,能自己野蛮生长的,就留下来 ". 


神经网络有三个隐层,其中有两个卷积层 (convolution layer), 用于过滤和提取像素中的局部特征。第三层是一个全连接层 (Fully connected layer), 针对游戏中每一个瞬间玩家可能采取的行动选择 (大约有 4-18个行动选择),输出相应的价值函数的估算。  


不同行动选择的回报值,就是所谓的 Q-value. 神经网络的培训,就是要拟合 Q-value,用于计算如何选择利益最大化的行动. 这个用三层神经网络学习打游戏的模型,就叫 Deep-Q-Network (深度-Q-网络, 简称 DQN).


DQN 的参数初始值,完全随机化,就像一个新入行,两眼一抹黑的小白。但开始不懂没关系,最重要的,是自我学习新技能的速度.


    (3)


在增强学习和运筹学里一个经典问题是选择”勘探还是开发“ (exploration or exploitation) . 换言之,是仅仅根据现有的信息把利益最大化,还是花一部分时间去探索外面的世界是否更精彩.


解决这个问题的通行做法,是所谓的 epsilon-greedy strategy, 这里翻译为 "有时不贪婪的策略".   这个策略,就是大部分时间贪婪 (根据现有信息寻求利益最大化),但是还有 epsilon 的几率去做一些完全随机的探索 (有时不贪婪).


埋头读书工作,固步自封的人,epsilon = 0, 这是传统的贪婪策略.


天天到处乱晃,东一榔头西一棒子的人, epsilon = 1.


这两个极端都不好.


有时不贪婪,做一些短期的牺牲,是为了长期的贪婪和利益最大化。如何把握 epsilon 这个度,是个挑战.


DQN 的 epsilon 的初始值为 1,以随机探索为主, 经过一百万帧的培训后慢慢降到 0.1 不变, 也就是始终保持 10%的时间随机探索.


对于一个 60 赫兹的显示屏而言,一秒钟是 60帧,一百万帧就相当于约四个多小时的游戏时间.


DQN 在拟合神经网络参数的计算时,使用了上篇文章提到的 “经历回放”的技巧,用于存储经历的空间达到一百万帧.


DQN 的算法,用大白话来说,是这样的:

=====================

神经网络参数随机初始化 (刚出道,什么都不懂,无知者无畏)


把下面的循环重复 N 遍:

从 1 到 T 时间

       以 epsilon 的几率随机探索

       否则, 选择现有认知下, 利益最大化的行动 a(t)


       干 a(t), 完事后记下回报 r(t), 和新状态 s(t+1)

       把刚才的经历写入记忆,用于以后回放

 

       从记忆中随机提取部分经历,

            通过随机梯度下降的计算方法,优化拟合神经网络的参数,

            (这个参数优化就好比: 昨天股票抄底亏大了, 下次少抄底;前天买的房子又涨了, 下次就多放点钱买房。)

===================


经过长期培训后的 DQN, 打电脑游戏时的表现,让程序设计者也大吃一惊.


(未完待续)


==============================

点击下面链接获得本公众号的介绍


王川: 如何从我的公众号 investguru 里面获得最大的收获


在投资和事业发展的路上如何集思广益,举重若轻?欢迎加入王川的俱乐部,这是一个凝聚来自世界四大洲各行各业精英的高端收费社区.有意入会者请和王川(微信号: 9935070) 直接联系。


作者简介:王川,投资人,中科大少年班校友,现居加州硅谷。个人微信号9935070,公众号 investguru ,新浪微博“硅谷王川",知乎专栏 "兵无常势". 文章表达个人观点仅供参考,不构成对所述资产投资建议,投资有风险,入市须谨慎.


<王川自选集> 第一卷电子书,现可在百度云盘上免费下载,订阅本公众号后,在公众号菜单右下角点击"电子书", 即可获得下载指令. 总共收录我过去一年五十多篇原创的财经科技评论文章,近三百页,欢迎下载传阅!)


长按下面二维码订阅本公众号. 订阅后输入'目录‘两字看看你错过了多少好文章!



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存