机器学习和认知计算入门指南

2017-08-10

  蓝桥知识小课堂带你走进机器语言学习海洋!

  机器学习

    机器学习是 AI 和计算机科学的一个子领域,起源于统计学和数学优化。机器学习涵盖应用于预测、分析和数据挖掘的监督式和非监督式学习技术。它并不仅限于深度学习,在本节中,我将探讨一些实现这种效率奇高的方法的算法。


                    图 7. 机器学习方法的时间线

机器学习.jpg

    神经网络的真正威力在于它们的多层变形。训练单层感知器很简单,但得到的网络不是很强大。那么问题就变成了如何训练有多个层的网络?这时就会用到反向传播算法。反向传播是一种训练有许多层的神经网络的算法。它分两个阶段执行。第一阶段是通过一个神经网络将输入传播到最后一层(称为前馈)。在第二阶段,算法计算一个错误,然后将此错误从最后一层反向传播(调节权值)到第一层。


                    图 8. 反向传播简图

8.jpg

    在训练期间,网络的中间层自行进行组织,以便将输入空间的各部分映射到输出空间。通过监督式学习,反向传播识别输入-输出映射中的错误,然后相应地(以一定的学习速率)调整权值来更正此错误。反向传播一直是神经网络学习的一个重要方面。随着计算资源消耗得更快和变得更廉价,反向传播会继续被应用于更大更密集的网络。


  卷积神经网络(Convolutional neural networks)

    卷积神经网络 (CNN) 是受动物视觉皮质启发的多层神经网络。该架构在各种应用中都很有用,包括图像处理。第一个 CNN 是 Yann LeCun 创建的,当时,该架构专注于手写字符识别任务,比如读取邮政编码。

    LeNet CNN 架构包含多层,这些层实现了特征提取,然后实现了分类。图像被分成多个接受区,注入可从输入图像中提取特征的卷积层。下一步是池化,它可以(通过下采样)降低提取特征的维度,同时(通常通过最大池化)保留最重要的信息。然后该算法执行另一个卷积和池化步骤,注入一个完全连通的多层感知器。此网络的最终输出层是一组节点,这些节点标识了图像的特征(在本例中,每个节点对应一个识别出的数字)。用户可以通过反向传播训练该网络。


                    图 9. LeNet 卷积神经网络架构

9.jpg

    深层处理、卷积、池化和一个完全连通的分类层的使用,为神经网络的各种新应用开启了一扇门。除了图像处理之外,CNN 还被成功应用到许多视频识别和自然语言处理的任务中。CNN 也已在 GPU 中获得高效实现,显著提高了它们的性能。


  长短期记忆

    回想一下,在反向传播的讨论中曾提到过,该网络是用前馈方式进行训练的。在这个架构中,用户将输入注入网络中,通过隐藏层将它们前向传播到输出层。但是,还有许多其他神经网络拓扑结构。此处分析的拓扑结构允许在节点之间建立连接,以便形成一个定向循环。这些网络被称为递归神经网络,它们能反向馈送到前几层或它们的层中的后续节点。该属性使这些网络成为处理时序数据的理想选择。1997 年,人们创建了一种名为长短期记忆 (LSTM) 的特殊回归网络。LSTM 由记忆细胞组成,网络中的这些细胞会短期或长期记住一些值。


                       图 10. 长短期记忆网络和记忆细胞

10.jpg

    记忆细胞包含控制信息如何流进或流出细胞的闸门。输入门控制新信息何时能流入记忆中。遗忘门控制一段现有信息保留的时长。最后,输出门控制细胞中包含的信息何时用在来自该细胞的输出中。记忆细胞还包含控制每个门的权值。训练算法通常沿时间反向传播(反向传播的一种变体),可以根据得到的错误来优化这些权值。LSTM 已被应用于语音识别、手写体识别、文本到语音合成、图像字幕和其他各种任务。我很快会再介绍 LSTM。


  深度学习

    深度学习是一组相对较新的方法,它们正从根本上改变机器学习。深度学习本身不是一种算法,而是一系列通过无监督学习来实现深度网络的算法。这些网络非常深,以至于(除了计算节点集群外)需要采用新计算方法(比如 GPU)来构建它们。

    本文目前为止探讨了两种深度学习算法:CNNs 和 LSTMs。这些算法的组合已用于实现多种非常智能的任务。如下图所示,CNN 和 LSTM 已用于识别,以及使用自然语言描述照片或视频。


                   图 11. 组合使用卷积神经网络和长短期记忆网络来描述图片

11.jpg

    点击查看大图深度学习算法也应用于面部识别,能以 96% 的准确度识别肺结核,自动驾驶汽车,以及其他许多复杂的问题。但是,尽管应用深度学习算法取得了这些成果,但是仍有一些亟待我们解决的问题。最近,深度学习在皮肤癌检测上的应用发现,该算法比获得职业认证的皮肤科医生更准确。但是,皮肤科医生能列举促使他们得出诊断结果的因素,而深度学习程序无法识别其在分类时使用了哪些因素。这就是所谓的深度学习黑盒问题。

    另一种应用称为 Deep Patient,能根据患者的医疗记录成功地预测疾病。事实证明,该应用预测疾病的能力比医生好得多 — 甚至是众所周知难以预测的精神分裂症。所以,尽管这些模型很有效,但没有人能真正弄清楚庞大的神经网络行之有效的原因。


  认知计算

    AI 和机器学习都有许多生物灵感方面的示例。早期 AI 专注于构建模仿人脑的机器的宏伟目标,而认知计算也致力于实现此目标。认知计算是根据神经网络和深度学习来构建的,正在应用来自认知科学的知识来构建模拟人类思维过程的系统。但是,认知计算没有专注于单组技术,而是涵盖多个学科,包括机器学习、自然语言处理、视觉和人机交互。

    IBM Watson 就是认知计算的一个示例,在 Jeopardy 上,IBM Watson 证实了它最先进的问答交互能力,但自那时起,IBM 已通过一系列 Web 服务扩展了该能力。这些服务公开的应用编程接口可用于视觉识别、语音到文本和文本到语音转换功能,语言理解和翻译,以及对话引擎,以构建强大的虚拟代理。


  结束语

    本文仅介绍了 AI 发展史以及最新的神经网络和深度学习方法的一小部分。尽管 AI 和机器学习的发展跌宕起伏,但深度学习和认知计算等新方法仍大大提高了这些学科的标准。有意识的机器可能仍无法实现,但帮助改善人类生活的系统目前已存在。


上一篇:这个影响你一生的秘密,你应该知道

下一篇:人工智能认知计算入门指南