遇到数学就头疼,还能不能学人工智能?

举报
竹叶青 发表于 2019/09/02 23:47:32 2019/09/02
【摘要】 遇到数学就头疼,还好有这样一本书,只需要你有数学基础知识便可以学习人工智能啦。这便是即将要在6月初上架的《深入浅出人工神经网络》。看看学习人工智能你需要具备哪些数学知识?学习神经网络/深度学习,数学基础知识是绕不过去的坎。**如果想对神经网络/深度学习有一个最基本的了解,起码应掌握一些线性代数特别是矩阵相关的基础知识;如果想全面提升对神经网络/深度学习的理解,则还应该掌握微积分中有关导数、偏...

top3.f349c0d.png遇到数学就头疼,还好有这样一本书,只需要你有数学基础知识便可以学习人工智能啦。这便是即将要在6月初上架的《深入浅出人工神经网络》。


5844af58a0b44db4af8aef9a36fdff8e.jpg

看看学习人工智能你需要具备哪些数学知识?

学习神经网络/深度学习,数学基础知识是绕不过去的坎。如果想对神经网络/深度学习有一个最基本的了解,起码应掌握一些线性代数特别是矩阵相关的基础知识;如果想全面提升对神经网络/深度学习的理解,则还应该掌握微积分中有关导数、偏导数、极值、梯度等方面的知识,其中最为关键的知识点是梯度;如果还想继续提升对于神经网络/深度学习的认识和看法,概率统计相关的知识则必不可少。总之,学习和研究神经网络/深度学习,数学是基础,更是强有力的工具。

鉴于大多数人碰到数学就头痛,同时也考虑到本书的读者可能是初次涉足神经网络/深度学习这一领域,所以本书刻意规避了概率统计方面知识的专门介绍,并且对于线性代数和微积分方面的基础知识也是删繁就简,使之恰好能够适配对神经网络/深度学习模型的分析和讲解。

不敢随便自说本书有什么亮点,因为这需要读者去感受。如果现在非要说一个的话,那就是本书包含了大量的图示,总计有200多幅图。我深信,文不如表,表不如图。

从这本书里你可以学到什么

本书作为描述和讲解人工神经网络技术原理的入门图书,旨在让读者在最短的时间内对这些原理知识有一个清晰明了的认识和理解。机器学习是人工智能领域的一个子领域,人工神经网络或深度学习又是机器学习领域的一个子领域。深度学习是深度神经网络采用的学习方法,深度神经网络是深度学习方法的基础架构。目前,人工神经网络和深度学习这两个术语几乎成了同义词,常常混用,并且在只提其一时,实则二者皆指。

从内容组织上讲,本书总共分为3个部分:第1部分为第1章,主要介绍人工神经网络的源头—生物神经网络的一些基础知识;第2部分由第2、3、4章组成,主要讲解学习人工神经网络必备的一些数学基础知识;第3部分由第5、6、7、8、9章组成,对几种常见而典型的人工神经网络模型进行了全面介绍。

第1章:背景知识

学习和研究人工神经网络之前,理应了解一些生物神经网络的基础知识。人工神经网络借鉴了生物神经网络的一些原理知识,同时结合了许多数学的方法,这些原理和方法目前仍采用编程方式在传统计算机上进行模拟实现。人工神经网络带有仿生学的影子,但它毕竟不是在复制生物神经网络—如同我们受到鸟儿的启发而发明了飞机一样,我们的飞机上并没有长满羽毛,飞机的翅膀也不会上下扇动。

本章首先对于智能的定义进行了简要的讨论和说明,然后着重介绍了生物神经元和大脑的基础知识,这些知识对于理解第5章中的MCP模型(McCulloch-Pitts Model),也即所谓的人工神经元模型至关重要。简而言之,大脑是由数以千亿的神经元通过数以千万亿的突触相互联系和作用的一个极其复杂的网络系统,而由若干个人工神经元(MCP)互联而成的网络便是所谓的人工神经网络。本章最后还对人工智能、机器学习、神经网络、深度学习这几个常见术语的含义进行了澄清。

