本书是人工智能与大数据技术大讲堂丛书中的*本书。全书贯穿*简体验的讲授原则,并模拟实际课堂的教学风格,通过幽默风趣的大白话语言,手把手带领读者由浅入深、循序渐进地进行学习,让他们在身临其境的教学氛围中,轻松、愉悦地掌握人工智能技术领域的基础知识,从而跨入人工智能的大门。本书的阅读门槛极低,只需要读者具备初步的数理知识和计算机操作技能即可顺利学习;本书的学习曲线非常平滑,前面章节中的知识点都为后续章节的学习做好了铺垫,让读者的学习毫无障碍;本书通过图书 视频 GitHub 微信公众号 学习管理平台 群 专业助教的立体化学习解决方案及大量线上、线下互动,让读者可以体验到远超过同类图书的学习效果。
本书共8章。第1章给出了切实可行的学习建议;第2章介绍了开发环境;第3~5章是专为人工智能和大数据而优化的知识要点,手把手带领读者从零基础开始学习编程;第6章与第7章从不同的角度手把手带领读者完成*简单的卷积运算(深度学习的基础算法);第8章带领读者解读一个案例中的部分源码(来自于*流行的深度学习框架TensorFlow)。
本书适合对人工智能、机器学习、深度学习和计算机视觉感兴趣的读者阅读,尤其适合零基础和弱基础的读者学习。阅读本书不要求读者有太多的编程基础与高等数学基础。
本书特色:
多位资深的人工智能算法工程师和研究员合力打造
地平线创始人余凯等6位人工智能领域的知名专家点评并推荐
新智元(全球领先的人工智能专业媒体)大力支持并推荐
图书 36课时视频 GitHub 公众号 学习管理平台 群 专业助教立体化学习解决方案
全面贯彻Learning by doing与Understanding by creating的学习理念
贯穿*简体验讲授原则,模拟实际课堂的教学风格,用幽默风趣的大白话进行讲解,手把手带领读者轻松、愉悦地学习
注重初学者关怀,营造舒畅的学习体验;提供立体化解决方案;无须费时搭建环境,开箱即用;对每行焦点代码进行了字符级趣味解读
从Python入门讲起,平滑过渡到深度学习的基础算法卷积运算,*终完成谷歌官方的图像分类与目标检测两个实战案例
业内6位大咖力荐:
全球范围内自动驾驶处理器领域的领跑者地平线创始人/CEO 余凯
领先的计算机视觉服务商Yi 创始人/CEO 张默
清华大学计算机系学术委员会主任/IEEE Fellow 孙富春
神策数据创始人/CEO 桑文锋
天津大学智能与计算学部副主任/人工智能学院院长 胡清华
新智元创始人兼CEO 杨静
为什么要写这本书?
一只阿法狗为全世界打开了一条窄窄的门缝,通往未来之门就此展现。以深度学习之名,人工智能第三次兴起。人类社会已经进入了人工智能与大数据时代。大数据与概率统计的相关知识、工具已经从某个领域的专业课成为当代社会的通识课。当下,主动拥抱新变化,积极学习新知识愈发显得重要。很多人积极投入热情、时间和金钱后,没能坚持多久,就中断了学习。也有很多人对此表示观望,甚至自我放弃,觉得自己的基础不足以把握这次机会。
学习本应是一件轻松愉快的事,这是因为探索与解释是人类的天性。专业学习通常还是投入产出比极高的一件事,尤其是当代社会,真才实干者通常会获得合理而丰厚的回报。
但是很多计算机类的书籍,不仅没能帮助初者更高效地进入专业领域,反而浪费了读者的时间,打击了初学者的积极性。这是因为,很多书的作者几乎没有对初学者关怀的意识,没有设身处地地为初学者考虑,没有量身定制地为初学者优化。甚至很多书中的内容仅仅是对官方文档的搬运。
本书尝试介绍一个新的学习主张,用以帮助初学者轻松而高效地入门人工智能这一专业领域,同时也可以用来衡量一个学习资源是否可以帮助初学者,轻松高效地从入门级别成长为专业的合格人才。
仅凭一本书,确实很难帮助零基础、弱基础的读者入门人工智能,因此本书的作者团队准备了一套丛书人工智能与大数据技术大讲堂,给读者提供零基础入门人工智能的解决方案。通过该解决方案,可以帮助读者成为合格的人工智能算法工程师。即使读者最终没有完成整个丛书的学习,而是只学习了前半部分,也可以很好地理解和适应人工智能与大数据时代。
本书特色
? 贴心:本书是市场上同类书籍中学习门槛极低的书籍,只要读者具备基本的数学能力与计算机操作能力,就能轻松、高效地入门人工智能算法。从第一行代码到最后一个要点,读者只需要按顺序学习,即可顺利理解和掌握,而无须额外搜索和查找。
? 完整:通过图书 视频 GitHub 微信公众号 学习管理平台 群 专业助教构成完整的学习资源,建立立体化的学习模式,通过从最低门槛到专业岗位的全路径设计学习计划,以及大量线上、线下互动,形成完整的学习解决方案。
? 生动:本书将课堂互动搬到书中,现场感十足。书中以轻松幽默的语言 生动的故事情节讲解每个知识点,以保障读者全程都可以轻松学习,从而避免由于枯燥和晦涩而导致学习的中断。本书将学习知识点的过程转换为与知识点交朋友的过程,全方位呵护、培养和提高初学者的学习兴趣、学习热情和学习动力。
? 易懂:本书全面贯彻learning by doing的学习理念。因为具象的代码比抽象的概念更易于理解和掌握,所以本书将抽象的理论知识融入具象的代码中,再通过对代码运行结果进行分析和总结,从而提炼理论,帮助初学者掌握重要的概念和原理,并以易懂的语言将核心知识点以细粒度的分解示例进行详尽讲解。
? 透彻:本书全面贯彻understanding by creating的学习理念,通过手把手带领读者完成精心设计的原创示例代码进行学习,对基础且重要的核心理论进行多角度讲解,让读者循序渐进地体验和总结应用,最终达到对精要知识点的透彻理解,从而建立学习信心,为后续的学习打下坚实的基础。
? 实用:本书通过精心设计的知识点与大量的原创示例,带领读者体验知识的价值。读者在理解重要原理的基础上,可以亲手实现代码,熟练运用理论分析,解决实际问题,从而以最少的时间和最低的成本,真切感受算法的魅力。
本书内容
本书共8章,分为3篇。
第1篇 语法篇
第1章零基础入门AI解决方案,介绍了专为初学者关怀而提出的学习新主张,给出了具体可操作的学习建议,并提供了后续学习的精选优质资源。
第2章环境搭建,介绍了开发环境的选择、搭建策略及具体操作步骤。
第3章零点一基础入门Python,以实用性极强的案例为主线,极为详尽地讲解了入门人工智能中深度学习与大数据分析所需要的Python编程基础知识。
第4章最简体验数字图像,在第3章的基础上,手把手带领读者学习数据可视化的常用工具Matplotlib。
第5章最简体验数组,在第4章的基础上,手把手带领读者学习数字图像处理、深度学习计算及大数据分析等多个领域的重要基础工具Numpy。
第2篇 算法篇
第6章最简体验卷积运算,从最简单易懂的示例开始,循序渐进地讲解了卷积运算的原理和实现代码,以及卷积运算在深度学习算法中的作用。
第7章综合案例之滑动窗口示意图,换一个角度认识和理解卷积运算,同时帮助读者进一步熟练掌握Python和Matplotlib。
第3篇 综合篇
第8章源码解读,带领读者综合使用前面章节中所掌握的基础知识,解读最经典的示例源码。解读源码既是重要的工作能力,也是主要的学习手段,所以需要读者很好地掌握。
本书示例代码说明
本书在示例代码的组织与呈现方式上进行了专门设计,尽可能地帮助读者轻松高效地掌握每一个重要知识点。
? 每个示例代码文件的编号与书中的插图编号相同,以方便读者查找、参阅。
? 每个示例代码文件分为两部分:铺垫代码与焦点代码。铺垫代码来自于前面的示例,是已经掌握的旧知识点;焦点代码则是为了方便读者快速定位的新知识点。
例如,下图所示便为第8章图8-31所对应的示例代码。
其中,铺垫代码来自于示例8-29,而焦点代码只有一行,这样读者既可以复习旧知识点,与旧知识点建立联系,又可以迅速抓住重点,高效地学习新知识点。
本书读者对象
本书适合以下读者阅读:
? 对人工智能和机器学习感兴趣的读者;
? 对深度学习和计算机视觉感兴趣的读者;
? 对大数据分析、数据挖掘和数据科学感兴趣的读者;
? 讲授人工智能、机器学习、深度学习、大数据分析、数据挖掘和数据科学课的老师(提供师资培训与教案);
? 希望提升自己通用竞争力的读者。
阅读本书的读者只需具备以下条件:
? 初步的数理知识;
? 基本的电脑操作能力;
? 智能手机操作能力。
即使不能满足上述条件,也可以通过本书作者团队提供的专业助教补齐相关基础。
本丛书中的每本书与其他同类图书的最大不同在于切实注重读者的学习体验。我们真诚地希望得到广大读者的阅读反馈,以便于我们不断地改进和迭代,从而不断地提升读者的学习体验和学习效果。
由于是第1版图书,虽然作者团队为此已经投入了累计上万小时的工作量,对书中的内容经过了反复测试和迭代改进,但仍然难免偶有谬误或讲述不确切、不清楚和不顺畅的地方。我们在此邀请各位读者积极地参与到本书的售后反馈活动中。您在阅读本书时若有疑问或者发现了书中的疏漏,都可以在本书的GitHub页面指出,或者直接发送相关的问题描述至微信公众号AI精研社,也可以根据公众号的菜单提示添加值班客服或助教以获得帮助,我们将及时做出解答,并尽快将疏漏更新在勘误表中。我们欢迎一切关于本书的意见、建议、问题、指正、讨论和其他各类反馈。
本书作者
本书由清华大学的张光华博士,以及AI精研社的贾庸和李岩主笔编写。其他参与策划、设计、编写与审校的人员(按姓名拼音排序)还有阿珠(中国科学院自动化所)、宝尔金(中国科学院自动化所)、陈潇、丁火(中国科学院自动化所)、丰子一、何戈文(佛罗里达大学)、何嘉庆、黄向生(中国科学院自动化所)、黄子凌[清华大学(中国台湾)]、胡晓野、贾子娴、靳博洋、李赓飞、绫夜、林灵锋(中国科学院深圳先进技术研究院)、刘聪(中南大学)、李燚、李玉惠(恒安嘉新)、卢建东、唐唐、王立宁(阿里巴巴)、王鑫(万摩数字)、吴宪君、吴轶男、徐铁丰、杨海华(百度)、叶虎(腾讯)、殷荣(中国科学院信息工程研究所)、余欣航(北京大学前沿交叉学科研究院)、张家欢、张梦、张宇泰(京东之家)。在此一并感谢!
致谢
在策划整个丛书与本书的写作过程中得到了很多前辈、专家和行业领袖的指导、支持和帮助。作者团队的家人与诸多好友也为此投入了大量的时间和精力。在此向他们表达诚挚的谢意!
还要特别感谢贾庸的人生合伙人坏妈!写作本书占用了贾庸大量原本属于家庭的时间,而坏妈不仅承担了照顾家庭、教育小坏的全部责任,还不断地鼓励他。为了表达对坏妈的感激,见证贾庸对坏妈的爱恋,在这里专门撒下这把狗粮:管他宏观与微观,只有你与我有关!
在此还要特别感谢负责本书的编辑!润物细无声的催稿,邮件秒回的响应速度,不厌其烦的修改和完善,这都是本书得以更加完善的重要因素。
还要感谢本书的作者团队,以及丛书的策划团队与技术、内容和教学支持团队!
此外还有很多匿名小伙伴和热心网友也给出了极有价值的反馈,也在此一并表示感谢!
最后感谢各位读者,尤其是那些为本书提出意见或建议,以及反馈疏漏的读者!
作者于北京
第1篇 语法篇
第1章 零基础入门AI解决方案.... 2
1.1 AI极简史(选修)... 2
1.2 AI极简介... 3
1.2.1 认识颜色:表征学习与深度学习... 3
1.2.2 该往哪边旋转: 决策科学... 4
1.2.3 转起来:控制论... 5
1.2.4 自动驾驶与AI三大领域... 5
1.2.5 有关AI三大领域的解释说明... 6
1.3 史上最轻松的入门AI完整解决方案... 6
1.3.1 兴趣模块... 7
1.3.2 入门AI所需基础模块... 9
1.3.3 入门模块及其他... 11
1.4 入门好资源... 12
1.4.1 慕课(MOOC)... 12
1.4.2 框架... 13
1.4.3 社区... 13
1.4.4 数据集... 14
1.4.5 论文... 14
1.4.6 公司... 15
1.5 学习新主张(最重点)... 15
1.5.1 什么是体验... 16
1.5.2 什么是最简... 17
1.5.3 最简体验主张... 18
1.6 如何使用本书(纯小白请重点阅读)... 19
1.6.1 高效学习本书的首要原则... 19
1.6.2 什么是要点... 19
1.6.3 对纯零基础学习者的建议... 20
1.6.4 使用本书GitHub提高学习效率(敲黑板级别的重点)... 20
1.7 网络词汇简写与昵称... 24
1.8 小结... 26
第2章 环境搭建.... 27
2.1 最简体验Jupyter Notebook. 27
2.1.1 手机上最简体验Jupyter 28
2.1.2 计算机上最简体验Jupyter 29
2.1.3 Notebook中运行Python代码... 30
2.1.4 Notebook的最基本概念Cell 31
2.1.5 移动Cell 32
2.1.6 揭秘HelloWorld Cell 34
2.1.7 为啥要用Jupyter Notebook(选修)... 34
2.1.8 Notebook服务与社区文化(选修)... 35
2.1.9 Jupyter与MyBinder(选修)... 36
2.2 Azure Notebook简介... 37
2.3 Google Colaboratory简介... 39
2.4 Windows下安装Anaconda. 42
2.5 Linux下安装Anaconda. 43
2.6 Mac下安装Anaconda. 47
2.7 本地启动Jupyter Notebook. 47
2.8 小结... 51
2.9 习题... 52
2.9.1 基础部分... 52
2.9.2 扩展部分... 53
第3章 零点一基础入门Python.. 54
3.1 最简体验print方法... 54
3.2 更多print玩法... 59
3.3 最简体验Python变量... 63
3.4 最简体验Python列表与遍历... 65
3.5 最简体验Python字典... 67
3.6 项目实战:智能通讯录... 69
3.7 分支语法if 71
3.7.1 最简体验分支if 71
3.7.2 在智能通讯录中使用分支语法... 73
3.7.3 智能通讯录0.2. 75
3.8 小结... 78
3.8.1 真正掌握了吗... 78
3.8.2 真的能用吗... 79
3.8.3 真的智能吗... 80
3.8.4 开发环境与协作学习... 81
3.9 习题... 83
3.9.1 基础部分... 83
3.9.2 扩展部分... 83
第4章 最简体验数字图像.... 84
4.1 最简体验像素... 84
4.1.1 嵌套使用列表... 84
4.1.2 列表取元素... 86
4.1.3 嵌套使用遍历... 88
4.1.4 print进阶... 89
4.1.5 数值... 90
4.1.6 使用数据list最简体验像素... 92
4.2 最简体验代码画图... 94
4.2.1 最简体验图像操作... 95
4.2.2 最简体验plot 97
4.2.3 最简体验marker 100
4.2.4 更多marker属性... 102
4.3 点与线... 104
4.3.1 两点之间,线段最短... 104
4.3.2 画更多的线... 106
4.3.3 点与线:最简体验面向对象... 108
4.4 高效交流,协作学习... 110
4.5 正式认识Matplotlib. 112
4.6 小结... 115
4.7 习题... 115
4.7.1 基础部分... 115
4.7.2 扩展部分... 115
第5章 最简体验数组.... 117
5.1 最简体验NumPy. 117
5.1.1 从list到array. 117
5.1.2 Notebook技能之Run all 120
5.1.3 生成一个array. 121
5.1.4 操作array中的元素... 123
5.2 基于数组进行画图... 125
5.2.1 最简体验imshow()方法... 125
5.2.2 改进图像显示效果... 128
5.2.3 像素级操作图像... 130
5.2.4 精准体验像素... 132
5.3 最简体验Figure与Axes. 135
5.3.1 最简体验容器... 135
5.3.2 Python方法的返回值... 137
5.3.3 最简体验figure的size. 141
5.3.4 设置figure的size. 142
5.3.5 保存图像... 143
5.3.6 正式认识plt与mpl:Python包与模块的导入... 144
5.4 小结... 148
5.5 习题... 148
5.5.1 基础部分... 148
5.5.2 扩展部分... 148
第2篇 算法篇
第6章 最简体验卷积运算.... 150
6.1 最简体验维度... 150
6.1.1 数组的形状... 150
6.1.2 最简体验数组维度... 152
6.2 最简体验向量... 154
6.2.1 从1 1=2开始,轻松理解向量... 154
6.2.2 最简体验向量运算... 156
6.2.3 向量乘法... 158
6.3 最简体验一维卷积... 160
6.3.1 滑动窗口... 160
6.3.2 一维卷积... 162
6.4 卷积得到的是什么... 163
6.4.1 特征与学习... 163
6.4.2 特征的组合... 165
6.4.3 最简体验特征... 167
6.4.4 归一化Normalization. 169
6.4.5 归一化续(纯小白慎入)... 171
6.5 小结... 172
6.6 习题... 173
6.6.1 基础部分... 173
6.6.2 扩展部分... 173
第7章 综合案例之滑动窗口示意图.... 174
7.1 正式认识subplots()方法... 174
7.1.1 最简体验subplots()方法... 174
7.1.2 最简体验axs对象... 176
7.1.3 最简体验Axes坐标轴... 179
7.1.4 坐标轴ticks. 182
7.2 滑动窗口示意图0.1版... 186
7.2.1 技术问答范本... 186
7.2.2 起始、终止和步长... 188
7.2.3 坐标轴tickline. 191
7.2.4 坐标轴ticklabel 194
7.3 最常用图像元素之文本框... 196
7.3.1 最简体验plt.text()方法... 196
7.3.2 微调文本框... 199
7.3.3 滑动窗口示意图0.2版... 200
7.4 小结... 202
7.5 习题... 203
7.5.1 基础部分... 203
7.5.2 扩展部分... 203
第3篇 综合篇
第8章 源码解读.... 206
8.1 TensorFlow示例代码解读... 206
8.1.1 basic classification示例简介... 206
8.1.2 最简体验数据集... 209
8.1.3 Fashion MNIST数据集的label 214
8.1.4 批量查看图像... 217
8.2 源码解读... 220
8.2.1 最简体验源码解读... 220
8.2.2 解惑ticks的set与get 222
8.3 基于Notebook服务的开发环境复现... 224
8.3.1 Cell内安装TensorFlow.. 224
8.3.2 最简体验Terminal 227
8.3.3 体验便捷精准复现... 229
8.3.4 一键复现目标检测... 231
8.4 小结... 236
8.5 习题... 237
8.5.1 基础部分... 237
8.5.2 扩展部分... 237
后记.... 238