# 表現学習
## 定義
表現学習(feature learning)とは、データの表現方法、およびデータからその表現への変換方法そのものを学習によって獲得することを指す。機械学習では入力を機械的に変換した値をそのままモデルに与えてもうまく学習できないことがほとんどであるため、タスクに関係する重要な情報を抽出する特徴抽出(feature extraction)というステップを経てからモデルに入力する。どのような特徴抽出関数を設計すべきかは長らく人手による研究の対象だったが、ディープラーニングの発展とともに、教師なし学習によってデータの表現・その表現への変換方法を自動獲得できることがわかってきた。元のデータの表現をそのまま使うより、獲得された表現を使うことで学習効率が上がり、汎化性能も改善されることが期待される。(Source: [[@2022__Gihyo__ディープラーニングを支える技術 - Chapter 2 [入門]機械学習]] §2.4, §2.6)
## 特徴抽出の重要性
特徴抽出は最終的な性能を決める上で重要であり、タスクによっては最も重要なステップとなる。ディープラーニングではデータから特徴抽出自体を学習するようになり、飛躍的な性能向上を果たした。この特徴の組合せは「表現」とも呼ばれ、ディープラーニングは表現方法を学習する手法だともいえる。(Source: [[@2022__Gihyo__ディープラーニングを支える技術 - Chapter 2 [入門]機械学習]] §2.6)
## 自己教師あり学習による獲得
近年は[[自己教師あり学習]]によって表現学習を行う手法が中心的な役割を果たしている。教師なしデータから自動的に訓練データを作り、その問題を解く過程で最適な表現方法を副次的に得る。詳細は[[自己教師あり学習]]を参照。(Source: [[@2022__Gihyo__ディープラーニングを支える技術 - Chapter 2 [入門]機械学習]] §2.4)
## 「表現」の重要性と難題(第3章)
機械学習で重要な問題は対象の情報をいかに表現するかであり、うまく表現できていない場合は後続の手法をいくら工夫しても学習できず汎化もできない。情報は、後のタスクで扱いやすいように概念や因子が特定・分解されている必要があり、これを「もつれが解けている(disentangled)ような表現」と呼ぶ。(Source: [[@2022__Gihyo__ディープラーニングを支える技術 - Chapter 3 ディープラーニングの技術基礎]] §3.1)
文書分類の例では、BoW(Bag of words)表現は単語の出現情報だけで文書を表すため単純だが強力である一方、単語の出現順序・位置の情報を失う(「私はきつねうどんが好きだ」と「私はうどんが好きなきつねだ」を区別できない)。画像分類でも同様にBoVW(Bag of visual word)表現は局所特徴量の相対位置関係を無視するため、「馬の上に人が乗っている画像」と「人の上に馬が乗っている画像」を区別できない。これらは、表現がタスクに必要な情報を保持していない具体例である。(Source: [[@2022__Gihyo__ディープラーニングを支える技術 - Chapter 3 ディープラーニングの技術基礎]] §3.1)
## 従来の特徴設計との対比(第3章)
従来の機械学習では、専門家が対象領域の知識を使って特徴関数の集合を設計していた(例: 画像のSIFT、文書のtf-idf)。しかし、専門家が高精度に分類できたとしても、その判断根拠となった特徴やデータ表現を明示化・数値化し計算機上で再現可能な形にすることは容易ではない(ポランニーのパラドックス: 「我々は語れる以上のことを知っている」)。ディープラーニングは、この表現方法の設計自体をアーキテクチャ設計を通じてデータから学習する点で従来の機械学習と異なり、多くの問題で表現学習を実現できていることが高性能である根本理由だとされる。(Source: [[@2022__Gihyo__ディープラーニングを支える技術 - Chapter 3 ディープラーニングの技術基礎]] §3.1, §3.5)
## 表現学習とタスク学習の分離(『ディープラーニングを支える技術〈2〉』第5章)
続編第5章は、新しいタスクの学習を「データを含めた問題をどう表現するか」という表現学習と、「その表現上でタスクを実現する分類・回帰を学習する」タスク学習の2つに明確に分離する。良い表現さえ獲得できていればタスク学習に必要なデータは少なくて済み、教師あり学習が大量の訓練データを要するのは表現学習に大量のデータが必要なためだと同章は説明する。教師あり学習では表現学習とタスク学習の両方をタスクに関する損失だけで(表現学習は副次的に)行うが、表現学習部分は教師なしデータを使って事前に学習しておくことが可能である。この分離は強化学習にも適用され、「どのように表現するか」という表現学習と、「そこから価値を予測したり最適方策を求める」学習に分けられ、前半の表現学習は事前に教師なしデータで学習できると同章は述べる。(Source: [[@2022__Gihyo__ディープラーニングを支える技術〈2〉 - Chapter 5 これからのディープラーニングと人工知能]] §5.1)
## 横断的知見
1 ソース目のため、複数ソースの突き合わせによる横断的知見は今後の蓄積に委ねる。[[プラトン的表現仮説]]・[[モデル表現収束]]は本ページより発展した表現学習の理論的観察を扱う既存 concept であり、本ページの「特徴抽出→ディープラーニングによる自動学習」という基礎的な導入との突き合わせは今後の課題。
- **第2章は表現学習を「特徴抽出の自動化」という機械学習全体の枠組みから定義し、第3章は「情報の表現がタスクに必要な情報を保持しているか」という具体的な失敗例(BoW・BoVW)から表現学習の必要性を導く**: 第2章の定義(本ページ「## 定義」節)は、特徴抽出という既存のステップをディープラーニングが自動化したという系譜的な位置づけを与える。一方、第3章は特徴抽出の自動化がなぜ重要かを、BoWが単語の出現順序を失う具体例、BoVWが物体の相対位置関係を失う具体例で示し、「もつれが解けている(disentangled)表現」という理想像と、専門家による特徴設計がポランニーのパラドックスにより明示化困難であるという根拠を追加する。第2章が「何が起きたか(特徴抽出の自動化)」を、第3章が「なぜそれが必要で、なぜ人手では難しいか」を担っており、両者は表現学習という同一概念を異なる粒度で補完している。(Source: [[@2022__Gihyo__ディープラーニングを支える技術 - Chapter 2 [入門]機械学習]] §2.4, §2.6, [[@2022__Gihyo__ディープラーニングを支える技術 - Chapter 3 ディープラーニングの技術基礎]] §3.1)
- **前書第2章は表現学習を「特徴抽出の自動化」として定義するにとどまるが、続編第5章は「表現学習とタスク学習の分離」という明示的な二分法を導入し、なぜ良い表現があればタスク学習に必要なデータが少なくて済むのかという因果関係を説明する**: 前書第2章の定義(本ページ「## 定義」節)は表現学習を静的な能力として捉えるが、続編第5章は「表現学習に大量のデータが必要な理由」「タスク学習が表現学習より少ないデータで済む理由」を、教師あり学習・強化学習の両方で明示的に論じる。とくに強化学習における表現学習(状態表現の獲得)とタスク学習(価値予測・方策学習)の分離は、前書のいずれの章にも見られない新しい整理であり、表現学習という概念が教師あり学習に限らず強化学習にも横断的に適用できる枠組みであることを示す。(Source: [[@2022__Gihyo__ディープラーニングを支える技術 - Chapter 2 [入門]機械学習]] §2.4, [[@2022__Gihyo__ディープラーニングを支える技術〈2〉 - Chapter 5 これからのディープラーニングと人工知能]] §5.1)
- **第2章が表現学習の担い手として自己教師あり学習を挙げるのに対し、第3章は誤差逆伝播法による教師あり学習の文脈でも表現学習が成立することを示す**: 第2章「自己教師あり学習による獲得」節は、教師なしデータから自動的に訓練データを作る枠組みを表現学習獲得の中心的経路として説明する。一方、第3章§3.6は、畳み込み層を重ねて「縦棒・横棒・丸」から「十字・T字」へとパターンの組み合わせを検出していく過程自体を「画像の表現方法を学習しているとみなすことができる」と述べており、これは通常の(教師あり)分類タスクの学習過程でも表現学習が副産物として起きることを示す。表現学習は自己教師あり学習に限定された現象ではなく、[[誤差逆伝播法]]で学習されるあらゆる多層ネットワークに内在する性質だと分かる。(Source: [[@2022__Gihyo__ディープラーニングを支える技術 - Chapter 2 [入門]機械学習]] §2.4, [[@2022__Gihyo__ディープラーニングを支える技術 - Chapter 3 ディープラーニングの技術基礎]] §3.6)
## 未解決の問い
- 強化学習における表現学習(状態表現の獲得)とタスク学習(価値予測・方策学習)の分離は、続編第5章では「可能だと考えられる」という提案にとどまる。実際にどのようなアーキテクチャ・訓練手順でこの分離を実現できるか。(Source: [[@2022__Gihyo__ディープラーニングを支える技術〈2〉 - Chapter 5 これからのディープラーニングと人工知能]] §5.1)
- 表現学習によって獲得された表現の「良さ」を、下流タスクの性能以外の指標(不変性・独立性・線形分離可能性など)で定量化する方法は何か。
- ディープラーニングが自動獲得する特徴抽出は、人手設計の特徴抽出と比べてどのような場合に劣る(解釈性・データ効率の観点で)か。第3章以降の技術基礎とどう接続するか。
- 「もつれが解けている(disentangled)表現」を定量的にどう評価するか。第3章はこの理想像を提示するのみで測定方法には踏み込まない。
- 第3章§3.6が示す畳み込み層の階層的パターン検出(表現学習の具体例)と、第2章が説明する自己教師あり学習による表現獲得は、同じ「良い表現」に収束するのか、それとも異なる性質の表現を学習するのか。
## 関連
- source: [[@2022__Gihyo__ディープラーニングを支える技術 - Chapter 2 [入門]機械学習]] / [[@2022__Gihyo__ディープラーニングを支える技術 - Chapter 3 ディープラーニングの技術基礎]] / [[@2022__Gihyo__ディープラーニングを支える技術〈2〉 - Chapter 5 これからのディープラーニングと人工知能]](表現学習とタスク学習の分離)
- concept: [[教師なし学習]] / [[自己教師あり学習]] / [[プラトン的表現仮説]] / [[モデル表現収束]] / [[誤差逆伝播法]] / [[畳み込みニューラルネットワーク]]
- 書籍: [[wiki/entities/ディープラーニングを支える技術|ディープラーニングを支える技術]] / [[ディープラーニングを支える技術〈2〉]]
## 出典
- 岡野原大輔, 『ディープラーニングを支える技術』, 技術評論社, 2022, 第2章, §2.4, §2.6.
- 岡野原大輔, 『ディープラーニングを支える技術』, 技術評論社, 2022, 第3章, §3.1, §3.5, §3.6.
- 岡野原大輔, 『ディープラーニングを支える技術〈2〉 ニューラルネットワーク最大の謎』, 技術評論社, 2022, 第5章, §5.1.