Skip to content

可调超参数手册

本页整理题解中反复出现的可调参数。它不是库 API 清单,而是竞赛做题时的调参顺序和判断方法:先让验证方式接近评测,再调阈值和后处理,然后调特征,最后调模型容量。

调参顺序

  1. 先固定验证切分和评分脚本。验证集不可信时,任何最优参数都可能只是偶然。
  2. 保存概率、logits 或连续输出。阈值、NMS、后处理窗口通常要反复扫。
  3. 调特征和输入表示。窗口长度、mel 参数、图像裁剪、类别编码常决定上限。
  4. 调模型容量和正则。先确认欠拟合还是过拟合,再决定加深模型或加强正则。
  5. 最后做集成、多 seed 和 TTA。它们通常提升稳定性,但不应掩盖验证或特征问题。

通用验证与目标参数

验证切分方式

作用:决定本地分数是否能预测真实评测。它不是训练细节,而是所有调参的基础。

怎么调:

  • 普通独立同分布分类:用 StratifiedKFold 或分层 holdout,保持类别比例。
  • 时间预测:用 TimeSeriesSplit、expanding window 或按日期切分,不能随机打乱未来。
  • 多段同源数据:按用户、机器、歌曲、episode、场景、个体分组,避免相邻样本泄漏。
  • 小验证集:多 seed 或多折看均值和方差,不要只追一次最高分。

现象判断:

  • 随机切分很高、时间/分组切分明显下降,通常说明原切分有泄漏或分布过近。
  • 每折波动很大,说明数据少、类别稀有或分布不稳定;此时参数要选稳定区域,不选单折最优。

来源原题:MAGIC自行车共享预测性维护无人机飞控MusicArtist

概率阈值和决策规则

作用:把概率、分数或 mask 转成最终提交。F1、F-beta、IoU、多标签 strict accuracy、事件计数 MAE 都可能被阈值主导。

怎么调:

  • 二分类:保存正类概率,按验证集扫描阈值,例如 0.05..0.95。正类召回重要时降低阈值,误报成本高时提高阈值。
  • 多分类:不要只 argmax。可为高权重类或少数类单独降低触发阈值,再处理冲突。
  • 多标签/网格:每类、每个 head、每个格子可以有不同阈值;strict 指标下要评估整行命中率。
  • 分割:扫描 sigmoid 阈值,同时配合最小连通域过滤和形态学后处理。
  • 事件检测:阈值要和最小峰间距、NMS、合并窗口一起调。

现象判断:

  • recall 低、precision 高:阈值偏高,或正类权重/采样不足。
  • precision 低、recall 高:阈值偏低,或后处理太宽松。
  • 单点阈值很敏感:模型概率校准差,考虑温度缩放、验证集更大或用排名型规则。

来源原题:信用卡欺诈Cosmic ProbeSynthetic SpeechCAPTCHAWeather

类别权重、采样比例和损失权重

作用:改变训练时不同样本、类别或像素对 loss 的影响。适用于少数类召回、稀疏前景和评分偏向特定类别的任务。

怎么调:

  • class_weight / pos_weight:少数类漏报严重时调大;误报过多时调小。
  • balanced sampler:让 batch 内少数类更常出现,但验证集必须保持真实分布。
  • 过采样/SMOTE:只用于训练集,不能污染验证/测试。
  • 多任务 loss 权重:哪个子任务被指标重视、或学得更慢,就适当加权;若一个任务拖累另一个,考虑分开训练。
  • Dice/BCE、Focal/CrossEntropy 权重:稀疏分割中 Dice 提召回,BCE 稳定像素分类;Focal 更关注难例。

现象判断:

  • 模型几乎不预测少数类:提高少数类权重、重采样或降低少数类阈值。
  • 少数类 recall 上升但误报不可用:降低权重或提高阈值,并同时报告误报数量。
  • 分割全背景:提高正类权重、加入 Dice/Focal,检查 mask 标签是否对齐。

来源原题:Language Distribution信用卡欺诈RadarWeather

集成权重、TTA 和多 seed

