深度学习新手入门课

课程介绍

伴随人工智能时代的到来,越来越多的人开始关注深度学习,且希望能够入行深度学习,其中不乏一些行业小白、非计算机专业的人士。

本达人课,共计11篇文章,涵盖了入行深度学习所涉及到的大多数疑问,以及行业介绍、前景展望和实战 Demo,作者希望通过最朴实、通俗的语言,从一个入门者的角度,分享自己曾经遇到的那些坑和学习经验,帮助那些希望转行、找不到方向的朋友走进深度学习的世界。

本课程共包含三大部分:

第一部分(第1篇)带您初步认识深度学习,了解行业背景、优势、前景以及入行深度学习需要的一些准备工作,为那些准备入行的人答疑、解惑。

第二部分(第2-7篇)带您具体了解深度学习技术在不同行业的应用,并分享学习深度学习的经验,帮助大家找到研究方向。

第三部分(第8-11篇)熟悉深度学习的两种框架 Caffe 和 TensorFlow,通过简单的 Demo 引导大家开始深度学习实战。

作者介绍

王学宽,曾就职于海康威视研究院担任计算机视觉方向算法工程师,发表多篇学术论文、申请多项国家专利,参与多项图像、自然语言项目相关课题研发工作,在计算机视觉领域具有深厚的专业知识和工程开发经验。运营有公众号:白话机器学习(微信号:simpleml90hou),开设有知乎专栏:《深度学习干货铺》

课程内容
第01课:深度学习行业概述

目前,“深度学习”这一词已经变得越来越普及,生活中也是到处都充斥着这一词汇,同时也有越来越多的人开始想要从事这一行的相关工作,尝试着接触、了解这一行业。

当然,关于这一行业的相关介绍很多,也很杂乱,初学者往往很容易被各种各样的概念搞得很迷惑,即便是计算机从业者有时候也分不清很多涉及到深度学习的很多问题和概念。

因此,本文希望通过一些通俗的语言来系统的介绍下关于深度学习行业的一些相关知识,引导一些初学者,建立一个相对比较完整的全局观,明白自己到底在学什么,以及学习这些知识,能够对社会的发展和人们的生活带来哪些便利。更实际一点来讲,对于一个深度学习算法工程师,在以后就业会主要从事哪些工作?

这里我们先了解下深度学习的发展历程。

对于深度学习的框架,可以最早追溯到1980年福岛邦彦提出的新认知机,然而,受限于当时的计算能力,而且缺少有效的训练手段来解决其中涉及到的梯度消失的问题,因此,这一技术也就在20世纪90年代到21世纪初的时候遇到了寒冬期。而在此期间,SVM (支持向量机)处于统治地位,此外,还有随机森林、稀疏表示、判别分析等方法。

这个阶段的机器学习方法,主要是多种方法的集成,虽然在小规模样本上具有较好的性能,但是对于大规模样本却并没有表现出太好的优势。然而,大数据时代的到来,这些传统的机器学习方法难以满足数据处理、表达的新时代需求,不管是工业届还是学术届,都需要一种处理大规模数据的机器学习方法。

恰恰在这个时候,杰弗里·辛顿(Geoffrey Hinton)和鲁斯兰·萨拉赫丁诺夫(Ruslan Salakhutdinov)提出了一种在前馈神经网络中进行有效训练的算法,为深度学习方法带来了新的研究曙光,并在各个领域得到迅速的发展,尤其是在自然语言处理、计算机视觉和语音识别中,成为各种领先系统的一部分。

