返回列表

26th place solution

546. Google - Isolated Sign Language Recognition | asl-signs

开始: 2023-02-23 结束: 2023-05-01 音视频处理 数据算法赛
第26名解决方案
解决方案作者:Danylo Kasianenko
竞赛排名:第26名
发布日期:2023-05-03

摘要

解决方案最重要的部分是数据利用。主要改进来自关键点选择和mixup(数据混合)。外部数据没有帮助,因为其分布差异很大。给定的数据量无法支持更大的模型,因此小模型集成是充分利用给定约束的最佳方式。

大多数增强方法没有帮助,因为它们阻碍了模型学习真实数据分布。因此只使用了镜像和mixup(0.5)。

模型输入

所有模型都训练为支持最多512帧的序列。

预处理

  • 仅使用2D坐标,因为第三维会导致训练不稳定
  • 为归一化输入,将所有关键点移动使头部位于原点
  • 缩放未提供任何优势故未使用
  • 归一化后所有NaN值替换为0

选择的关键点

  • 全部(21个)手部关键点
  • 26个面部关键点
  • 17个姿态关键点
身体关键点 面部关键点

架构

  • LLaMa启发的架构。最显著改进来自更好的归一化RMSNorm

  • 所有模型的头部维度设为64

  • 单个模型(Private/Public LB: 0.8543689/0.7702471)
    6头5层 920万参数

  • 3模型集成(Private/Public LB: 0.8584568/0.7725324)
    每模型:2头6层 170万参数

更大的模型可适应文件大小限制,但提交时会超时。

增强方法

  • 最重要的是mixup,显著提高准确率并延长训练时间避免过拟合(alpha=0.5)
  • 镜像:交叉验证中未显示明显优势但无害可用

无效的增强方法:

  • 时间插值:尝试线性/样条插值改变视频速度
  • 关键点位移:成组或单独微小移动关键点
  • 关键点旋转:绕头部旋转关键点
  • 关键点缩放:缩放关键点与头部距离
  • 3+数据点mixup:初始无优势故保持2点混合
  • 混合时旋转缩放数据点:仅混合相对姿态

训练

  • Lion优化器:收敛更快且最终效果提升1%
  • 学习率:1e-4开始余弦衰减至1e-5
  • 批次大小:128
  • Dropout:0.1
  • 权重指数移动平均:提升训练稳定性,CV准确率提升2-4%

无效的方法:

  • 数据模型训练(预测下一关键点位置):最佳训练频率为0
  • 标签平滑:减慢收敛且CV结果变差
同比赛其他方案