ترنسفورمرها (یادگیری ماشین)

«ترانسفورمر» یک مدل یادگیری عمیق است که مکانیسم  توجه به خود، به‌طور متفاوتی اهمیت هر بخش از داده‌های ورودی را وزن می‌کند. عمدتاً در زمینه‌های پردازش زبان طبیعی (NLP) و بینایی رایانه ای (CV) استفاده می‌شود.

مانند شبکه عصبی بازگشتی (RNN)، ترانسفورمرها برای مدیریت داده‌های ورودی متوالی، مانند زبان طبیعی، برای کارهایی مانند ترجمه و خلاصه متن طراحی شده‌اند. با این حال، برخلاف شبکه عصبی بازگشتیها، ترانسفورمرها لزوماً داده‌ها را به ترتیب پردازش نمی‌کنند. در عوض، مکانیسم توجه زمینه را برای هر موقعیتی در دنباله ورودی فراهم می‌کند. به عنوان مثال، اگر داده ورودی یک جمله زبان طبیعی باشد، ترانسفورمر نیازی به پردازش ابتدای جمله قبل از پایان ندارد. در عوض، زمینه ای را مشخص می‌کند که به هر کلمه در جمله معنا می‌بخشد. این ویژگی اجازه می‌دهد تا موازی سازی بیشتر از شبکه عصبی بازگشتیها باشد و بنابراین زمان آموزش را کاهش می‌دهد.

ترانسفورمرها در سال ۲۰۱۷ توسط تیمی در Google Brainمعرفی شدند و به‌طور فزاینده ای مدل انتخابی برای مشکلات NLP هستند، جایگزین مدل‌های شبکه عصبی بازگشتی مانند حافظه کوتاه-مدت طولانی (LSTM). موازی سازی آموزش اضافی امکان آموزش بر روی مجموعه داده‌های بزرگتر از زمانی که ممکن بود را می‌دهد. این منجر به توسعه  سیستم‌های از پیش آموزش دیده مانند برت (مدل زبانی) (نمایش رمزگذار دوطرفه از ترانسفورمرها) و GPT (تبدیل پیش‌آموزش‌شده تولیدی)، که با مجموعه داده‌های زبانی بزرگ، مانند ویکی‌پدیا و Common Crawl آموزش دیده‌اند، و می‌توان آنها را برای کارهای خاص به‌خوبی تنظیم کرد.

پس زمینه 
قبل از ترانسفورمرها، بیشتر سیستم‌های NLP پیشرفته به شبکه عصبی بازگشتیهای دروازه‌دار مانند [[حافظه طولانی کوتاه-مدت
]] و واحد بازگشتی دروازه‌ای (GRU) با مکانیسم توجه اضافه شده بود. ترانسفورمرها بر اساس این فناوری‌های توجه بدون استفاده از ساختار شبکه عصبی بازگشتی ساخته شده‌اند، و این واقعیت را برجسته می‌کند که مکانیسم‌های توجه به تنهایی می‌توانند عملکرد شبکه عصبی بازگشتیها را با توجه مطابقت دهند.

پردازش متوالی 
شبکه عصبی بازگشتیهای دروازه ای توکن‌ها را به صورت متوالی پردازش می‌کنند و یک بردار حالت را حفظ می‌کنند که حاوی نمایشی از داده‌هایی است که بعد از هر نشانه مشاهده می‌شود. برای پردازش علامت  ام، مدل حالتی را که جمله را تا توکن  نشان می‌دهد با اطلاعات نشانه جدید برای ایجاد یک حالت جدید، نشان دهنده جمله تا نشانه . از نظر تئوری، اطلاعات یک توکن می‌تواند به‌طور دلخواه در طول توالی منتشر شود، اگر در هر نقطه، وضعیت به رمزگذاری اطلاعات متنی در مورد نشانه ادامه دهد. در عمل، این مکانیسم ناقص است: مسئله گرادیان ناپدید شدن وضعیت مدل را در پایان یک جمله طولانی بدون اطلاعات دقیق و قابل استخراج دربارهٔ نشانه‌های قبلی ترک می‌کند.
وابستگی محاسبات توکن به نتایج محاسبات توکن‌های قبلی نیز موازی کردن محاسبات روی سخت‌افزار یادگیری عمیق مدرن را دشوار می‌کند. این می‌تواند آموزش شبکه عصبی بازگشتیها را ناکارآمد کند.

