ترانسفورمر بینایی

بندانگشتی|450x450پیکسل|معماری ترانسفورمر بینایی برای طبقه بندی تصویر
در ابتدا، ترنسفورمرها  عمدتاً برای وظایف پردازش زبان طبیعی (NLP) مورد استفاده قرار می‌گرفتند، که نمونه‌هایی از آن در مدل‌های زبانی مانند برت و  جی پی تی -۳ بود. از سوی دیگر، شبکه‌های عصبی پیچشی (CNN) معمولاً در سیستم‌های پردازش تصویر استفاده می‌شوند. برخی از پروژه های معروف CNN عبارتند از:

Xception ، رزنت، EfficientNet، دنسنت .

ترنسفورمرها روابط بین جفت نشانه های ورودی، مانند کلمات در داده های متنی را از طریق مکانیزمی به نام توجه تجزیه و تحلیل می کنند. با این حال، هزینه محاسباتی روابط محاسباتی برای هر جفت پیکسل در یک تصویر از نظر حافظه و قدرت پردازش بسیار زیاد است. برای رفع این مشکل، ترانسفورمرهایی  بینایی روابط بین پیکسل‌ها را در بخش‌های کوچک‌تر تصویر (مثلاً 16×16 پیکسل) با هزینه‌ای قابل توجه محاسبه می‌کند. این بخش ها، همراه با جاسازی های موقعیتی، در یک توالی سازماندهی شده اند. جاسازی های موقعیتی بردارهای قابل یادگیری هستند. هر بخش خطی شده و در ماتریس تعبیه ضرب می شود. خروجی حاصل، همراه با تعبیه موقعیت، سپس به ترنسفورمرها تغذیه می شود. مشابه برت ، نشانه کلاس نقش مهمی در وظایف طبقه بندی ایفا می کند. این یک توکن خاص است که تحت تأثیر همه توکن های دیگر قرار می گیرد و به عنوان تنها ورودی برای سر پرسپترون چندلایه نهایی عمل می کند. رایج‌ترین معماری برای طبقه‌بندی تصویر، تنها از رمزگذار ترنسفورمر برای تبدیل نشانه‌های ورودی استفاده می‌کند. با این حال، برنامه های کاربردی دیگری نیز وجود دارد که در آنها از بخش رمزگشای معماری سنتی ترنسفورمر استفاده می شود.