作用:降低单模型方差,融合不同输入视角或模型错误模式。

怎么调:

  • 概率平均优先于硬投票,因为保留不确定性。
  • 先在验证集扫描少量权重,如 0.2/0.8, 0.5/0.5, 0.8/0.2,不要默认平均所有模型。
  • TTA 只使用不会改变标签语义的变换。细粒度纹理任务可用多裁剪,OCR/方向敏感任务要谨慎旋转翻转。
  • 多 seed 对小数据更有价值;若 seed 间差异大,说明验证和模型都不稳定。

现象判断:

  • 集成提升很小:模型错误高度相关,应该换特征、增强或架构,而不是继续加同类模型。
  • TTA 降分:增强不符合测试语义,或训练时没见过这类变换。

来源原题:MusicArtistAPOAI T2 Audio豹猫个体识别

传统表格模型

Logistic Regression / Ridge / Lasso / ElasticNet

关键参数:

  • C:正则强度的倒数。C 越大,正则越弱,训练拟合更强但更易过拟合;C 越小,系数更保守。
  • penaltyl2 保留大多数特征并收缩系数;l1 会让部分系数变 0,可做特征选择;ElasticNet 混合二者。
  • class_weight:类别不平衡时提高少数类影响。
  • 目标变换:回归任务中 log1p、Box-Cox、标准化会改变优化难度和误差分布。

怎么调:

  • 高维 one-hot 或 TF-IDF:先扫 C 的对数网格,如 0.01, 0.1, 1, 10
  • 特征很多且冗余:试 L1 或 ElasticNet,看验证分和非零特征数量。
  • 目标长尾:比较原目标和 log1p,最终在提交尺度或题目指标上评估。

注意事项:

  • 线性模型对特征缩放敏感,树模型不太敏感。比较模型时要保持预处理 pipeline 一致。
  • Lasso 选出的特征不一定因果,只能说明在当前切分和共线性下有用。

来源原题:MAGIC房价预测APOAI Mock Text

SVM / LinearSVC

关键参数:

  • C:惩罚分类错误的强度。大 C 更贴训练集,小 C 间隔更宽、泛化更稳。
  • gamma:RBF kernel 的局部影响范围。大 gamma 决策边界更复杂,小 gamma 更平滑。
  • kernel:线性适合高维稀疏文本;RBF 适合中小规模连续特征。
  • class weight:少数类召回不足时使用。

怎么调:

  • 文本 TF-IDF:优先 LinearSVC,扫 C
  • 连续特征且样本不大:标准化后扫 Cgamma 的小网格。
  • 验证分高但测试不稳:降低 Cgamma,让边界更平滑。

注意事项:

  • RBF SVM 在大数据上训练成本高。
  • LinearSVC 默认没有概率;需要概率融合时用 Logistic Regression 或校准。

来源原题:MAGICIOAI AntiqueAPOAI Mock Text

KNN

关键参数:

  • k:邻居数量。小 k 更敏感、可贴近局部结构;大 k 更平滑但可能吞掉少数类。
  • 距离度量:欧氏距离适合标准化连续向量;cosine 常用于 embedding 和文本向量。
  • 距离权重:按距离加权可让近邻更重要。
  • 标准化方式:KNN 对尺度极敏感,必须处理量纲。

怎么调:

  • 小样本新类识别:从 k=1,3,5,7 开始,观察旧类误伤和新类召回。
  • embedding 检索:优先 cosine 或归一化后的内积。
  • 类别密度差异大:试距离加权,避免多数类远邻淹没近邻。

注意事项:

  • KNN 的阈值常比 k 更重要,例如“距离足够近才判新类”。
  • 查询量大时推理成本可能成为问题,需要缓存或近似检索。

来源原题:Help BOBAIRestroom

RandomForest / ExtraTrees

关键参数:

  • n_estimators:树数量。增大通常降低方差,但收益递减,训练和推理更慢。
  • max_depth:单棵树深度。越深越容易记住训练集;越浅越平滑。
  • min_samples_leaf:叶节点最少样本数。增大可显著抑制过拟合,让预测更平滑。
  • max_features:每次分裂可看的特征数。较小会增加树之间差异,降低相关性。
  • class_weight:类别不平衡时提高少数类影响。

