一文彻底搞懂深度学习 - 超参数(Hyperparameter) 原创
超参数(Hyperparameter),是深度学习算法中的调优参数,用于控制模型的学习过程和结构。与模型参数(Model Parameter)不同,模型参数是在训练过程中通过数据学习得到的,而超参数是在训练之前由开发者或实践者直接设定的,并且在训练过程中保持不变。
Hyperparameter
一、模型参数
模型参数(Model Parameter)是什么?模型实际上是一个复杂的函数,由参数和变量组成。数据是变量,而参数则是通过训练数据学到的常量。
在神经网络中,模型参数包括每一层的权重(Weight)和偏置项(Bias)。这些参数在训练过程中通过反向传播算法进行调整,以最小化损失函数。神经网络模型参数的数量和复杂性随着网络层数和每层的神经元数量的增加而增加。
在特定的神经网络模型中,还有其他类型的参数:
- 卷积核(Filter/Kernels):在卷积神经网络(CNN)中,每个卷积层都有多个卷积核,用于提取图像或序列数据中的特征。
- 注意力机制的参数:在Transformer和其他含有注意力机制的模型中,参数包括查询矩阵、键矩阵和值矩阵等,用于计算注意力得分和最终的上下文向量。
- 隐藏状态初始化参数:在循环神经网络(RNN)中,初始隐藏状态可能被视为模型参数的一部分。
- 残差块参数(Residual Block Parameters):在ResNet等残差网络中,每一个残差块都有一组自己的权重参数。
二、超参数
超参数(Hyperparameter)是什么?超参数是深度学习在训练前设置的,用于控制模型训练过程和架构的参数。需要自己设定,不是机器自己找出来的。
模型参数是在训练过程中通过数据学习得到的,而超参数是在训练之前直接设定的,并且在训练过程中保持不变。
神经网络结构的超参数是什么?直接影响神经网络结构的超参数主要包括网络层数(Layers)和每层的神经元数量(Neurons per Layer),它们共同决定了神经网络的深度和宽度。
此外,虽然激活函数(Activation Function)不直接改变网络结构,但它通过引入非线性变换,显著影响网络的表达能力和性能,是神经网络设计中不可忽视的关键因素。
神经网络训练过程的超参数是什么?直接影响神经网络训练过程的超参数包括学习率(Learning Rate)、批量大小(Batch Size)、迭代次数(Epochs)和优化算法(Optimizer)。这些超参数共同决定了训练过程中模型权重的更新方式、训练速度、稳定性和最终性能。
1.学习率(Learning Rate)
- 定义:学习率决定了在优化过程中更新模型权重的步长。
- 影响:高学习率易使模型训练过头或失控,低学习率则让训练变得缓慢,需多次迭代。
- 调整策略:通常需要通过实验找到合适的学习率,或者采用学习率调度策略,如动态调整学习率或使用学习率衰减。
2.批量大小(Batch Size)
- 定义:批量大小指的是每次梯度下降迭代中使用的训练样本数量。
- 影响:大批量加速训练但易内存不足,泛化变差;小批量助跳出局部最优,但训练不稳且收敛慢。
- 选择原则:需要根据硬件资源、数据集大小和训练时间来选择合适的批量大小。
3.迭代次数(Epochs)
- 定义:迭代次数指的是整个训练数据集被遍历和学习的次数。
- 影响:迭代少易欠拟合,迭代多易过拟合。
- 调整策略:通常需要通过观察验证集上的性能指标来确定合适的迭代次数。
本文转载自公众号架构师带你玩转AI 作者:AllenTang