猜你喜欢
深度学习:一起玩转TensorLayer

深度学习:一起玩转TensorLayer

书籍作者:董豪 郭毅可 杨光 等 ISBN:9787121326226
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:3232
创建日期:2021-02-14 发布日期:2021-02-14
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

本书由TensorLayer创始人领衔,TensorLayer主要开发团队倾力打造而成。内容不仅覆盖了人工神经网络的基本知识,如多层感知器、卷积网络、递归网络及增强学习等,还着重讲解了深度学习的一些新的技术,如生成对抗网络、学习方法和实践经验,配有许多应用及产品的实例。读者可从零开始掌握深度学习技术,以及使用TensorLayer实现的各种应用。

本书以通俗易懂的方式讲解深度学习技术,同时配有实现方法教学,面向深度学习初学者、进阶者,以及希望长期从事深度学习研究和产品开发的深度学习的大学生和工程师。


作者简介

董豪:目前就读于帝国理工学院,从事计算机视觉、医疗数据分析和深度学习理论研究,在ICCV、TNSRE、TIFS、ACM MM等会议和期刊发表过论文,Neurocomputing、TIP等会议和期刊的审稿人。有创业经验,擅长把深度学习算法与实际问题结合,获得多项国家发明专利和实用新型专利,TensorLayer创始人。

郭毅可:英国帝国理工学院计算系终身教授, 帝国理工数据科学研究所(Data Science Institute)所长,上海大学计算机学院院长,中国计算机协会大数据专委会创始会员。郭教授主持多项中国、欧盟和英国大型数据科学项目,累计总金额达1000亿人民币。郭教授的研究重点为机器学习、云计算、大数据和生物信息学。也是大数据会议KDD2018 的主席. 他是上海,北京,江苏省政府特聘专家, 中国科学院网络信息中心、中国科学院深圳先进技术研究院客座研究员。郭教授从2015 年起,发起和领导了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研究脊髓修复对运动功能康复及血压控制等课题。

编辑推荐
适读人群 :本书以通俗易懂的方式讲解深度学习技术,同时配有实现方法教学,面向深度学习初学者、进阶者,以及希望长期从事深度学习研究和产品开发的深度学习工程师和TensorFlow用户。

1.TensorLayer是一个基于TensorFlow的深度学习开发工具。其透明,灵活,高性能的特点,使得它得到了大量初学者乃至资深开发者的青睐。TensorLayer获得了ACM Multimedia颁发的2017年度开源软件奖。

2. 本书是在帝国理工学院计算机系终身教授郭毅可的领导下,本书由TensorLayer创始人领衔,TensorLayer主要开发团队倾力打造而成,作者全部来自一线人工智能研究员和工程师,为读者提供了一次非常美妙的AI之旅。
3. 本书案例是作者们经过精心挑选后写作的,其中不乏诸如,价值上亿美金的超高分辨率复原、已实际应用在医学上的图像语义分割等黄金案例,值得初学者和研究者们学习参考。
4. 本书作者额外提供了案例使用的模型,请到http://www.broadview.com.cn/book/5059下载使用。


前言

深度学习已经成为了当今人工智能发展的主要助力,国务院印发的《新一代人工智能发展规划》中表示,2020年我国人工智能核心产业规模超过1500亿元,带动相关产业规模超过1万亿元;2030年人工智能核心产业规模超过1万亿元,带动相关产业规模超过10万亿元。

为此产业界急需大量实用性人才,而深度学习是一门理论与工程相结合的科学,本书将以通俗易懂的方式讲解深度学习技术,并辅以实践教学。本书同时面向深度学习初学者、进阶者及工程师,内容涵盖了全连接网络、自编码器、卷积神经网络、递归神经网络、深度增强学习、生成对抗网络等,并附有多个进阶实例教程。与传统深度学习书籍相比,本书有以下特点。

本书注重实践,科研人员和工程师都希望有一个深度学习开发工具可以同时满足学术界和产业界的需求,可让最新的人工智能算法很快地从实验室投入到产品中。为此我们开发了深度学习框架—— 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.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

2.1 McCulloch-Pitts 神经元模型 19

2.1.1 人工神经网络到底能干什么?到底在干什么 21

2.1.2 什么是激活函数?什么是偏值 22

2.2 感知器 23

2.2.1 什么是线性分类器 24

2.2.2 线性分类器有什么优缺点 26

2.2.3 感知器实例和异或问题(XOR 问题) 26

2.3 多层感知器 30

2.4 实现手写数字分类 32

2.5 过拟合 40

2.5.1 什么是过拟合 40

2.5.2 Dropout 41

2.5.3 批规范化 42

2.5.4 L1、L2 和其他正则化方法 42

2.5.5 Lp 正则化的图形化解释 44

2.6 再实现手写数字分类 46

2.6.1 数据迭代器 46

2.6.2 通过all_drop 启动与关闭Dropout 47

