[深度学习笔记(1)]深度学习入门


本系列是博主刚开始接触深度学习时写的一些笔记,写的很早了一直没有上传,趁着假期上传一下,作为分享,希望能帮助到你。


前言

        近年来,随着人工智能的发展,深度学习已经成为了热门的学科。在详细阐述深度学习之前,必须先理清人工智能、机器学习和深度学习之间的区别。

        从这张图可以看出,机器学习是人工智能的一个子集,深度学习是极其学习的一个子集,这就表明我们可以创建一个智能机器,它可以在已给出的数据集中学习,同时可以利用简单的机器学习算法来训练深度神经网络。 


一、什么是深度学习

1.1、深度学习的历史趋势

        深度学习(DL,Deep Learning)是机器学习(ML,Machine Learning)领域中的一个新的研究方向。一般来说,目前为止深度学习已经经历了三次发展阶段:

(1)深度学习的起源阶段

        1943年心理学家卡洛克和数学逻辑学家皮兹推出了MP模型,一种模仿神经元的结构和工作原理的神经元模型,是人工神经网络的起源;1949年加拿大著名心理学家唐纳德·赫布提出了一种基于无监督学习的规则——海布学习规则(Hebb Relu),此规则与“条件反射”机理一致,为后来的神经网路学习算法奠定了基础;20世纪50年代末,美国科学家罗森布拉特发现了一种类似人类学习过程的学习算法——感知机学习,并于1958年正式提出了由两层神经元组成的神经网络,称其为“感知机”,可对输入数据集进行二分类;在1969年“AI之父”马文·明斯基和LOGO语言创始人西蒙·派珀特证明了单层感知器无法解决线性不可分问题,因此人工神经网络进入第一个寒冬期,对其的研究停滞了将近20年。

(2)深度学习的发展阶段

        1982年著名物理学家约翰·霍普菲尔德发明了Hopfield神经网络;1986年深度学习之父杰佛里·辛顿提出了一种适用于多层感知机的反向传播算法——BP算法,这一算法完美的解决了非线性分类问题,但由于当时计算机的硬件水平有限,导致人工神经网络的发展再次进入了瓶颈期。

(3)深度学习的爆发阶段

        2006年,杰佛里·辛顿以及他的学生鲁斯兰·萨拉赫丁诺夫正式提出了深度学习的概念;2012年,在著名的ImageNet图像识别大赛中杰弗里·辛顿领导的小组采用深度学习模型AlexNet一举夺冠;同年,斯坦福大学著名的吴恩达教授和世界顶尖计算机专家Jeff Dean共同主导的深度神经网络——DNN技术在图像识别领域取得了惊人的成绩,在ImageNet评测中成功的把错误率从26%降低到了15%;2014年,Facebook基于深度学习技术的DeepFace项目在人脸识别方面的准确率达到97%以上;2016年,谷歌公司基于深度学习开发的AlphaGo以4:1的比分战胜国际顶尖围棋手李世石;2017年,基于强化学习算法的AlphaGo升级版AlphaGo Zero横空出世。此外,深度学习的相关算法还在医疗、金融、艺术、无人驾驶等多个领域均取得了显著的效果。在深度学习的浪潮下,人工智能正在悄无声息的改变着我们的生活!

1.2、深度学习的定义

        深度学习和所有的机器学习一样,是一种用数学模型对真实世界中的待定问题进行建模,以解决该领域内相似问题的过程。什么是机器学习?用专业术语进行描述:

(1)计算机用来学习的、反复看的图片叫做“训练数据集”;

(2)“训练数据集”中,一类数据区别另一类数据的不同方面的属性或性质,叫做“特征”;

(3)计算机在“大脑”中总结规律的过程,叫“建模”;

(4)计算机在“大脑”中总结出的规律,就是我们常说的“模型”;

(5)计算机通过反复看图,总结规律,然后学会认知的过程,就叫“机器学习”。

        深度学习就是一种在表达能力上灵活多变,同时又允许计算机不断尝试,直到最终逼近目标的机器学习方法。简单来讲,深度学习就是把计算机要学习的东西看成一大堆数据,把这些数据丢进一个复杂的、包含多个层级的数据处理网络(深度神经网络),然后检查经过这个网络处理得到的结果数据是不是符合要求,如果符合,就保留这个网络作为目标模型,如果不符合,就一次次地调整网络地参数设置,直到输出结果满足要求为止。

