4. 用于分类的线性神经网络
快速搜索
代码
显示源代码
预览版 PyTorch MXNet Notebooks 课程 GitHub 中文版
Dive into Deep Learning
目录
  • 前言
  • 安装
  • 符号
  • 1. 引言
  • 2. 预备知识
    • 2.1. 数据操作
    • 2.2. 数据预处理
    • 2.3. 线性代数
    • 2.4. 微积分
    • 2.5. 自动微分
    • 2.6. 概率与统计
    • 2.7. 文档
  • 3. 用于回归的线性神经网络
    • 3.1. 线性回归
    • 3.2. 面向对象的实现设计
    • 3.3. 合成回归数据
    • 3.4. 从零开始实现线性回归
    • 3.5. 线性回归的简洁实现
    • 3.6. 泛化
    • 3.7. 权重衰减
  • 4. 用于分类的线性神经网络
    • 4.1. Softmax 回归
    • 4.2. 图像分类数据集
    • 4.3. 基础分类模型
    • 4.4. 从零开始实现 Softmax 回归
    • 4.5. Softmax 回归的简洁实现
    • 4.6. 分类中的泛化
    • 4.7. 环境和分布偏移
  • 5. 多层感知机
    • 5.1. 多层感知机
    • 5.2. 多层感知机的实现
    • 5.3. 前向传播、反向传播和计算图
    • 5.4. 数值稳定性和初始化
    • 5.5. 深度学习中的泛化
    • 5.6. 暂退法 (Dropout)
    • 5.7. 在 Kaggle 上预测房价
  • 6. 构造指南
    • 6.1. 层和模块
    • 6.2. 参数管理
    • 6.3. 参数初始化
    • 6.4. 惰性初始化
    • 6.5. 自定义层
    • 6.6. 文件 I/O
    • 6.7. GPU
  • 7. 卷积神经网络
    • 7.1. 从全连接层到卷积
    • 7.2. 图像卷积
    • 7.3. 填充和步幅
    • 7.4. 多输入多输出通道
    • 7.5. 池化层
    • 7.6. 卷积神经网络 (LeNet)
  • 8. 现代卷积神经网络
    • 8.1. 深度卷积神经网络 (AlexNet)
    • 8.2. 使用块的网络 (VGG)
    • 8.3. 网络中的网络 (NiN)
    • 8.4. 多分支网络 (GoogLeNet)
    • 8.5. 批量归一化
    • 8.6. 残差网络 (ResNet) 和 ResNeXt
    • 8.7. 稠密连接网络 (DenseNet)
    • 8.8. 设计卷积网络架构
  • 9. 循环神经网络
    • 9.1. 处理序列
    • 9.2. 将原始文本转换为序列数据
    • 9.3. 语言模型
    • 9.4. 循环神经网络
    • 9.5. 从零开始实现循环神经网络
    • 9.6. 循环神经网络的简洁实现
    • 9.7. 时间反向传播
  • 10. 现代循环神经网络
    • 10.1. 长短期记忆网络 (LSTM)
    • 10.2. 门控循环单元 (GRU)
    • 10.3. 深度循环神经网络
    • 10.4. 双向循环神经网络
    • 10.5. 机器翻译和数据集
    • 10.6. 编码器-解码器架构
    • 10.7. 用于机器翻译的序列到序列学习
    • 10.8. 束搜索
  • 11. 注意力机制和 Transformer
    • 11.1. 查询、键和值
    • 11.2. 基于相似度的注意力池化
    • 11.3. 注意力评分函数
    • 11.4. 巴达诺注意力机制
    • 11.5. 多头注意力
    • 11.6. 自注意力和位置编码
    • 11.7. Transformer 架构
    • 11.8. 用于视觉的 Transformer
    • 11.9. 使用 Transformer 进行大规模预训练
  • 12. 优化算法
    • 12.1. 优化与深度学习
    • 12.2. 凸性
    • 12.3. 梯度下降
    • 12.4. 随机梯度下降
    • 12.5. 小批量随机梯度下降
    • 12.6. 动量法
    • 12.7. Adagrad
    • 12.8. RMSProp
    • 12.9. Adadelta
    • 12.10. Adam
    • 12.11. 学习率调度
  • 13. 计算性能
    • 13.1. 编译器和解释器
    • 13.2. 异步计算
    • 13.3. 自动并行
    • 13.4. 硬件
    • 13.5. 在多个 GPU 上训练
    • 13.6. 多个 GPU 的简洁实现
    • 13.7. 参数服务器
  • 14. 计算机视觉
    • 14.1. 图像增广
    • 14.2. 微调
    • 14.3. 目标检测和边界框
    • 14.4. 锚框
    • 14.5. 多尺度目标检测
    • 14.6. 目标检测数据集
    • 14.7. 单发多框检测 (SSD)
    • 14.8. 区域卷积神经网络 (R-CNNs)
    • 14.9. 语义分割和数据集
    • 14.10. 转置卷积
    • 14.11. 全卷积网络
    • 14.12. 神经风格迁移
    • 14.13. Kaggle 上的图像分类 (CIFAR-10)
    • 14.14. Kaggle 上的狗品种识别 (ImageNet Dogs)
  • 15. 自然语言处理:预训练
    • 15.1. 词嵌入 (word2vec)
    • 15.2. 近似训练
    • 15.3. 用于预训练词嵌入的数据集
    • 15.4. 预训练 word2vec
    • 15.5. 全局向量词嵌入 (GloVe)
    • 15.6. 子词嵌入
    • 15.7. 词相似性和类比
    • 15.8. 来自 Transformer 的双向编码器表示 (BERT)
    • 15.9. 用于预训练 BERT 的数据集
    • 15.10. 预训练 BERT
  • 16. 自然语言处理:应用
    • 16.1. 情感分析和数据集
    • 16.2. 情感分析:使用循环神经网络
    • 16.3. 情感分析:使用卷积神经网络
    • 16.4. 自然语言推断和数据集
    • 16.5. 自然语言推断:使用注意力机制
    • 16.6. 为序列级和词元级应用微调 BERT
    • 16.7. 自然语言推断:微调 BERT
  • 17. 强化学习
    • 17.1. 马尔可夫决策过程 (MDP)
    • 17.2. 值迭代
    • 17.3. Q-学习
  • 18. 高斯过程
    • 18.1. 高斯过程简介
    • 18.2. 高斯过程先验
    • 18.3. 高斯过程推断
  • 19. 超参数优化
    • 19.1. 什么是超参数优化?
    • 19.2. 超参数优化 API
    • 19.3. 异步随机搜索
    • 19.4. 多保真度超参数优化
    • 19.5. 异步逐次减半
  • 20. 生成对抗网络
    • 20.1. 生成对抗网络
    • 20.2. 深度卷积生成对抗网络
  • 21. 推荐系统
    • 21.1. 推荐系统概述
    • 21.2. MovieLens 数据集
    • 21.3. 矩阵分解
    • 21.4. AutoRec:使用自编码器进行评分预测
    • 21.5. 推荐系统的个性化排序
    • 21.6. 用于个性化排序的神经协同过滤
    • 21.7. 序列感知推荐系统
    • 21.8. 特征丰富的推荐系统
    • 21.9. 分解机
    • 21.10. 深度分解机
  • 22. 附录:深度学习的数学
    • 22.1. 几何与线性代数运算
    • 22.2. 特征分解
    • 22.3. 单变量微积分
    • 22.4. 多变量微积分
    • 22.5. 积分学
    • 22.6. 随机变量
    • 22.7. 最大似然
    • 22.8. 分布
    • 22.9. 朴素贝叶斯
    • 22.10. 统计学
    • 22.11. 信息论
  • 23. 附录:深度学习工具
    • 23.1. 使用 Jupyter Notebooks
    • 23.2. 使用 Amazon SageMaker
    • 23.3. 使用 AWS EC2 实例
    • 23.4. 使用 Google Colab
    • 23.5. 选择服务器和 GPU
    • 23.6. 为本书做贡献
    • 23.7. 实用函数和类
    • 23.8. d2l API 文档
  • 参考文献
