پیش‌نویس:پیش‌آموزش تقابلی زبان-تصویر (CLIP)

از testwiki
نسخهٔ تاریخ ۲۸ اکتبر ۲۰۲۴، ساعت ۱۳:۰۶ توسط imported>Rezacman (ایجاد شده به‌واسطهٔ ترجمهٔ صفحهٔ «Contrastive Language-Image Pre-training»)
(تفاوت) → نسخهٔ قدیمی‌تر | نمایش نسخهٔ فعلی (تفاوت) | نسخهٔ جدیدتر ← (تفاوت)
پرش به ناوبری پرش به جستجو

الگو:Infobox software

پیش‌آموزش تقابلی زبان-تصویر (CLIP) تکنیکی برای یادگیری براساس زوج مدل شبکه عصبی، برای درک همزمان تصویر و متن، با استفاده از هدف تقابلی[۱] است.

این روش امکان استفاده‌های گسترده در چندین حوزه، از جمله بازیابی چندرسانه‌ای[۲]، تولید تصویر از متن[۳]، رتبه‌بندی زیبایی‌شناسی [۴]و زیرنویس تصاویر[۵] را فراهم کرده است.

تاریخچه انتشار

موضوع برای اولین بار در وبلاگ رسمی OpenAI در تاریخ ۵ ژانویه ۲۰۲۱ اعلام شد[۶]، با گزارشی که به‌طور مستقیم از CDNه OpenAI [۷] و یک مخزن گیت‌هاب[۸] استفاده کرده بود، منتشر شده بود. مقاله در تاریخ ۲۶ فوریه ۲۰۲۱ در ArXiv ثبت شد.[۹]

گزارش (با حذف برخی جزئیات و پیوست ها به عنوان "PDF تکمیلی") در مجموعه مقالات سی و هشتمین کنفرانس بین‌المللی یادگیری ماشین، PMLR، منتشر شد، که مهلت ارسال آن فوریه ۲۰۲۱ بود.[۱۰]

همزمان با CLIP، در همان کنفرانس ALIGN منتشر شد. این کار توسط محققان گوگل انجام شد و در واقع از همان الگوریتم استفاده کرده بود[۱۱].

الگوریتم

دید کلی معماری CLIP.

روش CLIP زوج مدل‌های تقابلی را یاد می‌گیرد. مدل، یک قطعه متن را به عنوان ورودی می گیرد و یک بردار واحد را که محتوای معنایی آن را نشان می دهد، به صورت خروجی می دهد. مدل دیگر یک تصویر را می گیرد و به طور مشابه یک بردار واحد را نشان می دهد که محتوای بصری آن را نشان می دهد. مدل ها به گونه ای آموزش داده می شوند که بردارهای مربوط به جفت های متنی-تصویر مشابه معنایی در فضای بردار مشترک نزدیک به هم باشند، در حالی که بردارهای مربوط به جفت های غیر مشابه از هم فاصله زیادی دارند.

برای آموزش یک زوج مدل CLIP، می توان با آماده سازی یک مجموعه داده بزرگ از جفت های تصویر-عنوان شروع کرد. در طول آموزش، مدل ها با دسته هایی از N جفت تصویر-عنوان ارائه می شوند. فرض کنیم خروجی های مدل های متنی v1,...,vN و تصویری w1,...,wN باشد. اگر ضرب نقطه ای آنها بزرگ باشد، دو بردار "مشابه" در نظر گرفته می شوند.

خطای محاسبه شده در این دسته خطای چند کلاس N-زوج است[۱۲], که خطای متقارن متقابل آنتروپی بر امتیاز شباهت است:

1Nilneviwi/Tjeviwj/T1Njlnevjwj/Tieviwj/T

در اصل، این تابع خطا، بالا بالا بودن مقدار ضرب نقطه ای viwi بین بردارهای تصویر و متن منطبق را تشویق می کند، در حالی که مقادیر ضرب نقطه ای بالا بین جفت های غیر منطبق را دلسرد می کند. پارامتر T>0، پارامتر دما است که در مدل اصلی CLIP به عنوان یک پارامتر یادگیری T=eτ به صورتی که τ پارامتر شده است.

توابع خطای دیگری نیز قابل استفاده است. برای مثال، CLIP سیگمویدی[۱۳] پیشنهاد می کند که تابع خطای زیر استفاده شود:

L=1Ni,j1:Nf((2δi,j1)(eτwivj+b))در صورتی که f(x)=ln(1+ex) تابع سیگموید خطای لگاریتمی منفی است.

مدل‌های CLIP

در حالی که مدل اصلی توسط OpenAI توسعه داده شده است، مدل های بعدی توسط سازمان های دیگر نیز آموزش داده شده اند.

مدل تصویر

Vision Transformer architecture. The Rep<CLS> output vector is used as the image encoding for CLIP.

مدل های رمزگذاری تصویر مورد استفاده در 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[۱۶].

Models released by OpenAI[۱۷][note 2]
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 بود.

مدل متن

One decoder layer. The Transformer used in the CLIP text encoder was made by removing the cross-attention module, then stacking the resulting module 12 times.

مدلهای رمزگذاری مدل های استفاده شده در CLIP ترنسفورمرهای رایج هستند.

در گزارش اصلی OpenAI، آنها گزارش دادند که از یک ترانسفورماتور (63 میلیون پارامتری، 12 لایه، 512 عرض، 8 سر توجه) با رمزگذاری زوج بایت با حروف کوچک (BPE) با اندازه واژگان 49152 استفاده می کنند. طول متن برای کارایی در 76 محدود شد. مانند GPT، که فقط رمزگشا، فقط با پوشش-علیتی، خود-توجه [۲۳]بود: معماری آن مانند GPT-2 [۲۴]است.

مانند BERT، دنباله متن با دو نشانه خاص [SOS] و [EOS] ("شروع دنباله" و "پایان دنباله") در کروشه قرار می گیرد. فعال سازی بالاترین لایه ترانسفورماتور را در [EOS] درنظر بگیرید، LayerNorm را اعمال کنید، سپس یک نقشه خطی نهایی را اعمال کنید. این رمزگذاری متن دنباله ورودی است. نقشه خطی نهایی دارای ابعاد خروجی برابر با بعد جاسازی هر رمزگذار تصویری است که با آن جفت می شود. این مدل ها همگی دارای طول متن 77 و اندازه واژگان 49408 بودند.

ALIGN از BERT با اندازه های مختلف استفاده کرده است.

مراجع