动手学深度学习
深度学习实战经典之作,首次出版于2019年。李沐、阿斯顿·张、扎卡里·C. 立顿三位作者结合亚马逊首席科学家、伯克利教授、MIT研究员的视角,系统提供了深度学习从理论到代码的完整学习路径。本书涵盖线性回归、softmax回归、多层感知机、卷积神经网络、循环神经网络、注意力机制、Transformer等核心内容,每章配有可运行的代码(PyTorch/TensorFlow/MXNet三框架)。本书是深度学习工程师的实战指南。
本书速读
📖 本书核心内容
《动手学深度学习》(Dive into Deep Learning,简称d2l.ai)是深度学习实战经典之作,首次出版于2019年。作者李沐(亚马逊首席科学家)、阿斯顿·张(伯克利教授)、扎卡里·C. 立顿(MIT研究员、Cyclers AI联合创始人)是深度学习领域的产学研铁三角——李沐负责工业落地,阿斯顿·张负责学术研究,扎卡里负责工程实现。
本书系统提供了深度学习从理论到代码的完整学习路径。涵盖线性回归、softmax回归、多层感知机、卷积神经网络、循环神经网络、注意力机制、Transformer等核心内容,每章配有可运行的代码(PyTorch/TensorFlow/MXNet三框架)。本书是深度学习工程师的实战指南,被全球数百所高校和企业采用为培训教材。本书开源在d2l.ai,提供中英文双语版本,支持在线运行代码。
🎯 从线性回归到多层感知机:基础模型
本书从线性回归开始——线性回归是最简单的深度学习模型,但包含了深度学习的所有核心要素:数据加载、模型定义、损失函数、优化算法、训练循环、评估测试。作者通过线性回归,帮助读者建立深度学习工作流的完整认知。
softmax回归:softmax回归是多分类的线性模型——通过softmax函数将线性输出映射到概率分布,选择概率最大的类别。softmax回归的学习算法是交叉熵损失+梯度下降。softmax回归的应用:图像分类(MNIST手写数字识别)、文本分类(情感分析)、推荐系统(多物品推荐)。
多层感知机(MLP):MLP是非线性的分类/回归模型——通过隐藏层和非线性激活函数(ReLU、Sigmoid、Tanh),捕捉输入与输出之间的非线性关系。MLP的学习算法是反向传播+梯度下降。MLP的优点是表达能力强,缺点是容易过拟合、需要大量数据。MLP的应用:推荐系统、广告点击率预测、金融风控。
🎯 卷积神经网络与循环神经网络:核心架构
本书系统介绍了卷积神经网络(CNN)和循环神经网络(RNN)——这是深度学习的两大核心架构。
卷积神经网络(CNN):CNN是图像处理的核心架构——通过卷积层提取局部特征,通过池化层降低维度,通过全连接层做出分类。本书介绍了CNN的核心组件:卷积核(Kernel)、步长(Stride)、填充(Padding)、池化(Pooling);CNN的经典架构:LeNet(早期CNN)、AlexNet(深度学习爆发起点)、VGG(深层CNN)、GoogLeNet(Inception模块)、ResNet(残差连接)。CNN的应用:图像分类、目标检测、语义分割、人脸识别。
循环神经网络(RNN):RNN是序列处理的核心架构——通过隐藏状态记忆历史信息,处理变长序列。本书介绍了RNN的核心组件:隐藏状态(Hidden State)、门控机制(Gating Mechanism);RNN的经典变体:LSTM(长短期记忆网络,解决梯度消失问题)、GRU(门控循环单元,简化LSTM)。RNN的应用:自然语言处理(机器翻译、文本生成、情感分析)、语音识别、时间序列预测。
🎯 注意力机制与Transformer:现代架构
本书第2版新增了注意力机制(Attention)和Transformer章节——这是现代深度学习的核心架构。
注意力机制:注意力机制是让模型关注重要信息的技术——通过计算查询(Query)、键(Key)、值(Value)之间的相似度,加权求和,得到注意力输出。注意力机制的核心思想:不是所有信息都同等重要——模型应该关注重要信息,忽略无关信息。注意力机制的应用:机器翻译(Encoder-Decoder+Attention)、图像描述生成(Visual Attention)、推荐系统(User-Item Attention)。
Transformer:Transformer是纯注意力的架构——完全基于注意力机制,不使用RNN或CNN。Transformer的核心组件:多头注意力(Multi-Head Attention,并行计算多组注意力)、位置编码(Positional Encoding,注入序列位置信息)、前馈网络(Feed-Forward Network,非线性变换)、层归一化(Layer Normalization,稳定训练)。Transformer的应用:自然语言处理(GPT、BERT、T5)、计算机视觉(ViT)、多模态学习(CLIP、DALL-E)。
🎯 代码实战:从理论到工程
本书的核心特色是代码实战——每章配有可运行的代码(PyTorch/TensorFlow/MXNet三框架),帮助读者从理论到工程。
代码实战的核心要素:第一,数据加载——使用DataLoader加载训练/测试数据,支持批量加载、数据增强、随机打乱;第二,模型定义——使用nn.Module定义模型,支持自定义层、自定义前向传播;第三,损失函数——使用内置损失函数(CrossEntropyLoss、MSELoss)或自定义损失函数;第四,优化算法——使用内置优化器(SGD、Adam、RMSProp)或自定义优化器;第五,训练循环——实现训练循环(前向传播、计算损失、反向传播、更新参数、评估测试);第六,模型部署——将训练好的模型导出为ONNX/TorchScript/TensorFlow SavedFormat,部署到生产环境。
作者建议:不要只读书,要动手写代码——深度学习是实践学科,只有亲手训练模型、调试代码、分析结果,才能真正理解深度学习的原理。作者推荐了开源资源:d2l.ai(本书官网,支持在线运行代码)、GitHub(代码仓库,支持Fork和PR)、Discord(学习社区,支持提问和交流)。
⭐ 金句摘录
深度学习是实践学科——只有亲手训练模型、调试代码、分析结果,才能真正理解原理。
线性回归是最简单的深度学习模型,但包含了深度学习的所有核心要素。
CNN是图像处理的核心架构,RNN是序列处理的核心架构。
Transformer是纯注意力的架构——完全基于注意力机制,不使用RNN或CNN。
代码实战是本书的核心特色——每章配有可运行的代码,帮助读者从理论到工程。
📚 阅读建议
适合有编程基础的读者,建议结合开源代码实践阅读,重点关注代码实战部分。