شبکه های حافظه طولانی کوتاه مدت در حال افولاند ؛ آیا جایگزینی برایشان وجود دارد؟
شبکه های حافظه طولانی کوتاه مدت Long Short-Term Memory (LSTM) به ابزار مهمی در یادگیری عمیق تبدیل شدهاند. بسیاری آنها را جایگزین مناسبی برای شبکههای عصبی بازگشتی Recurrent neural networks میدانند. رشد سریع تحقیقات یادگیری ماشین باعث شده تا روشهای جدید به سرعت عرضه شوند، اما ظاهراً شبکه های حافظه طولانی کوتاه مدت روند رو به افول خود را آغاز کردهاند. بگذارید چند گام رو به عقب برداریم و مدلسازی زبان تکامل را از ابتدا تا حصول پیشرفتهای مدرن در مسائل پیچیده بررسی کنیم.
اساساً، به مانند هر مسئله یادگیری ماشین نظارتشدهی دیگر، هدف از مدلسازی زبانی این است که خروجی y در سند d پیشبینی شود. سند d باید به صورت عددی نمایش داده شود تا الگوریتم یادگیری ماشین آن را پردازش کند. سبد واژگان (BoW) راهکار اولیهی محققان برای نمایش مستندات در قالب عدد است.
هر واژه یک بُعد در بردار اِشغال میکند و هر مقدار نشان میدهد که واژه چند بار در سند مذکور تکرار شده است. اما این روش به مسئله مهمی تحت عنوان «ترتیب واژهها» توجه نمیکند. به این مثال توجه کنید: «زندگی میکنم تا کار کنم / کار میکنم تا زندگی کنم.»
n-grams میتواند تا حدی این مسئله را حل کند. اینها توالی n واژهاند که در آن، هر عنصر از وجود یک ترکیب واژگان خبر میدهد. اگر 000/10 واژه در دیتاست وجود داشته باشد و قصد ذخیرهسازیِ bi-grams را داشته باشیم، باید ترکیب منحصربهفرد را ذخیره کنیم.
مدلسازی خوب مستلزم بکارگیریِ tri-grams یا حتی quad-grams است چرا که میتواند تحولی در تعداد و اندازه واژگان ایجاد کند. بیتردید، n-grams و BoW فاقد توانایی کافی برای انجام کارهای زبانی بسیار پیچیدهاند. این دو از راهکارهای تبدیل بردار استفاده میکنند که بسیار پراکنده و بزرگاند و قادر به بررسی روح و ماهیت زبان نیستند. محققان «شبکههای عصبی بازگشتی» را راهکار جایگزین مطلوبی میدانند.
راهکارهای تبدیل به بردار پراکنده و چندبعدی کل سند را به یکباره در اختیار مدل قرار میدهند، اما شبکه عصبی بازگشتی (RNN) با ماهیت توالی متن سر و کار دارد. شبکه عصبی بازگشتی در قالب تابع بازگشتی Recursive function به نمایش در میآید. بر این اساس، A تابع تبدیل، h مجموعه حالات لایه پنهان و x مجموعه داده را نشان میدهند.
هر بازه زمانی با اطلاع از دانش در بازه زمانی پیشین ایجاد میشود؛ بنابراین، خروجی جدید با بکارگیری همان تابع در خروجی پیشین پدید میآید. شبکههای عصبی بازگشتی رو میتوان به صورت چندین کپیِ یکسان از یک شبکه عصبی در نظر گرفت که هر کدام اطلاعاتش را به شبکه بعدی منتقل میکند. در شکل زیر وضعیت شبکه عصبی بازگشتی در صورت باز کردن حلقه نمایش داده شده است:
چون شبکه عصبی بازگشتی تابع یکسانی را در هر ورودی به کار میگیرد، قادر است ورودیهای با طول متغیر را نیز مدیریت کند. شاید دلیل استفاده از تابع یکسان این باشد که قوانین توالی/زبانی سراسری برای تمامی بازههای زمانی صدق میکند.
جنبهی بازگشتیِ شبکه عصبی بازگشتی آن را به گزینه فوقالعادهای تبدیل کرده است؛ اما در عین حال به مسائل زیادی هم دامن زده است. با بسط تعریف شبکه عصبی بازگشتی به حالت پنهان Hidden state چهارم میتوان دید که تابع A چندین بار به کار برده شده است.
A(x) به ماتریس وزن Weight matrix ضرب و با ماتریس سوگیری Bias matrix جمع بسته میشود. پس از سادهسازی گسترده، x₀ به w¹⁰ ضرب میشود؛ بر این اساس، w ماتریس وزن را نشان میدهد. بردن اعداد به توان به نتایج بزرگی میانجامد که در زیر مشاهده میکنید:
این کار به بروز چندین مسئله مختلف میانجامد. ماتریس وزن باعث میشود مقادیر به صفر، بینهایت یا بینهایت منفی گرایش پیدا کنند. از این رو، شبکه عصبی بازگشتی از مسئله گرادیان افزایشی یا کاهشی رنج میبرد. این کار نه تنها موجب بروز مشکلات محاسباتی در حین بهروزرسانیِ وزنها میشود، بلکه از مسئله دیگری تحت عنوان فراموشی نیز حکایت دارد.
شبکه نمیتواند اطلاعات مربوط به چند بازه زمانی قبل را به خاطر بسپارد زیرا بیش از حد تقویت یا تضعیف شدهاند. ردپای عمل «ضرب بازگشتی Recursive multiplication» در این مسئله دیده میشود. بنابراین، ممکن است حلقههای بینهایتی را هنگام استفاده از شبکه RNN برای تولید متن ببینید:
«از خیابان رد شدم و از خیابان رد شدم و از خیابان رد شدم و از خیابان رد شدم و …»
زمانی که شبکه جمله «رد شدم» را برای بار دوم تولید میکند، به خاطر نمیآورد که در جمله قبلی آن را ذکر کرده است. شبکه با ویژگیهای مکانیکی سادهلوحانهی خود تصور میکند که چون ورودیهای پیشین «از خیابان رد شدم و …» است، خروجیهای بعدی نیز باید همانطور باشند. این چرخه ادامه پیدا میکند زیرا قاب توجه خیلی کوچک است.
راهحل: شبکه LSTM برای نخستین بار در سال 1997 معرفی شد اما تا همین چند سال پیش مورد توجه چندانی قرار نگرفته بود. این شبکه میتواند تغییرات بزرگی در ورودیها ایجاد کند. ورودیهای هر سلول به شیوههای پیچیدهای دستکاری میشوند. در پی آن، دو خروجی به دست میآید که میتوان نام «حافظه بلندمدت» و «حافظه کوتاهمدت» را بر آنها گذاشت.
بردارهایی که از کانال حافظه بلندمدت عبور میکنند، میتوانند بدون هیچ دخالتی از کل زنجیره عبور کنند. فقط گِیتها میتوانند اطلاعات را مسدود یا اضافه کنند. پس اگر شبکه قدرت انتخاب داشته باشد، میتواند دادههای مفید را از تعداد دلخواه سلولهای پیشین حفظ کند.
افزودن جریان اطلاعاتی بلندمدت میتواند اندازه توجه شبکه را به طرز چشمگیری گسترش دهد. شبکه میتواند به تمامی حالات سلول پیشین دسترسی داشته باشد، بلکه نکات مفیدی از بازههای پیشین فرا گیرد. بنابراین، یکی از خصوصیات کلیدی ارتباط انسان تحت عنوان «بافت مرجع» در این شبکه به کار برده میشود.
حافظه طولانی کوتاهمدت (LSTM) برای مدتی عملکرد بسیار خوبی داشت و توانست کاراکترها را به خوبی در متون کوتاه تولید نماید. این شبکه بدون توجه به بسیاری از مشکلاتی که توسعه پردازش زبان طبیعی را متوقف کرده بود، به مسیر خود ادامه داد و توانست نه تنها تکتک واژهها بلکه معنای کلی آنها را نیز درک کند. با این حال، شبکه LSTM معایبی نیز دارد. LSTM کماکان یک شبکه بازگشتی برشمرده میشود.
[irp posts=”9735″]بنابراین، اگر توالی ورودی 1000 کاراکتر داشته باشد، سلول LSTM باید 1000 بار فراخوانی شود که مسیر گرادیان طویلی است. افزودن کانال حافظه بلندمدت میتواند مفید باشد، اما ظرفیت آن با ابهاماتی همراه است. افزون بر این، چون شبکههای LSTM دارای ماهیت بازگشتی هستند، امکان آموزش موازی آنها وجود ندارد. نکته مهم این است که یادگیری انتقالی به خوبی در LSTM پیادهسازی نمیشود.
دلیل محبوبیت شبکههای عصبی کانولوشن عمیق Deep convolutional neural networks این است که مدلهایِ از پیش آموزشدیده از قبیل Inception به راحتی قابل دانلود و تنظیم دقیق هستند. یکی از قابلیتهای مهمی که شبکههای عصبی کانولوشن را به ابزاری کارآمد و قابل دسترس تبدیل میکند، توان آغاز آموزش با مدلی است که قواعد کلی کار را میداند.
گاهی میتوان شبکه های حافظه طولانی کوتاه مدت (LSTM) را با موفقیت انتقال داد، اما این کار بنا به یک دلیل به طور متداول صورت نمیگیرد. این امر منطقی است؛ هر قطعه متن سبک منحصربهفرد خود را دارد. برخلاف تصاویر که تقریباً همیشه از نوعی قواعد کلی سختگیرانه تبعیت میکنند، ساختار متن دارای شفافیت کمی است و ماهیت سیالتری دارد.
قواعد دستوری بر چارچوب متن حاکماند، اما چنین چیزی در تصاویر وجود ندارد. علاوه بر این، مجموعههای متفاوتی از قواعد دستوری وجود دارد؛ برای مثال، میتوان به انواع مختلف شعر، گویشهای مختلف، موارد کاربردی مختلف و غیره اشاره کرد. احتمالاً کار چندان سادهای نباشد که از حافظه طولانی کوتاهمدتی که از پیش در ویکیپدیا آموزش دیده است، شروع کنیم.
حافظه طولانی کوتاهمدت زمانی دچار محدودیت میشوند که با مسائل مدرنتری روبرو شوند؛ مثل ترجمه ماشینی در زبانهای مختلف یا تولید متنی که قابل تفکیک از دستنوشتهی انسان نیست. نکته جالب این است که از معماری جدیدی تحت عنوان ترانسفورمر برای حل مسائل چالشبرانگیز استفاده میشود. معماری ترانسفورمر که برای نخستین بار در مقالهای با عنوان «فقط به توجه نیاز دارید» برای بررسی ترجمه زبان منتشر شد، بسیار پیچیده است. اما ایده توجه مهمترین بخش میباشد.
در ابتدای مقاله به بحث درباره تعداد حالات پنهان در شبکه عصبی بازگشتی پرداختیم. ترانسفورمرها اندازه توجه بینهایتی دارند و این بزرگترین مزیتشان در مقایسه با شبکه های حافظه طولانی کوتاه مدت است. آنها با مقایسه کل به کل میتوانند اندازه توجه بینهایت را به ارمغان بیاورند.
ترانسفورمرها به جای پردازش هر واژه در قالب توالی میتوانند کل توالی را به یکباره پردازش کنند تا ماتریس توجه Attention matrix ایجاد شود. بر این اساس، هر خروجی عبارتست از مجموعی وزنیِ ورودیها. بنابراین، برای نمونه، ممکن است واژه فرانسوی «accord» را به عنوان ‘The’(0)+‘agreement’(1)+…. بیان کنیم. شبکه میتواند وزنبندی ماتریس توجه را فرا گیرد.
بخشی از شکل فوق که کادر قرمز دارد، بسیار جالب است. اگرچه منطقه اقتصادی اروپا در زبان فرانسوی به منطقه européenne économique ترجمه میشود، اما ترتیب واژهها در زبان فرانسوی économique européenne است. ماتریسهای توجه میتوانند این روابط را به طور مستقیم بررسی نمایند.
هزینه محاسباتی ترانسفورمرها بالاست. اما شرایط آنطور که فکر میکنید، وخیم نیست. با توجه به ماهیت غیربازگشتیِ ترانسفورمر، امکان آموزش مدل با روش موازیسازی Parallelism وجود دارد. این کار با شبکه های حافظه طولانی کوتاه مدت یا شبکههای عصبی بازگشتی امکانپذیر نیست.
علاوه بر این، کارتهای گرافیک و سایر سختافزارها تا جایی پیشرفت کردهاند که عملکرد فوقالعادهای در مقیاسبندی دارند. بخش اعظم زمان طولانیِ محاسبه در ترانسفورمرهای مدرن به مکانیزم توجه Attention mechanism اختصاص نمییابد. مسائل مدلسازی زبان برگشتی به کمک توجه حل میشوند. مدلهای ترانسفورمر زمانی نتایج فوقالعادهای به دست میآورند که با استفاده از یادگیری انتقال پیادهسازی شوند. این عامل نقش بسیار موثری در افزایش محبوبیت آنها داشته است.
[irp posts=”14317″]پس چه آیندهای در انتظار شبکه های حافظه طولانی کوتاه مدت (LSTM) است؟ هنوز نمیتوان گفت که این شبکهها به طور کامل از رده خارج شدهاند، اما یقیناً در مسیر سراشیبی قرار گرفته و آینده خوبی برایشان تصور نمیشود. البته گونههای مختلف LSTM عملکرد موفقی در مدلسازی توالی داشتهاند.
جمعبندی
- شبکههای عصبی بازگشتی برای رفع مسائل پراکندگی، ناکارآمدی و نبود اطلاعات درباره روشهای n-grams و BoW ایجاد شدند. با انتقال خروجی پیشین به ورودی بعدی، نوعی روش زنجیرهای برای مدلسازی به دست میآید.
- شبکه های حافظه طولانی کوتاه مدت (LSTM) برای رفع مسئله فراموشی ورودیها به دست شبکههای عصبی بازگشتی ایجاد شدند. در این راستا، کانالهای حافظه بلندمدت و کوتاهمدت به کار برده میشوند.
- برخی از معایب شبکه های حافظه طولانی کوتاه مدت عبارتند از ناسازگاری با یادگیری انتقال، عدم ثبات برای رایانش موازی و بازه توجه محدود.
- ترانسفورمرها مدلسازی بازگشتی را کنار میگذارند. ترانسفورمرها قادرند با تکیه بر ماتریسهای توجه به طور مستقیم به سایر عناصر خروجی دسترسی داشته باشند؛ لذا آنها این فرصت را در اختیار خواهند داشت تا از اندازه توجه بینهایت بهرهمند باشند. افزون بر این، ترانسفورمرها در رایانش موازی هم اجرا میشوند.
- شبکه های حافظه طولانی کوتاه مدت کماکان در مدلسازی زنجیرهای Sequential modelling (برای تولید قطعه موسیقی یا پیشبینی بورس) به کار برده میشوند. با این حال، با توجه به اینکه روز به روز به محبوبیت ترانسفورمرها افزوده شده و بیش از پیش در دسترس همگان قرار میگیرند، انتظار میرود استقبال از شبکه های حافظه طولانی کوتاه مدت برای مدلسازی زبانی فروکش کند.