Open Unagi2 opened 2 years ago
解決方法としては2つある
1.まずは単純に生成データの最初の3単語を削除したものをデータセットにし、評価
2.削除した3単語について、Transformerで再生成したデータセットを評価
過学習を抑制することも重要であると考えられる DropoutやSchedulerを調整するといった方法以外にも考案する必要があるが、最も重要なのはデータセットの水増しであろう GPT2だけでなくEDA(Easy Data Augmentation)を実装してみる
生成テキストから入力テキストである3単語を削除し,文頭が欠損している文をデータセットとして作成
CVとLBの乖離の解消を確認.しかしLBが0.5付近と低い結果となった.
[Mask] [MASK] [MASK] ~ のように3つのマスクを一度に穴埋めはできないため,for文で一箇所ずつ穴埋め処理を行なった.
文頭の欠損3単語分の穴埋めは可能であったが,穴埋めによる生成時間が長く非現実的であった. そのため,データセットを完成するには至らなかった.
生成時の入力単語を従来の3単語から1単語に減らし生成.その後,文頭1単語を削除し文法の破壊を弱めることを目的とする.また,欠損1単語のMASK処理についても行なった.
従来の3単語よりも,元の文の文脈の成分がないため類似度が低く,BERTの分類学習のスコアが低い結果となった. また,MASK処理についても依然処理時間が長く非現実的であった.
-> 各ラベル10000データ以下 4000位で作成
Data Augmentetionからインスパイアを受けて,対象文を同義語・類義語に置換・拡張する方法を導入. 拡張された分は,文頭3単語が削除された部分に結合し,データセットとして作成.
Original:(文頭3単語) Maintain and improve
Augmented Text:(拡張文) All maintain and improve
ひとつ考えられたのは、生成データはtrainの最初の3単語から続く文として生成されているため、この3単語のみで分類学習が行われている可能性。
なのでeval f1など各学習時のスコアは高く、testデータの分類の時は、最初の3単語に重みがあるためスコアが悪化。
文脈や関連性で分類されていない可能性。文頭のところでほぼほぼ分類が行われてるのかなと。