## تاریخچه
معماری عمومی ترانسفورماتور، که در سال 2017 از طریق مقاله پیشگامانه "توجه همه آن چیزی است که نیاز دارید" معرفی شد، تأثیر عمیقی بر حوزه پردازش زبان طبیعی (NLP) داشته است. این معماری بر اساس مفهوم مکانیزم های خود توجهی، به سرعت محبوبیت پیدا کرد و به یکی از امیدوارکننده ترین معماری های شبکه عصبی در پرداذش زبان های طبیعی تبدیل شد. در سال 2019، با معرفی معماری ترانسفورنر بینایی  توسط Cordonnier  و همکاران، پیشرفت قابل توجهی رخ داد. هدف این رویکرد جدید پردازش تصاویر بدون تکیه بر عملیات کانولوشنال سنتی است که معمولاً در وظایف بینایی رایانه استفاده می شود. ایده کلیدی پشت ترانسفورمر بینایی این بود که تصاویر ورودی را به مجموعه‌ای از وصله‌ها تقسیم کنند که سپس به بردار تبدیل شدند. این نمایش‌های برداری به‌عنوان «کلمات» در یک ترانسفورماتور معمولی در نظر گرفته می‌شوند و به مدل اجازه می‌دهند تا روابط بین تکه‌های مختلف یک تصویر را ثبت کند. در حالی که مکانیسم های توجه در ترانسفورماتورها در ابتدا برای ثبت روابط بین کلمات در متن طراحی شده بودند، ترانسفورمر هایی بینایی این مفهوم را به قلمرو بینایی کامپیوتر گسترش داد. ترانسفورمر بینایی با استفاده از مکانیسم‌های خودتوجهی، قصد داشت روابط بین مناطق یا تکه‌های مختلف یک تصویر را ثبت کند. این پیشرفت فرصت های جدیدی را برای تجزیه و تحلیل و درک داده های بصری باز کرد. در سال 2021، عملکرد یک مدل ترانسفورماتور خالص از شبکه‌های عصبی پیچشی  (CNN) در وظایف طبقه‌بندی تصویر پیشی گرفت و پتانسیل معماری‌های ترانسفورماتور را در بینایی کامپیوتر به نمایش گذاشت. علاوه بر این، مطالعه ای که در ژوئن 2021 انجام شد، یک بک اند ترانسفورماتور را به شبکه عصبی باقی‌مانده ، یک معماری محبوب شبکه‌های عصبی پیچشی، معرفی کرد. این ادغام منجر به کاهش قابل توجه هزینه ها و افزایش دقت شد و سازگاری و هم افزایی بین ترانسفورماتورها و مدل های بینایی کامپیوتری موجود را برجسته کرد. با پیشرفت این زمینه، محققان انواع مختلفی از معماری ترانسفورمر بینایی را برای افزایش کارایی، دقت و کاربرد در حوزه‌های خاص پیشنهاد کردند. قابل توجه در میان این گونه ها، ترانسفورماتور سویین  است که به نتایج پیشرفته ای در مجموعه داده های تشخیص اشیا مانند کوکو دست یافت. ترانسفورماتور سویین با ایجاد تغییراتی در مکانیسم توجه و اتخاذ یک رویکرد چند مرحله‌ای، بهبود عملکرد قابل توجهی را نشان داد. یکی دیگر از انواع جالب، معروف به تایم اسفورمر، به طور خاص برای وظایف درک ویدیو طراحی شده است. تایم اسفورمر توجه فضا-زمان را تقسیم بندی می کند تا هم اطلاعات مکانی و هم زمانی را به تصویر بکشد و آن را برای تجزیه و تحلیل فیلم ها و توالی فریم ها مناسب می کند. این نوع در استخراج ویژگی های معنی دار و درک پویایی داده های بصری موثر بوده است. تأثیر ترانسفورمر بینایی فراتر از محدوده آزمایشگاه‌های تحقیقاتی و به برنامه‌های کاربردی در دنیای واقعی گسترش یافته است. یک مثال قابل توجه ادغام آنها در سیستم های رانندگی مستقل است. ترانسفورمر بینایی کارایی خود را در پردازش اطلاعات بصری از حسگرها در وسایل نقلیه خودمختار نشان داده‌اند که درک بهتر، تشخیص اشیا و درک صحنه را ممکن می‌سازد. به طور خلاصه، معرفی معماری ترانسفورمر بینایی با اعمال مکانیسم های توجه مبتنی بر ترانسفورماتور بر روی تصاویر، بینایی کامپیوتر را متحول کرد. این پیشرفت منجر به بهبود عملکرد، افزایش کارایی و رویکردهای جدید برای تجزیه و تحلیل داده های بصری شد. این زمینه با تمرکز بر روی پالایش و گسترش قابلیت‌های ترانسفورمر بینایی در حوزه‌ها و کاربردهای مختلف، به تکامل خود ادامه می‌دهد.
## ساختار

ترانسفورمر بینایی بر اساس معماری ترانسفورمر است که در ابتدا برای وظایف پردازش زبان طبیعی (NLP) توسعه داده شد. اجزای اصلی معماری ترانسفورمر بینایی شامل تعبیه پچ، استخراج ویژگی از طریق رمزگذارهای ترانسفورماتور انباشته، و سر طبقه بندی است.ساختار ترانسفورمر بینایی بدین صورت است که:

۱.  یک تصویر را به وصله ها تقسیم کنید: تصویر ورودی به وصله های با اندازه ثابت  تقسیم می شود.

۲.صاف کردن تکه ها: هر وصله به یک بردار یک بعدی  صاف می شود . 

۳.ایجاد جاسازی های خطی با ابعاد پایین تر: تکه های مسطح شده به صورت خطی در بردارهای با ابعاد پایین تر جاسازی می شوند. 