二、深度学习的应用

        随着深度学习的发展,最新的深度学习算法已经远远超越了传统的机器学习算法对于数据的预测和分类精度。深度学习不需要我们自己去提取特征,而是自动地对数据进行筛选,自动地提取数据高维度特征。如今在科技创新的环境里,几乎每个人都在谈论深度学习、人工智能,下面简单介绍深度学习的一些应用。

2.1、图像处理

        近年来,深度学习凭借其在识别应用中超高的预测准确率,在图像处理领域取得了巨大突破。目前为止,图像处理已成为深度学习中重要的研究领域,几乎所有的深度学习框架都支持图像处理工具。深度学习在图像处理领域的应用目前可以分为三个方面:图像处理、图像识别、图像生成。

(1) 图像处理

        图像处理指对图片的常规操作,包括图像的缩放、裁剪、去噪、提升超分辨率、图像的增强等操作,其目的是提高图片的质量,得到目标图片。图像的数据增强是指根据当前已知的图像数据生成更多的训练图像,即利用多种能够生成可信图像的随机变换来增加原始图像数量。图像去噪在现实中传播图像时,由于外界一系列干扰很容易引起图像质量下降的背景下滤除图像包含的干扰信息而保留有用信息的操作。

(2) 图像识别

        计算机视觉(Computering Version,CV)已成为深度学习领域的重要发展方向,计算机视觉的主要内容就是进行目标识别。常见的方法就是构建识别对象为图像的神经网络,达到识别图像的效果,经典的例子就是2013年Kaggle竞赛的猫狗识别,如今图像识别的前沿是人脸识别和遥感图像识别等智能领域。

(3) 图像生成

        图像生成是指从已知图像中学习特征后进行组合,生成新图像的过程。图像生成需要学习不同图像的特征并进行组合,生成的图像是所有被学习图像特征的结合。常见的图像生成有Deep Dream、神经风格迁移、变分式自编码器、生成式对抗网络。

        Deep Dream是由Google公司在2015年首次发布的,使用早期常见的Caffeine架构编写实现,由于其生成的图像布满了算法式的迷幻错觉伪影而引起轰动。Deep Dream生成的图像最大的特点就是鸟羽毛和狗眼睛数量较多,原因是其学习的原始图像库里鸟样本和狗样本特别多。如图是使用Deep Dream算法生成的图像。

(左图)原始猫的图像;(右图)Deep Dream猫的图像

 (左图)原始狗的图像;(右图)Deep Dream狗的图像

        神经风格迁移是指将参考图像的风格应用于目标图像,同时保留目标图像的内容,其中风格指在图像中不同空间尺度的纹理,颜色和视觉图案,内容指图像的高级宏观结构。变分式自编码器是一种利用深度学习中生成模型构建的自编码器,将深度学习思想和贝叶斯推断结合在一起,以完成输入目标向低维向量空间的编码映射和向高维向量空间的反解码。生成式对抗网络后面将详细介绍,故这里不再赘述。

2.2、自动驾驶

        过去的十年里,得益于深度学习和人工智能领域的迅速发展,自动驾驶汽车技术取得了越来越快的进步。自动驾驶的初衷是解放驾驶员并且减少道路事故和交通拥挤,有五个SAE级别用于定义自动驾驶。SAE委员会引入了5个级别的汽车自动化分级标准,较低的SAE级别具有基本的驾驶员辅助功能,而较高的SAE级别则向无需人工交互的车辆移动。自动驾驶是一种自主决策系统,它处理来自不同车载来源的观测流,比如照相机、雷达、激光雷达、传感器等等,这一系列观察结果被汽车的计算机用来做出驾驶决定。

2.3、智能机器人

        机器人发展的趋势是人工智能化,深度学习是智能机器人的前沿技术。从最初的简单的工业机器人到现在集机械、控制、计算机、传感器、深度学习于一体的自动化装备,机器人的技术在不断完善和发展。智能机器人是伴随着“人工智能”这个概念提出而发展起来的,其最根本的目的是让计算机模拟人的思维。将深度学习与机器人相结合,让每个机器人都在工作中学习,数量庞大的机器人并行工作,然后不断分享他们学到的信息,相互促进,这样可以带来极高的学习效率和提升几块的机器人工作的准确度。 

2.4、医疗健康诊断

        最近来自斯坦福大学和Google Research的研究者对医疗领域中的深度学习应用进行了综述,并将研究文章发表在《Nature Medicine》,这篇文章从应用于医疗行业的计算机视觉、自然语言处理、强化学习和通用方法入手,详细介绍了深度学习在医疗中的应用。

