BERT-CNN Reward Caption Reranker
выбирает лучшую подпись к изображению
Это BERT-CNN-модель для переранжирования подписей от AhmedSSabir: BERT-base с CNN-головой, около 0,11 млрд параметров, английский язык. Она не читает изображение и не генерирует подписи, а получает девять beam-кандидатов и текстовые метки контекста, после чего выбирает наиболее вероятную подпись под человеческие референсы.
🔥 Ключевые особенности
- 👉 На входе — девять captions в beam-порядке и слова контекста (объекты, сцены); изображение не нужно.
- 🔥 Обучена с listwise expected-CIDEr reward на референсах COCO, без новой человеческой разметки.
- 💪 На 5 000 изображений COCO Karpathy поднимает CIDEr Gemma 4 12B с 0.9624 до 0.9783 без дообучения.
- 😐 В in-domain тесте на BLIP 9-beam: CIDEr 1.0632 → 1.1470.
- 👀 Полезна как дешёвый пост-процессинг для captioner, но выбирает только среди его кандидатов.
🍒 Пример
from huggingface_hub import snapshot_download
import sys
path = snapshot_download("AhmedSSabir/BERT-CNN-Reward-Caption-Reranker")
sys.path.insert(0, path)
from inference import CaptionReranker
reranker = CaptionReranker(path, device="cpu") # "cuda" for GPU
best, scores = reranker.rerank("wall clock analog tree", beams) # beams — 9 captions
print(beams[best])
Подробнее
Обучение: 4 эпохи, 5 000 шагов, Adam; 7 минут на одной RTX A5000.Бенчмарки: Gemma 4 12B CIDEr 0.9624 → 0.9783; BLIP-base 1.0632 → 1.1470.
Ограничения: нужны ровно 9 captions в beam-порядке; на BLIP-2 OPT-2.7B COCO прироста нет.
Для вероятностей relatedness используйте stage I BERT-CNN; язык модели — английский.








Комментарии