توجه 
این مشکلات با مکانیسم‌های توجه برطرف شد. مکانیسم‌های توجه به یک مدل اجازه می‌دهند از حالت در هر نقطه قبلی در طول دنباله استفاده کند. لایه توجه می‌تواند به همه حالت‌های قبلی دسترسی داشته باشد و آنها را با توجه به اندازه‌گیری مرتبط بودن اندازه‌گیری کند، و اطلاعات مرتبطی در مورد توکن‌های دور ارائه دهد.

مثال واضحی از ارزش توجه در ترجمه ماشینی است، که در آن زمینه برای تعیین معنای یک کلمه در جمله ضروری است. در سیستم ترجمه انگلیسی به فرانسوی، احتمالاً اولین کلمه خروجی فرانسوی به شدت به چند کلمه اول ورودی انگلیسی بستگی دارد. با این حال، در یک مدل کلاسیک حافظه طولانی کوتاه-مدت، برای تولید اولین کلمه خروجی فرانسوی، مدل فقط بردار حالت کلمه انگلیسی «آخرین» را به مدل داده می‌شود. از نظر تئوری، این بردار می‌تواند اطلاعات مربوط به کل جمله انگلیسی را رمزگذاری کند و تمام دانش لازم را به مدل بدهد. در عمل، این اطلاعات اغلب به خوبی توسط حافظه طولانی کوتاه-مدت حفظ می‌شود. یک مکانیسم توجه می‌تواند برای رفع این مشکل اضافه شود: رمزگشا به بردارهای وضعیت هر کلمه ورودی انگلیسی دسترسی دارد، نه فقط آخرین کلمه، و می‌تواند وزن‌های توجه را یاد بگیرد که میزان توجه به هر بردار حالت ورودی انگلیسی را تعیین می‌کند.

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

معماری

معماری رمزگذار-رمزگشا 
مانند مدل‌های قبلی seq2seq، مدل اولیه ترانسفورمر از معماری «رمزگذار-رمزگشا» استفاده می‌کرد. رمزگذار از لایه‌های رمزگذاری تشکیل شده‌است که ورودی را به‌طور مکرر یکی پس از دیگری پردازش می‌کند، در حالی که رمزگشا شامل لایه‌های رمزگشایی است که همان کار را با خروجی رمزگذار انجام می‌دهد.

وظیفه هر لایه رمزگذار تولید رمزگذاری‌هایی است که حاوی اطلاعاتی در مورد اینکه کدام بخش از ورودی‌ها با یکدیگر مرتبط هستند. رمزگذاری‌های خود را به عنوان ورودی به لایه رمزگذار بعدی ارسال می‌کند. هر لایه رمزگشا برعکس عمل می‌کند، تمام رمزگذاری‌ها را می‌گیرد و از اطلاعات متنی آنها برای تولید یک دنباله خروجی استفاده می‌کند.

برای هر ورودی، توجه، ارتباط هر ورودی دیگر را می‌سنجد و از آنها برای تولید خروجی استفاده می‌کند. هر لایه رمزگشا دارای مکانیزم توجه اضافی است که اطلاعات را از خروجی‌های رمزگشاهای قبلی، قبل از اینکه لایه رمزگشا اطلاعات را از رمزگذاری‌ها ترسیم کند، می‌گیرد. .

هر دو لایه رمزگذار و رمزگشا دارای یک  شبکه عصبی پیش‌خور برای پردازش اضافی خروجی‌ها هستند و شامل اتصالات باقی‌مانده و مراحل عادی‌سازی لایه هستند.

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

