はじめに
- モデルを取っ替えるだけが"“研究"“なら, 研究はただの博打に過ぎない
- 重要なのは分析と評価である
- しかし, わかりやすい分析だけでは研究にならない(気がする)
- したがって, まずは分析手法を徹底的にカテゴライズする必要がある
- できればこれらのメトリクスを常に表示できるようにしたい → todo
- 分析 → 改善
- 新たな手法
- 応用的題材 → 応用タスクに即したモデルの改変
- 例1. DatasetGAN → GANの潜在空間の豊かさ
- 何らかの仮説の立証と応用
-
損失平面を見る
- 例1. SAM : Sharpness-Aware Minimization
- 損失が最小 & 平坦な点を探す
- 例2. SmeLU
- 損失の局所解を勾配の非連続性から考察する
- 例1. SAM : Sharpness-Aware Minimization
-
損失と勾配
-
入力を変化させて差分を捉える
- 摂動を加えるパターン
- …
-
各層での出力
- 例1. SBERT-WK and What Does BERT Learn about the Structure of Language?
- 各層における埋め込み表現のばらつきに着目
- 例2. DeepNet
- モデルの更新量を見る = 差を取って粗い勾配を計算
- おそらくだけど
- モデルに $\boldsymbol{x}$を入力したとき, 各モジュールの入力がどの程度変化するかを検証
- 例1. SBERT-WK and What Does BERT Learn about the Structure of Language?
-
各層での重み
- 例えば, 各モジュールの勾配を計算???
-
分散を調べる
- 出力・各層の重み・各層での出力
-
モデル=特徴量抽出器・識別器 に分ける
- 例1. Decoupling Representation and Classifier for Long-Tailed Recognition
- モデルを特徴量抽出器・識別器に分け, クラス間不均衡がどちらに悪影響であるかを調査
- 例1. Decoupling Representation and Classifier for Long-Tailed Recognition
-
定性的分析
- 例1. MAE
-
自然言語の信号は情報が密で高いセマンティクスをもつが、画像は空間的な冗長性が大きく、周辺から比較的簡単に補間(インペイント)が可能である
-
- 例1. MAE
-
入力に強く反応する層を見る
- $\boldsymbol{x}$を入力した際, 各層の出力が最大となる $\boldsymbol{x}$を並べてみる
- 例えば, エッジを検出するフィルタであれば, エッジのない画像では値が小さくなる → 値の大きいほうが強く反応
- ただ, これが画像以外でも通用するのかどうかはよくわからない → todo
-
Optimizer : 更新幅・モメンタムを見る
-
マクローリン展開
-
誤差逆伝播で寄与度を直接計算するなど
-
抽象化してapply
-
計算量削減
- 例1. 所謂 Efficient Transformer
-
帰納バイアスに則る
-
〇〇を学習可能なパラメタにする
- 例1. 既存手法は一様分布を仮定してるけど, パラメータを持った分布にすり替える
-
よく言われている問題点に着目
-
ヒューリスティックでアドホックなものを改良
- 例1. Informer
- 遠い系列を捨てるのではなく, 尤度が低いものを捨てるように
- 例1. Informer
-
内部空間を考察する = 基本に立ち返る
- 例1. Using Pre-Training Can Improve Model Robustness and Uncertainty
- 事前学習がロバスト性に寄与する理由として, 特徴空間において様々なクラスが異なる場所に位置していることと説明
- 例1. Using Pre-Training Can Improve Model Robustness and Uncertainty
-
時間方向に変化させていく
- lrやパラメタ
- アイデア→focal lossのgammaを時間変化 (todo)
-
多段階の学習をオンライン化する
- 例1. iBOT
-
解像度あたりに着目する
-
固定されているものを動かす
-
亜種に既存手法をブチこむ
- 例1. ConvMAE
- 論文を読むときに問題点をちゃんと読む
- 最適化あたりの問題提起・仮説検証を読み込む