第2章:函数

人工神经网络模型中经常会用到各种函数。就目前来看,所有这些函数都属于初等函数的范畴。所谓初等函数,就是指由5种基本初等函数(幂函数、指数函数、对数函数、三角函数、反三角函数)和常数经过有限次的四则运算以及有限次的函数复合而得到的函数。

学习和研究人工神经网络,必须要熟悉函数的一些基本属性,如,函数在某一点是否存在极限,函数在某一点是否连续,函数在某一点是否可导。本章除了介绍函数的这些基本属性外,还会进一步地讲解诸多其他的重要概念,如,函数的极值与最值,函数的凹凸性,函数的驻点、拐点、鞍点,多元函数的偏导数等。

熟悉函数的上述基本属性和相关的重要概念,可以为正确地理解“梯度”以及“梯度下降法”打下坚实的基础。毫无疑问的是,在学习关于人工神经网络知识的过程中,最大的困难就是理解各种各样的训练学习算法,而绝大部分的训练学习算法都会涉及梯度及梯度下降的概念和方法。

第3章:梯度

在绝大多数人工神经网络的训练学习算法中,梯度以及梯度下降法几乎总是其最为核心的内容。

函数在某一点的梯度是一个矢量,所以本章在讲解有关梯度的知识之前,特地介绍了一些相关的基础知识,如,什么是自由矢量,矢量的模,矢量之间的夹角,矢量的基本运算,矢量的坐标表示法,矢量的方向角与方向余弦,等等。

本章的一个最为重要的知识点是,方向导数是一个标量,而梯度是一个矢量;函数在某一点的方向导数取得最大值的方向就是函数在该点的梯度矢量的方向,函数在某一点的方向导数的最大值就是函数在该点的梯度矢量的模。

第4章:矩阵

有人把矩阵基础知识比喻为学习人工神经网络的敲门砖,此话一点不假。在人工神经网络模型中,输入数据、输出数据、模型自身的参数等几乎都是以矩阵的形式来表示的,同时模型所涉及的各种运算也几乎都是一些矩阵运算。就拿人工神经网络编程来说,如果不事先熟悉矩阵相关的一些基础知识,那么就很难看懂相应的程序代码,更别提自己编写代码了。

本章会介绍矩阵的概念,常见的特殊矩阵,矩阵的基本运算,比如矩阵加法、数与矩阵的乘法、矩阵乘法、矩阵转置、矩阵的初等变换等。需要注意的是,矩阵乘法拥有一些特别的性质,这些性质异于我们的思维习惯。例如,矩阵乘法既不符合交换换律,也不满足消去律,所以在学习过程中应特别小心。

神经网络计算常常会涉及逆矩阵的概念和求解。求解逆矩阵的方法有很多,本章会介绍其中的一种方法,也即利用矩阵的初等变换来求解逆矩阵。无论求解逆矩阵的方法是怎样的,其计算过程都是非常繁琐的,并且矩阵的阶次越高,计算量会越大,同时也越容易出错。好在各种求解方法的原理并不会因矩阵的阶次不同而不同,而且包括矩阵求逆在内的各种矩阵运算其实都已经有现成的程序软件来实现了,所以我们在学习矩阵的各种运算的过程中,重要的是从概念上理解各种运算的含义,具体的计算工作都可以交给程序软件来完成。

需要重点提及的是,本章的最后一节是第9章中BPTT算法的基础,只有切实掌握这节内容,才能真正理解BPTT算法的推导过程。

第5章:MCP模型及感知器(Perceptron)

本章首先描述了MCP模型(McCulloch-Pitts Model),也即所谓的人工神经元模型,它是人工神经网络的基本组成单元。MCP模型加上相应的训练算法之后便是所谓的感知器,它是最为简单的人工神经网络模型。