怎么调:

  • 先固定 n_estimators 到足够稳定的值,再调深度和叶子最小样本。
  • 训练分远高于验证分:减小 max_depth,增大 min_samples_leaf,或减小 max_features
  • 训练和验证都低:增加候选特征、树深或换 GBDT。
  • 特征维度有限但噪声多:调低 max_features,看是否提升泛化。

注意事项:

  • 树模型不需要标准化,但会受噪声特征和泄漏特征影响。
  • feature importance 可用于诊断,但高 importance 也可能暴露泄漏字段。

来源原题:口袋里的运动侦探MAGIC蘑菇毒性

GBDT / XGBoost / LightGBM / CatBoost

关键参数:

  • learning_rate:每棵树贡献大小。小学习率更稳,通常需要更多树;大学习率收敛快但更易过拟合。
  • n_estimators / boosting rounds:树轮数。应与 early stopping 联动。
  • 树深/叶子数:控制交互复杂度。越大越强,也越容易过拟合。
  • min_child_weight / min_data_in_leaf:叶子所需样本或权重。增大能平滑模型。
  • subsamplecolsample_bytree:行/列采样。小于 1 可降过拟合,但过低会欠拟合。
  • L1/L2 正则:抑制复杂叶子权重。
  • early stopping:用验证集决定停止轮数。

怎么调:

  • 建强 baseline:先用中等深度、小学习率和 early stopping。
  • 过拟合:减小深度/叶子数,增大叶子最小样本,加大正则,降低行列采样。
  • 欠拟合:增加树深/叶子数、降低正则、增加轮数,或改善特征。
  • 数据少:浅树、较大 min_data_in_leaf、强 early stopping 更稳。
  • 类别特征多:优先考虑 CatBoost 原生类别处理或谨慎 target encoding。

注意事项:

  • 有些题禁用 XGBoost/LightGBM/CatBoost,使用前必须看题面。
  • early stopping 的验证集必须无泄漏,否则会把泄漏模式固化进模型。

来源原题:Cosmic Probe房价预测预测性维护

特征工程参数

特征数量预算

作用:在维度限制或小数据下,控制模型看到多少统计量。

怎么调:

  • 先生成宽候选集,再按验证增益、重要性和跨折稳定性筛选。
  • 维度预算很紧时,优先保留覆盖不同信息类型的特征,而不是同类统计的变体。
  • 模型固定时,特征选择本身就是核心超参数。

现象判断:

  • 加特征后训练分升、验证分降:冗余或噪声特征太多。
  • 所有模型都低:特征没有覆盖目标差异,应回到领域信息。

来源原题:口袋里的运动侦探

时间窗口、lag 和 rolling

作用:决定模型看到多长历史,以及历史如何聚合。

怎么调:

  • 周期任务先从已知周期试起,如小时任务的 24/168,日任务的 7/30
  • 故障预警任务同时调历史窗口和预测窗口。历史窗口太短缺少趋势,太长会稀释近期异常。
  • rolling mean/std/max/min 可从小窗口到大窗口做粗网格,例如 3, 7, 14, 30
  • 趋势斜率窗口用于捕捉缓慢恶化;异常值裁剪分位数用于减少传感器尖峰影响。

现象判断:

  • 峰值预测偏低:窗口过长或目标变换过强,模型学到平滑平均。
  • 误报很多:窗口过短,模型被短期噪声驱动。
  • 本地随机 CV 很好、时间 CV 差:lag/rolling 构造可能泄漏未来。

来源原题:自行车共享预测性维护

目标变换和异常值裁剪

作用:改变目标分布和 loss 对极端样本的敏感度。

怎么调:

  • 右偏长尾回归:试 log1p 或 Box-Cox,预测后反变换再算真实指标。
  • 高价/高计数极端值影响 RMSE:试裁剪目标或样本权重,但要防止削弱真实高值预测。
  • MAE 指标:可以尝试直接优化 MAE/Huber,而不只 MSE。
  • RMSLE 指标:目标 log 变换通常更贴近指标。

