人工智能:神经网络与深度学习1主要内容一、概述二、神经网络基础三、卷积神经网络四、循环神经网络五、总结展望2一、概述人工智能自AlphaGo2016年击败世界围棋大师李世石,2017年横扫我国九段棋手柯洁以来,“人工智能”成为一个最火热的词汇。3一、概述人工智能1956年夏季,在美国的达特茅斯学院中,McCarthy、Shannon等科学家聚在一起,共同研究和探讨用机器模拟智能的一系列有关问题,并首次提出了“人工智能”这一术语。4一、概述人工智能“符号主义”,又称逻辑主义、计算机学派,主张用公理和逻辑体系搭建一套人工智能系统。“连接主义”,又叫仿生学派,主张模仿人类的神经元,用神经网络的连接机制实现人工智能。5一、概述人工智能人工智能是高级计算智能的宽泛概念,机器学习是研究人工智能的一个有效手段,深度学习是机器学习的一个分支。深度学习突破了传统机器学习算法的瓶颈,推动了人工智能领域的快速发展。6一、概述人工智能7一、概述机器学习机器学习就是通过算法,使得机器能从大量历史数据中学习规律,从而对新的样本做智能识别或对未来做预测。8一、概述机器学习机器学习主要分三种形式:监督学习、非监督学习、半监督学习。监督学习的训练样本都含有“标签”,非监督学习的训练样本中都不含“标签”,半监督学习介于监督学习和非监督学习之间。9一、概述深度学习深度学习是机器学习领域一个新的研究方向,近年来在图像识别与检索、语言信息处理、语音识别等多领域中都取得较为成功的发展。10一、概述深度学习深度学习是实现机器学习的一种有效技术,现在所说的深度学习大部分都是指神经网络。深度学习的概念源于人工神经网络的研究。11一、概述深度学习深度学习的概念最早由Hinton等于2006年提出。Lecun等人提出的CNN是第一个真正多层结构学习算法。源于Hopfield网络的RNN,成功应用于语言模型等处理和预测序列数据。12一、概述实现工具神经网络和深度学习的程序实现语言和框架有很多:语言有Python、C++、Java、Go、R、Matlab、BrainScript、Julia、Scala和Lua等,框架有TensorFlow、Caffe、CNTK、MXNet、Pytorch、Theano和Neon等。13一、概述实现工具Python语言由于其简洁性、易读性以及可扩展性,已经成为目前最受欢迎的深度学习程序设计语言。14一、概述实现工具Python是一种极具可读性和通用性的面向对象的编程语言。20世纪90年代初由GuidovanRossum发明,名字的灵感来自于英国喜剧团体MontyPython。15一、概述实现工具TensorFlow由于其灵活性、高效性和可移植性,成为目前最流行的一种深度学习框架。16一、概述实现工具TensorFlow是Google的开源机器学习库,基于DistDelief进行研发的第二代人工智能系统。最初由Google大脑小组的研究员和工程师们研发,用于机器学习和深度神经网络方面的研究。17主要内容一、概述二、神经网络基础三、卷积神经网络四、循环神经网络五、总结展望18二、神经网络基础神经网络神经网络是指用大量的简单计算单元构成的非线性系统,它在一定程度上模仿了人脑神经系统的信息处理、存储和检索功能,是对人脑神经网络的某种简化、抽象和模拟。19二、神经网络基础神经网络1943年心理学家McCulloch和数学家Pitts合作提出了神经元的数学模型M-P神经元模型,证明了单个神经元能执行逻辑功能,从此开创了神经科学理论研究的时代。20二、神经网络基础神经网络M-P模型,是按照生物神经元的结构和工作原理构造出来的一个抽象和简化了的神经元模型。21二、神经网络基础权重当输入进入神经元时,它会乘以一个权重。例如,如果一个神经元有两个输入,则每个输入都将具有分配给它的一个关联权重。随机初始化权重,并在模型训练过程中更新这些权重。22二、神经网络基础偏置除了权重之外,另一个被应用于输入的线性分量被称为偏置。它被加到权重与输入相乘的结果中。添加偏置的目的是改变权重与输入相乘所得结果的范围。23二、神经网络基础激活函数激活函数的主要作用是加入非线性因素,以解决线性模型表达能力不足的缺陷,在整个神经网络中至关重要。常用的激活函数有Sigmoid、Tanh、ReLU。24二、神经网络基础输入/输出/隐藏层输入层是接收输入那一层,本质上是网络的第一层。而输出层是生成输出的那一层,也可以说是网络的最终层。处理层是网络中的隐藏层。25二、神经网络基础损失函数当建立一个网络时,网络试图将输出预测的尽可能靠近实际值。使用损失函数来衡量网络的准确性。提高预测精度并减少误差,从而最大限度地降低损失。262()yyLossn(,)()log()xHpqpxqx二、神经网络基础正向传播正向传播是指输入通过隐藏层到输出层的运动。在正向传播中,信息沿着一个单一方向前进。输入层将输入提供给隐藏层,然后生成输出。27二、神经网络基础反向传播使用损失函数梯度的权重更新被称为反向传播。将该损失函数的梯度从外层通过隐藏层流回,以更新网络的权重。28二、神经网络基础梯度下降法是一种最优化算法,基于这样一个事实:如果实值函数f(x)在点x处可微且有定义,那么函数f(x)在x点沿着负梯度下降最快,沿着梯度下降方向求解最小值。29二、神经网络基础泛化泛化指训练好的模型在未见过的数据上的表现能力。良好泛化能力的网络在输入数据与训练数据稍有不同时也能得到比较好的结果。30二、神经网络基础欠拟合欠拟合是指模型拟合程度不高,数据距离拟合曲线较远,或指模型没有很好地捕捉到数据特征,不能够很好地拟合数据。31二、神经网络基础过拟合过拟合是指模型过度的学习训练数据中的细节和噪声,以至于模型在新的数据上表现很差。32主要内容一、概述二、神经网络基础三、卷积神经网络四、循环神经网络五、总结展望33模仿大师三、卷积神经网络34模仿大师三、卷积神经网络35图像识别三、卷积神经网络36人脸识别三、卷积神经网络37三、卷积神经网络概述1962年,Hubel和Wiesel在研究猫脑皮层中用于局部敏感和方向选择的神经元时,发现其独特的局部互连网络结构可以有效地降低反馈神经网络的复杂性,继而提出了卷积神经网络。38三、卷积神经网络概述1998年,LeCun和其合作者建立了一个多层人工神经网络——LeNet-5,用于手写数字分类,这是第一个正式的卷积神经网络模型。39三、卷积神经网络概述MNIST是一个计算机视觉数据集,来自美国国家标准与技术研究所,它包含70000张手写数字的灰度图片,其中每一张图片包含28*28个像素点。40三、卷积神经网络概述2012年,Alex等人提出的一个经典的CNN架构,在性能方面表现出了显著的改善。他们方法的整体架构,即AlexNet,与LeNet-5相似,但具有更深的结构。41三、卷积神经网络概述2014年谷歌团队的GooleNet把网络层做到了22层,主要创新在于它的Inception,这是一种网中网的结构,即原来的节点也是一个网络,问鼎了当时的ImageNet冠军。42三、卷积神经网络概述ImageNet项目是一个用于视觉对象识别软件研究的大型可视化数据库。超过1400万的图像被ImageNet手动注释,以指示图片中的对象,包含2万多个类别。43三、卷积神经网络概述2015年微软研究院团队设计的基于深度学习的图像识别算法ResNet,把网络层做到了152层,其主要创新在于残差网络,解决了网络层比较深时无法训练的问题。44三、卷积神经网络网络结构CNN的基本体系结构通常由三种层构成,分别是卷积层、池化层和全连接层。为了防止过拟合问题,有的网络架构还增加了Dropout层。45三、卷积神经网络卷积层局部感知:在处理图像这样的高维度输入时,每个神经元只与输入数据的一个局部区域连接。该连接的空间大小叫做神经元的感知野。46三、卷积神经网络卷积层假设有一个1000x1000像素的图像,和1000个隐层神经元,如果全连接的话,就有1000x1000x1000=109个连接,也就是109个权值参数。假如每个隐层神经元只和它前一层邻近的10×10个像素值相连,那么权值数据为1000×100=105个参数,减少为原来的万分之一。47三、卷积神经网络卷积层权值共享:每个神经元都对应100个参数,一共1000个神经元,如果这1000个神经元的100个参数都是相等的,那么参数数目就变为100了。通过局部感知和权值共享,参数减少到了全连接参数的千万分之一。48三、卷积神经网络卷积层卷积过程:卷积过程有三个二维矩阵参与,它们分别是:原图inputX、输出图outputY卷积核kernelW。49三、卷积神经网络池化层为了减少卷积后的特征向量,可以对图像不同位置的特征进行聚合统计,例如,可以计算图像一个区域上的某个特定特征的平均值(或最大值)。这种聚合的操作就叫做池化,包括平均池化和最大池化。50三、卷积神经网络池化层把卷积特征划分到不相交区域上,然后用这些区域的平均(或最大)特征来获取池化后的卷积特征。51三、卷积神经网络全连接层几个卷积和池化层之后,通常有一个或多个全连接层,执行对原始图像的高级抽象。它们将前一层所有的神经元与当前层的每个神经元相连接,即与标准神经网络各层之间的连接相同。52三、卷积神经网络Dropout层Hinton在2012提出了Dropout机制,能够在训练过程中将通过随机禁止一半的神经元被修改,避免了过拟合的现象。53三、卷积神经网络训练过程第一阶段,前向传播阶段:a)从样本集中取一个样本,将样本输入网络;b)计算相应的实际输出。第二阶段,后向传播阶段a)计算实际输出与相应的理想输出的误差;b)计算每个权重的梯度,再利用梯度下降算法更新权重。54主要内容一、概述二、神经网络基础三、卷积神经网络四、循环神经网络五、总结展望55四、循环神经网络写诗机器人树阴飞尽水三依,谩自为能厚景奇。莫怪仙舟欲西望,楚人今此惜春风。雨引鸟声过路上,日移花影到窗边。赖有公园夏风地,欣喜玩沙遍河山。56模仿论文四、循环神经网络57图片描述四、循环神经网络58四、循环神经网络循环神经网络循环神经网络源自1982年由JohnHopfield提出的霍普菲尔德网络。霍普菲尔德网络因为实现困难,在其提出的时候并且没有被合适地应用。59四、循环神经网络循环神经网络循环神经网络挖掘数据中的时序信息以及语义信息的深度表达能力被充分利用,并在语音识别、语言模型、机器翻译以及时序分析等方面实现了突破。60四、循环神经网络循环神经网络循环神经网络是一种节点定向连接成环的人工神经网络。这种网络的内部状态可以展示动态时序行为。循环神经网络的主要用途是处理和预测序列数据。61四、循环神经网络循环神经网络循环神经网络会记忆之前的信息,并利用之前的信息影响后面节点的输出。也就是说,循环神经网络的隐藏层之间的节点是有连接的,隐藏层的输入不仅包括输入层的输出,还包括上一时刻隐藏层的输出。62四、循环神经网络循环神经网络训练算法(1)前向计算每个神经元的输出值。(2)反向计算每个神经元的误差项值。(3)计算每个权重的梯度。(4)最后再用梯度下降误差后向传播算法更新权重。63四、循环神经网络LSTM网络当前预测位置和相关信息之间的间隔不断增大时,简单循环神经网络有可能会丧失学习到距离如此远的信息的能力。在这种情况下,1997年Hochreiter和Schmidhuber提出了长短时记忆网络。64四、循环神经网络LSTM结构原始RNN的隐藏层只有一个状态h,它对于短期的输入非常敏感。LSTM增加一个状态c,让它来保存长期的状态。65四、循环神经网络LSTM结构新增加的状态c,称为单元状态。把上图按照时间维度展开如下图所示。66四、循环神经网络LSTM结构LSTM是一种循