深度学习自然语言处理实战
上QQ阅读APP看书,第一时间看更新

1.1 深度学习概况

1.1.1 深度学习的历史

在当前的社会工业生产和科学研究中,人工智能都扮演着重要的角色,但是目前阶段人工智能是先有人工,再有智能。人们在现存的海量数据的学习中找到数据后面隐藏的潜在规律以预测未知的事物。人工智能是一个很广的范畴,它是机器学习在学习人类智能方面的一个巨大的尝试和进步,这门科学是由计算机、心理学、生物学和哲学等多个学科共同组成的。

人工智能(Artificial Intelligence,AI)是一个综合性的领域,了解人工智能的范畴是很重要的。在人工智能中,包括了机器学习(Machine Learning,ML),深度学习(Deep Learning,DL)等。机器学习是人工智能的核心,也是智能化计算机的主要途径。它主要通过研究计算机是怎么模拟和实现人类的学习行为来获取新的知识和技能,然后不断修正自身的问题,使得知识结构不断得到改善。深度学习是基于机器学习的新研究方向,有时候人们会认为深度学习是更加复杂的机器学习。深度学习在推荐算法、数据挖掘、机器翻译、语言识别、计算机视觉(Computer Vision,CV),自然语言处理(Natural Language Processing,NLP)等方面有了长足的进步。它们的关系如图1-1所示。

图1-1 人工智能领域关系图

因此,有人认为,人工智能是目的,是结果;而机器学习和深度学习是方法,是工具。

本书将主要介绍深度学习在自然语言处理应用中的方法和实践。纵观深度学习的历史,可以发现这门学科可以追溯到1943年由神经科学家麦卡洛克(W.S.McCulloch)和数学家皮兹(W.Pitts)在《数学生物物理学公告》上发表的论文《神经活动中内在思想的逻辑演算》(A Logical Calculus of the Ideas Immanent in Nervous Activity)。这两位科学家在当年已经建立了神经网络和数学模型,称为MCP模型。MCP模型其实就是按照生物神经元的结构和工作原理构造出来的一种抽象和简化了的模型,也就诞生了所谓的“模拟大脑”,人工神经网络的大门由此开启。

1958年,计算机科学家罗森布拉特(Rosenblatt)提出了感知机(Perceptron)这个由两层神经元组成的神经网络,并将MCP用于机器分类。1969年,美国人工智能学者马文·明斯基(Marvin Minsky)在证明了感知机本质上是一种线性模型(Linear Model)后认为,它只能处理线性分类问题,这就等于直接否定了感知机的作用,神经网络的研究也因此陷入了将近20年的停滞。

1986年,人工智能领域三大奠基人之一的杰弗里·辛顿(Geoffrey Hinton)提出了反向传播(Back Propagation,BP)算法,这种算法使用Sigmoid函数进行了非线性映射以解决多层感知机中的非线性分类和学习的问题,这引发了神经网络的第二次热潮。1991年,有研究者指出了反向传播算法存在着梯度消失的问题,使得无法对前面的层进行学习,这导致了深度学习的发展第二次陷入停滞。

2006年,杰弗里·辛顿又提出了“无监督预训练对权值进行初始化+有监督训练进行微调”以解决深层网络训练中梯度消失的问题,由此开始了深度学习的浪潮,这一年也被称为深度学习元年。2011年,ReLU激活函数被提出用以解决梯度消失的问题。同年,微软研究院和谷歌公司的语音识别研究人员先后采用深度神经网络(Deep Neural Network,DNN)技术降低了语音识别中的错误率,达到了20%~30%,是语音识别领域十多年来最大的突破性进展。

2016年3月,由谷歌公司旗下Deepmind公司开发的AlphaGo在公开的围棋大赛上以4∶1的总比分击败了围棋世界冠军——职业九段棋手李世石后一举成名。在2017年5月举行的中国乌镇围棋峰会上,它再次以3∶0的总比分击败了当时排名世界第一的围棋冠军柯洁,深度学习展示出来的学习能力和潜在的能量为业界所重视。

目前,人工智能领域已经成为最火热的领域之一,它是一个具有众多应用和研究课题的领域,并仍然在蓬勃发展。

1.1.2 “无所不能”的深度学习

纵观深度学习的整个历史进程,我们发现深度学习在工业生产、社会生活、科学研究中都发挥了巨大的作用。在产业界,深度学习得到了很多实际的应用,在智能助手方向上有诸如苹果公司的Siri,亚马逊公司的Alexa,小米公司的小爱同学,百度公司的小度等;在智能工业方面,如百度公司发布的阿波罗平台计划,特斯拉、Waymo等公司开发的无人驾驶汽车;在智慧城市和智慧交通等多个领域,深度学习都已经让行业发生了翻天覆地的变化。

自然语言处理作为深度学习的重要组成部分之一,已经成为机器语言和人类语言之间沟通的桥梁,实现了人机之间交流的作用。自然语言处理可以分为两个核心任务:自然语言理解与自然语言生成。自然语言理解就是可以使机器能够具备人类的语言理解能力,自然语言生成是将非语言格式的数据转换成人类可以理解的语言格式。在这些范畴内,自然语言处理算法已经有了很多应用。自然语言处理的应用场景有如下的例子:

机器翻译(Machine Translation):2016年11月,谷歌公司基于Seq2Seq模型发布了谷歌神经机器翻译系统,实现了语言之间的直译技术,并在多项翻译任务上实现了提升。此外,国内的百度、有道、金山等公司在翻译国内的语料库方面也进行了大量的尝试,同时推出了针对文本的翻译产品。这些巨头公司常用的机器翻译模型有Seq2Seq、BERT、GPT、GP T-2等。

聊天机器人(Chatbot):其实,交流不仅仅是存在于生物之间,自然语言处理让人与机器也可以进行顺畅的聊天。微软小冰、小米公司的小爱同学等机器助理的发展让人们都感受到了它们的价值,尤其是当自然语言处理遇到物联网,智能音箱作为目前的主要流量入口之一,已经让用户和生产商越来越注重自然语言处理的发展。同时,聊天机器人可以通过机器实现与人类对话,对简单的问题进行自动回复,提升了用户满意度和效率。在一些电商网站、游戏平台,智能客服已经帮助雇主显著地提升了服务质量。

情感分析(Sentiment Analysis):这是指利用自然语言处理和文本挖掘技术,对带有情感的主观性文本进行分析、处理和提取的过程。在现在的社会生活中,互联网上每天都会产生大量的文本信息,这些信息表达的内容是多种多样的。通过情感分析,可以快速掌握目前用户的舆情信息。

自动语音识别(Automatic Speech Recognition,ASR):Siri在苹果公司产品的应用就是典型的语音识别的应用。还有微信、钉钉等应用中的语音转文字以及输入法中的语音输入转换成文字输出都使用了语音识别。

与此同时,深度学习也促使机器人学、物流管理、生物学、物理学和天文学等其他科学取得了长足的进步,深度学习已经逐渐变成一个让企业和学界都重视的工具,人工智能与工业互联网等领域势必成为未来科技发展的重要方向。

以上种种都说明,在未来,以自然语言处理为代表之一的深度学习应用会影响到生活的方方面面。这是否意味着人类终有一天会被机器所取代呢?笔者认为,任何技术的进步都是挑战与机遇并存,在被机器取代的同时,更多新的工作机会也将在未来被发现,因此,认真学好技术才是安身立命之本。我们不能改变技术的进步,但是可以从现在开始好好学习每一章节的内容。