现象判断:

  • 高值样本系统性低估:log 变换后反变换偏保守,可调损失、加权高值样本或做分段模型。
  • 验证 loss 好但提交尺度指标差:评估时忘了反变换或指标尺度不一致。

来源原题:房价预测Chicken CountingIOAI Antique

类别编码与稀有类别

作用:把类别变量转成模型可用形式,并处理训练/测试类别不一致。

怎么调:

  • one-hot:类别数少、线性模型或树模型都可用;注意训练/测试列对齐。
  • ordinal:仅适合有自然顺序的类别,普通类别随意编号会引入假顺序。
  • target encoding:高基数类别有用,但必须交叉验证内计算,防止标签泄漏。
  • 稀有类别合并:阈值太低会保留噪声,太高会丢信息。可扫最小出现次数。
  • 未见类别:设置 unknown 或默认编码,不要让推理崩溃。

现象判断:

  • 训练分异常高:target encoding 或类别字段可能泄漏。
  • 测试报列缺失:训练/测试 one-hot 没有统一对齐。

来源原题:房价预测蘑菇毒性APOAI 2025 Mock Basketball

科学/物理描述符

作用:把对称性、物理量或领域结构编码进特征,减少模型学习负担。

怎么调:

  • 分子任务:元素计数、元素对距离统计、Coulomb matrix、fingerprint 半径和 bit 数都可作为参数。
  • 坐标/点云:优先距离、角度、主轴、协方差特征值等旋转/平移不变特征。
  • 天文星等:相邻波段差值比单波段更像颜色特征,可调交互项和异常值裁剪。

现象判断:

  • 坐标展平模型训练好、测试差:缺少不变性,模型记住顺序或姿态。
  • 元素计数 baseline 已经很强:目标主要由组成决定,几何特征应拟合残差。

来源原题:Molecular EnergyCosmic Probe

深度模型训练参数

深度学习网络搭建:层数、宽度、激活与模块选择

作用:网络结构决定模型能表达什么。学习率、dropout、epoch 只能在已有结构上优化;如果架构和数据形态不匹配,后续调参收益有限。

先选架构类型:

  • 表格特征、统计特征、低维传感器特征:从 MLP 开始。输入已经是结构化特征时,纯线性层叠加通常比 CNN/RNN 更合适。
  • 图像、mel 频谱、雷达热图、卫星 mask:从 CNN 或 encoder-decoder CNN 开始。局部纹理、边缘、空间邻域关系是核心。
  • 字符、文本、音符、时间序列标签:从 RNN/GRU/LSTM、1D CNN 或轻量 Transformer 开始。序列长度不长时 BiLSTM/GRU 往往够用。
  • 音频事件、视频动作、频谱随时间变化:常用 CNN 提取局部时频/图像特征,再接 temporal pooling、RNN 或 attention。
  • 多源输入:用多分支结构。每类输入先用适合自己的 encoder,再 concat 或加权融合。
  • 控制策略和实时任务:优先小 MLP 或极浅 CNN+MLP。推理耗时是结构参数的一部分。

隐藏层数怎么决定:

  • 从浅模型开始。MLP 可先试 1 到 3 个隐藏层;小 CNN 可先用 2 到 4 个卷积 block。
  • 训练分和验证分都低:模型可能欠拟合,可以加层、加宽、换更合适的模块,或补特征。
  • 训练分高但验证分低:不要先加深;应减少层数/宽度,增强正则、数据增强或冻结更多层。
  • 数据很少:层数越多越容易记住训练集。优先使用预训练、冻结 backbone、小 head 或手工特征。
  • 有强局部结构:加深 CNN block 往往比加 MLP 层更有效。
  • 有长程依赖:单纯加 MLP 层通常没用,应换 RNN/attention 或加入自相关、lag、位置编码等结构。