人们总是将某些实际应用联系在一起来学习和研究人工神经网络,其中一种常见的应用便是模式识别。模式识别有时也称为模式分类。学习人工神经网络及其应用,几乎总是从学习如何利用感知器来解决线性可分的模式识别/分类问题开始,这也是本章的主要学习内容。

模式矢量是模式的数学表现形式,其几何形态就是模式空间中的模式点。不同类别的模式点在模式空间中的分布情形是多种多样的,从理论上讲,我们总是可以利用若干超曲面来对不同类别的模式点进行分隔,从而实现模式分类的目的。如果模式空间中不同类别的模式点是可以利用超平面来进行分隔的,那么相应的模式分类问题就成了简单的线性可分问题。

单个的感知器或由多个感知器并联而成的单层感知器只适合解决线性可分的模式分类问题,这就极大地限制了它的应用范围。为了更好地理解线性可分性,本章还会介绍一些凸集相关的基本知识。

本章最后介绍了著名的XOR难题,貌似简单的XOR问题竟然成了单层感知器无法逾越的障碍,这因此也催生出了功能强大的多层感知器。

第6章:多层感知器(MLP)

本章主要讲解MLP的结构和工作原理。MLP是一种堪称经典的人工神经网络模型。很多人认为,懂了MLP,整个人工神经网络的知识就几乎算懂了一半。之所以这样讲,是因为MLP的很多原理和方法广泛地应用于许多其他的人工神经网络模型。

MLP是单层感知器的纵向扩展形式,它包含了一个输入层、若干个隐含层、一个输出层。从数学角度看,MLP表达了从输入矢量到输出矢量的某种函数映射关系。从理论上讲,一个含有隐含层的MLP便可以成为一个万能的函数生成器,而XOR难题在MLP面前只是小菜一碟。

监督训练方法是人工神经网络经常采用的一种训练方法,MLP的训练采用的也是监督训练方法。MLP所采用的具体训练算法叫做BP(Back Propagation)算法,它也是一种基于梯度下降原理的算法,所以第3章中的梯度知识将在这里派上大用场。

本章还会对MLP存在的一些问题和解决方法(这些问题和解决方法具有很大的普遍性,而不是仅仅针对MLP网络)进行深入的讨论,主要涉及训练过程中的极小值问题、学习率的选取、批量训练方式、欠拟合与过拟合现象、网络容量问题、网络拓扑选择、收敛曲线特点、训练样本集要求等内容。

第7章:径向基函数神经网络(RBFNN)

本章主要讲解RBFNN的结构和工作原理。从数学角度看,人工神经网络在本质上就是一个函数生成器,所生成的函数映射关系一方面应该尽可能地吻合各个训练样本点,另一方面更应该吻合应用问题本身所隐含的输入-输出函数映射关系。

为了实现上面提到的“吻合”要求,我们可以利用一种称为插值的数学方法。插值方法有很多具体的种类,如线性插值法、多项式插值法、三角插值法等。如果一个人工神经网络所采用的插值函数是若干个径向基函数的线性组合,则这样的人工神经网络就称为径向基函数神经网络。在实际应用中,RBFNN所使用的径向基函数一般为高斯函数。本章将从插值的基本概念入手,一步一步地引出RBFNN的基本结构和工作原理。

RBFNN体现了Cover定理的基本思想:对于一个复杂的、在低维空间表现为非线性可分的模式分类问题,当我们从该低维空间经由某种非线性变换而得到的高维空间来看待时,原来的问题很可能就转化成了一个简单的线性可分的模式分类问题。

本章还会结合RBFNN较为深入地讨论一些关于模式分类的问题,如椭圆可分、双曲线可分、抛物线可分,以及模式空间的柔性分割等问题。本章最后对RBFNN的训练策略进行了介绍。

第8章:卷积神经网络(CNN)

本章主要讲解CNN的结构和工作原理。CNN是近些年来享负盛名的一种人工神经网络模型,它在图像识别方面的表现尤其令人惊叹。

