猜你喜欢
深度学习原理与TensorFlow实践

深度学习原理与TensorFlow实践

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

《深度学习原理与TensorFlow实践》主要介绍了深度学习的基础原理和TensorFlow系统基本使用方法。TensorFlow是目前机器学习、深度学习领域优秀的计算系统之一,《深度学习原理与TensorFlow实践》结合实例介绍了使用TensorFlow开发机器学习应用的详细方法和步骤。同时,《深度学习原理与TensorFlow实践》着重讲解了用于图像识别的卷积神经网络和用于自然语言处理的循环神经网络的理论知识及其TensorFlow实现方法,并结合实际场景和例子描述了深度学习技术的应用范围与效果。

《深度学习原理与TensorFlow实践》非常适合对机器学习、深度学习感兴趣的读者,或是对深度学习理论有所了解,希望尝试更多工程实践的读者,抑或是对工程产品有较多经验,希望学习深度学习理论的读者。

作者简介

喻俨,百纳信息(海豚浏览器)研发副总裁。2007年加入微软亚洲工程院,2011年加入百纳信息负责海外业务线,从0到1做过多个项目,现致力于AI和大数据产品的研究与应用。

莫瑜,先后任职于微软和海豚浏览器,从事搜索引擎、音乐检索/哼唱搜索、内容分发推荐算法和对话机器人技术研发。长期以来持续关注和实践大规模数据算法性能优化、搜索引擎、推荐系统和人工智能技术。

王琛,英国爱丁堡大学人工智能专业硕士,现为百纳信息技术有限公司人工智能方向负责人。早年参加过信息学奥林匹克竞赛获得河北省1名、全国三等奖,并保送进入中山大学。大学期间,在ACM竞赛上也屡获佳绩。硕士毕业后就职于百度基础架构部,参与大数据平台研发工作,对大数据分析处理、分布式系统架构等方面都有比较深刻的理解。2014年加入百纳,负责多个项目的研发,自2016年起负责人工智能方向的探索。

胡振邦,拥有博士学位,百纳信息技术有限公司高级算法研究员,毕业于中国地质大学计算机学院地学信息工程专业。读博期间,参与了关于遥感卫星图像识别分析的863项目,并且是主要的研发人员。毕业以来,一直从事图像识别方面的算法研发工作,主要方向包括目标检测、图文检索、图像分类与验证等,在图像处理、计算机视觉等方面都有深厚的积累和经验。

高杰,是一位1980年出生于苏北的“爱学习、能折腾、有情怀”的大叔。毕业于扬州中学特招班,1998年入学华中科技大学机械系,兼修管理、会计,自学计算机,2003年考入南京大学软件学院,曾任德国西门子内部SAP咨询师,还在中银国际TMT投行、金山软件集团投资部任过职,2015年与合伙人联合创立了图灵科技集团,与华尔街优秀交易团队一起致力于量化交易、算法模型和人工智能在金融领域的应用,目前这家公司管理着超过20亿元的资产,是细分市场的领先公司。


编辑推荐

与市面上已有的TensorFlow书相比,《深度学习原理与TensorFlow实践》的特色在于一是所有案例来自作者团队工作中的亲身实践,所选案例均是深度学习的经典应用,非常具有代表性;二是结合了深度学习的关键原理,强化读者对深度学习及TensorFlow架构的理解,从而能在知其然、并知其所以然的基础上,更好地运用TensorFlow来开发各类应用。

《深度学习原理与TensorFlow实践》所梳理出来的清晰脉络和关键知识点,必能让读者在内外兼修的基础上,循序渐进地提升功力,在人工智能时代大放异彩。

前言

从理论到工程

技术发展的过程就是人类在探索自身创造能力边界的过程,而人工智能无疑是最重要以及影响最深远的领域之一。

AlphaGo及其马甲Master在围棋领域大胜人类顶尖高手之后,在智力分析领域人类优势开始出现裂痕。而在“听说读写”方面,不管是语音识别、语音合成、机器翻译,还是图像识别、物体识别,甚至是自动文章生成、自动曲谱生成、艺术图像合成方面,机器已经开始做得比人类更为强大。深度学习在工程领域的突破,使得“机器学习”走出了实验室,进入到工程领域,人类开始重新审视机器能带来的更多可能性。

正如2007年以iPhone为代表的智能手机出现,10年之间已经颠覆了诸多商业领域、影响了人类的生活方式一样,深度学习也必将如此,作为一名技术人,必须理解和跟上行业和时代的变革!