接下来,我们看下深度学习发展中的大事件。

  • 2007年,杰弗里·辛顿(Geoffrey Hinton)和鲁斯兰·萨拉赫丁诺夫(Ruslan Salakhutdinov)提出了一种在前馈神经网络中进行有效训练的算法;
  • 2009年,在 ICDAR 2009举办的连笔手写识别竞赛中,在没有任何先验知识的情况下,深度多维长短期记忆神经网络取得了其中三场比赛的胜利;
  • 2010年,在于尔根·施密德胡伯位于瑞士人工智能实验室 IDSIA 的研究组中,丹·奇雷尚(Dan Ciresan)和他的同事展示了利用 GPU 直接执行反向传播算法而忽视梯度消失问题的存在。这一方法在燕乐存等人给出的手写识别 MNIST 数据集上战胜了已有的其他方法;
  • 2011年,前馈神经网络深度学习中最新的方法是交替使用卷积层(Convolutional Layers)和最大值池化层(Max-pooling Layers)并加入单纯的分类层作为顶端。训练过程也无需引入无监督的预训练。从2011年起,这一方法的 GPU 实现多次赢得了各类模式识别竞赛的胜利,包括 IJCNN 2011交通标志识别竞赛和其他比赛;
  • 2011年,语音识别领域凭借深度学习取得重大突破;
  • 2012年,AlexNet,一个8层的神经网络,以超越第二名10个百分点的成绩在 ImageNet 竞赛中夺冠(图像分类的 Top5 错误率为16.4%),深度学习终迎来包括学术探索与工业应用中的热潮。不断提升的层数逐步提升计算机分类视觉的准确率;
  • 2013年,Zfnet,获得 ILSVRC 冠军;
  • 2014年,VGGNet、GoogleNet、DeepFace、RCNN,在分类、人脸识别、目标检测等领域取得优异的性能;
  • 2015年,夺冠的 ResNet 深达152层,以3.57%的错误率超越人类视觉的5.1%;
  • 2016年-至今,Fast-Rcnn、Faster-Rcnn、Yolo、SSD 等目标检测算法突破。
  • 2016年,AlphaGo 击败人类。

目前,深度学习技术已经在图像、语音、自然语言、推荐算法等这些常见的领域中,得到重大突破,并且已经服务于我们的日常生产、生活中。比如:安防领域的人脸识别、ADAS 系统中目标检测与跟踪、OCR 识别、语音识别与合成、文本情感分析、主题挖掘等等。

谈了这么多深度学习的历程,那到底什么是深度学习呢?其实,关于深度学习的解释非常多,总结来说,它是一种具有多层结构的神经网络算法,属于机器学习算法一种,而机器学习则是实现 AI 的一种技术手段。换言之,深度学习对于人工智能技术的发展具有重大意义。我们看一下,如下图所示的深度学习结构:

一个完整的度网络,主要包括了输入层、输出层和中间的隐层,每一层网络由一个个节点组成,而不同层之间则通过节点和节点之间的线连接起来,而这些点和连接就表达为线性组合关系。当然,目前深度学习网路结构的多样性,也存在很多类似的非线性组合的网络层。深度学习就是通过这些节点和节点之间的关系来表达客观世界中的事物、逻辑关系等等。

关于深度学习的概念,已经足够火热,当然我们在认识它的时候,依然需要保持冷静的头脑,必须认识到:

  1. 深度学习并不是万能的,尤其对于工程上的实际分析,有时候,单纯的使用深度学习的方案并不能有效的解决问题,对于一个实际的项目而言,往往需要考虑到各个方面的问题,一个好的项目,一定是一个无比细致工作的体现。
  2. 深度学习不会取代所有其他机器学习算法和数据科学技术,至少还没有被证明是这样。
  3. 深度学习能够解决的任务目前主要集中在分类、识别、检测、回归等这些可定义的、比较明确的任务上,并没有扩大到非常复杂的问题,例如“解决世界和平”。

深度学习与大数据的关系

“大数据”在几年前刚出现的时候,也存在各种各样的文章来定义大数据,我也不打算在这个概念上花太多的精力。简单来讲,大数据通常被定义为“超出常用软件工具捕获,管理和处理能力”的数据集。它不是具体的方法,甚至不算具体的研究学科,而只是对某一类问题,或需处理的数据的描述。

通常,大数据的“大”主要体现在 Volume(数据量), Velocity(数据速度)还有 variety(数据类别)。大数据问题(Big-data Problem)可以指那种在这三个“V”上因为大而带来的挑战。在之前我们也提到了,传统的机器学习方法的表达能力有限,在小规模数据上能够表现较好的性能,但是在大数据背景下则显得很无力。而深度学习则不同,通过增加节点数目、网络深度等,它能够表达更多的数据,针对大数据的背景,它的数据拟合能力远远优于传统的机器学习方法。从这个角度上来看,二者的关系则是相辅相成的,没有大数据的存在,深度学习的方法也很难得到有效的训练和优化,而没有深度学习方法,大数据本身也就没有了价值。

深度学习与人工智能的关系

1956年,在达特茅斯会议(Dartmouth Conferences)上,计算机科学家首次提出了“AI”术语,AI 由此诞生,在随后的日子里,AI 成为实验室的“幻想对象”。几十年过去了,人们对 AI 的看法不断改变,有时会认为 AI 是预兆,是未来人类文明的关键,有时认为它只是技术垃圾,只是一个轻率的概念,野心过大,注定要失败。直到今天,深度学习技术的发展,才使得 AI 变得越来越可能。

