深度学习
参考资料
基本概念
任务分类
- 分类: 输入是一个样本, 输出是一个类别标签
- 回归: 输入是一个样本, 输出是一个连续值
- 生成: 输入是一个样本, 输出是一个样本
model
- model bias: 模型因表达能力不足而无法拟合训练数据的现象
- fully connected layer: 全连接层, 每个输入节点都与每个输出节点相连的层
activation function: 激活函数, 用于引入非线性因素, 使模型能够拟合复杂的函数
- 任意连续函数都可以用多个分段线性函数来逼近
- sigmoid 函数: 将输入映射到 0 和 1 之间的函数
- \(\sigma(x) = c \cdot \frac{1}{1 + e^{b+ax}}\)
- \(a\) 控制函数的斜率, \(b\) 控制函数的水平位置, \(c\) 控制函数的垂直缩放
- Relu 函数: 将输入小于 0 的部分置为 0, 输入大于 0 的部分保持不变的函数
- \(relu(x) = max(0, c \cdot (b + ax))\)
- \(a\) 控制函数的斜率, \(b\) 控制函数的水平位置, \(c\) 控制函数的垂直缩放
- hard sigmoid 函数: 将输入映射到 0 和 1 之间的函数
- \(hard\_sigmoid(x) = c \cdot max(0, min(1, b + ax))\)
- \(a\) 控制函数的斜率, \(b\) 控制函数的水平位置, \(c\) 控制函数的垂直缩放
- softmax 函数: 将输入的一组实数映射到 0 和 1 之间的函数, 并且使得输出的和为 1
- \(softmax(x_i) = \frac{e^{x_i}}{\sum_{j} e^{x_j}}\)
- \(x_i\) 是输入的第 \(i\) 个元素, \(j\) 是输入的所有元素的索引
loss function: 衡量模型输出和真实标签之间的差距
- feedforward: 前向传播, 从输入层到输出层的计算过程
- error: 模型输出和真实标签之间的差距
- error surface: 模型参数空间中的一个函数, 其值为模型的损失函数值
- Cross entropy: 用于分类任务的损失函数, 衡量模型输出的概率分布和真实标签的概率分布之间的差距
- \(L = -\sum_{i} y_i \log(p_i)\)
- \(y_i\) 是真实标签的第 \(i\) 个元素, \(p_i\) 是模型输出的第 \(i\) 个元素的概率
Optimizer: 用于更新模型参数以最小化损失函数的算法
- gradient descent: 梯度下降, 通过计算损失函数关于模型参数的梯度来更新模型参数的算法
- backpropagation: 反向传播, 从输出层到输入层的计算过程, 用于计算模型参数的梯度
training: 通过优化模型参数来最小化损失函数的过程
- batch: 一次训练中使用的一组样本
- update: 用一个 batch 的样本来更新模型参数一次
- epoch: 使用整个训练集来更新模型参数一次
- overfitting: 模型在训练数据上表现良好, 但在测试数据上表现不佳的现象
hyperparameter: 用于控制模型训练过程的参数, 例如学习率、批大小等
- learning rate: 用于控制模型参数更新步长的超参数
inference: 使用训练好的模型来对新数据进行预测的过程