🪡
論文要約: Patchout - 音声タスクにおけるTransformerの効率的な学習手法
論文
Efficient Training of Audio Transformers with Patchout
概要
既存のTransformerの学習はCNNと比べて計算リソースを食うことが問題だったが、本論文ではPatchoutという手法を使って市販のGPUを使って現実的な時間で学習を可能にした。
提案手法の特徴
- AST[1]同様、imagenetでモデルを事前学習(DeiT-B-384ベース)したモデルを使用
- Positional Embeddingを時間方向と周波数方向で独立して行う
- Transformerに入力する前のPatchをDropする(Patchout)ことで計算量を削減
- PatchOutには正則化の効果もある
- AugmentationではMixup, SpecAugmentに加えて時間方向のRolling, 波形に対してランダムにゲイン(+-7db)を適用
Patchout
Transformerの計算には入力パッチサイズの2乗の計算量を消費する。したがって、パッチ数を欠落させることは学習速度を早めることにつながる。本論文ではパッチ数を約50%に削減することで学習速度を約4倍にした。
なお、Patchoutとして以下の2種類の方策を試した。
- Unstructured PatchOut: ランダムに欠落させる
- Structured PatchOut: 特定の時間、周波数について全てのパッチを欠落させる(SpecAugment[2]の類推)
パフォーマンスはStructured PatchOutの方が若干良い(mAP +0.5%)。
パフォーマンス
計算機リソースの効率化が主眼の研究だが、同時にSOTAも達成している(mAP=0.496)。しかも、ASTと異なり、シングルモデルでもPANNs^2に比べて大幅に改善している(mAP=0.471)。学習時間も比較的短く、市販のGPUカード(Nvidia RTX 2080ti)を使って50時間の学習でSOTAを達成した。
また、3つの転移学習でSOTAを達成した。うち1つはわずか5分の学習時間で実現した。
所感
ローエンドの学習環境では本手法は重宝する。
Discussion