2.6.3 通过参数共享实现训练测试切换 50


3 自编码器54

3.1 稀疏性 54

3.2 稀疏自编码器 56

3.3 实现手写数字特征提取 59

3.4 降噪自编码器 65

3.5 再实现手写数字特征提取 68

3.6 堆栈式自编码器及其实现 72


4 卷积神经网络80

4.1 卷积原理 80

4.1.1 卷积操作 81

4.1.2 张量 84

4.1.3 卷积层 85

4.1.4 池化层 87

4.1.5 全连接层 89

4.2 经典任务 90

4.2.1 图像分类 90

4.2.2 目标检测 91

4.2.3 语义分割 94

4.2.4 实例分割 94

4.3 经典卷积网络 95

4.3.1 LeNet 95

4.3.2 AlexNet 96

4.3.3 VGGNet 96

4.3.4 GoogLeNet 98

4.3.5 ResNet 99

4.4 实现手写数字分类 100

4.5 数据增强与规范化 104

4.5.1 数据增强 104

4.5.2 批规范化 106

4.5.3 局部响应归一化 107

4.6 实现CIFAR10 分类 108

4.6.1 方法1:tl.prepro 做数据增强 108

4.6.2 方法2:TFRecord 做数据增强 114

4.7 反卷积神经网络 120


5 词的向量表达121

5.1 目的与原理 121

5.2 Word2Vec 124

5.2.1 简介 124

5.2.2 Continuous Bag-Of-Words(CBOW)模型 124

5.2.3 Skip Gram(SG)模型 129

5.2.4 Hierarchical Softmax 132

5.2.5 Negative Sampling 135

5.3 实现Word2Vec 136

5.3.1 简介 136

5.3.2 实现 136

5.4 重载预训练矩阵 144


6 递归神经网络148

6.1 为什么需要它 148

6.2 不同的RNNs 151

6.2.1 简单递归网络 151

6.2.2 回音网络 152

6.3 长短期记忆 153

6.3.1 LSTM 概括 153

6.3.2 LSTM 详解 157

6.3.3 LSTM 变种 159

6.4 实现生成句子 160

6.4.1 模型简介 160

6.4.2 数据迭代 163

6.4.3 损失函数和更新公式 164

6.4.4 生成句子及Top K 采样 167

6.4.5 接下来还可以做什么 169


7 深度增强学习171

7.1 增强学习 172

7.1.1 概述 172

7.1.2 基于价值的增强学习 173

7.1.3 基于策略的增强学习 176

7.1.4 基于模型的增强学习 177

7.2 深度增强学习 179

7.2.1 深度Q 学习 179

7.2.2 深度策略网络 181

7.3 更多参考资料 187

7.3.1 书籍 187

7.3.2 在线课程 187


8 生成对抗网络188

8.1 何为生成对抗网络 189

8.2 深度卷积对抗生成网络 190

8.3 实现人脸生成 191

8.4 还能做什么 198


9 高级实现技巧202

9.1 与其他框架对接 202

9.1.1 无参数层 203

9.1.2 有参数层 203

9.2 自定义层 204

9.2.1 无参数层 204

9.2.2 有参数层 205

9.3 建立词汇表 207

9.4 补零与序列长度 209

9.5 动态递归神经网络 210

9.6 实用小技巧 211

9.6.1 屏蔽显示 211

9.6.2 参数名字前缀 212

9.6.3 获取特定参数 213

9.6.4 获取特定层输出 213


10 实例一:使用预训练卷积网络214

10.1 高维特征表达 214

10.2 VGG 网络 215

10.3 连接TF-Slim 221


11 实例二:图像语义分割及其医学图像应用225

11.1 图像语义分割概述 225

11.1.1 传统图像分割算法简介 227

11.1.2 损失函数与评估指标 229

11.2 医学图像分割概述 230

11.3 全卷积神经网络和U-Net 网络结构 232

11.4 医学图像应用:实现脑部肿瘤分割 234

11.4.1 数据与数据增强 235

11.4.2 U-Net 网络 238

11.4.3 损失函数 239

11.4.4 开始训练 241


12 实例三:由文本生成图像244

12.1 条件生成对抗网络之GAN-CLS 245

12.2 实现句子生成花朵图片 246


13 实例四:超高分辨率复原260

13.1 什么是超高分辨率复原 260

13.2 网络结构 261

13.3 联合损失函数 264

13.4 训练网络 269

13.5 使用测试 277


14 实例五:文本反垃圾280

14.1 任务场景 280

14.2 网络结构 281

14.3 词的向量表示 282

14.4 Dynamic RNN 分类器 283

14.5 训练网络 284

14.5.1 训练词向量 284

14.5.2 文本的表示 290

14.5.3 训练分类器 291

14.5.4 模型导出 296

14.6 TensorFlow Serving 部署 299

14.7 客户端调用 301

14.8 其他常用方法 306


中英对照表及其缩写309

参考文献316

产品特色