(1)关于计算机视觉。深度学习的一些伟大成就就出现在计算机视觉领域(CV),CV主要研究图像和视频理解,处理目标分类、检测和分割等任务,这些在判断病人射线照片中是否存在恶行肿瘤时非常有用。深度学习系统可以为医生提供辅助意见,标注出图像中有问题的区域。

        深度学习方法在大量的诊断任务上取得了医生级别的准确率,包括识别黑痣和黑色素瘤、判断心血管风险、从乳房X光中检测乳腺病变、使用核磁共振成像进行脊柱分类等等,深度学习在这些方面上取得了优秀的成绩,然而医学成像任务构建监督式深度学习系统的主要局限在一是否有足够大的标注数据集。

(2)关于自然语言处理。自然语言处理(NLP)主要通过分析文本和语音来推断词的语义。循环神经网络RNN能搞笑处理该领域的序列数据,如语言、语音和时序数据等,它在NLP中起到了非常重要的左右。NLP中的机器翻译、文本生成和图像描述取得了显著成果,在医疗领域,序列深度学习和语言技术为电子健康档案(EHR)等应用提供了很多支持。EHR目前正在迅速普及,大型医疗机构的EHR能记录超过一千万患者过去10年内的医疗活动,仅单独的一次祝愿就能产生大约15万条数据,因此从这些数据能获取的有效信息与优势是十分明显的。

        EHR构建的深度学习系统会汇集多个机构的数据来创建原始数据,这能确保构建一个可泛化的系统,然后将各种非结构化的EHR数据标准化并解析为患者的时序数据,从而使用深度学习进行训练,最后就能推断出高级医疗问题的答案,比如患者病史中的那些信息与当前疾病有关,患者目前的疾病列表是什么等等。

(3)关于强化学习。强化学习是指训练计算智能体成功与环境互动的技术,通常是为了实现特定目标。强化学习可通过试错、演示或混合方法来实现。可以从深度强化学习中受益的一大医疗领域是机器人辅助手术(RAS)。目前,机器人辅助手术的主要方式是医生以遥控方式指导机器人操纵器械。通过使用计算机视觉模型(比如CNN)来观察手术环境、使用强化学习方法学习外科医生的动作,深度学习有效提高了机器人辅助手术的稳健性和适应性。

三、深度神经网络的难题

3.1 梯度消失/梯度爆炸

        神经网络一般是通过基于梯度的BP算法来优化,对前馈神经网络而言,一般需要前向传播输入信号,然后反向传播误差使用梯度方法更新参数。在反向传播过程中对激活函数进行求导,如果导数大于1,那么随着网络的增加梯度更新将会朝着指数爆炸的方式增加,这就是梯度爆炸。同样如果导数小于1,那么随着网络层数的增加梯度更新信息会朝着指数衰减的方式减少,这就是梯度消失。因此,梯度消失、爆炸,其根本原因在于反向传播训练法则,属于先天不足。这个问题提基本上已经通过选取适当的激活函数、标准初始化等方法解决了。

3.2 过拟合

        神经网络出现过拟合问题是由于特征维度过多,模型假设过于复杂,参数过多训练数据过少,噪声过多,这些导致拟合的函数完美地适用于预测训练集,但是对于新数据的测试集预测效果却很差,其原因是过度的拟合了训练数据,而没有考虑到泛化能力。产生过拟合的根本原因有以下五点:

  1. 观察值与真实值存在偏差;
  2. 数据太少,导致无法描述问题的真实分布;
  3. 数据有噪声;
  4. 训练数据不足,有限的训练数据;
  5. 训练模型过度,导致模型非常复杂。

        解决过拟合问题有很多方法,比如验证数据,即在训练数据外再为算法提供一套验证数据集;交叉验证;dropout;数据增强,即将原始图像进行平移拉伸,从而使模型的训练数据集增大等等。

3.3 网络退化

        在神经网络增加网络层数的过程中,训练准确率(training  accuracy)会逐渐趋于饱和,如果继续增加层数,训练准确率就会出现下降的现象,而这种下降不是由过拟合造成的,而是出现了网络退化问题。而ResNet正是针对此问题所提出的解决方法。


总结

         以上就是今天要讲的内容,本文简单介绍深度学习的发展历史、基本概念、应用以及面临的难题,图片来自互联网,侵权删。如有错误,请及时指出,我们一起进步!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值