《解剖深度学习,从0实现深度学习库》和一般深度学习书及教程不同,不是教你使用工具(武器)而是教你制造工具(武器)而是教你如何从底层实现角度理解深度学习的基本原理,本书没有复杂的数学公式,不需要多深的数学,针对小白,详细剖析深度学习的基本原理与实现!市面上这样的书很少,如日本人斋藤康毅力写的《深度学习入门》、美国人Michael Nielsen写的《Neural Networks and Deep Learning》都是不错的深度学习入门书,但只讲解了一般的全连接神经网络的原理和底层实现,缺少了深度学习的基础核心的网络如卷积神经网络CNN、循环深解网络RNN、生成模型(是登场对抗网络GAN)等内容。因此,本书具有下列特点:庖丁解牛的通俗易懂讲解、不依赖深度学习库从底层实现深度学习、内容全面。
学习了本书内容,你不再是API调用工,而是API开发者。相当于你掌握了深度学习的易筋经,市面上的书籍和课程,几乎都是教你使用现成的库,相当于教你使用某个工具,但内功没有,可能也玩得很溜,但底盘总是不稳。
《解剖深度学习,从0实现深度学习库》配套教学视频
腾讯课堂hwdong 的《解剖深度学习,从0实现深度学习库》配套教学视频。
网易云课堂hwdong 的《解剖深度学习,从0实现深度学习库》配套教学视频。
另外,也宣传一下我的非常好的C语言版数据结构和C++版数据结构的视频课程。
另外,大家也可以购买我的另外2本书:“C++17从入门到精通”(清华大学出版社)和“Python3从入门到实战”(电子工业出版社)。
《解剖深度学习,从0实现深度学习库》电子工业出版社将在9月份出版。
本书的内容简介和前言如下:
内容简介
本书深入浅出地介绍了深度学习的基本原理和实现过程,用python和numpy从底层而不是借助于现有的深度学习库从零构建了自己的深度学习库。在介绍基本的Python编程、微积分和概率统计知识基础上,按照深度学习的发展脉络依次介绍了回归模型、神经网络、卷积神经网络、循环神经网络、生成网络等深度学习的核心基础知识,在深入浅出地剖析原理的同时给出了详细的代码实现过程。如同不是教你如何使用武器、手机而是教你如何自己制造武器、手机,本书不是已有深度学习库的使用教程而是剖析如何从0开发深度学习库。这种从0开始的原理与代码实现结合的方式可以使读者更好地理解深度学习的基本原理和流行的深度学习库的设计思想。最后,作为对照,还介绍了如何使用Pytorch深度学习库。
前言
从计算机发明以来,使机器具有类人类的智能一直是计算机科学家努力的目标,从1956年提出”人工智能”概念以来,人工智能研究经历了多次的高峰到低谷、低谷到高峰的起起落落的发展过程,从基于数理逻辑的规则推理到状态空间搜索推理、从专家系统到统计学习、从群智算法到机器学习、从神经网络到支持向量机,不同的人工智能技术曾经各领风骚。
近6年来,采用深度神经网络的深度学习大放异彩、突飞猛进,AlphaGo战胜人类围棋冠军、自动驾驶、机器翻译、语音识别、深度换脸等深度学习的成功应用不断吸引人们的眼球。作为机器学习的一个分支,深度学习使传统的神经网络技术起死回生,在所有的人工智能技术中“一枝独秀”、“独领风骚”、“舍我其谁”地奠定了其作为现代人工智能的霸主地位。
深度学习没有复杂、深奥的理论,在原理上仍然是传统的神经网络,即用一些简单的神经元函数组合成一个复杂的函数并采用简单的梯度下降法根据实际样本数据学习神经网络中的模型参数。其成功主要归因于计算机硬件特别是并行计算性能越来越强的图形处理器GPU和越来越多的大数据。
未来社会将是一个人工智能的社会,人工智能将无处不在,许多工作将被人工智能代替,已经成为社会的共识,世界主要国家也都纷纷制定了人工智能战略,中小学也开始开设人工智能课程。
借助于一些深度学习平台如tensorflow、pytorch、caffe,一个小学生可以轻松使用深度学习库去做人脸识别、语音识别等各种应用,所做的工作就是直接调用这些平台的API定义深度神经网络的模型结构和调试训练参数。这些平台使得深度学习变得非常容易,使深度学习走进了寻常百姓家,人工智能不再神秘。从高校到企业,各行各业的人们都在用深度学习开展各种研究与应用。
和任何技术一样,只有透彻地理解技术背后的原理,才能更好地应用该技术,网上有大量零散的文章讲解深度学习原理,也有一些深度学习课程和。而书本仍然是系统学习的重要途径,书面上的深度学习书籍主要分为几类:一类是针对专家或专业研究人员的偏重数学理论的书籍,这类书籍和学术论文一样,读者难以理解,这些书缺少原理的深度剖析和代码实现,读者即使费劲理解了原理可能仍然不知道如何去实现。另一类是工具类书籍,主要介绍如何使用各种深度学习平台,对原理的讲解非常少,使得读者无法理解代码背后的原理,只能依葫芦画瓢。还有一些书只是一些通俗读物,对每个技术都是浅尝辄止,原理和代码往往蜻蜓点水。也有极少的书在介绍原理的同时也有代码实现,并尽可能避免数学公式的推导。
作者认为,平台教程类的书籍具有时效性,书的出版周期往往1年之久,而平台的接口可能已经发生了一些变化甚至较大的改变,对于变化的平台,这类书籍几乎没有价值了。而原理性的书籍应该通俗易懂,尽量避免复杂、深奥的数学,但完全抛弃数学家几千年来发展出来的经典高等数学,而用小学数学描述函数求导对于具有高等数学知识的读者并不是一个最佳的选择。而市面上特别缺少在介绍原理的同时如何从底层而不是用深度学习库实现深度学习的通俗易懂的书籍。
为了照顾对数学感到困难的读者,本书第一章在介绍必须的python编程知识外,还尽量通俗地介绍一些必须的微积分和概率知识。在此基础上,本书由浅入深地从最简单的回归模型过渡到神经网络模型,采用从问题到概念,以易于理解的由浅入深的方式讲解基本概念和原理。既避免长篇大论又避免“惜字如金”,用简单的示例和简明通俗的语言刨析模型与算法的核心原理。在理解原理基础上,进一步用python的numpy库从底层进行代码实现,从而使读者对原理和实现有豁然开朗的启发。通过本书的阅读,读者可以一步步跟着从0构建一个深度学习库,而并不需要任何深度学习平台。最后,作为对照,介绍了深度学习平台Pytorch的使用,使得读者水到渠成地轻松学会使用这种深度学习平台,有助于读者更深刻地理解这些平台的设计思想,从而更好地掌握和使用这些深度学习平台。
本书既适合没有任何深度学习知识的初学者,也适合具有深度学习库使用经验想了解其底层实现原理的从业人员。本书特别适合作为大专院校的深度学习教材。
书的相关资源(包括算法代码)可访问本书作者网站https://hwdong-net.github.io 。
该书文字内容的章节系列连载**:
“从0 实现深度学习库”系列文章连载之1: 1.1.5 Python快速入门-对象与变量、IO、运算、控制语句
“从0 实现深度学习库”系列文章连载之2: 1.1.1-1.1.4 Python快速入门-Python常用容器类型
您的打赏是对我最大的鼓励!