基本信息

编辑推荐
百度官方出品,百度公司总裁张亚勤博士作序
李德毅院士,百度高级副总裁、AI技术平台体系总负责人王海峰博士等重点推荐
内容简介
作译者
北航计算机学院、软件开发环境国家重点实验室副教授。主要研究视觉计算、深度学习、群体智能等,在国际上较系统地研究了多模式哈希和互补多哈希表检索方法。近年来,参与“核高基”国家重大专项、国家自然科学基金重大专项等多个国家课题。发表CVPR、ICCV、AAAI、IJCAI、IEEE TIP等人工智能、计算机视觉领域国际顶级/知名会议和期刊论文40余篇。担任SCI期刊FCS青年副主编,人工智能/多媒体顶级会议ACM MM、AAAI和PCM等多个知名国际会议的程序委员会委员,以及IEEE TIP、TNNLS、TMM等十余个国际知名期刊和会议审稿人。
杨晴虹
北航副教授,高级工程师。北航博士,美国南康涅狄格州立大学图书信息科学访问学者,美国耶鲁大学技术创新实验室数据分析专家。发表国际论文几十篇,主要研究领域有机器学习、知识挖掘、大数据分析、项目管理和科研管理等。在机器学习、深度学习、神经网络等领域有丰富的实践经验,曾主导和参与多个相关的项目并取得成功。
谭中意
百度资深研发工程师,负责百度开源的整体推进工作,有近20年的开发和运营经验。在百度多个部门工作过,现负责以平台化/开源的方式提升百度内部整体的研发效率,并包括组织开源技术委员会,对百度对外的开源进行整体的推动工作。中国开源推进联盟(COPU)副秘书长。
蒋晓琳
百度公司技术管理部高级工程师,之前任职于中国信息通信研究院。曾参与主导超过30余项国家/行业标准,以及多项国际标准。在人工智能、云计算、大数据等领域参与申报和管理的国家重大专项达10余个。
白浩杰
北航特聘讲师,美国佛罗里达国际大学高性能数据实验室访问学者,致力于移动对象数据库、数据可视化、机器学习、深度学习等方向的研究。径点科技有限公司高级工程师,尚硅谷IT教育前端教学总监。
目录
前言
致谢
第1章 数学基础与Python库 1
1.1 Python是进行人工智能编程的
主要语言 1
1.2 数学基础 4
1.2.1 线性代数基础 4
1.2.2 微积分基础 8
1.3 Python库的操作 17
1.3.1 numpy操作 17
1.3.2 matplotlib操作 23
本章小结 27
第2章 深度学习概论与PaddlePaddle入门 28
2.1 人工智能、机器学习与深度学习 29
2.1.1 人工智能 30
2.1.2 机器学习 30
2.1.3 深度学习 31
2.2 深度学习的发展历程 32
2.2.1 神经网络的第一次高潮 32
前言
深度学习算法十分强大,但深入理解和灵活运用深度学习算法并不是一件容易的事情,尤其是复杂的数学模型和计算过程让不少同学刚入门就放弃了。现在市面上有不少科普型的书,主要作用是从宏观上描述深度学习的发展和用途,没有对细节的描述,只起到了提振读者信心的作用。同时,也不乏学界大牛的全而难的“大部头”著作,但是其中帮助初学者入门深度学习的内容并不多。本书针对此现状立足于PaddlePaddle框架,从算法到应用由浅入深地带领读者一步一步进入AI技术世界。
本书从实战的角度出发,旨在帮助读者掌握满足工业需求的实际技能。在真实工业开发中框架是必不可少的,现在市面上框架很多且各具特色,其中PaddlePaddle因为其具有上手容易、运行效率高、支持私有云等优势,受到越来越多的公司和个人的青睐。虽然开发者对PaddlePaddle表现出了浓厚的兴趣,可惜的是市面上还没有一本关于PaddlePaddle的书。为了让更多的开发者享受到深度学习带来的福利,于是由百度发起,特邀北航参与,两家精诚合作联袂打造了本书。
本书采用由简入繁的原则撰写而成。我们希望本书能成为一名能带领读者领略PaddlePaddle精妙的精神导游。从较为简单的线性回归、逻辑回归到较为复杂的RNN数字识别、个性化推荐、云上部署等,本书结合若干实例,系统地介绍了PaddlePaddle的使用特点。教会读者如何使用框架就像教会了读者一套外功拳法。然而本书不仅关注框架本身的细节用法,还非常注重基础知识和理论,目的是教会读者内功心法。书中既详细描述了神经网络的各个细节,也深入讲解了算法性能优化的思路和技巧,旨在帮助读者深入理解深度学习的精髓。
本书共分为10章,每一章都包含理论介绍和对应的代码实现。除了第1章讲述主要的数学基础外,其余各章都有PaddlePaddle的代码实现。
第1章介绍数学基础和Python库的使用。
第2章回顾神经网络的发展历程和机器学习的基本概念,使用线性回归作为PaddlePaddle的入门示例。
第3章以逻辑回归为主线介绍单个神经元的工作原理,分别使用numpy库和PaddlePaddle实现逻辑回归模型的猫脸分类。
第4章开始正式介绍神经网络。以双层的网络为例深入讲解BP算法的计算过程,分别用numpy库和PaddlePaddle实现“花”的点集分类问题。
第5章介绍深度神经网络的相关知识,总结神经网络的核心算法运算过程。然后使用深度网络再次分别使用numpy库和PaddlePaddle实现猫脸分类。
第6章以图像分类为切入点深入讲解卷积神经网络的相关细节,同时介绍几种经典的网络模型。接着介绍用PaddlePaddle实现基于MNIST数据集的手写数字的识别。
第7章介绍个性化推荐系统的算法,包括基于传统机器学习的推荐方法和基于深度学习的推荐方法,其中重点介绍深度学习的融合推荐系统。同时介绍使用PaddlePaddle在ml-1m 数据集上完成推荐系统的具体实现。
第8章以个性化推荐系统为例,详细讲解PaddlePaddle Cloud的使用方法,介绍在云上如何创建、配置集群,如何提交单节点任务等,并实现基于PaddlePaddle Cloud搭建分布式深度学习推荐网络模型。
第9章介绍PaddlePaddle的又一个应用场景,即广告点击通过率预估(CTR),重点介绍CTR的基本过程和常见模型,然后基于Kaggle数据集网站的Avazu数据集,使用PaddlePaddle实现训练和预测的整个过程。
第10章系统介绍算法优化的思路和方法。从深度学习系统的实践流程开始,介绍评估和调优策略等重要概念和思想,并结合实例给出调优的具体效果。
本书适合的读者主要包含:
对PaddlePaddle框架感兴趣的开发者;
希望学习深度学习的在校大学生和在职的程序员;
从事深度学习教学工作的一线教师;
希望深入理解深度学习的产品经理。
序言
我们正处在一个巨变的时代,人工智能已经成为这个时代的主题。人工智能成为第四次工业革命的核心驱动力,并将像机械化、电气化、信息化一样,最终渗透到每一个行业的每一个角落,将人类历史推入一个崭新的科技时代。人工智能将重塑全球制造业竞争新格局,引爆新一轮产业革命。我国和主要发达国家都在积极布局人工智能,将其作为新产业革命的引爆点,加大科技投入,加快产业化进程。人工智能将对战略新兴产业形成整体性突破,并带来巨大的市场空间。人工智能出现之后,那些重复性的工作,不管是体力的还是脑力的,都可能会慢慢消失,但是创意性的、更高端的工作将产生。
以1956年的达特茅斯会议(Dartmouth Conference)为起点,人工智能经过了60余年的发展,经历了逻辑推理理论和专家系统的两次繁荣,也经历了随之而来的两次寒冬。在最近的十年间,人工智能技术再次出现了前所未有的爆发性增长和繁荣期。机器学习技术,尤其是深度学习技术的兴起是本次人工智能繁荣大潮的重要推动力。以互联网为代表,国内外企业纷纷成立专注于人工智能的研发部门。在人工智能浪潮的推动下,学术界与工业界紧密合作,探索全新的科研领域,并将科技成果逐渐辐射到各行各业。
现阶段,人工智能在语音、图像、自然语言处理等技术上取得了前所未有的突破。本轮人工智能的快速发展离不开三大关键要素。
第一,大规模、高性能的云端计算硬件集群是人工智能发展的强劲引擎。目前深度学习算法模型结构复杂、规模大、参数多;模型的开发门槛很高。面对这些挑战,高性能的硬件,如GPU、FPGA、ASIC等,尤其是面向人工智能应用的专用芯片的发展,让机器学习的训练速度提升数倍。
第二,数据是推动人工智能发展的燃料,机器学习技术需要大量标注数据来进行模型训练,在海量数据样本的基础上挖掘信息,得到有用的知识,从而做出决策。移动互联网、IoT物联网的发展,不止让手机这样的移动设备接入互联网,音箱、电视、冰箱都可以接入云,获得人工智能的能力和服务。用户通过这些设备感受到AI带来的便利,实际其背后是云上提供的服务。云是AI的container,如果将AI比作电的话,云就是核电站,为各行各业提供源源不断的智能核动力。
第三,是不断推陈出新的人工智能算法,从卷积神经网络(Convolutional Neural Network,CNN)到递归神经网络(Recurrent Neural Network,RNN),从生成式对抗网络(Generative Adversarial Networks,GANs)到迁移学习(Transfer Learning)。每一次新算法的提出或改进,都带来了应用效果的大幅提升。人工智能技术在语音、图像、自然语言等众多领域的使用,推动了这次人工智能大潮的持续发展。
人工智能正在改变世界,它还处在婴儿时代,还有巨大的发展空间。人工智能将融合百业千行,并创造出全新的领域。
ABC融合,加速物理世界与数字世界的融合
综合来看,以人工智能(AI)为代表,大数据(Big Data)、云计算(Cloud Computing)等一系列互联网技术都在驱动着社会、经济的发展。大数据就像是推动技术和商业发展的燃料,能让服务商更了解用户需求,让用户更轻松地获得自己喜欢的商品和服务;而云计算提供了各种应用和服务运营的基础。ABC(AI、Big Data、Cloud Computing)三位一体驱动着“互联网物理化”的快速变革,将数字世界的互联网技术、商业模式又送回到物理世界,改变未来社会。
在2016年的百度云智峰会上,我提出了ABC三位一体智能云的概念。ABC智能云将成为行业智能转型的载体。有别于传统的云,ABC智能云不仅能提供大规模的计算资源,更可以将行业数据转换为知识,特别是不同行业的知识,如工业、能源、金融、媒体等。随着云上数据的不断聚集,ABC智能云将提供越来越多的知识,进而为行业提供分析、预测、自动化等AI能力,帮助传统行业进行改造,大幅提升其生产力。AI甚至可以建立一系列新的产品、服务,如智能家居、无人车等。AI的商业化途径是通过数据加算法、软件与专用硬件这样ABC三位一体的智能云来实现的,从而实现用户价值并产生商业价值,这样更多的数据和更大的价值将进入创新循环阶段,而且创新速度将越来越快。
发展AI需要开放的生态和交叉领域的人才
人工智能是第四次工业革命的核心驱动力,是中国历史性的机遇。此轮人工智能革命中,我国与领先国家几乎同时起步,并且拥有培育人工智能发展的最佳土壤。一方面,我国有良好的政策环境,在2017年十二届全国人大五次会议上,“人工智能”这一表述首次出现在政府工作报告中。2017年7月,国务院印发了《新一代人工智能发展规划》,提出了我国新一代人工智能发展的指导思想、战略目标、重点任务和保障措施。《规划》提出,到2030年,中国成为世界主要人工智能创新中心,人工智能核心产业规模超过1万亿元,带动相关产业规模超过10万亿元。另一方面,在人才储备方面,人工智能领域的华人科学家人才济济。虽然从突破性科研贡献的数量和质量,以及科研成果的影响力来看,中国与美国还有差距,但是在通用技术方面,中国在计算机视觉和语音识别等领域都达到了世界一流水平。中国企业也正在从应用驱动型创新向技术驱动型创新转移。
人工智能需要数学基础好的人才,而中国学生有非常强的数理基础,中国人工智能专业博士生约有3万人。人工智能时代,对人才的要求是做“三好学生”——数学好、编程好、态度好。首先,是数学好,人工智能技术的研发需要很深厚的数学功底,线性代数、概率论、离散数学、模型优化等都需要有深厚的数学专业积累;其次,是编程好,人工智能技术的落地实现,乃至形成商业化产品,需要有很强的工程开发能力,将理论实现和落地;最后,是态度好,我们处在一个快速变化的时代,新技术不断涌现,社会需求和知识更新更是瞬息万变,技术人才需要主动学习、协调和整合资源,从而达成目标,和团队及项目共同成长。Machine is learning, you must keep learning。每天都要学习,机器在学习,你必须要学得更快,才不会被机器淘汰,包括做交叉学科的研究。
作为最早深耕人工智能的科技公司之一,百度于2016年将曾两获公司最高奖的深度学习平台PaddlePaddle(Parallel Distributed Deep Learning)开源至GitHub社区,方便更为广泛的技术人员加入到人工智能领域。该平台可实现亿万级别海量数据的高性能计算,其主要特点是训练算法高度优化,并充分利用了GPU和FPGA等异构计算资源加速运算,支持大规模数据量的分布式训练,是研发人工智能基础技术的基础。PaddlePaddle广泛应用于百度自动驾驶、图像识别、语音、自然语言理解等领域。
PaddlePaddle的开源大幅提高了人工智能的开发速度,让深度学习变得简单、快速。北京工业大学的学生就曾利用PaddlePaddle平台为平谷的桃农制造了一台智能桃子分拣机,可以根据桃子的颜色、大小、光泽等诸多特征实现智能分拣,分桃准确率达90%以上,解放了人力,提高了生产效率。
人工智能是一项工具,要更好地为人所用,本书为我们开启了一扇走入人工智能世界的大门,帮助大家深入浅出地了解百度的深度学习开源平台。站在巨人的肩膀上,能看得更远!
百度公司总裁
张亚勤博士
媒体评论
深度学习框架是各国科技巨头竞争的高地,非常高兴看到百度一直以来深耕该领域,也使得我国在深度学习技术领域、基础研究领域、应用领域有更多的主导权和话语权。本书是个非常实用的工具,可以加快深度学习基础教育的普及,吸纳更多人才为国所用。
—— 李德毅中国工程院院士、国际欧亚科学院院士、中国人工智能学会理事长
百度坚信开放的AI生态才有活力和竞争力。一直以来我们都以开放的心态与学术界、产业界各方深入合作,将千锤百炼的技术和数据与广大开发者、行业伙伴共享,让更多人能参与到以人工智能为核心驱动力的新一轮产业变革中来。深度学习框架为各种人工智能应用提供了开发核心系统和工具,降低了人工智能技术的开发门槛,有效提高了深度学习的效率和质量。PaddlePaddle致力于为开发者提供适合中国国情的深度学习框架,尽可能满足中国开发者的需要,共同促进人工智能的发展,推动变革与创新,让人们的生活更美好。
—— 王海峰百度公司高级副总裁/AI技术平台体系(AIG)总负责人
深度学习是人工智能时代的加速器,发展和推广自主知识产权的深度学习平台势在必行,本书是一个很好的开端和尝试。本书从基本概念到模型实现,从理论知识到工程落地,涵盖了图像领域、自然语言处理领域的常用方法和模型,以及基于云的分布式计算等高级主题,相信能够助力开发者更快地落地产品。由于本书对理论知识采用循序渐进的展开方式,相信也十分适合教育工作者在AI教学时参考和使用。
—— 吕卫锋北京航空航天大学计算机学院院长 教授/博士生导师
深度学习作为人工智能最热门的研究领域,已经成为新一轮国际科技竞争高地,而开源深度学习框架将成为这一轮国际角逐的轴心武器,关系到人工智能行业整体的发展基础,其自主化、生态化的快速发展将推动我国自主人工智能软件、硬件的研发和软硬件技术同步发展,提升我国在人工智能领域的实力。百度已在深度学习领域深耕多年,为了培养更多深度学习人才,积极推动PaddlePaddle落地,我们也深耕AI教育,服务开发者,走进高校,构建深度学习内容体系,广泛赋能给各行各业。
—— 陈尚义百度技术委员会理事长/百度技术学院院长