Visual Question Answering (VQA)
Görsel soru yanıtlama (VQA), bir görselle ilgili doğal dildeki soruları yanıtlama görevidir. VQA modellerinin çalışma şekli, önemli kıyaslamalar ve puanlama.
Görsel soru yanıtlama (VQA), "Otobüs ne renk?", "Kaç kişi bekliyor?" veya "Ocak açık mı?" gibi doğal dilde soruları bir görüntü hakkında yanıtlamaya yönelik görevdir. Sistem görüntüyü ve soruyu birlikte alıp kısa bir yanıt döndürür; bu nedenle soruyu anlaması, görüntünün ilgili bölümlerini bulması ve bunları birleştirmesi gerekir. Bu özellikler VQA'yı çok modlu yapay zekâ için standart bir sınama hâline getirir. Virginia Tech ve Microsoft Research'ten Stanislaw Antol ve çalışma arkadaşları, görevi ve ilk büyük ölçüt kümesini oluşturan VQA veri kümesini ICCV 2015'te tanıttı: çoğunluğu COCO'dan alınmış yaklaşık 250.000 görüntü, 760.000 açık uçlu soru ve her soru için toplamda yaklaşık 10 milyon yanıt veren 10 insan yanıtı.
VQA Modelleri Nasıl Çalışır#
Bir VQA modeli görüntüyü bir evrişimli sinir ağıyla (CNN) veya görüntü dönüştürücüsüyle (ViT), soruyu ise bir dil modeliyle kodlar ve ikisini birleştirir. İlk modeller, küresel görüntü özniteliklerini bir LSTM'nin soru vektörüyle birleştirip yanıtlamayı en yaygın birkaç bin yanıt arasında sınıflandırma olarak ele alıyordu. Ardından bir dikkat mekanizması, sorunun bakılacak yeri seçmesini sağladı: 2017 VQA Challenge'ı kazanan Peter Anderson ve meslektaşlarının aşağıdan yukarıya ve yukarıdan aşağıya modeli, bir nesne algılama modeli tarafından önerilen bölgeler üzerinde dikkat kullandı. Böylece "Otobüs ne renk?" sorusu otobüs kutusuna odaklanabiliyordu. Güncel görüntü-dil modelleri (VLM'ler), görüntü-soru-yanıt verileri üzerinde görsel talimatla ince ayar yapıldıktan sonra bir dil modeliyle serbest biçimli yanıtlar üretir.
Ölçütler ve Dil Önceliği Sorunu#
İlk VQA modelleri kısmen görüntüyü göz ardı ederek iyi puan aldı. Birçok soru yalnızca ifadesinden tahmin edilebilir; örneğin "... var mı?" sorusu genellikle "evet", "Hangi spor..." sorusu ise çoğu zaman "tenis" yanıtını alır. Yash Goyal ve çalışma arkadaşlarının CVPR 2017'de yayımladığı VQA v2, her soruyu yanıtları farklı olan iki benzer görüntüyle eşleştirerek bu dil önceliklerine karşı çıktı; böylece modelin yüksek puan almak için görüntüye bakması gerekti. Daha sonraki veri kümelerinin her biri farklı bir beceriye odaklanır:
- VizWiz: Görme engelli kişilerin telefonlarıyla çektikleri fotoğraflar hakkında sordukları 31.000'den fazla soru; bunların çoğu bulanık veya kötü kadrajlanmıştır.
- TextVQA: Sahnedeki metni okumayı gerektiren, örneğin formadaki numara veya dükkân tabelasındaki ad hakkındaki sorular.
- GQA: "Tabağın solundaki fincan camdan mı yapılmış?" gibi, sahne grafiklerinden üretilen bileşimsel sorular.
- OK-VQA: Bir yemeğin hangi ülkeden geldiği gibi, dış bilgi gerektiren sorular.
- VQA-RAD: ABD Ulusal Tıp Kütüphanesi'nde oluşturulan, 315 radyoloji görüntüsü hakkında klinisyenlerin yazdığı 3.515 soru.
İnsanlar doğru yanıtları farklı biçimlerde ifade ettiğinden VQA ölçütü, 10 insan etiketleyiciden kaçının yanıtı verdiğine göre puanlama yapar; üç veya daha fazla eşleşmeyi tamamen doğru sayar ve dokuz etiketleyicinin her alt kümesi üzerinden ortalama alır:
# Ten crowd answers to "What color is the bus?", as collected for every VQA question
human_answers = ["red"] * 7 + ["red and white"] * 2 + ["orange"]
def vqa_accuracy(prediction, answers):
"""Average min(matches / 3, 1) over the ten leave-one-out subsets of nine answers."""
scores = []
for i in range(len(answers)):
others = answers[:i] + answers[i + 1 :]
scores.append(min(others.count(prediction) / 3, 1))
return sum(scores) / len(scores)
for prediction in ["red", "red and white", "orange", "blue"]:
print(f"{prediction}: {vqa_accuracy(prediction, human_answers):.2f}")"red" için 1,00, "red and white" için 0,60, "orange" için 0,30 ve "blue" için 0,00 verir: yalnızca bir anotatörün verdiği bir yanıt bile kısmi puan alırken, kimsenin vermediği bir yanıt hiç puan almaz. Sonuçlar evet/hayır, sayı ve diğer yanıt türleri için ayrı ayrı raporlanır. Sayı soruları sürekli olarak en düşük puanı alır; çünkü sayma, her örneğin tam olarak bir kez bulunmasını gerektirir. Algılayıcılar sayma sorularını doğrudan yanıtlar: YOLO26 her nesne için bir kutu döndürür; dolayısıyla tahmin sonucundaki "person" kutularının sayısı, 80 COCO sınıfından herhangi biri için "Resimde kaç kişi var?" sorusunu yanıtlar. Bu listenin dışındaki sınıflar için görsel-dil modelleri de kutular döndürebilir. VLM Leaderboard, bu modellerin gerçek dünya veri kümelerindeki nesneleri algılama doğruluğunu ölçer.
VQA ve İlgili Görevler#
Görüntü açıklama, kendisine bir şey sorulmadan görüntünün tamamını betimler; VQA ise hedefe yönelik tek bir soruyu yanıtlar. Görsel temellendirme, bir ifadenin adını verdiği nesnenin konumunu, çoğunlukla sınırlayıcı kutu olarak döndürür; VQA ise o nesne hakkındaki bir soruyu yanıtlar. Optik karakter tanıma (OCR), TextVQA türü soruların sorduğu metni sağlar; görsel akıl yürütme ise GQA'nın bileşimsel sorularının gerektirdiği çok adımlı çıkarımdır. Yalnızca metinle çalışan soru yanıtlama, pikseller yerine bir metin bölümünü kullanır.
Uygulamalar#
Yardımcı teknoloji, en açık kullanım alanıdır. Be My Eyes, 2023'te OpenAI'ın GPT-4 modeliyle oluşturulan Be My AI'ı ekledi; böylece görme engelli ve az gören kullanıcılar bir etiketi, ekranı veya sokağı fotoğraflayıp onun hakkında soru sorabiliyor. Perakende ve üretim ekipleri, her soru için sınıflandırıcı eğitmek yerine raf fotoğraflarını veya inceleme görüntülerini VLM'lere soruyor. Sağlık hizmetlerinde tıbbi VQA araştırmaları, röntgen ve BT taramaları hakkında "Kırık var mı?" gibi soruları ele alıyor. Bu, VQA-RAD'ın klinisyenlerin görüntülere bakarken yazdığı sorularla ölçtüğü bir tıbbi görüntü analizi biçimidir.










