基本信息
【插图】

编辑推荐
1.TensorLayer是一个基于TensorFlow的深度学习开发工具。其透明,灵活,高性能的特点,使得它得到了大量初学者乃至资深开发者的青睐。TensorLayer获得了ACM多媒体协会颁发的2017年度最佳开源软件奖。
2.本书是在帝国理工学院计算机系终身教授郭毅可的领导下,由TensorLayer创始人领衔写作,TensorLayer社区众包完成,作者全部来自一线人工智能研究员和工程师,为读者提供了一次非常美妙的AI之旅。
3.本书案例是作者们经过精心挑选后写作的,其中不乏诸如,价值上亿美金的超高分辨率复原、已实际应用在医学上的图像语义分割等黄金案例,值得初学者和研究者们学习参考。
4.本书作者额外提供了案例使用的模型,请到www.broadview.com.cn下载使用。
内容简介
计算机书籍
内容简介
《深度学习:一起玩转TensorLayer》由TensorLayer创始人领衔写作,TensorLayer社区众包完成,作者全部来自一线人工智能研究员和工程师,内容不仅覆盖了传统书籍都有的多层感知器、卷积网络、递归网络及增强学习等,还着重讲解了生成对抗网络、学习方法和实践经验,配有若干产品级别的实例。读者将会从零开始学会目前最新的深度学习技术,以及使用TL实现各种应用。
《深度学习:一起玩转TensorLayer》以通俗易懂的方式讲解深度学习技术,同时配有实现方法教学,面向深度学习初学者、进阶者,以及希望长期从事深度学习研究和产品开发的深度学习工程师和TensorFlow用户。
作译者
郭毅可:帝国理工学院计算机系终身教授,Data Science Institute主任,Discovery Science Group主任,主持多项欧盟和英国大型项目,研究重点为机器学习、云计算、大数据和生物信息学。伦敦E-Science研究中心首席科学家,英国InforSense有限公司董事会主席兼首席执行官,上海生物信息技术研究中心客座教授、首席科学家,TensorLayer项目领导。
杨光:帝国理工医学院高级研究员,皇家布朗普顿医院医学图像分析师,伦敦大学圣乔治医学院荣誉讲师,伦敦大学学院(UCL)硕士、博士、IEEE会员、SPIE会员、ISMRM会员、BMVA会员,专注于医疗大数据以及医学图像的成像和分析,在各类期刊会议上发表论文近40篇,国际专利两项,Medical Physics杂志临时副主编,MIUA会议委员会委员,长期为专业杂志会议义务审稿50余篇。其研究方向获得英国EPSRC、CRUK、NIHR和British Heart Foundation (BHF)资助。近期致力于Medical AI方向的创新创业。
吴超:帝国理工数字科学研究所研究员,主要从事医疗和城市领域数据分析和建模的研究工作,研究工作获得EPSRC、Royal Society等多项研究基金资助。
王剑虹:帝国理工硕士及利物浦大学本科毕业,主要研究语音识别分类问题;目前在UCL攻读研究型硕士,主要研究增强学习在游戏中的运用。
幺忠玮:帝国理工硕士,本科毕业于北京邮电大学,主要研究方向为计算机视觉,对生成模型和目标识别领域感兴趣。目前致力于将目标检测算法植入嵌入式系统实现即时检测。
张敬卿:帝国理工博士在读,研究型硕士,主要研究兴趣包括深度学习、数据挖掘、时间序列与文本挖掘、多模态问题与生成模型。本科毕业于清华大学计算机科学与技术系,曾获得中国国家奖学金。
陈竑:北京大学光华管理学院在读,哈尔滨工业大学电子与信息工程学院毕业,深度学习爱好者。
林一鸣:帝国理工博士在读,主要研究深度学习在人脸分析方向的应用。
于思淼:帝国理工博士在读,浙江大学本科毕业,主要研究方向为深度学习、生成模型及其在计算机视觉方面的应用。
莫元汉:帝国理工博士在读,北京航空航天大学本科毕业,主要研究方向为深度学习、动力学及其在医疗图像分析方面的应用。
袁航:瑞士洛桑联邦理工(EPFL)硕士在读,本科就读于德国雅各布大学(Jacobs)计算机系,及在美国卡内基梅隆大学(CMU)计算机科学学院交换学习,主要从事计算神经科学与电脑人机接口研究。之前分别在帝国理工及马克斯普朗克智能系统研究院(Max Planck Institute for Intelligent Systems)进行研习,现在主要在EPFL G-lab研究脊髓修复对运动功能康复及血压控制等课题。
目录
1.1 人工智能、机器学习和深度学习 1
1.1.1 引言 1
1.1.2 人工智能、机器学习和深度学习三者的关系 2
1.2 神经网络 3
1.2.1 感知器 3
1.2.2 激活函数 5
1.2.3 损失函数 8
1.2.4 梯度下降和随机梯度下降 8
1.2.5 反向传播算法简述 11
1.2.6 其他神经网络 12
1.3 学习方法建议 13
1.3.1 网络资源 13
1.3.2 TensorFlow 官方深度学习教程 14
1.3.3 开源社区 15
1.4 TensorLayer 15
1.4.1 深度学习框架概况 15
1.4.2 TensorLayer 概括 16
1.4.3 实验环境配置 17
2 多层感知器19
前言
为此产业界急需大量实用性人才,而深度学习是一门理论与工程相结合的科学,本书将以通俗易懂的方式讲解深度学习技术,并辅以实践教学。本书同时面向深度学习初学者、进阶者及工程师,内容涵盖了全连接网络、自编码器、卷积神经网络、递归神经网络、深度增强学习、生成对抗网络等,并附有多个进阶实例教程。与传统深度学习书籍相比,本书有以下特点。
本书注重实践,科研人员和工程师都希望有一个深度学习开发工具可以同时满足学术界和产业界的需求,可让最新的人工智能算法很快地从实验室投入到产品中。为此我们开发了深度学习框架-- TensorLayer。读者可以从零基础开始学习掌握目前最新的深度学习技术。更多关于TensorLayer的设计思路请见第1章。帝国理工数据科学院(Data Science Institute)是TensorLayer的发起单位和主要开发单位,郭毅可教授是该项目领导。
本书对深度学习的最新方法进行了更多的阐述,特别是生成对抗网络方面,该研究方向已在无监督学习方面取得重大突破,并已经开始在产业界产生非常大的影响。本书还介绍及使用了多种新的反卷积方法,如子像素卷积和缩放卷积。
研究深度学习需要做大量的实验,本书在讲解技术的同时传授了很多实验经验。除神经网络外,本书还讲解了数据预处理、数据后加工、训练、服务架设等任务,这些都是搭建整个学习系统和产品的基本工作流。
本书编著方式与其他同类书籍不同,是由TensorLayer中文社区众包完成的,由董豪统稿。本书代码除第3章和第14章实例五外都由董豪提供,本书第1章由莫元汉、董豪和郭毅可执笔;第2章教学部分由杨光执笔,实现讲解部分由董豪执笔;第3章由幺忠玮执笔;第4章由林一鸣执笔;第5章由王剑虹执笔;第6章由袁航执笔;第7章由于思淼执笔;第8章与第12章实例三由张敬卿执笔;第9章、第10章实例一和第13章实例四由董豪执笔;第11章实例二讲解部分由杨光执笔,实现部分由董豪执笔;第14章实例五由陈竑执笔。本书图片整理由出版社、吴超、赵婧楠和种道涵完成,封面设计由出版社和王盼完成。
虽然本书的作者都是一线科研人员和技术人员,但是不妥和错误之处在所难免,真诚地希望有关专家和读者给予批评指正,以便再版时修改。最后,在计算机技术发展非常快的今天,书籍里的知识更新速度有限,建议读者多参与社区讨论交流。本书代码例子使用TensorFlow1.2和TensorLayer1.5.3,Python3在Ubuntu下测试。由于TensorFlow和TensorLayer在不断地更新,若出现兼容性问题,请到各章节给定的网址链接中获取最新的代码。
本书作者
2017年12月
书摘
1.1.1 引言
"人工智能"(Arttificial Intelligence,AI),这个术语起源于1956 年的达特矛斯夏季人工智能研究计划(Dartmouth Summer Research Project on Artificial Intelligence)。会议上的先驱们希望借助当时计算机强大的运算能力来创造一个具有人类智能的复杂机器。
这样的机器并不是用来处理一些特定的计算任务,比如财会的账务软件,流体力学的模拟程序等,而是应该具有通用性,它可以处理更加复杂的任务,比如理解语言,对人类语言中的概念进行自我学习,并具有一定的推理能力,就像我们在电影中看到的那些机器人一样。这就是所谓的"通用人工智能"或"强人工智能"(General AI)。
虽然无数的科学家都在不遗余力地朝着通用人工智能的方向努力,但遗憾的是,我们现在还不能创造出一台具有类似人类智能的机器。我们现在可以做的只是在某些特定任务上达到或者超过人类的水平,比如说人脸识别、垃圾邮件的分类等。我们认为这样的系统具有一定的智能,但并不是之前所说的通用人工智能,而是"弱人工智能"(Narrow AI)。
1.1.2 人工智能、机器学习和深度学习三者的关系
弱人工智能的实现得益于当下机器学习的蓬勃发展,机器学习作为一种数据驱动(Data-Driven)的学习理论,需要大量的数据和强大的计算资源来让机器更好、更快地"理解"数据中的模式,以达到预测的目的。但是我们也应该知道,机器学习只是实现人工智能的众多途径中的一种,与之相对应的还有规则驱动模型(Rule-Based)。近十年来,随着移动互联网和高性能计算硬件(如GPU)的发展,使得机器学习的这两个先决条件(数据和计算资源)得到了满足,机器学习这个领域也再度活跃起来。深度学习(多层神经网络)作为机器学习的一个子学科更是一个以数据为核心的方法。早期由于数据量的限制,人们发现多层(深度)神经网络的训练难以收敛,或者只能收敛到局部次优解,这样训练出来的网络的性能还不如浅层神经网络,这个严重的问题直接导致了深度学习方法的上一次衰败。然而近十年随着数据以爆炸式的规模积累以及计算能力的突飞猛进,人们发现在大量数据训练下的深度神经网络可以表现得很好,而且计算能力的进步也让训练时间可以接受。总的来说,深度学习、机器学习和人工智能可以用一个蕴含关系来表达,即人工智能包含机器学习,机器学习包含深度学习。
计算机视觉可能是当前机器学习应用最成功的领域,过去的方法需要大量的人工来提取特征。比如,人们需要手工编写分类器、边缘检测器,以便让程序能识别物体从哪里开始,到哪里结束。通过用上面这些人工提取的特征对算法进行训练,机器学习的算法终于可以用来识别图像是不是一只猫,而且效果还不错。但是,这样训练出来的模型对含有噪声的数据并不能很好地处理,比如动物的某一部位块被遮挡了,或者照片是在不同的光照环境下采集的。这些都会大大影响算法性能,导致识别的准确率下降。
这也是为什么在之前几年,机器学习算法虽然有着显著的进步但是还不足以接近人的能力。因为,人工提取的特征太僵化,许多环境的因素没有考虑。但是,随着深度学习的崛起,这样瓶颈已经不复存在了。
一般我们会通过三个方面来描述一个机器学习模型,它们是"模型"、"策略"和"算法"。模型讨论了在数据学习的过程中,用来表达数据的参数将以何种形式进行工作。有了模型,接下来需要考虑的问题是我们以何种标准来寻找模型的最优参数。最后是算法,机器学习(深度学习)的模型是基于数据进行学习的,有了学习的模型和标准后,就需要考虑通过怎样的数值方法来求解最优模型。在下一节中我们会从这三个方面来介绍深度学习的基础。