Deep Learning with Python (2/e)

François Chollet

出版时间

2021-12-21

ISBN

9781617296864

评分

★★★★★
书籍介绍
这不仅仅是一本教人调用Keras库写代码的教程。作为Keras作者Chollet的著作,它最独特的地方在于:作者始终在追问深度学习'为什么有效'——他提出深度学习的本质是在高维数据空间中寻找低维'流体',并用几何变换的视角解释网络的局限。读者印象最深的,是CNN、RNN、Transformer三章讲得'深入浅出,不浅薄也不过于硬核',很多概念的由来被讲得恰到好处。更难能可贵的是,书中对人工智能未来、图像生成等前沿话题的展望,让不少读者感到'不光是技术,更是世界观'。它适合那些不满足于'调包'、想真正理解模型背后思想的入门者。
作者简介
François Chollet works on deep learning at Google in Mountain View, CA. He is the creator of the Keras deep-learning library, as well as a contributor to the TensorFlow machine-learning framework. He also does AI research, with a focus on abstraction and reasoning. His papers have been published at major conferences in the field, including the Conference on Computer Vision and Pattern Recognition (CVPR), the Conference and Workshop on Neural Information Processing Systems (NIPS), the International Conference on Learning Representations (ICLR), and others.
AI导读
核心看点
  • Keras作者亲授,从第一性原理出发,用直观语言解释深度学习核心概念。
  • 涵盖计算机视觉、NLP及生成模型等前沿应用,更新50%以上全新内容。
  • 不仅传授代码实现,更探讨智能本质与AI未来,兼具技术深度与哲学思考。
读者共识
  • 公认最佳深度学习入门书,讲解深入浅出,代码示例详略得当,极易上手。
  • 作者文笔极佳,对张量、计算图等抽象概念的解释清晰透彻,节省大量摸索时间。
  • 不仅是技术手册,更包含对AI未来的深刻洞察,被誉为兼具技术性与世界观的神作。
精彩摘录
  • "这就是智能的本质。它能够有效利用你所掌握的信息,从而在面对不断变化且不确定的未来时能够做出成功的行为。笛卡儿所说的“理解”就是这种非凡能力的关键:能够挖掘过去的经验,形成模块化、可重复使用的抽象概念。这些抽象概念可以被快速重新使用,以处理新的情况并实现极端泛化。"
  • "其基本思想是:要想在新的表示空间中找到良好的决策超平面,你不需要在新空间中直接计算点的坐标,只需要在新空间中计算点对之间的距离,而利用核函数(kernel function)可以高效地完成这种计算。核函数是一个在计算上能够实现的操作,将原始空间中的任意两点映射为这两点在目标表示空间中的距离,完全避免了对新表示进行直接计算。核函数通常是人为选择的,而不是从数据中学到的——对于SVM来说,只有分割超平面是通过学习得到的。"
  • "训练开始时,优化和泛化是相关的:训练数据上的损失越小,测试数据上的损失也越小。这时的模型是欠拟合(underfit)的,即仍有改进的空间,网络还没有对训练数据中所有相关模式建模。但在训练数据上迭代一定次数之后,泛化不再提高,验证指标先是不变,然后开始变差,即模型开始过拟合。这时模型开始学习仅和训练数据有关的模式,但这种模式对新数据来说是错误的或无关紧要的。"
  • "总结一下,防止神经网络过拟合的常用方法包括: 获取更多的训练数据 减小网络容量 添加权重正则化 添加dropout"
  • "Besides such clear-cut, explicit analogies, we’re constantly making smaller, implicit analogies – every second, with every thought. Analogies are how we navigate life. Going to a new supermarket? You’ll find your way by relating it to similar stores you’ve been to. Talking to someone new? They’ll re"
用户评论
2nd edition claims to be fairly different from 1st edition, with 1/3 longer and 75% novel content. However, after reading the whole book (7-8h), the main contents of the 2nd edition is quite similar to the 1st edition, only with more noticeable new contents in ch01-02, ch09, and ch14. Overall, it is a fantastic book to deepen understanding of DL.
最好的深层学习入门书,没有之一。相较第一版至少有一半以上内容增加,囊括了最新的transformer。阅读的时候就有一种:新书到手,天下我有!的感觉。不愧是keras的作者,对deep learning的讲解深入浅出,尤其是很多概念的由来,模型的训练tricks。除了最后一章对于未来machine learning的构想只适合了解以外,私以为每一章的每个细节都适合多次阅读,并且在实践中反复测试。读完以后,一个感觉就是有些相对厉害的中牛(姑且称之为不愿意分享核心技术的炼丹师们),不会告诉你他们读过这本书,因为这本书不仅仅是理论+实践那么简单,里面还有很多心法。很多机器学习和深层学习的书会给你讲原理,但很少告诉你如何提高训练精度。这本书会让你少走很多弯路!
一年前看过第一版,但忘的差不多了,这次就第一版和第二版一起看的,差别还是挺大的,前面那个说“quite similar to the 1st edition”的人压根就没仔细看。我所有代码都跑了,同时和第一版的做了对比,差别在:很多数据预处理用了最新的集成在keras里的函数,而第一版基本是用base python做的,其他的部分如果keras有更新,书里也跟进了;介绍了第一版以来到2020年书出版的时候DL的新进展,比如介绍了attention;对于用RNN来做时序分析单独写了一章;第7章关于深入实用keras的介绍比第一版深入多了,不过这部分内容更推荐那本《机器学习实战》 hands-on那本,虽然本书是keras之父写的,那不如人家介绍的好。最后,能看第二版的尽量第二版
略读了一遍
是最好的deep learning教材了:理论部分intuitive的恰到好处,不浅薄也不过于硬核,尤其是CNN,RNN,Transformer这三章给我留下了非常深刻的印象,穿插的例子都相当make sense;代码部分详略得当,text 这一章比较复杂,顺便刷新了对class的认识,Keras真是好用,谁用谁知道! 最后一章深入讨论了AI,我很认同artificial intelligence 应该称为 artificial cognition这个论点,眼下的AI 和底特律里的仿生人完全不是一回事,它们只是在gradient decent 罢了【不是】
非常优秀的入门书! 这本书对时间序列、NLP、计算机视觉、图像生成都做了充分而细致的介绍,紧跟前沿。同时揭示了深度网络的本质——找到高维数据空间的低维流体,并解释了基于几何变换和差分的深度网络的局限性。 本书还对人工智能的未来进行了展望,例如添加程序处理原语,让神经网络不仅能捕捉特征,还能操控结构。 同时,作为 Keras 开发者,作者对架构、抽象都有深刻理解,在介绍概念和细节的同时,会解释它在系统中的作用、设计思路和数学原理。从使用者、研究者和框架开发者三个角度进行阐述,完整的回答了“怎么用”、“为什么可以用”和“这么用的意义”的问题。
写的通俗易懂,入门最佳读物。
下载
收藏