P-NET 的训练超参数配置
TrainConfig
00 Remarks
默认值均取自论文 Methods 部分的描述:Adam 优化器、初始学习率 0.001、 每 50 个 epoch 主动衰减学习率、mini-batch 训练、按训练集类别比例对损失加权。
01 Syntax
02 Methods
| Name | Overloads | Summary |
|---|---|---|
| GetLearningRate | 1 | 计算指定 epoch(从 0 开始计数)时应当使用的学习率 |
03 Properties
| Name | Overloads | Summary |
|---|---|---|
| Epochs | 1 | 训练迭代轮数 |
| BatchSize | 1 | mini-batch 的批大小 |
| LearningRate | 1 | 初始学习率,论文取 0.001 |
| LrDecayStep | 1 | 学习率衰减的周期(单位:epoch),论文中每 50 个 epoch 衰减一次 |
| LrDecayFactor | 1 | 每一次衰减时学习率所乘的系数 |
| Beta1 | 1 | Adam 的一阶矩衰减率 |
| Beta2 | 1 | Adam 的二阶矩衰减率 |
| Epsilon | 1 | Adam 的数值稳定性常数 |
| UseClassWeights | 1 | 是否按照训练集的类别比例对二元交叉熵损失加权 |
| Seed | 1 | 随机数种子,给出之后数据打乱的结果可复现 |
| Verbose | 1 | 是否在训练过程中逐轮打印训练日志 |
| VerboseInterval | 1 | 每隔多少个 epoch 打印一次日志 |
| EarlyStopPatience | 1 | 早停的耐心轮数,取 0 时表示不使用早停 |
04 Members
Int32)计算指定 epoch(从 0 开始计数)时应当使用的学习率
采用阶梯衰减:lr = lr0 · factor ^ floor(epoch / step)。 论文的经验发现"Adam + 自适应衰减"比单一学习率的 Adam 收敛更平滑、性能更好。
| Name | Type | Description |
|---|---|---|
epoch | Int32 | 当前的 epoch 下标 |
衰减之后的学习率
训练迭代轮数
轮数,默认 150
mini-batch 的批大小
批大小,默认 32
初始学习率,论文取 0.001
学习率
学习率衰减的周期(单位:epoch),论文中每 50 个 epoch 衰减一次
衰减周期,取 0 时表示不做衰减
每一次衰减时学习率所乘的系数
衰减系数,默认 0.5
Adam 的一阶矩衰减率
beta1,默认 0.9
Adam 的二阶矩衰减率
beta2,默认 0.999
Adam 的数值稳定性常数
epsilon,默认 1e-8
是否按照训练集的类别比例对二元交叉熵损失加权
论文的数据集存在类别不平衡(333 例 CRPC / 转移性对比 680 例原发性), 按类别比例加权可以抑制模型向多数类偏移。 权重取值为 N / (2 · N_class),与 sklearn 的 class_weight='balanced' 一致。
默认 True
随机数种子,给出之后数据打乱的结果可复现
种子值
是否在训练过程中逐轮打印训练日志
默认 True
每隔多少个 epoch 打印一次日志
打印间隔,默认 10
早停的耐心轮数,取 0 时表示不使用早停
默认 0(关闭)