diff --git a/README.md b/README.md index e69de29..6afc938 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,55 @@ +# 🎬 ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Π²ΠΈΠ΄Π΅ΠΎ β€” ΠžΠ±Π·ΠΎΡ€ статуса ΠΈ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ + +## πŸ“Œ Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ + +Π­Ρ‚ΠΎΡ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ фиксируСт Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ состояниС ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½Π° Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Π²ΠΈΠ΄Π΅ΠΎ, послСдниС обновлСния ΠΈ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡƒΡŽ систСму ΠΎΡ†Π΅Π½ΠΊΠΈ качСства. +ЦСль β€” ΠΈΠΌΠ΅Ρ‚ΡŒ Π΅Π΄ΠΈΠ½Ρ‹ΠΉ источник ΠΏΡ€Π°Π²Π΄Ρ‹ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΡƒΠΆΠ΅ Π³ΠΎΡ‚ΠΎΠ²ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ‹ измСряСм Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Π²Ρ‹Π²ΠΎΠ΄Ρ‹ Π΄Π΅Π»Π°Π΅ΠΌ ΠΏΠΎ послСдним сгСнСрированным ΠΊΠ°Π΄Ρ€Π°ΠΌ. + +## πŸš€ ПослСдниС обновлСния + +- **ΠŸΡ€ΠΎΠ²Π΅Π΄Ρ‘Π½ Π°ΡƒΠ΄ΠΈΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°** + Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ ΠΎΠ±Π·ΠΎΡ€ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π½Π°Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΠΎ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Π²ΠΈΠ΄Π΅ΠΎ. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Π²Ρ‹Π²ΠΎΠ΄Ρ‹ ΠΈ ΠΏΠ»Π°Π½ дСйствий зафиксированы Π½ΠΈΠΆΠ΅. + +- **Π’Ρ‹Π±Ρ€Π°Π½Π° основная ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°** + ПослС Π°Π½Π°Π»ΠΈΠ·Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² Π² качСствС ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ показатСля качСства ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Ρ‘Π½ **CLIP-score**. + +- **Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Π½ README** + Вся разрознСнная информация свСдСна Π² этот Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ Π² Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌ состоянии. + +## πŸ’» Π’Π΅ΠΊΡƒΡ‰Π΅Π΅ состояниС ΠΊΠΎΠ΄Π° + +| ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ | Бтатус | ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ | +|---------------------------------|---------------------|-----------------------------------------------------------------------------| +| Основной ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ | βœ… Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎ | Π˜Π½Ρ„Π΅Ρ€Π΅Π½Ρ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Π±Π΅Π· ошибок, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ нСбольшиС Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠΈ. | +| Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ конфигурациями | ⚠️ Π’ процСссС | ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° Π΅Π΄ΠΈΠ½Ρ‹ΠΉ YAML-ΠΊΠΎΠ½Ρ„ΠΈΠ³ для повторяСмости экспСримСнтов. | +| Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ для ΠΎΡ†Π΅Π½ΠΊΠΈ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ | βœ… Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ | Π˜Π½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ расчСт CLIP-score, Π²Ρ‹Π²ΠΎΠ΄ ΠΊΠ°ΠΊ ΠΏΠΎ сСмплам, Ρ‚Π°ΠΊ ΠΈ Π°Π³Ρ€Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ. | +| ДокумСнтация | βœ… ОбновлСна | Π”Π°Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» замСняСт Π·Π°ΠΌΠ΅Ρ‚ΠΊΠΈ Π² Ρ‡Π°Ρ‚Π°Ρ…, Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½. | + +> ⚑ **Π‘Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΠ΅ шаги** +> - ΠŸΡ€ΠΎΠ³Π½Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΡƒΡŽ ΠΎΡ†Π΅Π½ΠΊΡƒ ΠΏΠΎ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ΅ Π½Π° свСТСй ΠΏΠ°Ρ€Ρ‚ΠΈΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΉ. +> - Π—Π°Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π³ΠΈΠΏΠ΅Ρ€ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΈ Π·Π΅Ρ€Π½Π° (seeds) для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ запуска. +> - Π’ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ прямо Π² ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ. + +## πŸ“ ΠœΠ΅Ρ‚Ρ€ΠΈΠΊΠ° ΠΎΡ†Π΅Π½ΠΊΠΈ: CLIP-score + +Для количСствСнной ΠΎΡ†Π΅Π½ΠΊΠΈ соотвСтствия сгСнСрированного изобраТСния (ΠΈΠ»ΠΈ ΠΊΠ°Π΄Ρ€Π° Π²ΠΈΠ΄Π΅ΠΎ) тСкстовому описанию ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ **CLIP-score**. + +- **Π§Ρ‚ΠΎ измСряСт**: ΠšΠΎΡΠΈΠ½ΡƒΡΠ½ΠΎΠ΅ сходство ΠΌΠ΅ΠΆΠ΄Ρƒ эмбСддингами CLIP для тСкста (ΠΏΡ€ΠΎΠΌΠΏΡ‚Π°) ΠΈ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°. +- **ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π²Ρ‹Π±Ρ€Π°Π½Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ½Π°**: + - Π₯ΠΎΡ€ΠΎΡˆΠΎ ΠΊΠΎΡ€Ρ€Π΅Π»ΠΈΡ€ΡƒΠ΅Ρ‚ с чСловСчСской ΠΎΡ†Π΅Π½ΠΊΠΎΠΉ рСлСвантности «тСкст–картинка». + - НС Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ эталонного изобраТСния (reference-free). + - ЯвляСтся общСпринятым стандартом Π² сообщСствС. +- **Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ**: [Learning Transferable Visual Models From Natural Language Supervision](https://arxiv.org/abs/2103.00020) (Radford et al.) + +### Π”Π΅Ρ‚Π°Π»ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ + +```python +# ПсСвдокод расчСта CLIP-score +from transformers import CLIPProcessor, CLIPModel + +model = CLIPModel.from_pretrained("openai/clip-vit-base-patch32") +processor = CLIPProcessor.from_pretrained("openai/clip-vit-base-patch32") + +inputs = processor(text=prompt, images=image, return_tensors="pt", padding=True) +outputs = model(**inputs) +score = outputs.logits_per_image.softmax(dim=1).item() # ΠΈΠ»ΠΈ чистоС косинусноС сходство \ No newline at end of file