隐藏层大小和通道数怎么调:

  • MLP 宽度控制非线性组合能力。常见起点是 64128256,再按验证曲线扩大或缩小。
  • CNN 通道数控制纹理和局部模式容量。常见起点是 16-32-6432-64-128
  • RNN hidden size 控制可记住的序列状态容量。字符级任务可从 64/128 起步,长序列或复杂语法再增大。
  • embedding 维度太小会欠拟合,太大在小数据上容易过拟合。类别/字符表不大时不要盲目设很大。
  • 资源受限时,优先减少输入尺寸、通道数和全连接层宽度。全连接层参数常比卷积层增长更快。

激活函数怎么选:

  • ReLU 是默认起点,简单、快、稳定。
  • LeakyReLU 适合担心 ReLU 大量“死掉”的小网络或信号回归。
  • GELU/SiLU 更平滑,常用于 Transformer、现代 CNN 或需要细腻优化的模型,但计算略重。
  • Tanh 可用于输出需要落在 [-1, 1] 附近的内部表示,但深层网络中更容易梯度变小。
  • Sigmoid 通常只放在输出解释阶段;训练二分类建议输出 logits 并配合 BCEWithLogitsLoss
  • 坐标拟合和高频信号不应只靠普通激活加深网络;更有效的是 Fourier/sin-cos 位置编码或 SIREN 类周期激活。

归一化层怎么选:

  • BatchNorm 适合 batch 足够大、图像 CNN 训练稳定的场景;batch 太小时统计不稳。
  • LayerNorm 对 batch size 不敏感,适合序列模型、Transformer、小 batch。
  • GroupNorm 适合图像小 batch,是 BatchNorm 不稳定时的替代。
  • 特征已经标准化、网络很浅、数据很少时,不一定要加归一化层;加了也要看验证表现。

池化和融合怎么选:

  • CNN 分类头优先用 global average pooling,减少全连接参数并降低过拟合。
  • 小目标或短事件容易被 average pooling 稀释,可用 max pooling、attention pooling 或多尺度 pooling。
  • 分割任务不要过早全局池化;需要保留空间分辨率,用 UNet/encoder-decoder 跳连恢复细节。
  • 多分支融合先让每个分支学到同尺度表示,再 concat。若某分支强很多,可调融合权重或给弱分支单独预训练。
  • 图文、音频+表格、mask+状态这类任务,不要把原始输入直接硬拼;先各自编码再融合更稳。

输出头怎么定:

  • 二分类:输出一个 logit,用 BCEWithLogitsLoss;推理时 sigmoid 后扫阈值。
  • 多分类:输出 num_classes 个 logits,用 CrossEntropyLoss;不要先 softmax 再喂 loss。
  • 多标签:每个标签一个 logit,用 BCE;每类阈值可单独调。
  • 回归:最后线性输出;若目标必须非负,可用 softplus、ReLU 或推理后 clip,但要检查是否造成低值偏差。
  • 计数:可直接回归标量,也可密度图积分;若随机裁剪,标签必须同步调整。
  • 序列标注:输出每个位置的 logits,mask 掉 padding;最后一位、合法边界等规则可后处理强制。

结构选择诊断:

现象优先调整
训练和验证都低加宽/加深,换更匹配的数据模块,补输入特征或位置编码。
训练高、验证低减小宽度/层数,加 dropout/weight decay/增强,或使用预训练冻结。
图像/谱图局部细节识别差增加输入分辨率、CNN 通道或局部 crop,避免过早池化。
短事件漏检换 max/attention pooling,减小 hop,加入差分或时序分支。
序列边界错位检查 padding/mask、位置编码、帧到时间对齐,再调 hidden size。
实时推理超时减少输入尺寸、CNN block、全连接宽度,缓存特征,避免每帧重复加载模型。

来源原题:Image FittingMusicArtistAPOAI T2 AudioDrum Beat CounterSwitchSnap图文匹配无人机飞控Word Segmentation眼部疾病

学习率、batch size、epoch 和 early stopping

作用:控制优化速度、稳定性和训练时长。