Dive into Deep Learning
目录
  • 前言
  • 安装
  • 符号
  • 1. 引言
  • 2. 预备知识
    • 2.1. 数据操作
    • 2.2. 数据预处理
    • 2.3. 线性代数
    • 2.4. 微积分
    • 2.5. 自动微分
    • 2.6. 概率与统计
    • 2.7. 文档
  • 3. 用于回归的线性神经网络
    • 3.1. 线性回归
    • 3.2. 面向对象的实现设计
    • 3.3. 合成回归数据
    • 3.4. 从零开始实现线性回归
    • 3.5. 线性回归的简洁实现
    • 3.6. 泛化
    • 3.7. 权重衰减
  • 4. 用于分类的线性神经网络
    • 4.1. Softmax 回归
    • 4.2. 图像分类数据集
    • 4.3. 基础分类模型
    • 4.4. 从零开始实现 Softmax 回归
    • 4.5. Softmax 回归的简洁实现
    • 4.6. 分类中的泛化
    • 4.7. 环境和分布偏移
  • 5. 多层感知机
    • 5.1. 多层感知机
    • 5.2. 多层感知机的实现
    • 5.3. 前向传播、反向传播和计算图
    • 5.4. 数值稳定性和初始化
    • 5.5. 深度学习中的泛化
    • 5.6. 暂退法 (Dropout)
    • 5.7. 在 Kaggle 上预测房价
  • 6. 构造指南
    • 6.1. 层和模块
    • 6.2. 参数管理
    • 6.3. 参数初始化
    • 6.4. 惰性初始化
    • 6.5. 自定义层
    • 6.6. 文件 I/O
    • 6.7. GPU
  • 7. 卷积神经网络
    • 7.1. 从全连接层到卷积
    • 7.2. 图像卷积
    • 7.3. 填充和步幅
    • 7.4. 多输入多输出通道
    • 7.5. 池化层
    • 7.6. 卷积神经网络 (LeNet)
  • 8. 现代卷积神经网络
    • 8.1. 深度卷积神经网络 (AlexNet)
    • 8.2. 使用块的网络 (VGG)
    • 8.3. 网络中的网络 (NiN)
    • 8.4. 多分支网络 (GoogLeNet)
    • 8.5. 批量归一化
    • 8.6. 残差网络 (ResNet) 和 ResNeXt
    • 8.7. 稠密连接网络 (DenseNet)
    • 8.8. 设计卷积网络架构
  • 9. 循环神经网络
    • 9.1. 处理序列
    • 9.2. 将原始文本转换为序列数据
    • 9.3. 语言模型
    • 9.4. 循环神经网络
    • 9.5. 从零开始实现循环神经网络
    • 9.6. 循环神经网络的简洁实现
    • 9.7. 时间反向传播
  • 10. 现代循环神经网络
    • 10.1. 长短期记忆网络 (LSTM)
    • 10.2. 门控循环单元 (GRU)
    • 10.3. 深度循环神经网络
    • 10.4. 双向循环神经网络
    • 10.5. 机器翻译和数据集
    • 10.6. 编码器-解码器架构
    • 10.7. 用于机器翻译的序列到序列学习
    • 10.8. 束搜索
  • 11. 注意力机制和 Transformer
    • 11.1. 查询、键和值
    • 11.2. 基于相似度的注意力池化
    • 11.3. 注意力评分函数
    • 11.4. 巴达诺注意力机制
    • 11.5. 多头注意力
    • 11.6. 自注意力和位置编码
    • 11.7. Transformer 架构
    • 11.8. 用于视觉的 Transformer
    • 11.9. 使用 Transformer 进行大规模预训练
  • 12. 优化算法
    • 12.1. 优化与深度学习
    • 12.2. 凸性
    • 12.3. 梯度下降
    • 12.4. 随机梯度下降
    • 12.5. 小批量随机梯度下降
    • 12.6. 动量法
    • 12.7. Adagrad
    • 12.8. RMSProp
    • 12.9. Adadelta
    • 12.10. Adam
    • 12.11. 学习率调度
  • 13. 计算性能
    • 13.1. 编译器和解释器
    • 13.2. 异步计算
    • 13.3. 自动并行
    • 13.4. 硬件
    • 13.5. 在多个 GPU 上训练
    • 13.6. 多个 GPU 的简洁实现
    • 13.7. 参数服务器
  • 14. 计算机视觉
    • 14.1. 图像增广
    • 14.2. 微调
    • 14.3. 目标检测和边界框
    • 14.4. 锚框
    • 14.5. 多尺度目标检测
    • 14.6. 目标检测数据集
    • 14.7. 单发多框检测 (SSD)
    • 14.8. 区域卷积神经网络 (R-CNNs)
    • 14.9. 语义分割和数据集
    • 14.10. 转置卷积
    • 14.11. 全卷积网络
    • 14.12. 神经风格迁移
    • 14.13. Kaggle 上的图像分类 (CIFAR-10)
    • 14.14. Kaggle 上的狗品种识别 (ImageNet Dogs)
  • 15. 自然语言处理:预训练
    • 15.1. 词嵌入 (word2vec)
    • 15.2. 近似训练
    • 15.3. 用于预训练词嵌入的数据集
    • 15.4. 预训练 word2vec
    • 15.5. 全局向量词嵌入 (GloVe)
    • 15.6. 子词嵌入
    • 15.7. 词相似性和类比
    • 15.8. 来自 Transformer 的双向编码器表示 (BERT)
    • 15.9. 用于预训练 BERT 的数据集
    • 15.10. 预训练 BERT
  • 16. 自然语言处理:应用
    • 16.1. 情感分析和数据集
    • 16.2. 情感分析:使用循环神经网络
    • 16.3. 情感分析:使用卷积神经网络
    • 16.4. 自然语言推断和数据集
    • 16.5. 自然语言推断:使用注意力机制
    • 16.6. 为序列级和词元级应用微调 BERT
    • 16.7. 自然语言推断:微调 BERT
  • 17. 强化学习
    • 17.1. 马尔可夫决策过程 (MDP)
    • 17.2. 值迭代
    • 17.3. Q-学习
  • 18. 高斯过程
    • 18.1. 高斯过程简介
    • 18.2. 高斯过程先验
    • 18.3. 高斯过程推断
  • 19. 超参数优化
    • 19.1. 什么是超参数优化?
    • 19.2. 超参数优化 API
    • 19.3. 异步随机搜索
    • 19.4. 多保真度超参数优化
    • 19.5. 异步逐次减半
  • 20. 生成对抗网络
    • 20.1. 生成对抗网络
    • 20.2. 深度卷积生成对抗网络
  • 21. 推荐系统
    • 21.1. 推荐系统概述
    • 21.2. MovieLens 数据集
    • 21.3. 矩阵分解
    • 21.4. AutoRec:使用自编码器进行评分预测
    • 21.5. 推荐系统的个性化排序
    • 21.6. 用于个性化排序的神经协同过滤
    • 21.7. 序列感知推荐系统
    • 21.8. 特征丰富的推荐系统
    • 21.9. 分解机
    • 21.10. 深度分解机
  • 22. 附录:深度学习的数学
    • 22.1. 几何与线性代数运算
    • 22.2. 特征分解
    • 22.3. 单变量微积分
    • 22.4. 多变量微积分
    • 22.5. 积分学
    • 22.6. 随机变量
    • 22.7. 最大似然
    • 22.8. 分布
    • 22.9. 朴素贝叶斯
    • 22.10. 统计学
    • 22.11. 信息论
  • 23. 附录:深度学习工具
    • 23.1. 使用 Jupyter Notebooks
    • 23.2. 使用 Amazon SageMaker
    • 23.3. 使用 AWS EC2 实例
    • 23.4. 使用 Google Colab
    • 23.5. 选择服务器和 GPU
    • 23.6. 为本书做贡献
    • 23.7. 实用函数和类
    • 23.8. d2l API 文档
  • 参考文献

