苦手です👻 ※2024年8月30日現在
と言うか、前々から色々なVLMに対して言及されていた課題ではありますが、、、
(特にGPT4Vで指摘されることが多い印象)
お仕事でプロトタイプ検証した時も感じておりましたが、仕事の内容なので、はてブに書くわけにもいかず、、、
と思っていたところ、からあげさんのLarge Language Marioを試していく中でも、同様の課題を感じたため、メモを残します👀
ちなみにVLMが、実写の認識は得意だけど、レトロなゲーム画像の認識は比較的苦手。と言う可能性もあります。
---
プロンプトで、横方向の相対位置(左端0.0~右端1.0)を訪ねてみたところ、かなり微妙な回答でした👀
GPT-4oの他に、GPT-4o-mini、MobileVLM、MiniCPM-V 2、Heron Blip v1、Gemini1.5 flashあたりも似たような感じ。
あくまでgpt-4o-miniの問題ですが、、、
— 高橋 かずひと@闇のパワポLT職人 (@KzhtTkhs) 2024年8月18日
① 操作に対する効果量が分かっていないから、ハテナブロック見えた瞬間、ジャンプしたりする
② 相対的な位置関係の把握がかなりイマイチ
①はプロンプトチューニングで何とかなるかもですが、②がクリアできるVLMじゃないとクリア難しいだろーなー🤔 pic.twitter.com/k3V7UfZC44
この位置苦手問題に対して、いくつか改善方法も報告されていたりします。
一例ですが、visual prompting(視覚的プロンプト?)などがあり、以下のような内容をあらかじめ画像に付与すると性能向上が出来ると言うものです。
- 入力画像に対して物体検出を行い、バウンディングボックス描画と一意の番号を割り当てて描画する
- 入力画像に対してセマンティックセグメンテーションを行い、セグメンテーション結果を半透明で重畳し、一意の番号を割り当てて描画する
- 入力画像上に、等間隔のグリッドとグリッド座標を描画する
- 注視して欲しい箇所がある場合、その箇所を丸や四角で囲んでおく
- etc
とりあえず、準備が簡単な上記の3を試してみましたが、、、
マリオをクリアできるほどではなかったです。残念。
いやー、GPT4o-miniさんマジで相対位置の把握できんね。。。( ´ー`)y-~~
— 高橋 かずひと@闇のパワポLT職人 (@KzhtTkhs) 2024年8月29日
これが解消されない限りクリアは難しいじゃろーなー。 pic.twitter.com/hkqt9RbuSx
こう何というか分かってるのか分かってねーのか微妙な認識結果が結構出ます↓
(7, 5)とか(8, 5)ってどこやねん🦔
ちなみにプロンプトはざっくりした指示を追加しています「どのグリッドに近いか説明しろ」「グリッドを元に行動を判断しろ」「敵や落とし穴を飛び越える際は2つ前のグリッドからジャンプしろ」など。
もしかしたら、各座標に対して細かく指示を出したら、更に改善するかも?
いや、それじゃあ、もはや擬似プログラミングか。。。( ´ー`)y-~~
昨今のLLM、VLMの進歩スピードを考えると、この問題も一過性のものだと思いますが🤔
物体検出も出来るVLM(Florence-2)なども発表・公開されていますし。
いや、最近LLMでゲームをプレイするAIのニュース見たな。。。何だっけド忘れした。。。👀
---
追記(2024年8月30日)
visual prompting の参考サイトや参考文献探しましたが、1と4のURLが見当たりませんでした、、、どこでメモしたんだっけ。。。😇
2の参考資料 → Set-of-Mark Prompting Unleashes Extraordinary Visual Grounding in GPT-4V
3の参考資料 → Scaffolding Coordinates to Promote Vision-Language Coordination in Large Multi-Modal Models
---
追記(2024年9月12日)
「Qwen2 VL Localization」と言う興味深いデモが、HuggingFace Spaceにありました。
上手くいくパターンもちょいちょいありますが、少し難しくなると、やはり中々うまく行かない感じでした👀
「Qwen2-VL Object Detection Demo」というデモがあって、
— 高橋 かずひと@闇のパワポLT職人 (@KzhtTkhs) 2024年9月11日
「VLMでそんなうまく行くわけ、、、」と思っていじってましたが、、、
いや、まあ、そんなうまく行くわけねーな、、、( ´ー`)y-~~
これがうまく行くなら僕はとっくの昔にLarge Language Marioクリアしている🦔https://t.co/lJQnLxe6wU pic.twitter.com/1qOT0gSt9G