怎么调:

  • 学习率过大:loss 抖动、验证分不稳定、微调时旧能力快速崩。降低学习率或冻结更多层。
  • 学习率过小:训练很慢、训练分也上不去。可增大学习率或先只训 head。
  • batch size 大:梯度稳定、显存/内存压力大,可能泛化略差。
  • batch size 小:噪声大但有时泛化好;BatchNorm 可能不稳定。
  • epoch:配合 early stopping;小数据不应盲目长训。
  • early stopping patience:太小会提前停在偶然低谷,太大容易过拟合。

现象判断:

  • 训练分和验证分都低:欠拟合,增加训练时间、模型容量或学习率。
  • 训练分高、验证分低:过拟合,增强、正则、早停、降容量。

来源原题:蜜蜂分类眼部疾病APOAI T2 Audio

Dropout、weight decay 和 label smoothing

作用:限制模型过度依赖训练样本细节。

怎么调:

  • Dropout:增大可降过拟合,但过大导致欠拟合。常从 0.1..0.5 试。
  • weight decay:抑制权重过大。微调预训练模型时通常小一些,训练新头可略大。
  • label smoothing:降低过度自信,细粒度分类和噪声标签中常有用。

现象判断:

  • 训练准确率很高、验证不涨:提高 dropout/weight decay 或增强。
  • 训练也上不去:正则太强,降低 dropout/weight decay。
  • 概率极端但错得自信:试 label smoothing 或温度校准。

来源原题:蜜蜂分类豹猫个体识别Underfit CV

冻结层数、分类头和蒸馏权重

作用:控制预训练知识保留和新任务适配程度。

怎么调:

  • 数据少或旧类不能坏:冻结 backbone,只训练 head、adapter 或 logits 校正层。
  • 新任务和预训练差异大:逐步解冻后几层,小学习率微调。
  • 灾难性遗忘:加入 teacher logits 蒸馏或新旧模型概率融合。
  • 蒸馏权重:太小保不住旧知识,太大新类学不动。

现象判断:

  • bad/new 类提升但 good/old 类崩:解冻太多、学习率太大或蒸馏太弱。
  • 新类几乎不提升:冻结太多、学习率太小或蒸馏太强。

来源原题:Underfit CVHelp BOBAI眼部疾病

输入尺寸、裁剪和增强强度

作用:决定模型能看到多少细节,以及训练分布有多宽。

怎么调:

  • 细粒度纹理:提高输入尺寸、做主体裁剪,避免随机裁掉关键纹理。
  • 医学/遥感/雷达:预处理和通道选择常比盲目增大模型重要。
  • 小图像:过深模型收益有限,增强和正则更重要。
  • 增强强度:从轻到重。若增强改变标签语义,应禁用或同步调整标签。

现象判断:

  • 模型记背景:加强主体裁剪、随机擦除、颜色/灰度增强。
  • 小目标识别差:提高分辨率或先检测 ROI。
  • 训练增强后验证下降:增强破坏了任务语义。

来源原题:豹猫个体识别眼部疾病Chicken CountingSwitchSnap

序列模型长度和生成参数

关键参数:

  • max_length:截断长度。过短丢信息,过长增加计算并稀释有效 token。
  • embedding/hidden size:越大表达越强,也越易过拟合。
  • dropout:序列小数据防过拟合。
  • teacher forcing:训练生成模型时控制使用真值上下文的比例。
  • beam size:越大搜索更充分,但慢且可能偏向安全模板。
  • temperature/top-k/top-p:控制生成多样性。低 temperature 更保守,高 temperature 更发散。

怎么调:

  • 边界标注:阈值和合法性约束通常比加大模型更直接。
  • 结构修复:生成候选后用规则/约束重排,调约束权重。
  • 反演/恢复:先保证候选 top-k 召回,再调语言模型约束权重。

来源原题:Word SegmentationJSB ChoralesMid-Layer Inversion

音频 mel 频谱参数

