軽量な画像言語モデルによるアパレルドメインでのゼロショットクラス分類パイプラインの構築
1. 課題設定
私たちのビジネスにおける最優先課題は、日々蓄積される膨大な数の商品画像から、低コストかつ高速にインサイトを抽出し、ビジネス活用可能な形に構造化することです。アパレル業界はトレンドの移り変わりが激しく、商品サイクルが極めて短いため、AI モデルの構築においても「数ヶ月かけた教師データの収集と学習」は許容されません。市場に投入された新しいカテゴリや属性が、数週間後には主力商品になっていることも珍しくないからです。ビジネスサイクルに遅れず追随するためには、新たなカテゴリや属性に対しても即座に対応できる、高速な検証・改善サイクルが必須となります。
また、消費者(顧客)に対してパーソナライズされた体験を直接提供するためには、推論基盤のコスト構造そのものが重要になります。商品画像は数百万枚規模で蓄積され、かつ日々更新されるため、クラウドの巨大な計算リソースに依存したアーキテクチャでは、スケールに比例して運用コストが膨張してしまいます。安価な CPU 環境やエッジデバイス上でも現実的な速度で動作する「軽量なモデル」であることは、機能要件であると同時に事業継続性の要件でもあります。
さらに、ビジネス領域がアパレルである点も大きな壁となっています。アパレルは「ネックラインの形状」「生地の質感」「微細なパターンの違い」など、専門性が高く非常に繊細なドメインです。これらは大規模言語モデル(LLM)であれば文脈から理解可能ですが、従来の汎用的なゼロショットモデルでは、その「絶妙なニュアンス」を十分に捉えきれず、精度が不足するという課題に直面してきました。
つまり私たちが解くべきは、「コスト」「速度」「専門ドメインへの適応」という、通常はトレードオフの関係にある 3 つの要求を同時に満たすことです。本記事では、この困難な要求を最新の軽量画像言語モデルを用いていかに解決したかを、パイプラインの設計から定量評価まで一貫して詳述します。
2. 関連研究
画像と言語を統合的に扱う技術は急速に進化していますが、実運用においては「精度」と「コスト」のバランスが常に課題となります。本プロジェクトのモデル選定にあたって比較検討した主要な手法を、それぞれの強みと、私たちのユースケースにおける限界とともに整理します。
- CLIP (Contrastive Language-Image Pre-training) : 現代の画像言語モデルの祖であり、画像とテキストを同一空間に埋め込んで類似度を計算するアプローチのデファクトスタンダードです。軽量で扱いやすい一方、アパレルのような専門的なドメインでは、ゼロショットでの分類精度が不十分なケースが多く、微細な属性の識別に限界があります。汎用的な学習データで獲得した表現が、専門用語の細かなニュアンスまではカバーしきれないためです。
- LLM2CLIP : LLM の強力な言語理解能力を CLIP に注入する手法であり、非常に高品質な特徴量空間を実現しています。しかし、テキストのエンコードに LLM 自体を使用するため、推論コストが従来の CLIP に比べて数十倍に膨らみます。クラス定義を事前にキャッシュできない、画像ごとに動的なテキストを扱うようなオンザフライ(実行時)の特徴量化においては、この推論コストが大きなネックとなります。
- LLaVA (Large Language-and-Vision Assistant) : 画像を見て詳細な回答を生成できる強力な VLM であり、柔軟な質問応答が可能です。しかし、モデルサイズが 7B〜13B と巨大であり、大量の商品画像に対して高速に Embedding を抽出するような高スループットなバッチ処理には、計算コストの面から適していません。
これらの手法はいずれも「精度を取ればコストが膨らみ、コストを抑えれば専門ドメインで精度が落ちる」というトレードオフの中にあります。こうした背景を踏まえ、本プロジェクトでは SigLIP 2 を採用しました。SigLIP 2 は、学習時にデコーダー損失や自己蒸留を組み合わせる最新のレシピにより、Base サイズ(約 2 億パラメータ)という軽量さを維持しながら、従来の Large モデルや LLM 連携モデルに匹敵する詳細把握能力を実現しているからです。すなわち、前述のトレードオフを正面から崩しうる候補として、最も有力だと判断しました。
3. 実装:複雑なクラス分類パイプラインの 3 ステップ
本記事では具体例として、アパレル画像(商品単体、または複数の商品が含まれる着用画像)から、以下の 8 種類の「柄(パターン)」をマルチラベルで抽出するタスクを想定します。
対象ラベル:
-
plain(無地) -
horizontal_stripe(ボーダー) -
dot(ドット) -
check(チェック) -
floral(花柄) -
vertical_stripe(ストライプ) -
animal(アニマル) -
camouflage(迷彩)
アパレル画像には「花柄のシャツに無地のカーディガンを羽織っている」といった複数要素が混在するケースが多く、単一ラベルを返す通常の分類器ではこうした画像を正しく扱えません。この課題を、SigLIP 2 を活用した以下の 3 ステップのパイプラインで解決します。各ステップは独立しており、ラベルの追加・変更が Step 1 のやり直しだけで完結する点が、運用上の大きな利点です。
Step 1: クラス定義の埋め込み(Encoding)
上記の 8 つの柄に対し、後述する類義語リストを用いてプロンプトを作成し、テキストエンコーダーでベクトルを生成してキャッシュします。このベクトル化はクラス定義が変わらない限り一度きりで済むため、推論時のコストには一切含まれません。新しい柄カテゴリを追加したい場合も、そのラベルのテキストをエンコードしてキャッシュに加えるだけでよく、教師データの再収集やモデルの再学習は不要です。なお SigLIP 2 は多言語対応のため、英語だけでなく日本語のプロンプトを使用することも可能です。
Step 2: 特徴量抽出と内積計算
入力画像をエンコードし、キャッシュされたテキストベクトルそれぞれとの内積を計算します。画像のエンコードは 1 枚につき一度だけ行えばよく、その結果を全ラベルのテキストベクトルと内積するだけでスコアが得られるため、ラベル数が増えても計算コストはほとんど増加しません。さらに SigLIP 2 の画像エンコーダーは、MAP head(アテンション・プーリング)により画像内の重要な局所特徴を捉えるため、画像内に複数のアイテムが写っていても、それぞれの柄の特徴を効果的に抽出できます。これが、混在画像に対するマルチラベル抽出を支える技術的な土台となります。
Step 3: クラスごとのシグモイド判定
計算されたスコアに対し、モデルが保持する学習済みの温度 とバイアス を適用したシグモイド関数 を通します。
ここが従来の CLIP との決定的な違いです。CLIP は全ラベルに対する softmax により「最も近い 1 つ」を選ぶ設計であるのに対し、SigLIP 2 は「この画像にこの柄が含まれるか」をラベルごとに独立した二値分類として判定します。そのため、出力が 0.5 以上のラベルを全て採用するだけで、「floral」と「plain」の両方を同時に割り当てることが自然に可能になります。冒頭で挙げた「複数要素が混在する画像」という課題が、このステップで構造的に解決されるわけです。
4. 類義語の扱いによる精度の向上
アパレルドメインでは、一つの概念に対して複数の呼び名が存在することが一般的です。たとえば「チェック」一つをとっても、tartan、gingham、plaid など、由来や見た目の異なる複数の表現が流通しています。これらを一つのラベルとして統合し、判定精度を高めるためには、埋め込みベクトルの線形平均化が極めて有効です。
4.1 ターゲットラベル別の類義語リスト
精度を最大限に引き出すため、各ラベルに対して以下のような類義語をエンコードし、平均化することを推奨します。単一の代表語だけでは、その語の表現の偏りをそのまま引き継いでしまいますが、複数の表現を束ねることで、ラベルが指す概念をより安定して捉えられるようになります。
| ターゲットラベル | 線形平均化に推奨される類義語・表現例 |
|---|---|
plain
(無地)
|
solid color, unpatterned, monochromatic, plain fabric |
horizontal_stripe
(ボーダー)
|
border pattern, horizontal lines, nautical stripe, horizontal stripes |
dot
(ドット)
|
polka dot, spotted, speckled, dotted pattern |
check
(チェック)
|
plaid, tartan, gingham, grid pattern |
floral
(花柄)
|
flower print, botanical pattern, rose print, blossom pattern |
vertical_stripe
(ストライプ)
|
vertical lines, pinstripe, striped pattern, vertical stripes |
animal
(アニマル)
|
leopard print, zebra print, cheetah print, animalier |
camouflage
(迷彩)
|
camo, military print, army pattern, woodland camouflage |
4.2 線形表現仮説に基づく考察
なぜ単純な「ベクトルの平均」がこれほど効くのでしょうか。その理論的な裏付けが、線形表現仮説(Linear Representation Hypothesis)です。SigLIP 2 などの優れたモデルの埋め込み空間は、線形構成性(Strict Linear Compositionality)を持っていると考えられています。
この仮説に基づくと、モデル内部では概念が意味の最小単位(因子)に分解され、それらの「ベクトルの和」として複雑な意味が構成されています。言い換えれば、ある概念を指す複数の類義語は、空間上で同じ「重心」の周りに分布した、わずかに異なる「視点」であるとみなせます。類義語のベクトルを平均化する操作は、これらの視点を統合し、各表現に固有のノイズを打ち消しながら、その概念の真の重心を抽出していることに相当します。
この数学的性質があるからこそ、専門的なアパレル用語を「アンサンブル」として扱うことが、ヒューリスティックではなく原理に基づいた精度向上の手段になるのです。
5. 評価結果:アパレル柄分類における性能比較
ここまで述べたパイプラインが実際にどれだけの性能を発揮するのかを、定量的に検証します。10,400 枚のアパレル評価画像を用い、「plain(無地)」ラベルの分類性能を CLIP および SigLIP 2 の各バリアントで比較しました。
5.1 評価手法
Step 3 で述べたとおり、本パイプラインは各ラベルのスコアに対して閾値を設定し、二値判定を行います。この閾値をどこに置くかによって Precision と Recall のバランスが大きく変わるため、「閾値の決め方」自体が評価の前提となります。そこで本評価では、性質の異なる 2 種類の閾値最適化手法を併用し、多角的に性能を見ました。
- F1 最適化 : 評価データ上で F1 スコアが最大となる閾値を探索する手法です。Precision と Recall の調和平均を最大化するため、一見すると最も実用的な指標に見えます。
- ROC 最適化 : ROC 曲線(偽陽性率と真陽性率の関係)から AUC が最大となる閾値を探索する手法です。特定の運用点に依存せず、モデルが本質的に持つ「クラスを分離する能力」を評価できます。
後述するとおり、この 2 つの手法は対照的な結果を示し、そのギャップ自体がモデルの実力を読み解く鍵となります。
5.2 定量結果
F1 スコアに基づく評価
| モデル | 画像サイズ | Optimal Threshold | AUC | Accuracy | Precision | Recall | F1 Score |
|---|---|---|---|---|---|---|---|
| SigLIP 2 | 224 | 0.0233 | 0.6025 | 0.8651 | 0.8651 | 1.0000 | 0.9277 |
| SigLIP 2 | 384 | -0.0090 | 0.6788 | 0.8650 | 0.8650 | 1.0000 | 0.9276 |
| SigLIP 2 | 512 | 0.0246 | 0.6418 | 0.8650 | 0.8650 | 1.0000 | 0.9276 |
| CLIP (ViT-L/14) | 336 | 0.0996 | 0.6450 | 0.8650 | 0.8650 | 1.0000 | 0.9276 |
ROC 曲線に基づく評価
| モデル | 画像サイズ | Optimal Threshold | AUC | Accuracy | Precision | Recall | F1 Score |
|---|---|---|---|---|---|---|---|
| SigLIP 2 | 224 | 0.0672 | 0.6025 | 0.5591 | 0.9004 | 0.5513 | 0.6839 |
| SigLIP 2 | 384 | 0.0490 | 0.6788 | 0.6415 | 0.9151 | 0.6454 | 0.7570 |
| SigLIP 2 | 512 | 0.0637 | 0.6418 | 0.5810 | 0.9122 | 0.5704 | 0.7019 |
| CLIP (ViT-L/14) | 336 | 0.2106 | 0.6450 | 0.5856 | 0.9080 | 0.5796 | 0.7076 |
5.3 考察
F1 最適化手法の結果は、なぜ「見かけ倒し」なのか
F1 最適化では、全てのモデルが F1 スコア 0.9276〜0.9277 という高い値を記録しました。しかし、この数字をそのまま受け取ることはできません。表をよく見ると、すべてのモデルで Recall = 1.0、かつ Accuracy = Precision となっています。これは、最適化されたモデルが「すべての画像を無地と判定する」という退化した分類器に collapse していることを意味します。
今回の評価データは「無地」が約 86.5% を占めるため、何も考えず全画像を「無地」と答えるだけで Precision は 0.865、Recall は 1.0、結果として F1 は 0.928 に達してしまいます。つまり F1 最適化の高スコアは、モデルの識別能力ではなく、データの偏りを反映しているにすぎません。クラス不均衡なデータにおいて F1 最適化が時に無意味な結論を導く、典型的な例だといえます。一方で、この設定下でも AUC 値は SigLIP 2 (384) が 0.6788 と最も高く、後述の結論と整合します。
ROC 最適化手法の結果こそが、モデルの実力を表す
退化を起こさず、モデルが本来持つ識別能力を測れるのが ROC 最適化です。こちらの結果では、モデル間に明確な差が現れました。 SigLIP 2 (384) が F1 = 0.7570、AUC = 0.6788 で最も優れた性能を示し、CLIP (ViT-L/14) と比較して F1 スコアで +4.9% の向上を達成しています。しかも Precision は全モデルで 0.90 以上を維持しており、SigLIP 2 (384) は「見逃しを減らしながら誤検出も抑える」という、実運用で本当に求められるバランスを実現できています。
結論
以上から、アパレル柄分類タスクにおいて最もバランスの取れた性能を示したのは SigLIP 2 (384) です。画像サイズを 224・384・512 と変えた比較でも 384 が最良であり、これは解像度を上げすぎても計算コストに見合う精度向上は得られないこと、すなわち 384 が精度と計算コストの最適なトレードオフ点であることを示しています。CLIP (ViT-L/14) と比べて軽量でありながら、より高い識別能力を持つという、第 1 章で掲げた要求に応える結果が得られました。
6. まとめ
本記事では、「コスト」「速度」「専門ドメインへの適応」という相反する要求を同時に満たすことを目標に、アパレルドメインにおけるゼロショットクラス分類パイプラインの構築手法を提案しました。以下に主要な貢献と、そこから得られる実務的な示唆をまとめます。
6.1 提案手法の要約
本手法は、次の 3 つの設計判断によって成り立っています。
- 軽量モデルの選定 : 精度とコストのトレードオフを崩す候補として SigLIP 2(Base サイズ・約 2 億パラメータ)を採用し、CPU 環境やエッジデバイスでの動作を可能にしました。
- 3 ステップ分類パイプライン : クラス定義の埋め込み(Step 1)、特徴量抽出と内積計算(Step 2)、クラスごとのシグモイド判定(Step 3)に役割を分離しました。これにより、ラベル追加が Step 1 のやり直しだけで済み、かつ複数の柄が混在する画像にもマルチラベルで対応できる構造を実現しています。
- 類義語の線形平均化 : 線形表現仮説を理論的根拠とし、専門用語の複数の埋め込みを平均化することで概念の「真の重心」を抽出し、原理に基づいた精度向上を実現しました。
6.2 定量評価の結論
10,400 枚の評価データによる検証の結果、 SigLIP 2 (384) が最もバランスの取れた性能を示しました。モデルの本質的な識別能力を測る ROC 最適化において F1 = 0.7570 、 AUC = 0.6788 を記録し、デファクトスタンダードである CLIP (ViT-L/14) を +4.9% の F1 で上回っています。画像サイズの比較からは、384 が精度と計算コストの最適なトレードオフ点であることも確認できました。軽量モデルでありながら従来手法を上回るという、本プロジェクトの狙いどおりの結果です。
6.3 実務へのインパクト
この成果は、単なるベンチマーク上の優位にとどまらず、ビジネスの進め方そのものを変える意味を持ちます。
- 教師データ収集が不要になる : ゼロショットであるため、新規カテゴリの追加にプロンプトの定義だけで即座に対応できます。これまで数ヶ月を要していた「教師データの収集と学習」という工程が不要となり、トレンドの変化に検証サイクルが追随できるようになります。
- 低コスト運用が可能になる : 軽量モデルにより、クラウドの大規模リソースに依存せず CPU 環境でも推論できます。商品画像が数百万枚規模に増えても運用コストが線形に膨張しにくく、事業のスケールに耐えるアーキテクチャを構築できます。
- マルチラベル分類に対応できる : 複数の柄が混在する着用画像でも、それぞれの柄を同時に検出できます。実際の商品写真をそのまま入力でき、前処理で単一アイテムに切り出す手間が要りません。
6.4 今後の展望
本記事の評価は「plain」ラベルに焦点を当てたものであり、手法の有効性をさらに広く確かめるために、以下の検証を進めています。
- 8 ラベル全クラスでの評価 : 本記事で扱った「plain」以外の 7 ラベルを含めた全クラスでの定量評価を実施し、柄の種類による得手不得手を明らかにします。
- ドメイン特化ファインチューニングとの比較 : 追加学習を行ったモデルとの精度差を測り、「学習コストをかけずに得られる精度」と「学習コストに見合う精度向上」の境界を見極めます。
- エッジデバイス上での実運用検証 : 実機での推論速度とリソース消費を計測し、本手法が掲げる「軽量・低コスト」が実環境でも成立することを確認します。