从一个想法到现在不断的学习积累,过程虽然不快,但是发现对机器学习建立了初步概念,通过一个字一个字的阅读和查资料理解相关内容,现在能看懂一些基本理论知识了,当一个相关AI应用出现时大概能分得清楚整体构成是怎么回事,应用的能力范围边界在哪里。写了这么多续集片段文章,其实是学习的同一篇参考文,在学习之初是没看透这个文章所涉及的各方面知识,但是并没有似懂非懂的离去,而是一块块拆开逐步的理解琢磨推敲,才内化了一部分相关理论知识。在此小结这段时间学习方法是否有效来鼓励自己继续前行探索成长。
接下来还需继续不断理解领悟,所以下面继续学习参考文。
接上文继续学习理解建模算法优化改良。
之前提到走棋的路数太集中问题,Aja Huang计算v(s) 的调整策略为:
开局先用P(s)走L步,有利于生成更多局面,不过Aja Huang还是觉得局面不够多样,为了进一步扩大搜索空间,在L+1步时,完全随机一个a落子,记下这个状态 v(sL+1),之后使用Pplus(s)进行对弈,直到结束时获得结果r,如此不断对弈,由于L也是一个随机数,我们可以得到,开局、中盘、官子等不同阶段的很多局面s,和这些局面对应的结果r,有了这些训练样本 ⟨s,r⟩,使用神经网络,把最后一层改为回归而非分类(这里不是用的分类,而是用的回归,拟合),就得到了一个 v(s) 来输出赢棋的概率。
总结,强化学习的Pplus(s)主要是用来获得v(s) 局部评估函数。表示的含义是在状态s下,局面的优劣程度,或者说此时的胜率是多少,v(s) 局部评估函数拥有在线下不断自我进化的能力(这也是AlphaGo可以随时间越来越强的最重要的部分)。
回顾下各参数符号意义:
P(s) 来自于人类下棋经验,MCTS 通过随机性对弈输赢寻找赢家,v(s) 判断局势提速过程。