常用库:

  • librosa.feature.melspectrogram:适合离线特征工程和 notebook 快速实验。
  • torchaudio.transforms.MelSpectrogram + AmplitudeToDB:适合 PyTorch 训练管线,可和 Dataset、DataLoader 集成。
  • scipy.signal.stft/numpy + mel filterbank:适合需要自定义 STFT 或减少音频库依赖时。

sample_rate / sr

作用:决定每秒采样点数,也决定最高可表示频率。

怎么调:

  • 电话语音、短事件:16 kHz 通常足够,能保留大部分语音和事件信息。
  • 音乐、鼓点、音色识别:更高采样率可能保留高频音色,但计算量增加。
  • 伪造检测:不要随意降采样,高频伪影可能是关键信息。

注意事项:训练、验证、测试必须统一采样率。若重采样,所有 mel 参数都要按新采样率重新理解。

n_fftwin_lengthhop_length

作用:共同决定时间/频率分辨率。

怎么调:

  • n_fft 大:频率分辨率高,适合音色、稳定频率结构;但瞬态会被摊宽。
  • n_fft 小:时间定位好,适合鼓点、咳嗽、响指等短事件;但低频分辨率变差。
  • win_length 通常等于或小于 n_fft。短窗更敏感瞬态,长窗更平滑。
  • hop_length 小:帧更密,事件定位更准,谱图更宽、计算更重。
  • hop_length 大:速度快,但可能跳过短事件。

经验起点:

  • 16 kHz 短音频事件:n_fft=512/1024hop_length=160/320
  • 音乐片段分类:n_fft=1024/2048hop_length=256/512
  • 鼓点/onset:优先较小 hop,并用验证 MAE/F1 校准帧到时间。

来源原题:Drum Beat CounterAPOAI T2 Audio

n_mels

作用:mel 频带数量,决定频率轴分辨率和输入尺寸。

怎么调:

  • 64:常用稳健起点,计算轻,适合短 clip 分类和小 CNN。
  • 80:语音任务常见折中。
  • 128:音色、音乐、伪造纹理更细,但模型更重、更容易过拟合。

现象判断:

  • 高频/音色混淆明显:尝试增加 n_mels 或调整 fmax
  • 数据小且过拟合:减少 n_mels,或加强 SpecAugment/dropout。

来源原题:MusicArtistSynthetic Speech

fmin / fmax

作用:控制 mel 频谱覆盖的频率范围。

怎么调:

  • 底鼓、低频机械声:确保低频范围保留,fmin 不要太高。
  • 喷嚏、咳嗽、军鼓:中高频也重要,fmax 不要过低。
  • 电话语音:可限制到电话有效频带以减少无关噪声。
  • 合成语音检测:高频伪影可能有用,谨慎降低 fmax

注意事项:fmax 不能超过 sample_rate / 2。不同采样率下同一 fmax 的含义不同。

power、log/dB 和动态范围

作用:控制谱值的尺度。

怎么调:

  • power=2:功率谱,常用默认,强调强能量区域。
  • power=1:幅度谱,动态范围相对温和。
  • log(x + eps) 或 dB:压缩动态范围,让弱事件不被强背景完全淹没。
  • top_db:限制 dB 最小值。过小会截断弱信号,过大保留更多噪声。

现象判断:

  • 模型只关注强背景:尝试 log/dB、归一化或频带权重。
  • 弱事件消失:检查 top_dbeps 和归一化是否过度。

centerpad_mode 和时间对齐

作用:决定 STFT 帧是否以当前点为中心,以及边界如何补齐。

怎么调:

  • clip-level 分类:通常影响不大,保持默认并训练/推理一致即可。
  • onset/逐帧标签:必须明确帧中心对应原音频时间,否则标签会整体偏移。
  • 实时推理:center=False 更符合因果处理,避免使用未来样本。

来源原题:Drum Beat Counter

频谱归一化

作用:减少录音增益、设备和背景差异。

怎么调:

  • 全局训练集均值方差:分类任务常用,推理稳定。
  • 每样本标准化:能消除音量差异,但可能抹掉“整体能量大小”这个有用特征。
  • 按频带标准化:适合频带能量差异大的任务,但要避免破坏伪造痕迹。