在过去的计算机技术演变过程中,数据主线(展示、逻辑、存储)、架构主线(C/S,B/S,SASS)、语言框架平台主线(语法、库、框架、操作系统、平台)的变迁基本有迹可循,易于举一反三,迁移学习曲线相对平缓。而机器学习的学习曲线相当陡峭,需要同时专注于数据处理、模型构建以及结果优化,颠覆了我们以往对数据处理的理解。作为工程业界人士来说,没有机器学习理论基础的支持,几乎无法应用相关的工具;而没有工程实践的尝试,又很难体系化理解理论基础——入门着实不易。

本书的作者为具有多年研究经验的博士和多年业界工程研发经验的团队,他们在工程领域的经验能快速地帮助读者理解TensorFlow的基础概念,并以最快速度搭建环境和跑通Demo。更为重要的是,他们从学术+工程领域的角度,高屋建瓴地拎出了CNN(卷积神经网络)、RNN(循环神经网络)、CNN+LSTM(Long Short Term网络)的基本原理,并且结合CNN在图像领域处理、RNN在语义领域处理以及结合CNN+LSTM在图像检测和图像摘要生成等基本工程领域的处理,快速地让读者理解深度学习能干什么,如何利用TensorFlow快速解决这些领域的问题,让自己的应用插上“人工智能”的翅膀!

人工智能的时代已经开启,唯有快速拥抱变化才能应对变化,希望读者能借这本书建立对机器学习的宏观认识并对之深入理解,跑步进入机器学习领域!

刘铁锋

《编程之美》作者

海豚浏览器创始人


前言

创造出具有智能的机器一直是人们梦寐以求的理想。自20世纪50年代图灵测试被提出以来,人工智能就成为了计算机科学领域中一个极具吸引力的研究方向。近年来,深度学习是机器学习领域中一个非常具有突破性的研究方向,从AlphaGo战胜李世石,到Prisma运用深度学习技术制作滤镜刷爆全世界的社交网络,深度学习在图像处理、自然语言处理甚至博弈决策等问题上不断取得震惊世人的成绩。

随着科研理论上的不断突破,机器学习基础架构方面也有了长足进步。为了提高科研和应用的开发效率,面向深度学习的开发框架不断涌现,而TensorFlow就是其中的佼佼者。依托于Google强大的影响力,TensorFlow一经发布就吸引了整个行业的关注。TensorFlow自2015年年底在GitHub开源以来,一直是机器学习、深度学习类别中关注度最高的项目,截至2016年年底,已经获得超过40000个Star。同时,在开源社区共同的努力下,基于TensorFlow开发的各种算法和应用都在飞速增加。

本书结合基于TensorFlow实践的应用代码,介绍了深度学习的基础概念和知识,但需要读者预先掌握一些传统机器学习、神经网络相关方面的知识。同时,本书代码主要基于目前最新的TensorFlow 1.0版本,大部分为Python代码,需要读者有一定的Python语言基础。希望通过本书的介绍,读者可以由浅入深、由理论到实践全面掌握深度学习的基础知识和实践方法。

本书第1章介绍了深度学习的由来以及发展趋势,简要说明了人工智能、机器学习、深度学习等名词概念之间的联系。第2章主要介绍了TensorFlow系统的基础知识和一些重要概念。第3章通过对Kaggle竞赛平台上的Titanic问题的求解实例,介绍了TensorFlow系统的基本用法,并简要介绍了机器学习问题中的一些常用的处理技巧。第4章和第5章分别介绍了主要应用于图像处理领域的卷积神经网络CNN和主要应用于自然语言处理领域的循环神经网络RNN。其中第4章介绍了CNN的基本原理和多个经典网络结构,并通过图像风格化的实例展示了CNN在更多场景下应用的可能性。第5章介绍了RNN、LSTM以及它们的多种变种结构,并通过实例介绍了如何构建实用的语言模型和对话机器人。第6章介绍了卷积神经网络与循环神经网络的结合,通过图像检测和图像摘要两个问题介绍了CNN+LSTM相结合的威力。最后的第7章介绍了机器学习中非常重要的损失函数与优化算法在TensorFlow中的实现,对实际使用深度学习解决问题都有极大帮助。

在此感谢互联网时代,感谢Google的开源精神,让我们可以如此紧跟时代最前沿的技术,也可以为技术的进步做出自己微薄的贡献。还要感谢电子工业出版社刘皎编辑对新技术的关注和推广,感谢同事、家人、各位好友的支持和帮助,有你们的支持才有此书的出版,不胜感激。

作 者

目录

1 深度学习简介 1

1.1 深度学习介绍 1

1.2 深度学习的趋势 7

1.3 参考资料 10

