ترنسفورمر (یادگیری عمیق) کیست؟ توضیح بده.
ترنسفورمر یا مُبَدِّل، روشی است که به رایانه اجازه می‌دهد تا یک دنباله از نویسه‌ها را به دنباله دیگری از نویسه‌ها تبدیل کند. این روش می‌تواند برای مثال برای ترجمه متن از یک زبان به زبان دیگر استفاده شود. برای این کار، ترانسفورمور با استفاده از یادگیری ماشین بر روی مجموعه بزرگی از داده‌های نمونه آموزش داده می‌شود و سپس مدل آموزش‌دیده برای ترجمه استفاده می‌شود.مبدل‌ها جزو معماری‌های یادگیری عمیق هستند. مبدل‌ها برای اولین بار در سال ۲۰۱۷ در کنفرانس پردازش اطلاعات عصبی معرفی شدند.برخی دیگر از کاربردهای ترنسفورمرها عبارتند از:ترانسفورمر در مقایسه با معماری‌های حافظه بلندمدت کوتاه‌مدت (LSTM) کارایی بیشتری دارد و پایه و اساس بسیاری از مدل‌های یادگیری ماشین پیش‌آموزشی مانند BERT و GPT است. از مبدل‌ها همچنین به عنوان Evoformer در AlphaFold2 استفاده می‌شود.ترنسفورمرها به دلیل موازی‌سازی آسان، سرعت و دقت بالا، به یکی از محبوب‌ترین مدل‌های یادگیری ماشین برای پردازش زبان طبیعی تبدیل شده‌اند. ترنسفورمرها در طیف وسیعی از کاربردهای دیگر مانند تشخیص گفتار، ترجمه ماشینی و پاسخ به سوالات نیز استفاده می‌شوند.مانند شبکه عصبی بازگشتی (RNN)، ترنسفورمرها برای مدیریت داده‌های ورودی mdhmd، مانند زبان طبیعی، برای کارهایی مانند ترجمه و خلاصه متن طراحی شده‌اند. با این حال، برخلاف شبکه عصبی بازگشتیها، ترنسفورمرها لزوماً داده‌ها را به ترتیب پردازش نمی‌کنند. در عوض، مکانیسم توجه زمینه را برای هر موقعیتی در دنباله ورودی فراهم می‌کند. به عنوان مثال، اگر داده ورودی یک جمله زبان طبیعی باشد، ترانسفورمر نیازی به پردازش ابتدای جمله قبل از پایان ندارد. در عوض، زمینه ای را مشخص می‌کند که به هر کلمه در جمله معنا می‌بخشد. این ویژگی اجازه می‌دهد تا موازی سازی بیشتر از شبکه عصبی بازگشتیها باشد و بنابراین زمان آموزش را کاهش می‌دهد.ترنسفورمرها در سال ۲۰۱۷ توسط تیمی در گوگل برینمعرفی شدند و به‌ طور فزاینده ای به عنوان بهترین مدل در حل مسائل NLP مورداستفاده قرار می‌گیرند و جایگزین مدل‌های شبکه عصبی بازگشتی مانند حافظه کوتاه‌مدت طولانی شدند. قابلیت موازی‌سازی آموزش در ترانسفورمرها امکان آموزش بر روی مجموعه داده‌های بزرگتر را می‌دهد که تا پیش از حضور آنها به سختی ممکن بود. این موضوع منجر به توسعهسیستم‌های از پیش آموزش‌دیده مانند برت (نمایش رمزگذار دوطرفه از ترنسفورمرها) و GPT (ترنسفورمر تولیدگر از پیش آموزش‌دیده)، که با مجموعه داده‌های زبانی بزرگ، مانند ویکی‌پدیا و Common Crawl آموزش دیده‌اند، و می‌توان آنها را برای کارهای خاص به‌خوبی تنظیم کرد.پس زمینه.قبل از ظهور ترنسفورمرها، در بیشتر سیستم‌های NLP پیشرفته، نسخه‌های اولیه مکانیسم توجه را به شبکه‌های عصبی بازگشتی دروازه‌دار (مانند حافظه کوتاه-مدت طولانی و واحد بازگشتی دروازه‌ای ) اضافه کرده بودند. در شبکه های عصبی بازگشتی، مجموعه داده ها با توجه به توالی آنها مورد پردازش قرار میگیرند. ترنسفورمرها بر اساس مکانیسم توجه، و بدون استفاده از ساختار شبکه عصبی بازگشتی ساخته شده‌اند، و این واقعیت را برجسته می‌کند که مکانیسم‌های توجه تنها با استفاده از "توجه" می‌توانند با عملکرد شبکه عصبی بازگشتیها رقابت کنند.پردازش متوالی.شبکه عصبی بازگشتیهای دروازه ای توکن‌ها را به صورت متوالی پردازش می‌کنند و یک بردار حالت را حفظ می‌کنند که حاوی نمایشی از داده‌هایی است که بعد از هر نشانه مشاهده می‌شود. برای پردازش علامت formula_1 ام، مدل حالتی را که جمله را تا توکن formula_2 نشان می‌دهد با اطلاعات نشانه جدید برای ایجاد یک حالت جدید، نشان دهنده جمله تا نشانه formula_3. از نظر تئوری، اطلاعات یک توکن می‌تواند به‌طور دلخواه در طول توالی منتشر شود، اگر در هر نقطه، وضعیت به رمزگذاری اطلاعات متنی در مورد نشانه ادامه دهد. در عمل، این مکانیسم ناقص است: مسئله گرادیان محوشونده وضعیت مدل را در پایان یک جمله طولانی بدون اطلاعات دقیق و قابل استخراج دربارهٔ نشانه‌های قبلی ترک می‌کند.وابستگی محاسبات توکن به نتایج محاسبات توکن‌های قبلی نیز موازی کردن محاسبات روی سخت‌افزار یادگیری عمیق مدرن را دشوار می‌کند. این می‌تواند آموزش شبکه عصبی بازگشتیها را ناکارآمد کند.توجه.این مشکلات با مکانیسم‌های توجه برطرف شد. مکانیسم‌های توجه به یک مدل اجازه می‌دهند از حالت در هر نقطه قبلی در طول دنباله استفاده کند. لایه توجه می‌تواند به همه حالت‌های قبلی دسترسی داشته باشد و آنها را با توجه به اندازه‌گیری مرتبط بودن اندازه‌گیری کند، و اطلاعات مرتبطی در مورد توکن‌های دور ارائه دهد.مثال واضحی از ارزش توجه در ترجمه ماشینی است، که در آن زمینه برای تعیین معنای یک کلمه در جمله ضروری است. در سیستم ترجمه انگلیسی به فرانسوی، احتمالاً اولین کلمه خروجی فرانسوی به شدت به چند کلمه اول ورودی انگلیسی بستگی دارد. با این حال، در یک مدل کلاسیک حافظه طولانی کوتاه-مدت، برای تولید اولین کلمه خروجی فرانسوی، مدل فقط بردار حالت کلمه انگلیسی «آخرین» را به مدل داده می‌شود. از نظر تئوری، این بردار می‌تواند اطلاعات مربوط به کل جمله انگلیسی را رمزگذاری کند و تمام دانش لازم را به مدل بدهد. در عمل، این اطلاعات اغلب به خوبی توسط حافظه طولانی کوتاه-مدت حفظ می‌شود. یک مکانیسم توجه می‌تواند برای رفع این مشکل اضافه شود: رمزگشا به بردارهای وضعیت هر کلمه ورودی انگلیسی دسترسی دارد، نه فقط آخرین کلمه، و می‌تواند وزن‌های توجه را یاد بگیرد که میزان توجه به هر بردار حالت ورودی انگلیسی را تعیین می‌کند.هنگامی که به شبکه عصبی بازگشتی اضافه می‌شود، مکانیسم‌های توجه عملکرد را افزایش می‌دهند. توسعه معماری ترانسفورمر نشان داد که مکانیسم‌های توجه به خودی خود قدرتمند هستند و پردازش متوالی مکرر داده‌ها برای دستیابی به دستاوردهای کیفیت شبکه عصبی بازگشتی با توجه ضروری نیست. ترنسفورمرها از مکانیزم توجه بدون شبکه عصبی بازگشتی استفاده می‌کنند، همه نشانه‌ها را همزمان پردازش می‌کنند و وزن توجه بین آنها را در لایه‌های متوالی محاسبه می‌کنند.از آنجایی که مکانیسم توجه فقط از اطلاعات مربوط به نشانه‌های دیگر از لایه‌های پایین‌تر استفاده می‌کند، می‌توان آن را برای همه نشانه‌ها به صورت موازی محاسبه کرد که منجر به بهبود سرعت تمرین می‌شود.معماری.معماری رمزگذار-رمزگشا.مانند مدل‌های قبلی seq2seq، مدل اولیه ترانسفورمر از معماری «رمزگذار-رمزگشا» استفاده می‌کرد. رمزگذار از لایه‌های رمزگذاری تشکیل شده‌است که ورودی را به‌طور مکرر یکی پس از دیگری پردازش می‌کند، در حالی که رمزگشا شامل لایه‌های رمزگشایی است که همان کار را با خروجی رمزگذار انجام می‌دهد.وظیفه هر لایه رمزگذار تولید رمزگذاری‌هایی است که حاوی اطلاعاتی در مورد اینکه کدام بخش از ورودی‌ها با یکدیگر مرتبط هستند. رمزگذاری‌های خود را به عنوان ورودی به لایه رمزگذار بعدی ارسال می‌کند. هر لایه رمزگشا برعکس عمل می‌کند، تمام رمزگذاری‌ها را می‌گیرد و از اطلاعات متنی آنها برای تولید یک دنباله خروجی استفاده می‌کند.برای هر ورودی، توجه، ارتباط هر ورودی دیگر را می‌سنجد و از آنها برای تولید خروجی استفاده می‌کند. هر لایه رمزگشا دارای مکانیزم توجه اضافی است که اطلاعات را از خروجی‌های رمزگشاهای قبلی، قبل از اینکه لایه رمزگشا اطلاعات را از رمزگذاری‌ها ترسیم کند، می‌گیرد. .هر دو لایه رمزگذار و رمزگشا دارای یک شبکه عصبی پیش‌خور برای پردازش اضافی خروجی‌ها هستند و شامل اتصالات باقی‌مانده و مراحل عادی‌سازی لایه هستند.توجه ضرب داخلی مقیاس شده.بلوک‌های ساختمان ترانسفورمر واحدهای توجه نقطه-محصول مقیاس شده هستند. هنگامی که یک جمله به یک مدل ترانسفورمر منتقل می‌شود، وزن توجه بین هر نشانه به‌طور همزمان محاسبه می‌شود. واحد توجه، جاسازی‌هایی را برای هر نشانه در زمینه ایجاد می‌کند که حاوی اطلاعاتی در مورد خود نشانه به همراه ترکیب وزنی از نشانه‌های مرتبط دیگر است که هر کدام با وزن توجه خود وزن دارند.برای هر واحد توجه، مدل ترانسفورمر سه ماتریس وزن را یادمی‌گیرد. وزن پرس و جو formula_4، وزن کلید formula_5 و وزن مقدار formula_6. برای هر نشانه formula_7، ورودی جاسازی کلمه formula_8 با هر یک از سه ماتریس وزن ضرب می‌شود تا یک بردار پرس و جو تولید شود formula_9، یک بردار کلید formula_10، و یک بردار مقدار formula_11. وزن توجه با استفاده از پرس و جو و بردارهای کلید محاسبه می‌شود: وزن توجه formula_12 از نشانه formula_7 تا نشانه formula_14 حاصل ضرب نقطه ای بین formula_15 و formula_16. وزن‌های توجه بر جذر ابعاد بردارهای کلیدی تقسیم می‌شوند، formula_17، که گرادیان‌ها را در طول تمرین تثبیت می‌کند و از یک بیشینه هموار عبور می‌کند که وزن‌ها را عادی می‌کند. این واقعیت که formula_4 و formula_5 ماتریس‌های متفاوتی هستند باعث می‌شود توجه غیر متقارن باشد: اگر نشانه formula_7 به نشانه formula_14 (یعنی formula_22 بزرگ است، این لزوماً به این معنی نیست که نشانه formula_14 به نشانه formula_7 (یعنی formula_25 خواهد آمد k_i &lt;/math&gt; می‌تواند کوچک باشد). خروجی واحد توجه برای نشانه formula_7 مجموع وزنی بردارهای ارزش همه نشانه‌ها است که با formula_12 وزن شده‌است، توجه از نشانه formula_7 به هر نشانه.محاسبه توجه برای همه نشانه‌ها را می‌توان به عنوان یک محاسبه ماتریس بزرگ با استفاده از بیشینه هموار بیان کرد که به دلیل بهینه‌سازی عملیات ماتریس محاسباتی که به سرعت عملیات ماتریس را محاسبه می‌کند برای آموزش مفید است. ماتریس‌های formula_29، formula_30 و formula_31 به‌عنوان ماتریس‌هایی تعریف می‌شوند که در آن ردیف‌های formula_7 بردار هستند. به ترتیب formula_33 و formula_34 و formula_35formula_36توجه چند سر.یک مجموعه از ماتریس‌های formula_37 «سر توجه» نامیده می‌شود و هر لایه در یک مدل ترانسفورمر دارای سرهای توجه متعددی است. در حالی که هر سر توجه به نشانه‌های مربوط به هر نشانه توجه می‌کند، با سرهای توجه متعدد، مدل می‌تواند این کار را برای تعاریف مختلف «ارتباط» انجام دهد. علاوه بر این، میدان تأثیر نشان دهنده ارتباط می‌تواند به تدریج در لایه‌های متوالی گشاد شود. بسیاری از سرهای توجه ترانسفورمر روابط مرتبطی را رمزگذاری می‌کنند که برای انسان معنادار است. برای مثال، سرهای توجه می‌توانند بیشتر به کلمه بعدی توجه کنند، در حالی که دیگران عمدتاً از افعال به مفعول مستقیم خود توجه می‌کنند. محاسبات برای هر سر توجه را می‌توان به صورت موازی انجام داد، که امکان پردازش سریع را فراهم می‌کند. خروجی‌های لایه توجه به هم متصل می‌شوند تا به لایه‌های شبکه عصبی پیش‌خور منتقل شوند.رمزگذار.هر رمزگذار از دو جزء اصلی تشکیل شده‌است: یک مکانیسم توجه به خود و یک شبکه عصبی پیشخور. مکانیسم توجه به خود کدهای ورودی را از رمزگذار قبلی می‌پذیرد و ارتباط آنها را با یکدیگر برای تولید کدهای خروجی می‌سنجد. شبکه عصبی پیشخور بیشتر هر کدگذاری خروجی را به صورت جداگانه پردازش می‌کند. این کدهای خروجی سپس به رمزگذار بعدی به عنوان ورودی آن و همچنین به رمزگشاها ارسال می‌شود.رمزگذار اول اطلاعات موقعیتی و جاسازی‌ها دنباله ورودی را به‌جای رمزگذاری به عنوان ورودی خود می‌گیرد. اطلاعات موقعیت برای ترانسفورمر برای استفاده از ترتیب ترتیب ضروری است، زیرا هیچ بخش دیگری از ترانسفورمر از این استفاده نمی‌کند.رمزگشا.هر رمزگشا از سه جزء اصلی تشکیل شده‌است: مکانیسم توجه به خود، مکانیسم توجه روی رمزگذاری‌ها و شبکه عصبی پیش‌خور. رمزگشا به روشی مشابه رمزگذار عمل می‌کند، اما مکانیسم توجه اضافی درج شده‌است که در عوض اطلاعات مربوطه را از رمزگذاری‌های تولید شده توسط رمزگذارها می‌گیرد.مانند رمزگذار اول، رمزگشای اول به جای رمزگذاری، اطلاعات موقعیتی و جاسازی‌های دنباله خروجی را به عنوان ورودی خود می‌گیرد. ترانسفورمر نباید از خروجی فعلی یا آینده برای پیش‌بینی یک خروجی استفاده کند، بنابراین دنباله خروجی باید تا حدی پوشانده شود تا از این جریان اطلاعات معکوس جلوگیری شود.آخرین رمزگشا با یک تبدیل خطی و لایه بیشینه هموار، برای تولید احتمالات خروجی از روی واژگان.جایگزین‌ها.آموزش معماری‌های مبتنی بر ترانسفورمر می‌تواند گران باشد، به خصوص برای ورودی‌های طولانی. معماری‌های جایگزین شامل Reformer است (که بار محاسباتی را از formula_38 به formula_39) کاهش می‌دهد. یا مدل‌هایی مانند ETC/ BigBird (که می‌تواند آن را به formula_40 کاهش دهد) که در آن formula_41 طول توالی. این کار با استفاده از درهم‌سازی حساس به محلی و لایه‌های برگشت‌پذیر انجام می‌شود.یک معیار برای مقایسه معماری ترانسفورمر در اواخر سال ۲۰۲۰ معرفی شد.آموزش.ترنسفورمرها معمولاً تحت یادگیری نیمه‌نظارتی شامل یادگیری بی‌نظارت پیش آموزش و سپس تنظیم دقیق نظارت شده قرار می‌گیرند. به دلیل در دسترس بودن محدود داده‌های آموزشی برچسب‌گذاری‌شده، معمولاً پیش‌آموزش بر روی مجموعه داده‌های بزرگ‌تری نسبت به تنظیم دقیق انجام می‌شود. وظایف پیش‌آموزشی و تنظیم دقیق معمولاً عبارتند از:برنامه‌های کاربردی.ترانسفورمر موفقیت زیادی در پردازش زبان طبیعی (NLP) داشته‌است، به عنوان مثال وظایف ترجمه ماشینی و سری‌های زمانی پیش‌بینی بسیاری از مدل‌های از پیش آموزش دیده مانند GPT-2، GPT-3، برت (مدل زبانی), XLNet و RoBERTa توانایی ترنسفورمرها را برای انجام طیف گسترده‌ای از وظایف مرتبط با NLP نشان می‌دهند و پتانسیل یافتن برنامه‌های کاربردی در دنیای واقعی را دارنداینها ممکن است شامل موارد زیر باشد:علاوه بر برنامه های کاربردی NLP، در زمینه های دیگری مانند بینایی کامپیوتر یا برنامه های تاشوندگی پروتئین (مانند AlphaFold ) نیز موفق بوده است.در سال ۲۰۲۰، نشان داده شد که معماری ترانسفورمر، به‌طور خاص GPT-2، می‌تواند برای بازی شطرنج تنظیم شود ترنسفورمرها برای پردازش تصویر با نتایج قابل رقابت با شبکه عصبی پیچشی به کار رفته‌اند.پیاده‌سازی‌ها.مدل ترانسفورمر در چارچوب‌های یادگیری عمیق استاندارد مانند تنسورفلو و پای‌تورچ پیاده‌سازی شده‌است."ترنسفورمر" یک کتابخانه است که توسط هاگینگ فیس تولید شده است و معماری‌های مبتنی بر ترانسفورمر و مدل‌های از پیش آموزش‌دیده را ارائه می‌دهد.