其实,对于大多数人工智能从业者而言,很难去对其进行一个精确的定义。如果非要对其进行定义的话,我觉得这个概念更加合适“它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能体,它必然会经历从模仿人类智能到超越人类智能的过程。”而深度学习则是机器学习的一种,它属于实现人工智能的一种技术手段。

今天,越来越多的人经常会提到“我想学习人工智能”,其实这是一个非常大的概念。从数据存在的形态来看,主要包括了文本、语音、数字图像,而人工智能需要智能体对这些客观世界存在信息进行理解、表达,并学会利用这些信息进行决策、分析。这些行为的实现,单纯的依靠数据是无法实现的,需要一个框架来完成存储、表达、理解、分析、决策的过程,而深度学习则是这些任务实现的一种关键技术,它能够有效的完整对大数据的刻画和理解,特征抽取与表达,对人工智能的发展起到了核心关键作用。

深度学习行业现状

深度学习作为一种技术,在行业中的体现,依然要依托于智能化的产品和相应的人工智能企业。根据2016年乌镇智库推出《全球人工智能发展报告产业篇》,该报告详实的描绘出全球人工智能发展的最新趋势,展示出各国在人工智能领域的竞争态势。报告指出,在2000-2016年,美国累积新增人工智能企业3033家,占全球累积总数的37.41%。中国在同年段间,人工智能企业数累积增长1477家,占全球人工智能总数的12.91%。虽然在数量上不及美国,但三组数据值得关注:

美国每年新增人工智能企业数占当年全球新增人工智能企业总数的比例一直在下降,2000年时这一比例为45%,2016年时下降至26%。而中国每年新增人工智能企业数占全球当年新增企业总数的比例保持上升趋势,2015年达到近17年来的最高值,超过25%。近五年来看,美国新增人工智能企业数占全国人工智能总数的59.38%,中国新增人工智能企业数占全国人工智能总数则为72.71%。在人工智能专利数上,最近五年,中国专利数平均每年增速为43%,美国增数为21.7%。透过这三组数据,可以看到中国近年来在人工智能上发展迅猛。

下图,给出了2017年,人工智能公司的排名,当然,此排名可能存在一些不准确的情况,仅供参考。

从这些人工智能公司来看,目前深度学习的应用领域十分广泛,涉及到了安防领域、搜索引擎、智能推荐、语音识别、自然语言处理、人机交互、智慧医疗、生物信息识别、机器人、3D 视觉、智慧教育、智能图像理解与分析等等。

另外,从政策的角度来看,2016年7月,在国务院印发的《“十三五”国家科技创新规划》中,人工智能被作为新一代信息技术中的一项列入规划。2017年3月,“人工智能”首度被列入政府工作报告。2017年,国务院又下发了《新一代人工智能发展规划的通知》,通知中写道,“到2020年人工智能总体技术和应用与世界先进水平同步,到2025年人工智能基础理论实现重大突破,到2030年人工智能理论、技术与应用总体达到世界领先水平”。可以预计,中国的人工智能产业将迎来“大跃进”的时代。

综上,智能社会的到来,必须依赖于人工智能技术的发展,而深度学习则是目前能够实现人工智能的最有效的手段之一,甚至在很多领域具备了统治地位。深度学习行业如何?必然大有所为。

参考资料

第02课:深度学习在计算机视觉行业中的应用

伴随着深度学习技术的发展和普及,“计算机视觉”这一词汇也受到越来越多的人关注。尤其是深度学习计算芯片技术的发展,使得图像信息处理的能力大大加强,市场上关于计算机视觉技术的产品也越来越多。那到底什么是计算机视觉?它和深度学习有什么关系?目前有哪些计算机视觉相关的产品需要用到深度学习呢?

首先,我们解释下什么是计算机视觉?

计算机视觉是指用计算机实现人的视觉功能——对客观世界的三维场景的感知、识别和理解。这里主要有两类方法:一类是仿生学的方法,参照人类视觉系统的结构原理,建立相应的处理模块完成类似的功能和工作;另一类是工程的方法,从分析人类视觉过程的功能着手,并不去刻意模拟人类视觉系统内部结构,而仅考虑系统的输入和输出,并采用任何现有的可行的手段实现系统功能。[摘自《图像理解与计算机视觉》]