برای هر واحد توجه، مدل ترانسفورمر سه ماتریس وزن را یادمی‌گیرد. وزن پرس و جو ، وزن کلید  و وزن مقدار . برای هر نشانه ، ورودی جاسازی کلمه  با هر یک از سه ماتریس وزن ضرب می‌شود تا یک بردار پرس و جو تولید شود ، یک بردار کلید ، و یک بردار مقدار . وزن توجه با استفاده از پرس و جو و بردارهای کلید محاسبه می‌شود: وزن توجه  از نشانه  تا نشانه  حاصل ضرب نقطه ای بین  و . وزن‌های توجه بر جذر ابعاد بردارهای کلیدی تقسیم می‌شوند، ، که گرادیان‌ها را در طول تمرین تثبیت می‌کند و از یک بیشینه هموار عبور می‌کند که وزن‌ها را عادی می‌کند. این واقعیت که  و  ماتریس‌های متفاوتی هستند باعث می‌شود توجه غیر متقارن باشد: اگر نشانه  به نشانه  (یعنی  بزرگ است، این لزوماً به این معنی نیست که نشانه  به نشانه  (یعنی   خواهد آمد k_i </math> می‌تواند کوچک باشد). خروجی واحد توجه برای نشانه  مجموع وزنی بردارهای ارزش همه نشانه‌ها است که با  وزن شده‌است، توجه از نشانه  به هر نشانه.

محاسبه توجه برای همه نشانه‌ها را می‌توان به عنوان یک محاسبه ماتریس بزرگ با استفاده از بیشینه هموار بیان کرد که به دلیل بهینه‌سازی عملیات ماتریس محاسباتی که به سرعت عملیات ماتریس را محاسبه می‌کند برای آموزش مفید است. ماتریس‌های ،  و  به‌عنوان ماتریس‌هایی تعریف می‌شوند که در آن ردیف‌های  بردار هستند. به ترتیب  و  و

توجه چند سر 
یک مجموعه از ماتریس‌های  «سر توجه» نامیده می‌شود و هر لایه در یک مدل ترانسفورمر دارای سرهای توجه متعددی است. در حالی که هر سر توجه به نشانه‌های مربوط به هر نشانه توجه می‌کند، با سرهای توجه متعدد، مدل می‌تواند این کار را برای تعاریف مختلف «ارتباط» انجام دهد. علاوه بر این، میدان تأثیر نشان دهنده ارتباط می‌تواند به تدریج در لایه‌های متوالی گشاد شود. بسیاری از سرهای توجه ترانسفورمر روابط مرتبطی را رمزگذاری می‌کنند که برای انسان معنادار است. برای مثال، سرهای توجه می‌توانند بیشتر به کلمه بعدی توجه کنند، در حالی که دیگران عمدتاً از افعال به مفعول مستقیم خود توجه می‌کنند. محاسبات برای هر سر توجه را می‌توان به صورت موازی انجام داد، که امکان پردازش سریع را فراهم می‌کند. خروجی‌های لایه توجه به هم متصل می‌شوند تا به لایه‌های شبکه عصبی پیش‌خور منتقل شوند.

رمزگذار 
هر رمزگذار از دو جزء اصلی تشکیل شده‌است: یک مکانیسم توجه به خود و یک شبکه عصبی پیشخور. مکانیسم توجه به خود کدهای ورودی را از رمزگذار قبلی می‌پذیرد و ارتباط آنها را با یکدیگر برای تولید کدهای خروجی می‌سنجد. شبکه عصبی پیشخور بیشتر هر کدگذاری خروجی را به صورت جداگانه پردازش می‌کند. این کدهای خروجی سپس به رمزگذار بعدی به عنوان ورودی آن و همچنین به رمزگشاها ارسال می‌شود.

رمزگذار اول اطلاعات موقعیتی و جاسازی‌ها دنباله ورودی را به‌جای رمزگذاری به عنوان ورودی خود می‌گیرد. اطلاعات موقعیت برای ترانسفورمر برای استفاده از ترتیب ترتیب ضروری است، زیرا هیچ بخش دیگری از ترانسفورمر از این استفاده نمی‌کند.

رمزگشا 
هر رمزگشا از سه جزء اصلی تشکیل شده‌است: مکانیسم توجه به خود، مکانیسم توجه روی رمزگذاری‌ها و شبکه عصبی پیش‌خور. رمزگشا به روشی مشابه رمزگذار عمل می‌کند، اما مکانیسم توجه اضافی درج شده‌است که در عوض اطلاعات مربوطه را از رمزگذاری‌های تولید شده توسط رمزگذارها می‌گیرد.

مانند رمزگذار اول، رمزگشای اول به جای رمزگذاری، اطلاعات موقعیتی و جاسازی‌های دنباله خروجی را به عنوان ورودی خود می‌گیرد. ترانسفورمر نباید از خروجی فعلی یا آینده برای پیش‌بینی یک خروجی استفاده کند، بنابراین دنباله خروجی باید تا حدی پوشانده شود تا از این جریان اطلاعات معکوس جلوگیری شود.آخرین رمزگشا با یک  تبدیل خطی و لایه بیشینه هموار، برای تولید احتمالات خروجی از روی واژگان.

جایگزین‌ها 
آموزش معماری‌های مبتنی بر ترانسفورمر می‌تواند گران باشد، به خصوص برای ورودی‌های طولانی. معماری‌های جایگزین شامل Reformer است (که بار محاسباتی را از  به ) کاهش می‌دهد. یا مدل‌هایی مانند ETC/ BigBird (که می‌تواند آن را به  کاهش دهد) که در آن  طول توالی. این کار با استفاده از درهم‌سازی حساس به محلی و لایه‌های برگشت‌پذیر انجام می‌شود.
یک معیار برای مقایسه معماری ترانسفورمر در اواخر سال ۲۰۲۰ معرفی شد.

آموزش 
ترانسفورمرها معمولاً تحت یادگیری نیمه‌نظارتی شامل یادگیری بی‌نظارت پیش آموزش و سپس تنظیم دقیق  نظارت شده قرار می‌گیرند. به دلیل در دسترس بودن محدود داده‌های آموزشی برچسب‌گذاری‌شده، معمولاً پیش‌آموزش بر روی مجموعه داده‌های بزرگ‌تری نسبت به تنظیم دقیق انجام می‌شود. وظایف پیش‌آموزشی و تنظیم دقیق معمولاً عبارتند از:
 مدل‌سازی زبان
 پیش‌بینی جمله بعدی
 پاسخ به پرسش
  درک مطلب
 تحلیل احساسات
 پارافریزی

برنامه‌های کاربردی 
ترانسفورمر موفقیت زیادی در پردازش زبان طبیعی (NLP) داشته‌است، به عنوان مثال وظایف ترجمه ماشینی و سری‌های زمانی پیش‌بینی بسیاری از مدل‌های از پیش آموزش دیده مانند GPT-2، GPT-3، برت (مدل زبانی), XLNet و RoBERTa توانایی ترانسفورمرها را برای انجام طیف گسترده‌ای از وظایف مرتبط با NLP نشان می‌دهند و پتانسیل یافتن برنامه‌های کاربردی در دنیای واقعی را دارند

اینها ممکن است شامل موارد زیر باشد:
 ترجمه ماشینی
 خلاصه‌سازی اسناد
 تولید سند
 شناسایی نهاد نامگذاری شده
در سال ۲۰۲۰، نشان داده شد که معماری ترانسفورمر، به‌طور خاص GPT-2، می‌تواند برای بازی شطرنج تنظیم شود ترانسفورمرها برای پردازش تصویر با نتایج قابل رقابت با شبکه عصبی پیچشی به کار رفته‌اند.

پیاده‌سازی‌ها 
مدل ترانسفورمر در چارچوب‌های یادگیری عمیق استاندارد مانند TensorFlow و PyTorch پیاده‌سازی شده‌است.

"Transformers" یک کتابخانه تولید شده توسط Hugging Face است که معماری‌های مبتنی بر ترانسفورمر و مدل‌های از پیش آموزش دیده را ارائه می‌دهد.

جستارهای وابسته 
 درک
 واحد بازگشتی دروازه‌ای
 GPT-3
 وو دائو
  ترانسفورمرهای بینایی

منابع

ادامه مطلب 
 Hubert Ramsauer et al. (2020), "Hopfield Networks is All You Need", preprint submitted for ICLR 2021. ; see also authors' blog
– Discussion of the effect of a transformer layer as equivalent to a Hopfield update, bringing the input closer to one of the fixed points (representable patterns) of a continuous-valued Hopfield network

پیوند به بیرون 
 Alexander Rush, The Annotated transformer, Harvard NLP group, ۳ آوریل ۲۰۱۸
شبکه‌های عصبی مصنوعی
معماری شبکه‌های عصبی