最近很多想入门深度学习的读者表示,深度学习的涉及面比较广,对数学的要求比较高,想学也不太敢学,生怕认真学了却没学会。
关于深度学习,网上的资料很多,不过大部分都不太适合初学者。有几个原因:
1、深度学习需要一定的数学基础。如果不用深入浅出地方法讲,有些读者就会有畏难的情绪,因而容易过早地放弃。
2、市面上的深度学习书籍普遍偏理论,缺乏能够动手实践的书籍快速上手。
3、视频课程普遍英文版居多,书籍和视频搭配的深度学习著作很少。
那么学习深度学习,初级者该怎么入手呢?很多初学者都希望有一本既有书籍又有视频,当然还想要有一个比较好的学习氛围和大家一起学。
所以,量子位向大家推荐李沐大神的《动手学深度学习》,这是沐神新作,也是非常适合新手学习的入门书籍。并且,7月20日前购买可享6.6折优惠哦~
理由一:重“动手学”,真正意义的可实操,能运行
在《动手学深度学习》出版前,Ian Goodfellow 的《深度学习》是当时最好的入门书,但它只做了一般的模型描述而没有如何实际使用它们以及效果怎么样。《动手学深度学习》是一本既能讲原理、又有实现和实际使用、不断更新、而且容易读的书。
在过去两年的摸索中,这本入门书在传统意义的书上往前走了几步:
这本书代码的实现很多是基于 MXNet(一开始的目标是为 MXNet 写个好点文档),我们也考虑过要不要提供一个 Pytorch 或者 Keras 的版本。后来发现这个担心比较多余。框架就是一个工具,工具之间的那些不同带来的困难比起理解模型和调出结果来小很多。
课上发现就算是没有接触过这些工具的学生,用 MXNet 做作业,然后在基于不管用啥框架实现的现有算法再开发做项目并没有多大困难。或者说困难都不来自工具本身,特别是算法实现都在课上讲过一遍的情况下。
理由二:亚马逊首席科学家李沐等大师作品,历时三年沉淀
本书四位作者均是亚马逊科学家,对人工智能领域颇具口碑,李沐老师被众多粉丝喜爱更多的来源于他的口碑公开课,纯中文的授课方式得到了大家的普遍认可。
阿斯顿·张(Aston Zhang)
亚马逊应用科学家,美国伊利诺伊大学香槟分校计算机科学博士,统计学和计算机科学双硕士。他专注于机器学习的研究,并在数个顶级学术会议发表过论文。
他担任过 NeurIPS、ICML、KDD、WWW、WSDM、SIGIR、AAAI 等学术会议的程序委员或审稿人以及 Frontiers in Big Data 期刊的编委。
李沐(Mu Li)
亚马逊首席科学家(Principal Scientist),加州大学伯克利分校客座助理教授,美国卡内基梅隆大学计算机系博士。他专注于分布式系统和机器学习算法的研究,是深度学习框架 MXNet 的作者之一。
他曾任机器学习创业公司 Marianas Labs 的 CTO 和百度深度学习研究院的主任研发架构师。
扎卡里·C. 立顿(Zachary C. Lipton)
亚马逊应用科学家,美国卡内基梅隆大学助理教授,美国加州大学圣迭戈分校博士。他专注于机器学习算法及其社会影响的研究,特别是在时序数据与序列决策上的深度学习。
这类工作有着广泛的应用场景,包括医疗诊断、对话系统和产品推荐。他创立了博客 “Approximately Correct”(approximatelycorrect.com)。
亚历山大·J. 斯莫拉(Alexander J. Smola)
亚马逊副总裁/ 杰出科学家,德国柏林工业大学计算机科学博士。他曾在澳大利亚国立大学、美国加州大学伯克利分校和卡内基梅隆大学任教。
他发表了超过 200 篇学术论文,并著有 5 本书,其论文及书被引用超过 10 万次。他的研究兴趣包括深度学习、贝叶斯非参数、核方法、统计建模和可扩展算法。
理由三:图书+视频一起学
在学习过程中,大家有一个普遍的共识,看书理论是一回事,写代码是一回事,调代码又是另一回事,每件事之间都有一个 gap,爬都爬不过去,跌跌撞撞很痛苦。
《动手学深度学习》搭配有免费的公开课视频,把写代码和调代码也当作一回事,跟理论一起讲一起演示。跟着大牛一起学,相信会让你事半功倍。
《动手学深度学习》录像有两个场景,一个是主体是幻灯片,讲师在角落。另一个主体是黑板。
过去几年里《动手学深度学习》作者为了让学员更好的学习深度学习,尝试了各种 DIY 手段来通过便宜的器材来录制准专业的视频。下图是这次使用的器材。
通过多种器材的摸索,终于呈现了现在的视频学习模式!
理由四:众多人工智能领域大咖鼎力推荐
本书得到了来自学术界和工业界的韩家炜、Bernhard Schölkopf、周志华、张潼、余凯、漆远、沈强等众多实力大咖鼎力推荐。
来自学术界对此书的评价:
这是一本及时且引人入胜的书。它不仅提供了深度学习原理的全面概述,还提供了具有编程代码的详细算法,此外,还提供了计算机视觉和自然语言处理中有关深度学习的最新介绍。如果你想钻研深度学习,请研读这本书!
——韩家炜,ACM 院士、IEEE 院士、美国伊利诺伊大学香槟分校计算机系 Abel Bliss 教授
这是对机器学习文献的一个很受欢迎的补充,重点是通过集成 Jupyter 记事本实现的动手经验。深度学习的学生应该能体会到,这对于熟练掌握这一领域是非常宝贵的。
——Bernhard Schölkopf,ACM 院士、德国国家科学院院士、德国马克斯• 普朗克研究所智能系统院院长
这本书基于MXNet 框架来介绍深度学习技术,书中代码可谓“所学即所用”,为喜欢通过Python 代码进行学习的读者了解、接触深度学习技术提供了很大的便利。
——周志华,ACM 院士、IEEE 院士、AAAS 院士、南京大学计算机科学与技术系主任
这是一本基于Apache MXNet 的深度学习实战书籍,可以帮助读者快速上手并掌握使用深度学习工具的基本技能。本书的几个作者都在机器学习领域有着非常丰富的经验。他们不光有大量的工业界实践经验,也有非常高的学术成就,所以对机器学习领域的前沿算法理解深刻。这使得作者们在提供优质代码的同时,也可以把最前沿的算法和概念深入浅出地介绍给读者。这本书可以帮助深度学习实践者快速提升自己的能力。
——张潼,中国香港科技大学计算机科学与数学教授
来自工业界:
虽然业界已经有不错的深度学习方面的书籍,但都不够紧密结合工业界的应用实践。我认为《动手学深度学习》是最适合工业界研发工程师学习的,因为这本书把算法理论、应用场景、代码实例都完美地联系在一起,引导读者把理论学习和应用实践紧密结合,知行合一,在动手中学习,在体会和领会中不断深化对深度学习的理解。因此我毫无保留地向广大的读者强烈推荐《动手学深度学习》。
——余凯,地平线公司创始人、首席执行官
强烈推荐这本书!它其实远不只是一本书:它不仅讲解深度学习背后的数学原理,更是一个编程工作台与记事本,让读者可以一边动手学习一边收到反馈,它还是个开源社区平台,让大家可以交流。作为在AI 学术界和工业界都长期工作过的人,我特别赞赏这种手脑一体的学习方式,既能增强实践能力,又可以在解决问题中锻炼独立思考和批判性思维。
作者们是算法工程兼强的业界翘楚,他们能奉献出这样的一本好的开源书,为他们点赞!
——漆远,蚂蚁金服副总裁、首席人工智能科学家
一年前作者开始在将门技术社群中做深度学习的系列讲座,当时我就对动手式讲座的内容和形式感到耳目一新。一年过去,看到《动手学深度学习》在持续精心打磨后终于成书出版,感觉十分欣喜!
深度学习是当前人工智能领域里炙手可热的领域,吸引了大量感兴趣的开发者踊跃学习相关的开发技术。然而对大多数学习者而言,掌握深度学习是一件很不容易的事情,需要相继翻越数学基础、算法理论、编程开发、领域应用、软硬优化等几座大山。因此学习过程不容易一帆风顺,我也看到很多学习者还没进入开发环节就在理论学习的过程中抱憾放弃了。然而《动手学深度学习》却是一本很容易让学习者上瘾的书,它最大的特色是强调在动手编程中学习理论和培养实战能力。阅读本书最愉悦的感受是它很好地平衡了理论介绍和编程实操,内容简明扼要,衔接自然流畅,既反映了现代深度学习的进展,又兼具易学和实用特性,是深度学习爱好者难得的学习材料。特别值得称赞的是本书选择了 Jupyter 记事本作为开发学习环境,将教材、文档和代码统一起来,给读者提供了可以立即尝试修改代码和观察运行效果的交互式的学习体验,使学习充满了乐趣。
在过去的一年中,作者和社区成员对《动手学深度学习》进行了大量优化修改才得以成书,可以说这是一本深度学习前沿实践者给深度学习爱好者带来的诚心之作,相信大家都能在阅读和实践中拥有一样的共鸣。
——沈强,将门创投创始合伙人
第一部分(第1章~第3章)涵盖预备工作和基础知识。第1章介绍深度学习的背景。第2章提供动手学深度学习所需要的预备知识,例如,如何获取并运行本书中的代码。第3章包括深度学习最基础的概念和技术,如多层感知机和模型正则化。如果读者时间有限,并且只想了解深度学习最基础的概念和技术,那么只需阅读第一部分。
第二部分(第4章~第6章)关注现代深度学习技术。第4章描述深度学习计算的各个重要组成部分,并为实现后续更复杂的模型打下基础。第5章解释近年来令深度学习在计算机视觉领域大获成功的卷积神经网络。第6章阐述近年来常用于处理序列数据的循环神经网络。阅读第二部分有助于掌握现代深度学习技术。
第三部分(第7章~第10章)讨论计算性能和应用。第7章评价各种用来训练深度学习模型的优化算法。第8章检验影响深度学习计算性能的几个重要因素。第9章和第10章分别列举深度学习在计算机视觉和自然语言处理中的重要应用。这部分内容读者可根据兴趣选择阅读。
上图描绘了本书的结构,其中由A章指向B章的箭头表明A章的知识有助于理解B章的内容。
本书的一大特点是:每一节的代码都是可以运行的。读者可以改动代码后重新运行,并通过运行结果进一步理解改动所带来的影响。
我们认为,这种交互式的学习体验对于学习深度学习非常重要。因为深度学习目前并没有很好的理论解释框架,很多论断只可意会。
文字解释在这时候可能比较苍白无力,而且不足以覆盖所有细节。读者需要不断改动代码、观察运行结果并总结经验,从而逐步领悟和掌握深度学习。
我们提供代码的主要目的在于增加一个在文字、图像和公式外的学习深度学习算法的方式,以及一个便于理解各个算法在真实数据上的实际效果的交互式环境。
书中只使用了 MXNet 的 ndarray、autograd、gluon 等模块或包的基础功能,从而使读者尽可能了解深度学习算法的实现细节。即便读者在研究和工作中使用的是其他深度学习框架,书中的代码也有助于读者更好地理解和应用深度学习算法。