平顶山支付宝花呗套现安全秒到方法,支付宝花呗提现如何保障安全
发布时间:2017-10-20来源:未知 编辑:生活头条
老实说这篇 Nature 要比上一篇好很多,方法非常干净标准,结果非常好,以后肯定是经典文章了。
Policy network 和 value network 放在一起共享参数不是什么新鲜事了,基本上现在的强化学习算法都这样做了,包括我们这边拿了去年第一名的 Doom Bot,还有 ELF 里面为了训练微缩版星际而使用的网络设计。另外我记得之前他们已经反复提到用 Value network 对局面进行估值会更加稳定,所以最后用完全不用人工设计的 default policy rollout 也在情理之中。
让我非常吃惊的是仅仅用了四百九十万的自我对局,每步仅用 1600 的 MCTS rollout,Zero 就超过了去年三月份的水平。并且这些自我对局里有很大一部分是完全瞎走的。这个数字相当有意思。想一想围棋所有合法状态的数量级是 10^170,五百万局棋所能覆盖的状态数目也就是 10^9 这个数量级,这两个数之间的比例比宇宙中所有原子的总数还要多得多。仅仅用这些样本就能学得非常好,只能说明卷积神经网络(CNN)的结构非常顺应围棋的走法,说句形象的话,这就相当于看了大英百科全书的第一个字母就能猜出其所有的内容。用 ML 的语言来说,CNN 的 induction bias(模型的适用范围)极其适合围棋漂亮精致的规则,所以稍微给点样本水平就上去了。反观人类棋谱有很多不自然的地方,CNN 学得反而不快了。我们经常看见跑 KGS 或者 GoGoD 的时候,最后一两个百分点费老大的劲,也许最后那点时间完全是花费在过拟合奇怪的招法上。
如果这个推理是对的话,那么就有几点推断。一是对这个结果不能过分乐观。我们假设换一个问题(比如说 protein folding),神经网络不能很好拟合它而只能采用死记硬背的方法,那泛化能力就很弱,Self-play 就不会有效果。事实上这也正是以前围棋即使用 Self-play 都没有太大进展的原因,大家用手调特征加上线性分类器,模型不对路,就学不到太好的东西。一句话,重点不在左右互搏,重点在模型对路。
二是或许卷积神经网络(CNN)系列算法在围棋上的成功,不是因为它达到了围棋之神的水平,而是因为人类棋手也是用 CNN 的方式去学棋去下棋,于是在同样的道路上,或者说同样的 induction bias 下,计算机跑得比人类全体都快得多。假设有某种外星生物用 RNN 的方式学棋,换一种 induction bias,那它可能找到另一种(可能更强的)下棋方式。Zero 用 CNN 及 ResNet 的框架在自学习过程中和人类世界中围棋的演化有大量的相似点,在侧面上印证了这个思路。在这点上来说,说穷尽了围棋肯定是还早。
三就是更证明了在理论上理解深度学习算法的重要性。对于人类直觉能触及到的问题,机器通过采用有相同或者相似的 induction bias 结构的模型,可以去解决。但是人不知道它是如何做到的,所以除了反复尝试之外,人并不知道如何针对新问题的关键特性去改进它。如果能在理论上定量地理解深度学习在不同的数据分布上如何工作,那么我相信到那时我们回头看来,针对什么问题,什么数据,用什么结构的模型会是很容易的事情。我坚信数据的结构是解开深度学习神奇效果的钥匙。
另外推测一下为什么要用 MCTS 而不用强化学习的其它方法(我不是 DM 的人,所以肯定只能推测了)。MCTS 其实是在线规划(online planning)的一种,从当前局面出发,以非参数方式估计局部 Q 函数,然后用局部 Q 函数估计去决定下一次 rollout 要怎么走。既然是规划,MCTS 的限制就是得要知道环境的全部信息,及有完美的前向模型(forward model),这样才能知道走完一步后是什么状态。围棋因为规则固定,状态清晰,有完美快速的前向模型,所以 MCTS 是个好的选择。但要是用在 Atari 上的话,就得要在训练算法中内置一个 Atari 模拟器,或者去学习一个前向模型(forward model),相比 actor-critic 或者 policy gradient 可以用当前状态路径就地取材,要麻烦得多。但如果能放进去那一定是好的,像 Atari 这样的游戏,要是大家用 MCTS 我觉得可能不用学 policy 直接当场 planning 就会有很好的效果。很多文章都没比,因为比了就不好玩了。
另外,这篇文章看起来实现的难度和所需要的计算资源都比上一篇少很多,我相信过不了多久就会有人重复出来,到时候应该会有更多的 insight。大家期待一下吧。