۴. افزودن جاسازی های موقعیتی: جاسازی های موقعیتی برای حفظ اطلاعات مکانی به جاسازی های خطی اضافه می شوند. 

۵. دنباله را به عنوان ورودی به یک رمزگذار ترانسفورماتور استاندارد تغذیه کنید: دنباله بردارها، از جمله یک "نشان طبقه بندی" قابل یادگیری اضافی، به یک رمزگذار ترانسفورماتور استاندارد  وارد می شود. 

۶. پیش آموزش مدل با برچسب های تصویر: این مدل به شیوه ای کاملاً نظارت شده بر روی یک مجموعه داده بزرگ از قبل آموزش داده شده است. 

۷. Finetune در مجموعه داده پایین دستی برای طبقه بندی تصویر: مدل از پیش آموزش داده شده بر روی یک مجموعه داده خاص برای وظیفه طبقه بندی تصویر هدف  تنظیم شده است. 

معماری ترانسفورمر بینایی از یک سری بلوک ترانسفورماتور تشکیل شده است که هر بلوک شامل دو لایه فرعی است: یک مکانیسم خودتوجهی چند سر و یک شبکه پیش‌خور از نظر موقعیت . مکانیسم توجه به خود به مدل اجازه می‌دهد تا وابستگی‌های دوربرد بین وصله‌ها را ثبت کند، در حالی که شبکه پیش‌خور هر وصله را به‌طور مستقل پردازش می‌کند. در مقایسه با شبکه‌های عصبی پیچشی سنتی (CNN)، ترانسفورمرهای بینایی  نتایج امیدوارکننده‌ای را از نظر کارایی و دقت محاسباتی نشان داده‌اند. آنها با موفقیت در کارهای مختلف تشخیص تصویر، مانند تشخیص اشیا، تقسیم‌بندی تصویر، طبقه‌بندی تصویر، و تشخیص عمل استفاده شده‌اند. به‌علاوه، ترانسفورمرهای بینایی در مدل‌سازی تولیدی و وظایف چندوجهی، از جمله زمینه‌سازی بصری، پاسخ‌گویی به سؤالات بصری، و استدلال بصری استفاده شده‌اند. برای پیاده‌سازی و آزمایش با معماری‌های ترانسفورمر بینایی، می‌توانید با مدل‌های ترانسفورمر بینایی از پیش آموزش‌دیده شروع کنید و آن‌ها را در وظایف خاص خود تنظیم کنید. هاگینگ فیس پیاده سازی ترانسفورمر بینایی را ارائه می دهد که می توانید برای این منظور از آن استفاده کنید.
## نقش [[یادگیری خودنظارتی|یادگیری خود نظارتی]] در ترانسفورمر بینایی
یادگیری خود نظارتی نقش بسزایی در پیشرفت حوزه بینایی کامپیوتر از جمله کاربرد آن در ترانسفورماتورهای بینایی داشته است. به طور سنتی، یادگیری نظارت شده به مجموعه داده های برچسب گذاری شده بزرگ نیاز دارد، جایی که هر تصویر به صورت دستی با برچسب کلاس مربوطه حاشیه نویسی می شود. با این حال، برچسب‌گذاری مجموعه‌های داده در مقیاس بزرگ می‌تواند زمان‌بر، پرهزینه و گاهی غیرعملی به دلیل حجم وسیع داده‌های موجود باشد. اینجاست که یادگیری خود نظارتی وارد می شود. یادگیری خود نظارتی یک الگوی یادگیری است که هدف آن بهره برداری از ساختار یا محتوای ذاتی در خود داده های بدون برچسب است. به‌جای تکیه بر برچسب‌های صریح، مدل‌های یادگیری خود نظارتی برای پیش‌بینی ویژگی‌ها یا روابط خاص در داده‌ها بدون حاشیه‌نویسی ارائه‌شده توسط انسان آموزش داده می‌شوند. این به مدل‌ها امکان می‌دهد تا نمایش‌های مفیدی را از مقادیر زیادی از داده‌های بدون برچسب یاد بگیرند، که سپس می‌توانند برای کارهای تحت نظارت خاص تنظیم شوند. در زمینه ترانسفورماتورهای بینایی، یادگیری خود نظارتی بسیار ارزشمند است. با استفاده از حجم عظیمی از داده های تصویر بدون برچسب موجود، یادگیری خود نظارتی به ترانسفورماتورهای بینایی اجازه می دهد تا نمایش های بصری معنی دار و قوی را بیاموزند. این نمایش‌ها ویژگی‌های مختلف سطح پایین و سطح بالای تصاویر، مانند بافت‌ها، اشکال و مفاهیم معنایی را به تصویر می‌کشند. یکی از رویکردهای رایج برای یادگیری خود نظارتی برای ترانسفورماتورهای بینایی، استفاده از یادگیری متضاد,  است. هدف یادگیری متضاد این است که نمونه‌های مشابه را در فضای ویژگی‌های آموخته‌شده نزدیک‌تر کند در حالی که نمونه‌های غیرمشابه را از هم جدا می‌کند. در مورد ترانسفورماتورهای بینایی، از افت کنتراست استفاده می‌شود تا مدل را تشویق کند تا بازنمایی‌هایی را بیاموزد که در نماهای مختلف یک تصویر یکسان هستند. به طور معمول، یادگیری خود نظارتی برای ترانسفورماتورهای بینایی شامل ایجاد چندین نما از یک تصویر ورودی با اعمال افزایش یا تبدیل داده است. سپس این مدل برای پیش‌بینی روابط بین دیدگاه‌ها، مانند پیش‌بینی یک دیدگاه از دیدگاه دیگر، آموزش داده می‌شود. این مرحله پیش‌آموزشی با نظارت شخصی، مقداردهی اولیه قدرتمندی را برای مدل فراهم می‌کند و به آن کمک می‌کند تا بازنمایی‌های بصری غنی را بیاموزد که می‌تواند بر روی داده‌های برچسب‌گذاری‌شده برای کارهای پایین‌دستی خاص، بیشتر تنظیم شود. مزایای یادگیری خود نظارتی بر روی ترانسفورماتورهای بینایی بسیار زیاد است. این به این مدل‌ها اجازه می‌دهد از داده‌های بدون برچسب در مقیاس بزرگ، که اغلب فراوان‌تر از داده‌های برچسب‌دار هستند، یاد بگیرند. این به مقابله با چالش کمبود داده کمک می کند، به ویژه در حوزه هایی که در آن به دست آوردن داده های برچسب دار دشوار یا گران است. یادگیری خود نظارتی همچنین مدل‌ها را قادر می‌سازد تا بازنمایی‌های عمومی و قابل انتقال بیشتری را بیاموزند و عملکرد آنها را در طیف وسیعی از وظایف بهبود بخشند. به طور خلاصه، یادگیری خود نظارتی نقش مهمی در افزایش قابلیت‌های ترانسفورماتورهای بینایی ایفا می‌کند. آنها را قادر می سازد تا بازنمایی های بصری معنی دار را از مقادیر زیادی داده های بدون برچسب یاد بگیرند و پایه محکمی برای تنظیم دقیق بعدی در وظایف نظارت شده فراهم می کند. این رویکرد نتایج چشمگیری را در برنامه های مختلف بینایی کامپیوتری نشان داده است و به یک جزء اساسی در پیشرفت این رشته تبدیل شده است.

## جستارهای وابسته

* یادگیری عمیق
* توجه (یادگیری ماشین)
* شبکه عصبی مصنوعی
* هوش جامع مصنوعی
* یادگیری خودنظارتی
* ترنسفورمرها (یادگیری ماشین)

## منابع

## منابع بیشتر
*Are You Ready for Vision Transformer (ViT)
*On DINO, Self-Distillation with no labels
رده:پردازش تصویر
رده:شبکه‌های عصبی
* :ترانسفورمر بینایی
رده:بینایی رایانه‌ای
رده:شبکه‌های عصبی مصنوعی
رده:علوم محاسباتی اعصاب
رده:معماری شبکه‌های عصبی