DROBEプロダクト開発ブログ

DROBEのプロダクト開発周辺の知見や考え方の共有をしていきます

GPT-3.5に画像分類タスクを解かせる

DROBEで機械学習エンジニアをしております、藤崎です。

概要

  • ファッションの分野ではトレンドの変化とそれに伴う属性情報の変動に対応するため、画像分類AIモデルを頻繁にアップデートする必要性がある。
  • しかし、既存の画像分類AIモデルのアップデートには、労力と時間が掛かる。
  • 様々なタスクの遂行能力が高いGPT-3.5に画像処理能力を付与し、画像分類タスクに挑戦した。
  • 既存の研究(ex. HuggingGPT)と違って、GPT-3.5自体が画像分類の推論を行う点がユニークである。
  • 実験からは有望な結果が得られた。
  • 今後の性能向上はプロンプトを工夫するなど、比較的簡単な方法で達成できる可能性がある。

背景・目的

ファッションの業界は、トレンドの変化が早く、新しいスタイルが次々と提案されます。それに伴い、スタイルに付随する属性情報も常に変化しています、それに応じてモデルの衣服着用画像から、そこに映るラベル(=属性)情報を抽出する画像分類AIモデルもトレンドが変化すればアップデートすることが求められます。

ところが、画像分類AIモデルをアップデートするとなると、データセットの再構築、モデルの再学習、評価のプロセスなど、多大な労力と時間が必要となります。

このような背景から、トレンドの変化に柔軟に対応でき、かつ上記の労力を削減できる画像分類AIモデルの構築に対するニーズが高まっています。例えばCLIPのようなモデル(後述)は、多様なラベルの推定が可能であり、これらのニーズをある程度満たすものとして注目されています。しかし、従来の画像分類AIモデルに比べ、性能面での課題がまだ残っています

そこで、今回の実験での目的は、自然言語タスクの遂行能力が高いGPT-3.5に画像処理機能を与え、画像分類タスクを解かせる手法の有望性を確認することです。これにより、トレンドの移り変わりに柔軟に対応できる画像分類AI作成の土台になると考えています。

関連研究

  • 画像分類手法について

画像分類に関して、教師あり学習とOpenAIが開発したCLIPの2つのアプローチに注目します。

教師あり学習は、特定のラベルを持つ有限個のデータセットでモデルを学習する方法です。例えば、3クラス(ex. 犬、猫、鳥)の動物の画像を分類するAIを作成したい場合、それぞれのクラスに属する画像を収集し、各画像に対してラベル(ex. 犬、猫、鳥)を付けてモデルを学習します。この学習が完了すると、モデルはこれら3つのクラスを識別できるようになります。 しかし、教師あり学習の限界は明らかです。この方法では、学習データに含まれないクラス(ex. 象)の画像は識別できません。これは、教師あり学習が有限個のラベルでしか学習できないためです。

一方、CLIPは、インターネットから収集した大量(4億)*1の画像とそれに対応する自然言語の説明文のペアを使用してモデルを学習する方法です。入力された画像と自然言語の対応関係の良さを識別する能力を持っています。またCLIPは公開されているので、多くの開発者がこれを利用しています。 CLIPの利用例を挙げますと、ユーザーがCLIPに画像とラベルの候補(ex. 犬、猫、鳥)を入力すると、CLIPはどのラベルが画像に最も適しているかを判定します。 さらに、CLIPのもう一つの利点は、ラベルの候補の数に制限がないことです。ある時は「犬、猫、鳥」という3つのラベルで試行を行い、次には「犬、猫、鳥、象、トラ」といったように、ラベルを追加したり変更したりすることが容易にできます。これにより、CLIPは多様なラベルに対して汎用的な予測を行うことが可能となっています。

しかし、重要な違いとして、基本的には教師あり学習の方がCLIPのような汎用的な画像分類モデルと比較して性能が高いです。

性能 汎化性能
教師あり学習
CLIP 中 ~ 高
  • GPTについて

GPTはLLM(Large Language Models、大規模言語モデル)の一種であり、大量の文書データを元に学習され、その結果、一般常識を問うタスク、翻訳、要約など、自然言語を入力とした多様なタスクを効率的に処理する能力を有しています。2023年10月時点で、画像処理能力も備えたモデルがChatGPTには順次公開され、更なる多様な応用が期待されていますが、まだAPIとしては提供されていません。*2

