特徴表現学習
Representation Learning ― データの「良い表現」を自動で学習する
1特徴表現学習とは?
従来の機械学習では、人間がデータから「どの特徴を使うか」を設計していました(特徴量エンジニアリング)。特徴表現学習は、モデル自身がデータの中から有用な特徴(表現)を自動的に学習するアプローチです。
一言で言うと:「人間が特徴を作る」から「機械が特徴を見つける」への転換。これがディープラーニングの本質的な強みです。
2従来の方法 vs 特徴表現学習
「写真が犬か猫かを判定する」タスクで比較します。
従来:人間が特徴を設計する
特徴表現学習:モデルが特徴を自動で学習する
核心的な違い:従来は「特徴を作る人」と「分類する機械」が別々でしたが、特徴表現学習では特徴の抽出から分類まですべてをモデルが一貫して学習します。人間が「耳の形を見ろ」と指示しなくても、モデルが自分で「耳の形が判別に有効だ」と発見します。
3層を重ねると表現が抽象化される
特徴表現学習の鍵は「深さ」にあります。層が深くなるにつれて、低レベル(単純)な特徴 → 高レベル(抽象的)な特徴へと段階的に積み上がります。
ポイント:誰も「エッジを検出しろ」「目を探せ」とは指示していません。学習データ(犬・猫の画像と正解ラベル)を大量に与えるだけで、各層が自発的にこのような階層的な特徴表現を獲得します。これが特徴表現学習の本質です。
4分野別の特徴表現学習
🖼️
画像(CNN)
畳み込み層がエッジ→テクスチャ→部品→物体と段階的に特徴を抽出。
例:ResNet, VGG
📝
テキスト(Transformer)
単語を数百次元のベクトル(埋め込み表現)に変換。意味的に近い単語は近い位置に配置される。
例:Word2Vec, BERT
🎤
音声(RNN / Transformer)
音響信号から音素→単語→文の意味を階層的に学習。
例:Whisper, WaveNet
5テキストの特徴表現学習:Word2Vec
Word2Vecは、単語を数百次元のベクトル(数値の並び)に変換します。このベクトルが単語の「意味の表現」になります。人間が「王=男性+権力者」と定義しなくても、大量の文章から自動で学習します。
これが特徴表現学習の威力:「王 − 男 + 女 ≈ 女王」のような意味の演算が可能になります。誰も「王と男の関係」を教えていないのに、大量のテキストから自動的に意味的な構造を学習したのです。
6オートエンコーダーによる特徴表現学習
オートエンコーダーは、入力をそのまま復元するという一見無意味なタスクを通じて、データの本質的な特徴表現を獲得します。
なぜ意味がある?:784次元を32次元に圧縮して元に戻せるなら、その32次元にはデータの本質的な情報が凝縮されています。この凝縮された表現(潜在表現)を他のタスク(分類など)に使うのが、オートエンコーダーによる特徴表現学習です。正解ラベルが不要なので教師なしの特徴表現学習です。
📋 全体のまとめ
|
従来の特徴量エンジニアリング |
特徴表現学習 |
| 特徴を作るのは |
人間(専門家) |
モデル自身 |
| 必要なもの |
ドメイン知識 + 試行錯誤 |
大量のデータ + 深いモデル |
| 特徴の質 |
設計者の能力に依存 |
データが多いほど良い表現を獲得 |
| 汎用性 |
タスクごとに再設計が必要 |
転移学習で別タスクにも応用可能 |
| 代表的な手法 |
HOG, SIFT, Bag of Words |
CNN, Word2Vec, BERT, オートエンコーダー |
G検定での出題ポイント
| 定義 |
モデルがデータから有用な特徴(表現)を自動的に学習すること |
| 深い層の意義 |
浅い層は単純な特徴、深い層は抽象的な特徴を学ぶ。階層的な特徴表現がディープラーニングの強み |
| 従来との違い |
「人間が特徴を設計」→「モデルが特徴を発見」への転換 |
| 代表例 |
CNN(画像)、Word2Vec/BERT(テキスト)、オートエンコーダー(教師なし) |