CNN也许是生物学启发人工智能的最为成功的例子,CNN中的某些基本概念和原理在很大程度上都借鉴了著名的Hubel-Wiesel生物学实验的研究成果。

卷积是函数之间的一种运算关系,与卷积运算非常类似的另一种运算是相关运算。需要特别指出的是,在常见的卷积神经网络模型以及软件开发平台的库函数中,所谓的卷积运算其实并非卷积运算,而是相关运算!

卷积、卷积核、卷积窗口、特征映射图、池化运算、池化窗口、卷积级、探测级、池化级等,这些都是CNN涉及的重要概念。本章会以面部表情识别为例,一步一步地引出卷积神经网络的一般结构和工作原理。

CNN体现了三种重要的思想:稀疏连接、权值共享、等变表示。这些思想都会在本章中逐一讲解。

本章最后会讲解一个在现实中得到成功运用的CNN实例:LeNet-5。LeNet-5在手写体字符识别方面表现非常出色,它常被应用在银行系统中,用来识别银行客户在支票上书写的内容。

第9章:循环神经网络(RNN)

本章主要讲解RNN的结构和工作原理。与CNN一样,RNN近年来也非常抢眼,它在自然语言处理(Natural Language Processing, NLP)方面得到了成功且广泛的应用。不同语言之间的自动翻译、人机对话(如著名的图灵测试)等一直就是人工智能研究的热点问题,这些问题统属于NLP的范畴。

N-Gram是NLP中常常会使用的一种语言模型,从理论上讲,_N_值越大,处理效果就越好。然而,受计算复杂度及存储需求方面的限制,传统人工智能方法只能应付_N_值较小的情况,因此效果大打折扣,而新的方法多是采用循环神经网络。

如果说多层感知器或卷积神经网络像是组合逻辑电路的话,那么循环神经网络就像是时序逻辑电路。循环神经网络有别于其他神经网络的最大特点就是,当前时刻的网络输出不仅与当前时刻的网络输入有关,还与所有过去时刻的网络输入有关。也就是说,循环神经网络是一种有“记忆”的网络,而这种“记忆”在自然语言处理问题中有着举足轻重的作用。

循环神经网络采用的训练算法是BPTT(Back-Propagation Through Time),它是一种梯度下降法,同时也是一种监督训练算法,每一个训练样本仍是一个<输入,期待输出>二元组,但其最大的特点是,二元组里的输入是一个矢量序列,二元组里的期待输出也是一个矢量序列。

本章会给出循环神经网络的示例,并且会一步一步地讲解如何利用循环神经网络来解决下面所示的这个语言填空问题。

{-:-}我 上班 迟到了,老板 批评了 ( )。

在此过程中,我们会系统地学习到许多重要的概念和方法,如,词库、语料库、矢量化、独热矢量、概率分布矢量、softmax函数、交叉熵误差函数等。

LSTM(Long Short-Term Memory)模型是RNN的一种变体形式,它的出现是为了应对所谓的梯度消失问题。本章最后一节会专门讲解LSTM。

读者群

本书的目标读者为高校理工类学生,或有意及正在从事人工智能技术工作的社会人员。本书特别适合用作高等院校及培训机构的教学或参考用书,也可供对人工神经网络感兴趣的读者自学使用。

《深入浅出人工神经网络》已经送印,异步社区预售中,想做第一批读者的点这里

{-:-}深入浅出人工神经网络

{-:-}作者:江永红


5844af58a0b44db4af8aef9a36fdff8e.jpg

本书是一本讲解人工神经网络原理知识的简明教程,力求使读者在最短的时间内对这些原理知识有一个清晰明了的认识和理解。本书总共分为三个部分,第1部分介绍人工神经网络的启发源头——生物神经网络——的一些基础知识;第2部分讲解学习人工神经网络所必备的一些数学基础知识;第3部分讲解几种常见而典型的人工神经网络模型。

本文转载自异步社区

原文链接:

https://www.epubit.com/articleDetails?id=N7ac44972-1215-42aa-984c-0fb55220dcdb


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。