最新のGPT-4はその推論能力において、特定のタスクに於いては人間と比較しても遜色がないとされています。例として、日本の医師国家試験に合格するレベルの能力があることが報告されています*3

これらのモデルが高いパフォーマンスを発揮する理由として、多段階の学習プロセスが挙げられます。これは、膨大な量のテキストデータに基づいて初期の学習を行った後、人間の専門家がモデルに対してさらに具体的、かつ、精緻な指導を行うことで、その性能を引き上げています。これにより、GPTは非常に高い精度と汎用性を持ったツールとして、多岐にわたる分野での応用が可能となっているのです。

  • LLM(Large Language Model)を使った画像分類タスクの実行

LLMには画像情報を処理する機構がないため、LLMと外部の画像認識モデルを組み合わせ、画像処理の能力を付加するアイデアが存在しています。しかし、現在のところ、多くの研究がLLMを「指揮官(コントローラー)」の役割に徹しさせ、与えられた入力に対してどの画像認識タスクを解かせるのかを判断させる役割に徹しさせている認識です。

例として、Hugging GPT*4はLLMを中心に据え、ユーザーのリクエストに応じて複数のAIタスクを解決するフレームワークを提供しています。これにおいて、LLMはタスクの計画、モデルの選択等を担当しています。そのため、最終的に推論を行うのは、LLMによって選択された具体的な画像認識モデルとなります。

一方、提案手法においては、画像情報を処理するAIモデルを効果的に活用しながら、最終的な推論はLLM自体が行う、というアプローチを採っています。このアイデアは、新規性があると考えられます。

提案手法

画像分類のタスクにおいて、LLMの推論能力を活用できないかを検証します。

具体的な処理の流れは、以下の通りです。

  1. GPT-3.5でCLIPに入力すべきラベルの候補を作成する
  2. CLIPは画像と1.で作成したラベルの候補を入力して各ラベルのもっともらしさを計算する
  3. GPT-3.5は2.で得られたもっともらしさを元に次のラベルの候補を作成する
  4. 2 ~ 3.をくり返す(本実験では5回)
  5. GPT-3.5は1.~4.の全てのやりとりの履歴を踏まえてもっともらしいラベルを一つ回答する

GPT-3.5にはCLIPから得られたもっともらしさを勘案して、臨機応変に次の質問にうつっていく必要があります。 つまり、GPT-3.5は自身が持つ知識を前提として、CLIPというツールを駆使しながら、様々な観点について網羅的に画像から情報抽出を行なっていきます。 最終的にはGPT-3.5がCLIPを通して集めた情報を元に、自身の知識を活用して画像に何が映るのかを言い当てます。

  • CLIP + GPT-3.5のやりとりのイメージ
GPT-3.5の質問 CLIPの回答
1回目のやりとり 脊椎動物ですか?無脊椎動物ですか? 脊椎動物の確率は75%です。無脊椎動物の確率は25%です。
2回目のやりとり 魚類ですか?両生類ですか?爬虫類ですか?鳥類ですか?哺乳類ですか? 魚類の確率は10%です。両生類の確率は10%です。爬虫類の確率は10%です。鳥類の確率は10%です。哺乳類の確率は60%です。
: : :
n回目のやりとり 犬ですか?猫ですか? 犬の確率は40%です。猫の確率は60%です。
  • 図を使った処理の流れの説明

    • Interaction Phase(上記説明の1~4)ではCLIP + GPT-3.5が何度もやりとりをします。
    • Classification Phase(上記説明の5)ではInteraction Phaseで収集したCLIP + GPT-3.5のやりとりを踏まえて、画像に何が写っていそうかをGPT-3.5が判断します。

処理の流れ

実験

  • 設定

提案した画像分類手法の有効性を検証するために、公開データセットCIFAR-10の評価データから300枚の画像をランダムにサンプリングしました。CIFAR-10は、飛行機、自動車、鳥、猫、鹿、犬、カエル、馬、船、トラックといった10種類のラベルが付与されたデータセットです。

  • 試行1ではベースラインとしてCLIPのみを使用してCIFAR-10の10個のラベルの候補と画像を入力し、画像がどのラベルであるかを判定させました。

  • 次に、試行2では、CLIP + GPT-3.5を使用してClassification Phaseでクラス名が既知の設定で実験しています。これは、Classification Phaseが分類の出力がCIFAR-10の10個のラベルに絞られており、そのラベル名も知っている設定です。

  • 試行3では、CLIP + GPT-3.5を使用してClassification Phaseでクラス名が未知の設定で実験しました。これは、Classification Phaseが分類の出力がCIFAR-10の10個のラベルに絞られておらず、そのラベル名も知らない設定です。