2 TensorFlow系统介绍 12

2.1 TensorFlow诞生的动机 12

2.2 TensorFlow系统简介 14

2.3 TensorFlow基础概念 16

2.3.1 计算图 16

2.3.2 Session会话 18

2.4 系统架构 19

2.5 源码结构 21

2.5.1 后端执行引擎 22

2.5.2 前端语言接口 24

2.6 小结 24

2.7 参考资料 25

3 Hello TensorFlow 26

3.1 环境准备 26

3.1.1 Mac OS安装 27

3.1.2 Linux GPU服务器安装 28

3.1.3 常用Python库 32

3.2 Titanic题目实战 34

3.2.1 Kaggle平台介绍 34

3.2.2 Titanic题目介绍 35

3.2.3 数据读入及预处理 38

3.2.4 构建计算图 40

3.2.5 构建训练迭代过程 44

3.2.6 执行训练 46

3.2.7 存储和加载模型参数 47

3.2.8 预测测试数据结果 50

3.3 数据挖掘的技巧 51

3.3.1 数据可视化 52

3.3.2 特征工程 54

3.3.3 多种算法模型 57

3.4 TensorBoard可视化 58

3.4.1 记录事件数据 58

3.4.2 启动TensorBorad服务 60

3.5 数据读取 62

3.5.1 数据文件格式 63

3.5.2 TFRecord 63

3.6 SkFlow、TFLearn与TF-Slim 67

3.7 小结 69

3.8 参考资料 69

4 CNN“看懂”世界 71

4.1 图像识别的难题 72

4.2 CNNs的基本原理 74

4.2.1 卷积的数学意义 75

4.2.2 卷积滤波 77

4.2.3 CNNs中的卷积层 81

4.2.4 池化(Pooling) 83

4.2.5 ReLU 84

4.2.6 多层卷积 86

4.2.7 Dropout 86

4.3 经典CNN模型 87

4.3.1 AlexNet 88

4.3.2 VGGNets 95

4.3.3 GoogLeNet & Inception 98

4.3.4 ResNets 106

4.4 图像风格转换 109

4.4.1 量化的风格 109

4.4.2 风格的滤镜 116

4.5 小结 120

4.6 参考资料 121

5 RNN“能说会道” 123

5.1 文本理解和文本生成问题 124

5.2 标准RNN模型 128

5.2.1 RNN模型介绍 128

5.2.2 BPTT算法 130

5.2.3 灵活的RNN结构 132

5.2.4 TensorFlow实现正弦序列预测 135

5.3 LSTM模型 138

5.3.1 长期依赖的难题 138

5.3.2 LSTM基本原理 139

5.3.3 TensorFlow构建LSTM模型 142

5.4 更多RNN的变体 144

5.5 语言模型 146

5.5.1 NGram语言模型 146

5.5.2 神经网络语言模型 148

5.5.3 循环神经网络语言模型 150

5.5.4 语言模型也能写代码 152

5.5.5 改进方向 163

5.6 对话机器人 164

5.6.1 对话机器人的发展 165

5.6.2 基于seq2seq的对话机器人 169

5.7 小结 181

5.8 参考资料 182

6 CNN+LSTM看图说话 183

6.1 CNN+LSTM网络模型与图像检测问题 184

6.1.1 OverFeat和Faster R-CNN图像检测算法介绍 185

6.1.2 遮挡目标图像检测方法 187

6.1.3 ReInspect算法实现及模块说明 188

6.1.4 ReInspect算法的实验数据与结论 204

6.2 CNN+LSTM网络模型与图像摘要问题 207

6.2.1 图像摘要问题 208

6.2.2 NIC图像摘要生成算法 209

6.2.3 NIC图像摘要生成算法实现说明 214

6.2.4 NIC算法的实验数据与结论 243

6.3 小结 249

6.4 参考资料 250

7 损失函数与优化算法 253

7.1 目标函数优化策略 254

7.1.1 梯度下降算法 254

7.1.2 RMSProp优化算法 256

7.1.3 Adam优化算法 257

7.1.4 目标函数优化算法小结 258

7.2 类别采样(Candidate Sampling)损失函数 259

7.2.1 softmax类别采样损失函数 261

7.2.2 噪声对比估计类别采样损失函数 281

7.2.3 负样本估计类别采样损失函数 286

7.2.4 类别采样logistic损失函数 286

7.3 小结 287

7.4 参考资料 288

结语 289


短评

多读读官方文档就行,300多页卖80块,想钱想疯了

2017-05-09

标签
深度学习,TensorFlow,机器学习,技术,人工智能
产品特色