举个例子,最经典也是工业化水平最高的计算机视觉技术就是人脸识别技术。一个简单的人脸识别系统,包括了人脸数据库和人脸比对算法,判定两个人脸是否是同一个人脸,最直接的方法就是计算两张人脸图像之间的差异,然而,这样做往往是很难有效的区分相同人脸和不同人脸的。而计算机视觉技术的存在,就是通过对人脸图像进行特征表示,也就是抽取人脸图像中那些共性和差异性的特征,并用来对人脸图像进行重新表示,在结合度量方法来进行相似性的衡量。其中,表示和度量的过程,我们通常也就是采用机器学习的方法来完成。因此,机器学习技术就是解决计算机视觉任务的一种关键性技术。

1

那计算机视觉和人工智能是什么关系呢? 它属于人工智能的一个子领域,主要关注于图像信号数据的处理、理解和分析。因此,我们在研究计算机视觉技术的时候,会发现计算机视觉的理念在某些方面其实与很多概念有部分重叠,包括:人工智能、数字图像处理、机器学习、深度学习、模式识别、概率图模型、科学计算以及一系列的数学计算等。

还有一个概念经常会和计算机视觉搞混淆,那就是机器视觉。 很多人在开始接触到这两个概念的时候会简单的认为计算机也属于机器的一种,因此,计算机视觉就是机器视觉的一个方面。当然,这样认为也不是完全有错误,只是会显得有些局限。计算机视觉研究的是人眼的仿真,而机器视觉则侧重于为工业中的制造业提供更多有利于提高产品质量和提高生产效率的支持。我们强调机器视觉、计算机视觉和图像处理不是同义的。它们其中之一都不是任何其他两个的子集。计算机视觉是计算机科学的一个分支,而机器视觉是系统工程一个特殊领域。

深度学习属于机器学习的一种,对于大数据背景下的计算机视觉任务,尤其在检测、分类、识别等任务上,都表现出难以匹配的优势。尤其,目前越来越多的深度学习芯片的生产和制造,也确保了深度学习技术,在计算机视觉任务中的核心地位。接下来,我们看一下深度学习在计算机视觉任务中有哪些重要的应用领域。

1.深度学习在安防领域的重要应用。

利用计算机视觉技术来完成安防领域的解决方案,这是大多数视觉公司都会选择切入的一个领域,涉及到的企业包括海康威视、商汤科技、依图科技、Face++,甚至互联网公司百度、腾讯、阿里巴巴等。其中,一个重要的应用就是人脸识别技术,自2014年的 DeepFace 开始至今,深度学习的方法在该领域几乎达到垄断地位。而人脸识别技术,在安检、反恐等安防领域有着重要的意义。当然,除去人脸识别,近几年也开始研究从行人的角度出发的 ReID 技术,利用深度学习来进行人的检测、并刻画目标的特征,为后续的跟踪、异常行为分析提供有效的支撑。

2

2.深度学习在无人驾驶领域的重要应用。

在无人驾驶领域,考虑到激光、雷达等传感器价格昂贵等特点,这使得基于计算机视觉的解决方案大受追捧。而对于无人驾驶的摄像机采集到的视频数据,需要机器对其中的内容进行理解、分析并用于后续的决策控制,比如:前车碰撞预警等。因此,需要一系列的计算视觉算法来完成其中涉及的任务,具体包括了目标检测和识别、多目标跟踪、车道线检测分离等。而基于深度学习的目标检测和识别、基于深度学习的目标分割等方法,同样相对于传统的方法有着明显的优势。并且目前越来越多的深度学习芯片,尤其关注无人驾驶领域的问题,对相关算法的支持也越来越好,这也使得深度学习技术对无人驾驶技术的发展起到了重要的推动作用。目前国内对问题研究的机构同样非常多,包括了 Google、百度、海康威视、Mobileye 等,可以说,深度学习是无人驾驶领域的一种重要的基础算法。

3

3.深度学习在智能家居领域的重要应用。

传统的智能家居产品更多的是采用手机端结合蓝牙或者 WiFi 等通信手段来完成对家居的控制和使用。虽然此类解决方案能够实现一定程度上的家居智能,但是我们会依然觉得,智能化的程度依然不够。而深度学习的方法,则对于智能家居的发展起到了重要的作用。除了语音识别、语音合成以外,另一个重要的点就是利用视觉技术进行人机交互,比如:手势识别等。

4

4.深度学习在智慧教育领域的应用。

在教育领域,目前比较火热的产品就是拍照试题等 App,通过手机端输入一张图片后,App 利用智能算法,来对获取到的区域的内容进行理解和分析,同样涉及到了深度学习的方法,比如:题目的检测、目标区域文字检测与识别等等。同样,深度学习的方法对于类问题的解决,依然有着重大的性能优势。

