-
内容大纲
深度学习框架中蕴藏着惊人的技术和有趣的机制,本书旨在揭开这些技术和机制的神秘面纱,帮助读者正确理解技术,体会它们的有趣之处。为此,本书会带领读者从零开始创建一个深度学习框架——DeZero。DeZero是本书原创的框架,它用最少的代码实现了现代深度学习框架的功能。本书分60个步骤来完成这个框架,在此过程中,读者会加深对PyTorch、TensorFlow和Chainer等现代深度学习框架的理解,看清深度学习框架的本质。
本书沿袭《深度学习入门:基于Python的理论与实现》的风格,语言通俗,代码简洁,讲解详细。在自制框架的过程中,读者还能进一步巩固Python编程和软件开发相关的知识。
本书适合对深度学习框架感兴趣的读者阅读。 -
作者介绍
-
目录
前言
第1阶段 自动微分
步骤1 作为“箱子”的变量
1.1 什么是变量
1.2 实现Variable类
1.3 (补充)NumPy的多维数组
步骤2 创建变量的函数
2.1 什么是函数
2.2 Function类的实现
2.3 使用Function类
步骤3 函数的连续调用
3.1 Exp函数的实现
3.2 函数的连续调用
步骤4 数值微分
4.1 什么是导数
4.2 数值微分的实现
4.3 复合函数的导数
4.4 数值微分存在的问题
步骤5 反向传播的理论知识
5.1 链式法则
5.2 反向传播的推导
5.3 用计算图表示
步骤6 手动进行反向传播
6.1 Variable类的功能扩展
6.2 Function类的功能扩展
6.3 Square类和Exp类的功能扩展
6.4 反向传播的实现
步骤7 反向传播的自动化
7.1 为反向传播的自动化创造条件
7.2 尝试反向传播
7.3 增加backward方法
步骤8 从递归到循环
8.1 现在的Variable类
8.2 使用循环实现
8.3 代码验证
步骤9 让函数更易用
9.1 作为Python函数使用
9.2 简化backward方法
9.3 只支持ndarray
步骤10 测试
10.1 Python的单元测试
10.2 square函数反向传播的测试
10.3 通过梯度检验来自动测试
10.4 测试小结
……
第2阶段 用自然的代码表达
第3阶段 实现高阶导数
第4阶段 创建神经网络
第5阶段 DeZero高级挑战
附录A in-place运算(步骤14的补充内容)
附录B 实现get_item函数(步骤47的补充内容)
附录C 在Google Colaboratory上运行
后记
参考文献
同类热销排行榜
- C语言与程序设计教程(高等学校计算机类十二五规划教材)16
- 电机与拖动基础(教育部高等学校自动化专业教学指导分委员会规划工程应用型自动化专业系列教材)13.48
- 传感器与检测技术(第2版高职高专电子信息类系列教材)13.6
- ASP.NET项目开发实战(高职高专计算机项目任务驱动模式教材)15.2
- Access数据库实用教程(第2版十二五职业教育国家规划教材)14.72
- 信号与系统(第3版下普通高等教育九五国家级重点教材)15.08
- 电气控制与PLC(普通高等教育十二五电气信息类规划教材)17.2
- 数字电子技术基础(第2版)17.36
- VB程序设计及应用(第3版十二五职业教育国家规划教材)14.32
- Java Web从入门到精通(附光盘)/软件开发视频大讲堂27.92
推荐书目
-
孩子你慢慢来/人生三书 华人世界率性犀利的一枝笔,龙应台独家授权《孩子你慢慢来》20周年经典新版。她的《...
-
时间简史(插图版) 相对论、黑洞、弯曲空间……这些词给我们的感觉是艰深、晦涩、难以理解而且与我们的...
-
本质(精) 改革开放40年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...