たれぱんのびぼーろく

わたしの備忘録、生物学とプログラミングが多いかも

意図した中間表現の学習

モデルが中間表現として特定の値を取るように学習してほしい.

  • A: モデルバイアスで自然とそう学習するように祈る
  • B: モデル分割をして個別学習
  • C: その中間表現に対してLossを設定
  • D: Lossを設定したうえで次の層へは教師データを渡す(teacher forcing的)

Aは置いておくとして、Bは王道. 中間表現と見ないで出力 + side inputとして見るということ.
Cはシンプルだが、学習全体と競合しないか (シーソーゲームして学習が止まらないか) という懸念がつきまとう.
DはBに近い. しかしモデルをほぼ共有できる(横にピロッと迂回路を設定する)ので、モデルサイズ・効率が良くなる可能性がある. が、teacher forcingと同じ問題あり. Bの場合は学習済み出力で全体学習を回せばこれは起きない.