现象判断:

  • 不同音量样本误差大:增强中加入增益扰动,或使用归一化。
  • 伪造检测性能下降:归一化可能抹掉合成痕迹,比较轻/重归一化。

来源原题:MusicArtistSynthetic Speech

SpecAugment、mixup 和时间裁剪

作用:音频谱图增强,降低过拟合。

怎么调:

  • 时间 mask:模拟事件位置变化;短事件任务 mask 过宽会遮掉目标。
  • 频率 mask:提高频带鲁棒性;伪造检测中不要过强,可能遮掉关键伪影。
  • mixup:多分类可提升平滑性;事件计数或强定位任务要谨慎。
  • 时间裁剪:长音频可增加样本,但验证要按原音频分组。

来源原题:MusicArtistAPOAI T2 AudioSynthetic Speech

后处理参数

峰值阈值、最小峰间距和 NMS

作用:把连续概率曲线转为离散事件。

怎么调:

  • 阈值低:召回高、重复和误报多。
  • 阈值高:误报少、漏检多。
  • 最小峰间距/NMS 大:避免一个事件重复计数,但会合并近距离真实事件。
  • 平滑窗口大:降低噪声,但会让事件时间偏移。

验证方法:同时记录漏检、重复检测、平均偏移和最终计数/IoU 分,不只看帧级 F1。

来源原题:Drum Beat CounterSwitchSnap

连通域、形态学和边界裁剪

作用:清理分割 mask 中的小噪声和系统性边界伪影。

怎么调:

  • 最小连通域面积:增大可去噪,但会删掉小目标。
  • 开操作:去小点噪声;闭操作:填小洞。
  • 边界裁剪:适合雷达/传感器固定边缘噪声,但不要裁掉真实边缘目标。
  • mask 阈值和连通域要一起调。

现象判断:

  • 空背景误报多:提高阈值、增大最小面积、加边界过滤。
  • 小目标漏掉:降低面积阈值或使用 Dice/Focal 提召回。

来源原题:RadarWeatherPixel Efficiency

OCR 置信度、正则优先级和默认策略

作用:在 OCR + 规则任务中决定哪些文本可信,以及解析失败时如何兜底。

怎么调:

  • OCR 检测阈值高:文本更准但可能漏字段。
  • OCR 检测阈值低:召回高但干扰数字多。
  • 文本框合并距离:过小会拆散日期,过大会把无关文字混在一起。
  • 正则优先级:优先匹配完整日期和关键词附近字段。
  • 默认策略:风险敏感任务中,不确定时可偏向保守类别。

现象判断:

  • 日期识别错多:调 OCR 阈值、图像预处理、日期正则。
  • 保质期识别错多:调关键词窗口和单位规则。
  • 规则计算错:单独写日期运算测试,不要靠模型补。

来源原题:Expired

Beam search、top-k/top-p、temperature 和约束权重

作用:控制候选生成和规则/语言先验重排。

怎么调:

  • beam size 大:搜索更充分但更慢,且可能偏向常见安全输出。
  • top-k/top-p 小:候选保守;过小可能错过正确答案。
  • temperature 低:输出稳定;temperature 高:多样但更容易违规。
  • 约束权重高:更合法但可能牺牲局部准确率;权重低则模型原始预测主导。

现象判断:

  • 输出合法但准确低:约束过强或候选召回不足。
  • 准确看似高但规则扣分多:约束太弱,需要后处理或动态规划。
  • 文本流畅但 token 准确低:语言先验压过 hidden/probe 证据。

来源原题:JSB ChoralesMid-Layer InversionConcepts

常见调参误区

  • 只调模型不调验证切分:本地分数会很好看,但不能预测榜单。
  • 固定阈值 0.5:很多 F1、F-beta、多标签和分割任务都会吃亏。
  • 过早集成:集成不能解决泄漏、错误指标和坏特征。
  • 忘记提交尺度:目标 log 训练后必须反变换再按真实指标评估。
  • 后处理只看中间指标:事件、计数、分割和生成任务最终要按提交评分验证。