پیشنویس:پیشآموزش تقابلی زبان-تصویر (CLIP)
پیشآموزش تقابلی زبان-تصویر (CLIP) تکنیکی برای یادگیری براساس زوج مدل شبکه عصبی، برای درک همزمان تصویر و متن، با استفاده از هدف تقابلی[۱] است.
این روش امکان استفادههای گسترده در چندین حوزه، از جمله بازیابی چندرسانهای[۲]، تولید تصویر از متن[۳]، رتبهبندی زیباییشناسی [۴]و زیرنویس تصاویر[۵] را فراهم کرده است.
تاریخچه انتشار
موضوع برای اولین بار در وبلاگ رسمی OpenAI در تاریخ ۵ ژانویه ۲۰۲۱ اعلام شد[۶]، با گزارشی که بهطور مستقیم از CDNه OpenAI [۷] و یک مخزن گیتهاب[۸] استفاده کرده بود، منتشر شده بود. مقاله در تاریخ ۲۶ فوریه ۲۰۲۱ در ArXiv ثبت شد.[۹]
گزارش (با حذف برخی جزئیات و پیوست ها به عنوان "PDF تکمیلی") در مجموعه مقالات سی و هشتمین کنفرانس بینالمللی یادگیری ماشین، PMLR، منتشر شد، که مهلت ارسال آن فوریه ۲۰۲۱ بود.[۱۰]
همزمان با CLIP، در همان کنفرانس ALIGN منتشر شد. این کار توسط محققان گوگل انجام شد و در واقع از همان الگوریتم استفاده کرده بود[۱۱].
الگوریتم

روش CLIP زوج مدلهای تقابلی را یاد میگیرد. مدل، یک قطعه متن را به عنوان ورودی می گیرد و یک بردار واحد را که محتوای معنایی آن را نشان می دهد، به صورت خروجی می دهد. مدل دیگر یک تصویر را می گیرد و به طور مشابه یک بردار واحد را نشان می دهد که محتوای بصری آن را نشان می دهد. مدل ها به گونه ای آموزش داده می شوند که بردارهای مربوط به جفت های متنی-تصویر مشابه معنایی در فضای بردار مشترک نزدیک به هم باشند، در حالی که بردارهای مربوط به جفت های غیر مشابه از هم فاصله زیادی دارند.
برای آموزش یک زوج مدل CLIP، می توان با آماده سازی یک مجموعه داده بزرگ از جفت های تصویر-عنوان شروع کرد. در طول آموزش، مدل ها با دسته هایی از جفت تصویر-عنوان ارائه می شوند. فرض کنیم خروجی های مدل های متنی و تصویری باشد. اگر ضرب نقطه ای آنها بزرگ باشد، دو بردار "مشابه" در نظر گرفته می شوند.
خطای محاسبه شده در این دسته خطای چند کلاس N-زوج است[۱۲], که خطای متقارن متقابل آنتروپی بر امتیاز شباهت است:
در اصل، این تابع خطا، بالا بالا بودن مقدار ضرب نقطه ای بین بردارهای تصویر و متن منطبق را تشویق می کند، در حالی که مقادیر ضرب نقطه ای بالا بین جفت های غیر منطبق را دلسرد می کند. پارامتر ، پارامتر دما است که در مدل اصلی CLIP به عنوان یک پارامتر یادگیری به صورتی که پارامتر شده است.
توابع خطای دیگری نیز قابل استفاده است. برای مثال، CLIP سیگمویدی[۱۳] پیشنهاد می کند که تابع خطای زیر استفاده شود:
در صورتی که تابع سیگموید خطای لگاریتمی منفی است.
مدلهای CLIP
در حالی که مدل اصلی توسط OpenAI توسعه داده شده است، مدل های بعدی توسط سازمان های دیگر نیز آموزش داده شده اند.
مدل تصویر

