AI如何思考和学习:了解AlphaGo (高级)

Forward Propagation of Artificial Neural Network

反向传播和成本函数

正向传播基于权重,偏差和激活函数,但是由什么决定这些值? 激活函数是预先选择的,但是对于大型神经网络,将无法手动选择适当的权重和偏差。

在机器学习领域,模型应该从数据本身'学习',这种学习过程也称为'训练'。 通常,数据被分为2个不同的集合-训练集和测试集。 训练集用于将模型'训练'为更成熟的状态,然后性能将由测试集评估。

Comparison Between Conventional Algorithms and Machine Learning

有很多不同的方法可以'训练'人工神经网络,但是最受欢迎的方法是反向传播。

在反向传播之前,通常以正态分布随机初始化神经网络的权重和偏移。 然后,神经网络将执行正向传播。 由于权重和偏差是随机初始化的,因此第一次正向传播的结果通常很遥远。 然后使用成本函数来计算预期结果与神经网络输出之间的差异。 计算出差异后,将用于调整上一层的权重和偏差。 该过程逐层向后传播,因此被称为'反向传播'。

Back Propagation of Artificial Neural Network

这是有关反向传播的更正式的教程,因为它需要一些高级数学来解释。 在这里可以找到神经网络的解释和代码示例,作者使用矩阵运算来模拟Python中的神经网络。

卷积神经网络(CNN)

为了更好地处理图形数据,Yann LeCun于1994年发明了卷积神经网络。该网络在2D阵列上对空间信息进行计数。 卷积神经网络也非常适合分析空间信息至关重要的其他2D数据,包括棋盘。

卷积神经网络由3种类型的层构成-卷积层,池化层和完全连接层。 这些具有不同形状和大小的图层在不同主题上的表现将有所不同。 卷积神经网络的研究通常涉及调整这些层及其组成,以优化目标数据集的性能。

Example Architecture of Convolutional Neural Networks

卷积层(conv)

卷积层通常显示为卷积神经网络的第一层。 这些类型的层将使用过滤器扫描源层,并将总和放入目标层。 有些过滤器擅长检测边缘,有些过滤器擅长其他任务,有关各种卷积过滤器及其在'计算机视觉'中的应用的更多详细信息,请参见此处。

Convolutional Layer (3x3)

池化层(池)

Pooling Layer (2x2 — Max Pooling)

池层遍历源层,并在有界区域内选择一个特定值。 该值通常是该区域内的最大值,最小值,平均值。 将信息缩小为较小的大小也称为'下采样'。

全连接层(fc)

完全连接层本质上是一个多层感知器,有时被称为' softmax',并且其本质上称为'加权总和'。

Fully Connected Layer is Just an Artificial Neural Network

卷积神经网络最常用于计算机视觉领域,它影响到许多领域,例如电子商务,金融科技,游戏人工智能,癌症检测,骨科,精神病学,野火检测等。 这是一篇有关计算机视觉如何影响电子商务的文章,另一篇是关于计算机视觉中一些很酷的前端框架的文章。

Alpha Go Zero,通过机器学习掌握Go游戏

'完美,完美无瑕。 …我认为我一生都无法赶上它。'

-柯洁(Go的世界冠军)在输给Alpha Go Zero的三场比赛后

恭喜!!! 我们已经到了本文的目的。 现在,我们将准备了解传说中的国际象棋和围棋AI从头到脚的工作方式。

Alpha Zero 设计架构

Alpha Go Zero由卷积神经网络和蒙特卡洛树组成。 它使用强化学习算法进行自我训练。

How Alpha Go Zero Makes a Turn

我们应该熟悉几个术语。 由于博客不支持大多数字母的下标,因此类似于LaTeX,下标由' _'后方括号内的字母表示。

  • · 状态:游戏的状态由s_(t)表示,从s_(0)到s_(T),其中s_(T)是终止状态。
  • · 蒙特卡洛树(α):蒙特卡洛树α_(θ)用于确定游戏的下一个状态。
  • · 移动(a):每个状态s_(t)的移动a_(t)由搜索概率π_(t)确定。
  • · 搜索概率(π):搜索概率π_(t)用于确定状态s_(t)的移动a_(t)。
  • · 卷积神经网络(f):卷积神经网络f_(θ)用于通过分析电路板来输出值向量v和策略向量p。
  • · 值向量(v):值向量v_(t)表示当前玩家在位置s_(t)获胜的概率
  • · 策略标量(p):策略标量p_(t)表示移动的概率分布。
  • · 优胜者(z):将优胜者z传播回去训练模型。

Alpha Go Zero完全通过自我游戏进行训练,并且仅使用1个卷积神经网络,而原始的Alpha Go则需要2个卷积神经网络,并从专业的人类游戏中借鉴信息。

Alpha Go Zero将游戏板作为卷积神经网络的原始输入。 然后,网络输出向量v和标量p。 然后,将蒙特卡洛树(Monte Carlo Tree)用于计算搜索概率π,该搜索概率π用于确定游戏下一阶段的移动。 最后,获胜者z由游戏规则确定,并用于通过强化学习来训练模型。

到目前为止,我们已经了解了Alpha Go Zero的工作原理!!! 更重要的是,我们已经进入了人工智能领域。

人工智能,现在与未来

'记下我的话-A.I. 比核武器要危险得多'

-Tesla和Space X的首席执行官Elon Musk,OpenAI的联合创始人等等。

我们在人工智能方面的研究处于有趣的状态。 在机器学习之前,所有的AI都经过硬编码以按照我们期望的方式运行。 机器学习使AI能够独立改善自身,有时会产生意外行为。 研究人员观察到,通过将智能代理置于环境中并通过一定的规则对其进行奖励,可以逐渐增加其智能行为。 这让人着迷,但令人恐惧。

游戏环境内部的研究就像数学和物理学一样。 就其本身而言,这样的研究可能只是想知道,并且很想尝试,但缺乏任何扎实的价值。 但是,它们将为其他更多应用科学和工程学提供必要的基础。 未来掌握在您和我的手中,我们将携手使明天变得更美好。

作者注

我花了一些时间才能完成本文的第二部分。 我正忙着上学和找工作。 我是人机交互(HCI)的硕士课程,但是对许多不同的领域感兴趣。 人工智能就是其中之一。 希望本文对您有任何帮助。

'未来掌握在您和我的手中,我们将携手使明天变得更美好。'

—Shen Huang,本文作者

(本文翻译自Shen Huang的文章《Understanding AlphaGo: how AI thinks and learns (Advanced)》,参考:
https://towardsdatascience.com/understanding-alphago-how-ai-thinks-and-learns-advanced-d70780744dae)

(0)

相关推荐