本书系统地描述了深度学习的基本理论算法及应用。全书共14章,第1~3章论述了数学基础、机器学习基础和深度学习基础;第4~7章介绍了一些经典网络及计算机视觉领域中常用的CNN、RNN、GAN等网络结构技术;第8~9章介绍了深度学习在计算机视觉领域的目标检测及图像分割两大应用;第10~14章介绍了计算机视觉领域主要的优化方法及思路等,包括迁移学习、网络架构及训练、网络优化技巧、超参数调整及模型的压缩和加速等。本书凝聚了众多一线科研人员及工程师的经验,旨在培养读者发现问题、解决问题、扩展问题的能力。
本书内容取材于编者在日常学习过程中总结的知识点及各大公司常见的笔试、面试题。本书可为高等院校计算机科学、信息科学、人工智能、控制科学与工程、电子科学与技术等领域的研究及教学人员提供参考,也可为相关专业本科生及研究生提供思考方向,还可为深度学习及计算机视觉领域的初、中级研究人员和工程技术人员提供参考,尤其适合需要查漏补缺的应聘者及提供相关岗位的面试官阅读。
众多一线科研人员及工程师的经验汇总,手把手带你走入深度学习的领域!
推荐序一
计算机技术的加速发展推动了人工智能领域的进步。这几年,人工智能技术蓬勃发展,相信多数人都会思考人工智能技术是否会对自己的工作产生影响。人们关心人工智能什么时候以什么方式改变我们现在的工作。这些问题的答案取决于人工智能技术本身的发展。
从1956年人工智能元年开始算起,这项技术至今已有64年的历史。不同于以前采用的技术,现在的人工智能是以模拟人类大脑工作方式的人工神经网络和海量数据为驱动力而发展起来的。
这些创新性的人工智能技术的发展给我们带来了新的机遇,但同时也对这个行业的从业者提出了新的挑战。用计算机科学家艾兹格·迪科斯彻的话来说:“机器是否能够思考,与潜水艇是否能够游泳的问题很像。”识别人脸的人工智能不需要和人类采用相同的方法,却会以我们永远无法达到的速度、准确率,以及更低的成本来完成相同的工作。
以人工神经网络为主的技术路线相当于授机器以“渔”,人类工作的主要目的是教会机器如何从数据(经验)中学习,形成机器判断、处理的逻辑,并且从学习中不断进步。相比之下,从前的技术采用的是授机器以“鱼”的方法,直接用编程的方式将判断的逻辑教授给机器。
授机器以“渔”无疑要比授机器以“鱼”困难很多。我们不仅要确保机器能够像人类一样进行判断,还要确保机器能够根据环境变化不断学习。这意味着人工智能从业者不仅要对数据和其背后的行业知识有深刻的理解,同时还要对人工智能技术相关的各种知识有全面的了解。只有这样,才能针对具体问题,选择和开发解决问题的工具。
本书给广大读者提供了系统地学习人工智能相关技术的平台。从必须具备的数学基础、机器学习基础、深度学习基础开始,逐步深入到人工智能技术中各种热门的人工神经网络算法,然后结合实际问题,介绍目标检测、图像分割等使用的具体技术。不仅如此,本书还深入讲解了在模型创建和训练过程中,算法优化和参数调整的细节。可以说,本书囊括了深度学习所需要的所有知识体系,是一本行业从业者必备的百科全书。
本书作者谈继勇是南方科技大学和哈尔滨工业大学联合培养的博士。他从2011年就开始对人工智能进行研究,是这个领域的一员老兵。他在深圳瀚维智能医疗科技公司带领团队研发的多款智能机器人及人工智能产品都已经或即将进入量产阶段。从这些成绩中可以看出作者扎实的理论基础和实现技术转化的能力。相信阅读本书的小伙伴在实际工作中可以从本书获得许多帮助,让我们一同为人工智能技术的发展做贡献。
周德标
IBM Watson健康大中华区首席运营官
推荐序二
春秋战国时期,思想家荀子就在《荀子·正名》中提出了智能的概念。今天,在快速发展的数据、算法和算力驱动下,以深度学习为代表的人工智能技术在很多方面都取得了巨大的突破,人工智能技术的应用随处可见。通过语音助手,我们能够进行预约服务;通过摄像头人脸识别,我们能够进行身份的安全验证;通过增强现实游戏,我们能够与虚拟世界中的物体进行互动;通过对采集的图像视频进行智能选择与美化,我们能够进行更为友好的网络社交。人们不禁会问,是什么在推动着人工智能技术的发展呢?毫无疑问,其根本是人。历史上每个阶段的每个突破都要归功于众多优秀的学者和研发人员的不懈努力。
当前,人工智能技术的普及和教育已经引起社会各界的极大重视。2017年,国务院印发了《新一代人工智能发展规划》,明确指出:人工智能成为国际竞争的新焦点,应逐步开展全民智能教育项目,培养复合型人才。
《深度学习500问——AI工程师面试宝典》一书的问世无疑能给广大人工智能从业者和技术研发人员带来福祉。本书全面、系统地对深度学习技术进行了讲解,从深度学习涉及的数学基础和机器学习基础开始,到基础的卷积神经网络、循环神经网络和当前热门的生成对抗网络,再到以目标检测、图像分割两类常用任务来介绍深度学习的应用,内容非常丰富。另外,本书还从面向实际部署的角度,系统讲解了模型迁移、开发工具、网络优化和调参、模型压缩与加速等技术。
希望本书的读者能够学有所成!
葛仕明
中国科学院博士生导师
前 言
为什么要写这本书
人工智能学科自诞生以来,技术理论不断发展,应用领域不断延伸。深度学习是机器学习和人工智能研究的最新趋势之一,可以使具有多个处理层的计算模型实现对多层次抽取数据表征的学习,在智能机器人、图像处理、自然语言处理及语音识别等领域产生了众多应用成果。
随着人工智能技术的发展及国家政策的支持,人工智能人才需求井喷。大量的研究者将深度学习方法作为首要的研究内容。从事与深度学习相关的工作是一件令人自豪的事情,同时,理解深度学习也是一件神秘和令人兴奋的事情。但深度学习的理论性较强、门槛较高,要理解该领域的知识,读者需要具有一定的数学基础,需要学习统计分析、模式识别等专业领域的知识。很多读者想深入研究又望而却步,因为他们缺乏必要的知识,在知识的深入及迁移上有难以跨越的鸿沟。
在学习深度学习相关知识的时候,我经常通过反复思考某个问题来指导自己,查阅资料并且记录成文,经过一段时间后发现整理的内容越来越丰富,从问题集开始,逐渐形成了有序且关联的篇章,我将其命名为《深度学习500问》。2018年6月,我陆续将整理的内容上传到GitHub,方便自己远程更新。意外的是,在2018年10月的时候,这些内容突然引起众多阅读者的极大反响,在CSDN、AI科技大本营、量子位、知乎、雷锋网、知识星球等众多一线人工智能类公众号及网站上相互传开。在最开始的两周内,累计星标就超过1万,在GitHub趋势榜的全球月、周排名中多次居首,这些内容成为一份火爆的深度学习方面的资料,可以作为面试秘籍,也可以作为工程实践的辅助查询手册。随后全球有超过万名的老师、学生、研究者及工程师参与到项目中来,通过广大研究者的集思广益,这些内容最终形成了一个更充实、更全面的AI相关知识库。截至2020年7月,《深度学习500问》在GitHub上的累计星标超过4万。我们本着将内容统一化、精细化、准确化的初衷,联合众多读者一起将其完善、修改并成书。参与成书的很多朋友基本都素未谋面,正是对知识的渴望和坚持技术开源的精神,让我们走到了一起,也正是大家的共同努力,才有了本书的出版。
在本书的撰写过程中,我们力求深入浅出,从基础到入门,从进阶到拓展,尽量定性地进行描述,并较为全面地给出思路和阐释。本书旨在向读者介绍知识的同时培养读者的思维方法,通过不断地刨根问底,使读者在实际的研究与开发过程中快速定点、查漏补缺。书中给出了很多经验性的总结,希望可以帮助读者快速解决问题。
读者反馈
为了尽可能满足读者的需要,本书的电子版同步在GitHub上免费发布,感谢在GitHub上提交内容和建议的朋友们。本书的内容参考了大量的论文、博客,感谢这些开源贡献者。由于本书涉及的数学公式比较复杂、内容涵盖面广且编者水平有限,如发现任何问题,欢迎读者通过以下方式联系编者,以便做出改进。
邮箱:scutjy2015@163.com
致谢
首先要感谢中科院葛仕明教授、香港中文大学(深圳)张家铭研究员及四川大学佃松宜教授,他们引导我进入深度学习、计算机视觉研究领域。感谢鸿海科技集团首席技术官及首席投资官陈杰良博士及富士康机器人与人工智能实验室负责人蒋祖力博士,他们为我提供了很多在外交流学习的机会,写这本书的最初想法是在富士康机器人与人工智能实验室里萌生的。
同时,感谢CSDN的创始人蒋涛,感谢谢工、谷磊、周翔、许爱艳、王金许等,感谢电子工业出版社的符隆美和其他编辑老师们,他们在我写作的过程中给予我的指点和教诲确保了本书的权威性和严谨性。感谢电子工业出版社组织的作译者交流活动,让我得以认识各领域的专家,例如IBM Watson健康大中华区首席运营官周德标、阿里巴巴高级专家阮威等,我向他们学习了许多专业知识和职业发展的成功奥秘。感谢顺丰科技计算机视觉总工程师宋翔及熊君君等前辈在工作中曾给予我技术指导。
感谢四川大学的师弟师妹们,马丛俊、杨沐杰、覃寓媛、王秋爽、张月龄、税懿、李振阳、何贵为本书制作了很多图表;感谢高日强、刘帅伟、孙洪卫、刘元德、黄钦建、刘畅、李骁丹、杨国峰、梁志成、程泽华、张达峰、乔成磊、徐武民、刘鹏、崔永明、白德乾、袁笛、熊楚原、周迎威、明杰、何建宏、盛泳潘、钟申俊、廖文彤、琚兆学等众多硕士、博士及很多在GitHub上默默贡献的科研工作者和工程师为本书的编写提出了很多宝贵的意见和建议。
感谢每一位为本书做出贡献的朋友,我谨以此书作为回礼。
谈继勇