مدل های رمزگذاری تصویر مورد استفاده در CLIP معمولا ترانسفورماتورهای بینایی (ViT) هستند. قرارداد نامگذاری برای این مدل ها اغلب منعکس کننده معماری خاص ViT مورد استفاده است. به عنوان مثال، "ViT-L/14" به معنای "ترانسفورماتور بینایی بزرگ" (در مقایسه با سایر مدل های همان سری) با اندازه وصله 14 است، به این معنی که تصویر قبل از پردازش توسط ترانسفورماتور به وصله های 14 در 14 پیکسل تقسیم می شود. نشانگر اندازه از B، L، H، G (پایه، بزرگ، بزرگ، غول) به این ترتیب متغیر است.
به غیر از ViT، مدل تصویر معمولا یک شبکه عصبی کانولوشنی است، مانند ResNet (در سری اصلی OpenAI) یا ConvNeXt [۱۴](در سری مدل های OpenCLIP توسط LAION)[۱۵].
از آنجایی که بردارهای خروجی مدل تصویر و مدل متن باید دقیقا طول یکسانی داشته باشند، هم مدل تصویر و هم مدل متن دارای خروجی های برداری با طول ثابت هستند که در گزارش اصلی "بعد جاسازی" نامیده می شود.
به عنوان مثال، در مدل اصلی OpenAI، مدل های ResNet دارای ابعاد جاسازی شده از 512 تا 1024 هستند، [۱۶]: جدول 19 و برای ViTs، از 512 تا 768[۱۶].
| Model name | Resolution | Parameters (total, in millions) | Parameters (vision) | Parameters (text) | Embedding dimension | Size (MB) | Release date |
|---|---|---|---|---|---|---|---|
| RN50 | 224 | 102 | 38.3 | 63.1 | 1024 | 244 | 2021-01 |
| RN101 | 224 | 120 | 56.3 | 63.1 | 512 | 278 | 2021-03 |
| RN50x4 | 288 | 178 | 87.1 | 90.7 | 640 | 402 | 2021-03 |
| RN50x16 | 384 | 291 | 167.3 | 123.0 | 768 | 630 | 2021-07 |
| RN50x64 | 448 | 623 | 420.4 | 201.8 | 1024 | 1260 | 2022-01 |
| ViT-B/32 | 224 | 151 | 87.8 | 63.1 | 512 | 338 | 2021-01 |
| ViT-B/16 | 224 | 150 | 86.2 | 63.1 | 512 | 335 | 2021-07 |
| ViT-L/14 | 224 | 428 | 304.0 | 123.0 | 768 | 890 | 2022-01 |
| ViT-L/14@336px | 336 | 428 | 304.3 | 123.0 | 768 | 891 | 2022-04 |
پیاده سازی ViT آنها تنها با یک اصلاح مانند نسخه اصلی بود[۱۸]: پس از اضافه شدن جاسازی های موقعیت به جاسازی های وصله اولیه، یک LayerNorm وجود دارد.
پیاده سازی RestNet آنها مانند نسخه اصلی بود، و تنها 3 اصلاح در آن انجام شده بود[۱۹]:
- در ابتدای CNN ("ساقه")، آنها از سه کانولوشن 3x3 انباشته شده به جای یک کانولوشن 7x7 استفاده کردند.[۲۰]
- در ابتدای هر لایه کانولوشنی نمونه برداری به طور متوسط تجمع گام 2 وجود دارد (آنها آن را با توجه به اصطلاحات[۲۱] آن را جمع آوری تاری rect-2 می نامیدند). این اثر تار کردن تصاویر را قبل از نمونه برداری کاهش می دهد، برای ضدتشنج. [۲۲]
- لایه کانولوشن نهایی با یک تجمع توجه چند سر دنبال می شود.
ALIGN از EfficientNet در اندازههای مختلف استفاده کرد، که نوعی از شبکه های CNN بود.
مدل متن

مدلهای رمزگذاری مدل های استفاده شده در CLIP ترنسفورمرهای رایج هستند.
در گزارش اصلی OpenAI، آنها گزارش دادند که از یک ترانسفورماتور (63 میلیون پارامتری، 12 لایه، 512 عرض، 8 سر توجه) با رمزگذاری زوج بایت با حروف کوچک (BPE) با اندازه واژگان 49152 استفاده می کنند. طول متن برای کارایی در 76 محدود شد. مانند GPT، که فقط رمزگشا، فقط با پوشش-علیتی، خود-توجه [۲۳]بود: معماری آن مانند GPT-2 [۲۴]است.
مانند BERT، دنباله متن با دو نشانه خاص [SOS] و [EOS] ("شروع دنباله" و "پایان دنباله") در کروشه قرار می گیرد. فعال سازی بالاترین لایه ترانسفورماتور را در [EOS] درنظر بگیرید، LayerNorm را اعمال کنید، سپس یک نقشه خطی نهایی را اعمال کنید. این رمزگذاری متن دنباله ورودی است. نقشه خطی نهایی دارای ابعاد خروجی برابر با بعد جاسازی هر رمزگذار تصویری است که با آن جفت می شود. این مدل ها همگی دارای طول متن 77 و اندازه واژگان 49408 بودند.
ALIGN از BERT با اندازه های مختلف استفاده کرده است.
مراجع
- ↑ الگو:Cite conference
- ↑ الگو:Cite arXiv
- ↑ الگو:Cite web
- ↑ الگو:Citation
- ↑ الگو:Cite arXiv
- ↑ الگو:Cite web
- ↑ https://web.archive.org/web/20210105204011/https://cdn.openai.com/papers/Learning_Transferable_Visual_Models_From_Natural_Language.pdf
- ↑ الگو:Cite web
- ↑ الگو:Cite arXiv
- ↑ الگو:Cite web
- ↑ الگو:Cite journal
- ↑ الگو:Cite journal
- ↑ الگو:Cite conference
- ↑ الگو:Cite conference
- ↑ الگو:Citation
- ↑ ۱۶٫۰ ۱۶٫۱ الگو:Cite arXiv
- ↑ الگو:Citation
- ↑ الگو:Cite arXiv
- ↑ الگو:Cite conference
- ↑ الگو:Cite arXiv
- ↑ الگو:Cite journal
- ↑ الگو:Cite arXiv
- ↑ الگو:Cite conference
- ↑ الگو:Cite journal