本当に多くのラベルが必要なのか?
深層学習プロジェクトで最初に直面する壁は、多くの場合ラベリングコストです。画像分類、テキスト分類、異常検知など、教師あり学習ベースのタスクは数千から数万のラベル付きデータを要求します。特に日本のSIerやスタートアップ環境では、ラベリング作業の人件費と時間がプロジェクト予算の大部分を占めることも珍しくありません。
しかし、考えてみてください。モデルがラベルなしでもデータの構造を自律的に把握できるとしたらどうでしょうか?生成モデル(Generative Model)は教師なし学習の過程で、データの意味のあるクラスタを自然に発見することがよくあります。例えば、数字画像を学習したVAEは潜在空間で0と1を自然に分離します。
では、こうした疑問が生じます:モデルが既にデータ構造を発見しているなら、分類器に転換するために実際にどれだけのラベルが必要なのか?
この問いに答えるため、本稿ではGMVAE(Gaussian Mixture Variational Autoencoder) を用いて、極少数のラベルで高い性能を達成する方法を詳しく見ていきます。この記事は単なるチュートリアルではなく、「ラベル効率的学習」というパラダイムに対する深い考察です。
参考: 本稿の実験はEMNIST Lettersデータセット(145,600画像、26クラス)に基づいています。原著と実験コードはこちらでご確認いただけます。

GMVAE:ラベルなしで構造を学習する仕組み
標準VAEの限界
標準VAEは各データポイントを連続的な潜在変数$z$にマッピングします。しかし事前分布(Prior)が単一ガウス分布であるため、潜在空間が自然に複数のグループに分割されることはありません。つまり、クラスタリングに最適化されていません。
GMVAEのアイデア
GMVAEは事前分布をガウス混合モデル(GMM) に置き換えます。ここで$K$は事前に決めたクラスタ数です。
$p(z) = \sum_{k=1}^{K} \pi_k , \mathcal{N}(z \mid \mu_k, \sigma_k^2)$
これを実現するために、新しい離散潜在変数$y$が導入されます。モデルは各データに対してクラスタ事後確率$p(y \mid x)$を学習します。つまり、GMVAEは学習プロセス自体の中でクラスタを発見します。
$K$選択のトレードオフ
$K$の値は非常に重要です。
- 小さすぎる場合:異なるスタイルや文字が1つのクラスタに統合され、細かな構造を捉えられません。
- 大きすぎる場合:クラスタが過度に細分化され、少数のラベルサンプルでクラスタ-ラベル関係を推定することが難しくなります。
実験では$K=100$を使用しました。26のアルファベットクラスよりも十分大きく設定することで、各クラス内の筆記スタイルのバリエーションまで捉えつつ、各クラスタにラベルサンプルが十分に割り当てられるようにするバランスを取っています。

クラスタを分類器に変換する2つの戦略
GMVAEの学習が完了すると、各画像はクラスタに関する事後分布$p(y \mid x)$を持ちます。ここで、これらのクラスタにラベルを結び付ける必要があります。ここでは2つのアプローチを比較します。
ハードデコード(Hard Decoding)
最も直感的な方法です。
- ラベル付きの小さな部分集合を使用して、各クラスタに最も頻繁なラベルを割り当てます。
- ラベルなし画像に対して、最も確率が高いクラスタを1つだけ選択し、そのクラスタのラベルを割り当てます。
問題点:
- モデルの不確実性を無視します(GMVAEが複数のクラスタ間で「迷う」可能性があります)。
- クラスタが純粋(Pure)であると仮定します。しかし現実には、1つのクラスタに「i」と「l」が混在している可能性があります。
ソフトデコード(Soft Decoding) - 提案手法
ソフトデコードはクラスタ全体の事後分布を活用します。
- ラベル付きデータを使用して、各ラベル$c$に対するクラスタ確率ベクトル$p(y \mid c)$を推定します(ラベル$c$のデータが各クラスタに属する確率)。
- ラベルなし画像$x$に対して、モデルが提供する事後確率$p(y \mid x)$と各$p(y \mid c)$の類似度を計算します。
- 最も類似したラベル$c$を選択します。
利点:
- モデルの不確実性をそのまま活用します。
- クラスタが純粋でなくても、複数のクラスタの情報を総合して正しいラベルを推論できます。
具体例で見る違い
例えば、実際のラベルが「e」である画像があるとします。GMVAEのクラスタ事後分布が以下の通りだとします:
- クラスタ76: 0.5(主に「c」と関連)
- クラスタ40: 0.2(主に「e」と関連)
- クラスタ35: 0.15(主に「e」と関連)
- クラスタ81: 0.1(主に「e」と関連)
- クラスタ61: 0.05(主に「e」と関連)
ハードデコード: 最大のクラスタ76だけを見て「c」と予測 → 誤答
ソフトデコード: 全クラスタの重み付き投票の結果、「e」に該当する確率が0.5で「c」の0.5を上回る → 正答
このようにソフトデコードは事後分布の情報を捨てずに全て活用することで、特にラベルが極端に不足している状況で大きな性能向上をもたらします。

実験結果:ラベル0.2%で十分
EMNISTデータセット(145,600画像)を使用し、ラベルサンプル数を段階的に増やして実験した結果は驚くべきものでした。
主な結果
- ラベル73個(0.05%)のみでも:ソフトデコードがハードデコードに対して約18%ポイント高い精度を記録しました。これは複数のクラスタがラベルで代表されていない状況で、ソフトデコードの強みが最大化されることを示しています。
- ラベル291個(0.2%):GMVAEベースの分類器が80%の精度を達成しました。
- 比較対象:XGBoostは同じ性能を出すために約7%のラベル(約10,000個)が必要でした。35倍多くのラベルが必要だったことになります。
この結果が示す教訓
分類に必要な構造の大部分は教師なし学習段階で既に学習されます。ラベルは単にそれを「解釈」するためにのみ必要です。
これは実務上非常に重要な示唆を与えます。特にラベリングコストが大きい医療画像、法律文書、あるいは日本の製造業データ(異常検知)などにおいて、まず教師なし学習で構造を学習し、その後極少量のラベルで解釈するパイプラインを検討する価値があります。
注意点と限界
- データセット依存性:この実験はEMNISTという比較的単純なデータセットに最適化されています。複雑な自然画像(例:ImageNet)ではクラスタの純度が大幅に低下する可能性があります。
- クラスタ数$K$のチューニング:$K$はハイパーパラメータであり、ドメイン知識なしに最適値を見つけることは困難な場合があります。
- ラベルサンプルのランダム抽出の仮定:実験ではラベルサンプルがランダムに抽出されると仮定しています。実際には特定のクラスのサンプルが欠落するリスクがあります。
次のステップとしての学習方向
- Semi-supervised Learning(半教師あり学習) 全般の理解:GMVAE以外にもMixMatch、FixMatchなどの最新手法を学んでみてください。
- Contrastive Learning(対照学習):SimCLR、MoCoなど、ラベルなしで表現を学習するもう一つの強力なパラダイムです。
- 実務適用のヒント:自身のドメインに合わせてデータ前処理とGMVAEアーキテクチャを調整する必要があります。特に画像サイズ、色、ノイズなどに敏感であることに注意してください。
合わせて読みたい記事