alphago原理解析
AlphaGo的学习依赖于深度学习Deep Learning和增强学习Reinforcement Learning,合起来就是Deep Reinforcement Learning。这实际上当前人工智能界最前沿的研究方向。 关于深度学习和增强学习,本文不做详细的介绍。深度神经网络是由巨量的参数形成的一个多层的神经网络,输入某一种类型的数据,输出某一种特定的结果,根据输出的误差,计算并更新神经网络的参数,从而减少误差,从而使得利用神经网络,特定的输入可以得到特定想要的结果。 以深度模拟“脑”为例。这个实际上是一个12层的神经网络。输入主要是整个棋盘的19*19的信息(比如黑棋的信息,白棋的信息,空着的信息,还有其他一些和围棋规则有关的信息一共48种)。输出要求是下一步的落子。那么Google Deepmind拥有3000万个落子的数据,这就是训练集,根据输出的误差就可以进行神经网络的训练。训练结束达到57%的正确率。也就是说输入一个棋盘的棋局状态,输出的落子有一半以上选择了和人类高手一样的落子方式。从某种意义上讲,就是这个神经网络领悟了棋局,从而能够得到和人类高手一样的落子方法。 换另一个角度看会觉得AlphaGo很可怕,因为这个神经网络本来是用在计算机视觉上的。神经网络的输入是棋盘,就类似为AlphaGo是看着棋盘学习的。 接下来的自学成长“脑”采用深度增强学习(deep reinforcement learning)来更新深度神经网络的参数。通过反复和过去的“自己”下棋来获得数据,通过输赢来判断好坏,根据好坏结果计算策略梯度,从而更新参数。通过反复的自学,我们看到自学成长“脑”可以80%胜率战胜深度模仿“脑”,说明了这种学习的成功,进一步说明自学成长“脑”自己产生了新的下棋方法,形成了自己的一套更强的下棋风格。