これらの評価を通じて、CLIPとGPT-3.5を組み合わせた提案手法が、画像分類タスクにおいてどの程度の性能を発揮するのか、その有効性を明らかにすることを目指しています。

  • 結果

試行3において、他の設定に比べて性能が低下する結果となりました。しかし、クラス名を明示的に指示しないこの設定でも、一定の性能を示しています。これは、提案手法の有望さを示しており、後述するような考察を踏まえて改良することで性能向上が見込めると考えています

# 内容 Accuracy
試行1 CLIP単体 88.9
試行2 提案手法(Classification Phaseでクラス名が既知の設定) 84.3
試行3 提案手法(Classification Phaseでクラス名が未知の設定) 80.4
  • 考察
Phase 内容 内容の補足 改善案
Interaction Phase 収集した履歴の重要性 履歴中の情報を全てふんだんに使っており、履歴を活用できている。

例えば試行3の設定において、Interaction Phaseでの最終的なやり取りでは自動車であることがもっともらしいと言われながら、Classification Phaseではトラック予想し、正解していた。
Interaction Phase 良くないラベルの候補の生成 提案法では早い段階で具体性の高い質問に移行してしまったことが見られた。

例えば試行2, 3の設定などで序盤の質問で特定のジャンル(ex. 家電)を問うような質問に移行してしまっており、CIFAR-10の設定では問うべき動物や乗り物に関する質問に移行できなかった。
CLIPからの回答でもっともらしさが均衡していれば、より抽象的な質問に戻るなどのプロンプトの工夫が必要。
Interaction Phase 適切な回数のInteractionの実行 提案法ではまだ肝心な質問に移行する前にClassification Phaseにうつってしまっていた。 Classification Phaseに移るべきかを評価する仕組みの導入が必要。
Classification Phase 最終出力の形式 ラベルとして単語を出力して欲しいが、文章を生成してしまうことが見られた。 出力は単語であることをデモンストレーションによって見せる(ex. few-shot learning)などのプロンプトの工夫が必要。

終わりに

本ブログでは、GPT-3.5に画像処理能力を付与し、汎化的な画像分類能力を開発するための実験を行いました。期待の持てる結果が得られましたがこの試みの過程で、様々な改善点が明らかになりました。それらの改善点の多くは、プロンプトの工夫など、比較的簡易な方法で性能向上が期待できるものが多いと考えています。

今回は触れることができませんでしたが、新しいトレンドや変化にどれだけ迅速にGPT-3.5が適応できるかという点も今後検証していきます。 実験で得られた発見は特に、ファッション業界のように、画像分類AIの定期的な更新が求められる分野で、価値があると考えています。これらの知見をもとに、より高品質な画像分類モデルの開発を目指し、引き続き実験を重ねていく所存です。

参考文献

*1:A. Radford et al., “Learning Transferable Visual Models From Natural Language Supervision,” arXiv [cs.CV], Feb. 26, 2021. [Online]. Available: http://arxiv.org/abs/2103.00020

*2:2023/10より画像機能がChatGPTでは公開されている https://openai.com/blog/chatgpt-can-now-see-hear-and-speak

*3:J. Kasai, Y. Kasai, K. Sakaguchi, Y. Yamada, and D. Radev, “Evaluating GPT-4 and ChatGPT on Japanese medical licensing examinations,” arXiv [cs.CL], Mar. 31, 2023. [Online]. Available: https://github.com/jungokasai/IgakuQA

*4:Y. Shen, K. Song, X. Tan, D. Li, W. Lu, and Y. Zhuang, “HuggingGPT: Solving AI tasks with ChatGPT and its friends in Hugging Face,” arXiv [cs.CL], Mar. 30, 2023. [Online]. Available: https://github.com/microsoft/JARVIS


DROBE開発組織の紹介
組織情報ポータル