5

5.深度学习在 OCR 领域的重要应用。

除了教育会涉及到文字检测与识别,在一些诸如:简历的识别、文档的识别、身份证识别等等领域,同样会存在一些关于图片中文字的内容理解和分析的部分,而对于这也任务而言,同样深度学习是一种更优的选择。此类问题,其实可以直接概括为自然场景下的文本检测和识别任务。

6

6.深度学习在图片检索领域的重要应用。

以图搜索图的目的是为了找到和原图相似的图片,它不仅会涉及到图像检索引擎的建立,同样也依赖于一个较好的图像特征抽取的方法。而深度学习依然成为了一种较为有效的技术手段和方法,并在众多的图像检测问题中,起到了重要的作用。

7

7.深度学习在医疗影像数据中的应用。

深度学习在医疗健康领域的机遇主要有七大方向:一是提供临床诊断辅助系统等医疗服务,应用于早期筛查、诊断、康复、手术风险评估场景;二是医疗机构的信息化,通过数据分析,帮助医疗机构提升运营效率;三是进行医学影像识别,帮助医生更快更准地读取病人的影像所见;四是利用医疗大数据,助力医疗机构大数据可视化及数据价值提升;五是在药企研发领域,解决药品研发周期长、成本高的问题;六是健康管理服务,通过包括可穿戴设备在内的手段,监测用户个人健康数据,预测和管控疾病风险;七是在基因测序领域,将深度学习用于分析基因数据,推进精准医疗。而医学影像是医生判断疾病的一个重要手段,放射科、病理科等擅长读图的医生增长率和诊断效率急需提升,成为很多医疗机构的心病。目前,在人类医学专家的帮助下,国内外研究团队已经在心血管、肿瘤、神内、五官等领域建立了多个精准深度学习医学辅助诊断模型,取得了良好的进展。其中,依图科技则在深度学习医疗领域取得了不错的成绩。

8

8.深度学习与美颜相机。

对于美颜相机,大家一定都不陌生。在美颜相机中会有哪些地方涉及到深度学习的算法呢?其中最重要的就是人脸的关键点定位。只有找到关键点,才能有效的进行一些眼睛的修饰等操作,同样,相比于其他方法,基于深度学习的方法能够实现更优的性能。

9

9.深度学习在 Fashion 领域的探索。

目前,阿里巴巴携手香港理工举办了 FashionAI 的比赛,旨在探索如果通过机器学习的方法来完成关于流行趋势的分析和预测。而深度学习无疑会成为众多方法中的宠儿。其中涉及到了服装关键点检测和定位,服装分类等等问题。

10

10.深度学习芯片。

对于大多是计算机视觉从业者而言,往往会更多的侧重于深度学习算法而忽略了深度学习芯片。大家也都知道,深度学习算法的火爆,必然依托于深度学习芯片的发展。尤其最近的中兴事件暴露出的国产芯片的一系列问题,也使得越来越多的人开始关注芯片行业。而一项深度学习工程,其实可以分为训练和推断两个环节,对于训练环节大多采用 GPU 来完成,而实际在使用的时候,考虑到功耗等问题,推断芯片的研发也变得尤为重要,除了 CPU 和 GPU 以外,FPGA、ASIC 等同样发挥着重要的作用。对于智能社会而言,深度学习芯片将会起到重要的基石作用。

11

当然,除上述领域外,深度学习在其他的很多领域都有着重要的应用,比如:车牌识别、图像质量恢复、自动图像描述等等。总之,深度学习技术对于众多的计算机视觉任务而言,已经逐步占据了统治地位,作为一个计算机视觉从业者,它也成为了大家的基本技能。至于原因,大家可以看一下《为什么深度学习几乎成了计算机视觉研究的标配?》这篇文章,这里不再赘述。

第03课:深度学习在语音技术领域的应用
第04课:深度学习在自然语言处理行业中的应用
第05课:如何入行深度学习
第06课:怎样选择一个合适自己的深度学习研究方向?
第07课:针对自己的研究方向,如何展开调研、学习和实验?
第08课:动手实战之基于 Caffe 的深度学习环境了解和搭建
第09课:动手实战之基于 Caffe 的分类识别任务
第10课:动手实战之基于 TensorFlow 的深度学习环境了解和搭建
第11课:动手实战之基于 TensorFlow 的分类识别任务

阅读全文: http://gitbook.cn/gitchat/column/5afb8f050fe11d2f8ffc79a8

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值