مدل Transformer

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

Sequence to Sequence:

Sequence to Sequence (یا Seq2Seq) یک شبکه عصبی است که دنباله خاصی از عناصر مانند دنباله کلمات در یک جمله را به دنباله دیگری تبدیل می‌کند، که مناسب برای ترجمه است. یک انتخاب محبوب برای این نوع مدل‌ها، مدل‌های مبتنی بر حافظه بلندمدت و کوتاه‌مدت (LSTM) است. با داشتن داده‌هایی که ترتیب آنها مهم است، ماژول‌های LSTM می‌توانند ضمن به خاطر سپردن (یا فراموش کردن) بخش‌هایی که به نظر آنها مهم است (یا بی‌اهمیت)، ترتیب را حفظ کنند.

معماری:

مدل‌های Seq2Seq از یک رمزگذار و یک رمزگشا تشکیل‌شده است. تصور کنید رمزگذار و رمزگشا مترجمان انسانی باشند که فقط می‌توانند با دو زبان صحبت کنند. زبان اول آنها زبان مادری آنها است و زبان دوم آنها یک زبان تخیلی مشترک است. برای ترجمه فرانسوی به فارسی، رمزگذار جمله فرانسوی را به زبان تخیلی ترجمه می‌کند ازآنجاکه Decoder قادر است آن زبان تخیلی را بخواند، اکنون می‌تواند از آن زبان به فارسی ترجمه کند. این مدل (متشکل از رمزگذار و رمزگذار) می‌تواند فرانسوی را به فارسی ترجمه کند.

ورودی یک جمله به زبان فرانسوی می گیرد و به فارسی ترجمه می کند.
ورودی یک جمله به زبان فرانسوی می گیرد و به فارسی ترجمه می کند.

هر ENCODER از دو بخش تشکیل‌شده که بخش اولان یک Self-Attention و بخش دومان Feed Forward Neural Network است. لایه Self-Attention به رمزگذار کمک می‌کند تا با رمزگذاری یک کلمه خاص، به کلمات دیگر در جمله ورودی نگاه کند. سپس لایه Feed Forward Neural Network به‌طور مستقل برای هر موقعیتی اعمال می‌شود. هر DECODER نیز از دو بخش تشکیل ‌شده است، اما بین آن‌ها یک لایه Self-Attention وجود دارد که به رمزگشایی کمک می‌کند تا روی قسمت‌های مهم مربوط به جمله ورودی تمرکز کند.

 

ضرورت پیدایش مدل Transformer:

فرض کنید که در ابتدا، نه رمزگذار و نه رمزگشا به زبان خیالی مسلط نیستند. برای یادگیری زبان واسط، ما آنها را با مثال‌های زیادی آموزش می‌دهیم. یک انتخاب بسیار اساسی برای رمزگذار و رمزگشایی مدل Seq2Seq یک LSTM واحد برای هر یک از آنها است.

حالا سؤال این است که ضرورت وجود مدل Transformer چیست؟

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

به‌عبارت‌دیگر، برای هر ورودی که LSTM (رمزگذار) می‌خواند، Self-Attention چندین ورودی را به‌طور هم‌زمان در نظر می‌گیرد و با اختصاص وزن‌های مختلف به ورودی‌ها تصمیم می‌گیرد که کدام‌یک از آنها مهم هستند. سپس رمزگشایی، جمله رمزگذاری شده و وزن‌های ارائه ‌شده توسط Self-Attention را به‌عنوان ورودی وارد می‌گیرد. در واقع مدل Transformer مشابه مدل‌های Seq2Seq با این تفاوت که دلالت بر شبکه‌های مکرر ندارد (GRU ، LSTM ، و غیره) و به‌صورت موازی روند را پیش می‌برد.

هر رمزگذار و رمزگشا یک پشته ای از رمزگدار ها و رمزگشا ها با تعداد متغیر هستند
هر رمزگذار و رمزگشا یک پشته ای از رمزگدار ها و رمزگشا ها با تعداد متغیر هستند.

معماری کلی مدل Transformer:

معم

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

 

 

 

 

 

 

 

Self-Attention:

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

 

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

 

 

 

موازی‌سازی:

مکانیسم Self-Attention چندین بار با پیش‌بینی خطی Q ، K و V تکرار می‌شود. این به سیستم اجازه می‌دهد تا از بازنمایی‌های مختلف Q ، K و V یاد بگیرد، که برای مدل مفید است. این نمایش‌های خطی با ضرب Q ، K و V با ماتریس‌های وزنی روند یادگیری را برای آنها نحقق می‌بخشد.

 

 

 

 

 

 

در مدل Transformer فضای کافی برای تغییر پارامترها، ازجمله تعداد لایه‌های رمزگذار و رمزگشا و … وجود دارد.که با تنظیم آنها و آموزش بهتر، نتایج بهبود می‌یابد. در واقع این روند می‌تواند کمک بزرگی برای تسریع آموزش شبکه با استفاده از GPU باشد.

ارسال یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد.