AI前线导读:近日,由MXNet创始人李沐大神、Aston Zhang等人所著的交互式深度学习书籍《动手学深度学习》推出了在线预览版,面向在校学生、工程师和研究人员,旨在帮助读者从入门到深入、动手学习深度学习,即使是零基础的读者也完全适用。
首先奉上资料传送门:
这本书是亚马逊 MXNet 零基础深度学习课程的重要组成部分,为此,亚马逊团队开发了MXNet的新前端Gluon,课程内容推荐使用Gluon 进行开发。
和吴恩达的深度学习课程有何区别?
李沐表示,开设这门课程的初衷,是看到了目前刚开始接触机器学习的学习者没有很完善的参考资料的现状,这门课程可以帮助他们从深度学习入门到最新最前沿的算法,从0开始通过交互式的代码来讲解每个算法和概念。为此,李沐团队做了四件事:
- Eric和Sheng开发了MXNet的新前端Gluon,详细可以参见Eric的这篇介绍。这个前端带来跟Python更一致的便利的编程环境,不管是debug还是在交互上,都比TensorFlow之类通过计算图编程的框架更适合学习深度学习。
- Zack、Alex、Aston和很多小伙伴一起写了一系列的notebook来讲解各个模型。Zack从一个外行(他是专业音乐人)和老师(CMU计算机教授)的角度,从0开始讲解和实现各个算法。
- 我们同时将notebook翻译成中文,而且做了很多改进(我个人认为中文版质量更高),并建立中文社区discuss.gluon.ai方便大家来讨论和学习。
- 我们联合将门在斗鱼上直播一系列课程,深入讲解各个教程。
摘录自李沐知乎
李沐表示,与吴恩达的深度学习课程相比,本课程主要有三个不同点:
- 我们不仅介绍深度学习模型,而且提供简单易懂的代码实现。我们不是通过幻灯片来讲解,而是通过解读代码,实际动手调参数和跑实验来学习。
- 我们使用中文。不管是教材、直播,还是论坛。(虽然在美国呆了5,6年了,事实上我仍然对一边听懂各式口音的英文一边理解内容很费力。)
- Andrew课目前免费版只能看视频,而我们不仅仅直播教学,而且提供练习题,提供大家交流的论坛,并鼓励大家在github上参与到课程的改进中来。希望能与大家有更近距离的交互。
摘录自李沐知乎
贡献者
该书的作者包括亚马逊应用科学家,美国伊利诺伊大学香槟分校计算机科学博士阿斯顿·张;亚马逊首席科学家,美国卡内基梅隆大学计算机系博士李沐;亚马逊应用科学家,美国卡内基梅隆大学助理教授,加州大学圣迭戈分校计算机科学博士扎卡里 C. 立顿;亚马逊机器学习总监,德国柏林工业大学计算机科学博士亚历山大 J. 斯莫拉,以及来自社区的100多位贡献者。
如果你愿意加入社区并成为本书的贡献者,你将会获得赠书以及我们诚挚的谢意。
以Jupyter记事本形式运行
该书以Jupyter记事本的形式呈现,每一小节都是可以运行的Jupyter记事本,读者可以自由修改代码和超参数来获取及时反馈,从而积累深度学习的实战经验,并提高学习效率。
本书还有活跃的社区支持,可以通过每个章节最后的链接来同社区的数千名小伙伴一起讨论学习。
公式+图示+代码
本书不仅结合文字+公式+图示来阐明深度学习里常用的模型和算法,还提供代码演示如何从零开始实现它们,并使用真实数据来提供一个交互式的学习体验。
这三种展示方法能相互补充。很多算法可以通过图示加深对结构的理解,而如上图所示的 LSTM 等算法却需要公式才能理解具体结构。此外,不论是表达式还是图例,都无法包含完整的细节,很多具体细节需要有代码才能展示出来。
结合算法与实践
本书将从头开始解释深度学习和机器学习的各个概念,读者无需具备这些背景知识。课程目标是让读者在完成学习后不但能从概念上理解深度学习,而且能将它应用到实际项目和研究之中。
详细目录
引言
- 前言
- 深度学习简介
- 如何使用本书
预备知识
- 获取和运行本书代码
- 数据操作
- 自动求梯度
- 查阅 MXNet 文档
深度学习基础
- 线性回归
- 线性回归的从零开始实现
- 线性回归的 Gluon 实现
- Softmax 回归
- 图像分类数据集(Fashion-MNIST)
- Softmax 回归的从零开始实现
- Softmax 回归的 Gluon 实现
- 多层感知机
- 多层感知机的从零开始实现
- 多层感知机的 Gluon 实现
- 模型选择、欠拟合和过拟合
- 权重衰减
- 丢弃法
- 正向传播、反向传播和计算图
- 数值稳定性和模型初始化
- 实战 Kaggle 比赛:房价预测
深度学习计算
- 模型构造
- 模型参数的访问、初始化和共享
- 模型参数的延后初始化
- 自定义层
- 读取和存储
- GPU 计算
卷积神经网络
- 二维卷积层
- 填充和步幅
- 多输入通道和多输出通道
- 池化层
- 卷积神经网络(LeNet)
- 深度卷积神经网络(AlexNet)
- 使用重复元素的网络(VGG)
- 网络中的网络(NiN)
- 含并行连结的网络(GoogLeNet)
- 批量归一化
- 残差网络(ResNet)
- 稠密连接网络(DenseNet)
循环神经网络
- 语言模型
- 循环神经网络
- 语言模型数据集(周杰伦专辑歌词)
- 循环神经网络的从零开始实现
- 循环神经网络的 Gluon 实现
- 通过时间反向传播
- 门控循环单元(GRU)
- 长短期记忆(LSTM)
- 深度循环神经网络
- 双向循环神经网络
优化算法
- 优化与深度学习
- 梯度下降和随机梯度下降
- 小批量随机梯度下降
- 动量法
- Adagrad
- RMSProp
- Adadelta
- Adam
计算性能
- 命令式和符号式混合编程
- 异步计算
- 自动并行计算
- 多 GPU 计算
- 多 GPU 计算的 Gluon 实现
计算机视觉
- 图像增广
- 微调
- 目标检测和边界框
- 锚框
- 多尺度目标检测
- 目标检测数据集(皮卡丘)
- 单发多框检测(SSD)
- 区域卷积神经网络(R-CNN)系列
- 语义分割和数据集
- 全卷积网络(FCN)
- 样式迁移
- 实战 Kaggle 比赛:图像分类(CIFAR-10)
- 实战 Kaggle 比赛:狗的品种识别 (ImageNet Dogs)
自然语言处理
- 词嵌入(word2vec)
- 近似训练
- Word2vec 的实现
- 子词嵌入(fastText)
- 全局向量的词嵌入(GloVe)
- 求近义词和类比词
- 文本情感分类:使用循环神经网络
- 文本情感分类:使用卷积神经网络(textCNN)
- 编码器—解码器(seq2seq)
- 束搜索
- 注意力机制
- 机器翻译
附录
- 主要符号一览
- 数学基础
- 使用 Jupyter 笔记本
- 使用 AWS 运行代码
- GPU 购买指南
- 如何为本书贡献
- gluonbook 包索引
在本书上线之前,李沐等人还推出了《动手学深度学习》系列视频,这门课程的第一季已经于今年 2 月份结束,共 19 课。李沐博士对此系列视频进行了整理,有需求的同学可通过这里的课程视频学习。