4. 用于分类的线性神经网络¶

现在你已经掌握了所有的技术细节,可以将所学技能应用到更广泛的任务中。即使我们转向分类任务,大部分流程仍然保持不变:加载数据,通过模型传递数据,生成输出,计算损失,计算权重梯度,以及更新模型。但是,目标的确切形式、输出层的参数化以及损失函数的选择将适应*分类*的设定。

  • 4.1. Softmax 回归
    • 4.1.1. 分类
    • 4.1.2. 损失函数
    • 4.1.3. 信息论基础
    • 4.1.4. 小结与讨论
    • 4.1.5. 练习
  • 4.2. 图像分类数据集
    • 4.2.1. 加载数据集
    • 4.2.2. 读取小批量
    • 4.2.3. 可视化
    • 4.2.4. 小结
    • 4.2.5. 练习
  • 4.3. 基础分类模型
    • 4.3.1. Classifier 类
    • 4.3.2. 精度
    • 4.3.3. 小结
    • 4.3.4. 练习
  • 4.4. 从零开始实现 Softmax 回归
    • 4.4.1. Softmax
    • 4.4.2. 模型
    • 4.4.3. 交叉熵损失
    • 4.4.4. 训练
    • 4.4.5. 预测
    • 4.4.6. 小结
    • 4.4.7. 练习
  • 4.5. Softmax 回归的简洁实现
    • 4.5.1. 定义模型
    • 4.5.2. 再谈Softmax
    • 4.5.3. 训练
    • 4.5.4. 小结
    • 4.5.5. 练习
  • 4.6. 分类中的泛化
    • 4.6.1. 测试集
    • 4.6.2. 测试集重用
    • 4.6.3. 统计学习理论
    • 4.6.4. 小结
    • 4.6.5. 练习
  • 4.7. 环境和分布偏移
    • 4.7.1. 分布偏移的类型
    • 4.7.2. 分布偏移的例子
    • 4.7.3. 分布偏移的修正
    • 4.7.4. 学习问题的分类
    • 4.7.5. 机器学习中的公平、责任和透明度
    • 4.7.6. 小结
    • 4.7.7. 练习
上一页
3.7. 权重衰减
下一页
4.1. Softmax回归