یـادگیری توالیبهتوالی با شبکههای عصبی
مرتــضی ذاکـری (M - Z A K E R I [ A T ] L I V E [ D O T ] C O M)
نسخه PDF (فاز دوم) (حجم 1.75MB) آذرماه 1396
نسخه PDF (فاز اول) (حجم 1.23MB) آبانماه 1396
فایل ZIP کلیه تصاویر استفاده شده (حجم 2.22MB)
مرجع اصلی (حجم 165KB)
چکیده
یادگیری ژرف شاخهای نسبتا جدید از یادگیری ماشین است که در آن توابع محاسباتی بهشکل گرافهای چند سطحی یا ژرف برای شناسایی و تخمین قانون حاکم بر حل یک مسئله پیچیده بهکار بسته میشوند. شبکههای عصبی ژرف ابزاری برای طراحی و پیادهسازی این مدل یادگیری هستند. این شبکهها در بسیاری از وظایف یادگیری ماشینی سخت، موفق ظاهر شدهاند. بهمنظور استفاده از شبکههای ژرف در وظایفی که ترتیب ورودی داده در انجام آن مؤثر است مانند اکثر وظایف حوزه پردازش زبان طبیعی، شبکههای عصبی مکرر ابداع گشتند که بازنمایی مناسبی از مدلهای زبانی ارایه میدهند. این مدلها در حالت ساده برای همه وظیفههای یک مدل زبانی مناسب نیستند. در این گزارش مدل خاصی از شبکههای مکرر تحت عنوان مدل توالیبهتوالی یا کدگذار-گدگشا بررسی میشود که برای وظایفی که شامل توالیهای ورودی و خروجی با طول متفاوت هستند؛ نظیر ترجمه ماشینی، توسعه داده شده و توانسته است نتایج قابل قبولی را در این زمینه تولید کند.کلیدواژهها: مدل توالیبهتوالی، شبکه عصبی مکرر، یادگیری ژرف، ترجمه ماشینی.
۱. مقدمه
مدلها و روشهای یادگیری بهکمک شبکههای عصبی ژرف (DNNs)1 اخیرا، با افزایش قدرت محاسباتی سختافزارها و نیز حل برخی از چالشهای اساسی موجود بر سر راه آموزش و یادگیری این شبکهها، بسیار مورد توجه واقع شدهاند. DNNها در انجام وظایف سخت یادگیری ماشین مانند تشخیص گفتار، تشخیص اشیاء و غیره، فوقالعاده قدرتمند ظاهر شدهاند و در مواردی روشهای سنتی را کاملاً کنار زدهاند. قدرت بازنمایی زیاد DNNها به این دلیل است که قادر هستند محاسبات زیادی را به صورت موازی در چندین لایه انجام داده، با تعداد زیادی پارامتر پاسخ مسئله داده شده را تخمین زده و مدل مناسبی از آن ارایه دهند. درحال حاضر DNNهای بزرگ میتوانند با استفاده از الگوریتم پسانتشار2 بهصورت بانظارت3 روی یک مجموعه آموزش برچسبزده و بهقدر کافی بزرگ آموزش ببینند. بنابراین در مواردی که ضابطه حاکم بر یک مسئله دارای پارامترهای بسیار زیادی است و یک مقدار بهینه از این پارامترها وجود دارد (صرفا با استناد به این که مغز انسان همین مسئله را خیلی سریع حل میکند)، روش یادگیری پسانتشار این تنظیم از پارامترها (مقدارهای بهینه) را یافته و مسئله را حل میکند [1].
بسیاری از وظایف یادگیری ماشین به حوزه پردازش زبان طبیعی (NLP)4 مربوط میشوند؛ جایی که در آن معمولا ترتیب ورودیها و خروجیهای یک مسئله مهم است. برای مثال در ترجمه ماشینی دو جمله با واژههای یکسان ولی ترتیب متفاوت، معانی (خروجیهای) مختلفی دارند. این وظایف اصطلاحا مبتنی بر توالی5 هستند. در واقع ورودی آنها به صورت یک توالی است. شبکههای عصبی رو به جلو ژرف6 برای این دسته از وظایف خوب عمل نمیکنند؛ چرا که قابلیتی برای بهخاطر سپاری و مدلسازی ترتیب در آنها تعبیه نشده است.شبکههای عصبی مکرر (RNNs)7 خانوادهای از شبکههای عصبی برای پردازش وظایف مبتنی بر توالی هستند. همانطور که شبکههای عصبی پیچشی (CNNs)8، ویژه پردازش یک تور9 از مقادیر، برای مثال یک تصویر، طراحی شدهاند؛ یک RNN نیز همسو با پردازش یک توالی از مقادیر ورودی
۱.۱. شرح مسئله و اهمیت موضوع
برخلاف انعطاف پذیری و قدرت بالای RNNها، در حالت ساده این شبکهها یک توالی ورودی با طول ثابت را به یک توالی خروجی با همان طول نگاشت میکنند. این موضوع اما یک محدودیت جدی است؛ زیرا، بسیاری از مسائل مهم، در قالب توالیهایی که طولشان از قبل مشخص نیست، به بهترین شکل قابل بیان هستند و در نظر گرفتن یک طول ثابت از پیش تعیین شده برای ورودی و خروجی به خوبی مسئله را مدل نمیکند. برای مثال ترجمه ماشینی (MT)10 و تشخیص گفتار11 مسائلی از این دست هستند. همچنین سیستم پرسش و پاسخ را نیز میتوان به صورت نگاشت یک توالی از واژهها بهعنوان پرسش، به یک توالی دیگر از واژهها به عنوان پاسخ، در نظر گرفت. بنابراین پُر واضح است که ایجاد یک روش مستقل از دامنه برای یادگـیری نگاشت توالیبهتولی مفید و قابل توجیه خواهد بود [1].
۱.۲. اهداف و راهکارها
همانطور که دیدیم طیف وسیعی از وظایف NLP مبتنی بر نگاشت توالیهای با طول نامشخص و متغیر به یکدیگر است. همچنین روشهای سنتی مثل n-garm دارای محدودیتهای خاص خود در حل این دسته مسائل هستند و استفاده از روشهای یادگیری ژرف به وضوح امید بخش بوده است. بنابراین هدف ارایه یک مدل مبتنی بر RNNها جهت نگاشت توالیبهتوالی است. در این گـزارش راهکار مطرح شده در [1] و نتایج آن بهتفصیل شرح داده میشود.
Stuskever و همکاران [1] نشان دادند که چگونه یک کاربرد ساده از شبکه با معماری حافظه کوتاهمدت بلند (LSTM)12 میتواند مسائل نگاشت توالیبهتوالی را حل کند. ایده اصلی استفاده از یک LSTM برای خواندن توالی ورودی، بهصورت یک نمونه در هر مرحله زمانی، جهت اقتباس برداری بزرگ با بعد ثابت و سپس استفاده از یک LSTM دیگر برای استخراج توالی خروجی از آن بردار است. LSTM دوم دقیقا یک مدل زبانی مبتنی بر RNN است با این تفاوت که حاوی احتمال شرطی نسبت به توالی ورودی نیز هست. قابلیت LSTM در یادگیری موفق وابستگیهای مکانی طولانی مدت نهفته درون توالیها، آن را برای استفاده در مدل پیشنهادی مناسب ساخته است. شکل (1) یک طرحواره از این مدل را به صورت عام نشان میدهد.
۱.۳. دادهها و نتایج
مدل پیشنهادی در بخش قبل، برروی وظیفه ترجمه ماشینی عصبی (NMT)13 مورد آزمایش قرار گرفته است. برای انجام آزمایشها از مجموعه داده ترجمه انگلیسی به فرانسوی WMT’14 استفاده شده است [3]. همچنین مجموعه داده کوچکتری در [4] وجود دارد که برای آموزش مدلهای آزمایشی و غیر واقعی مناسب است. این مجموعه شامل ترجمههای انگلیسی به فارسی نیز هست.
نتایج حاصل شده از این کار بدین قرار است. بر روی مجموعه داده WMT’14 با استخراج مستقیم ترجمه از پنج LSTM ژرف با 380 میلیون پارامتر، در نهایت امتیاز BLEU معادل 34.81 کسب گردیده است. این امتیاز بالاترین امتیازی است که تا زمان ارایه این مقاله از طریق NMT حاصل شده است. بهعنوان مقایسه امتیاز BLEU برای ترجمه ماشینی آماری (SMT)14 برروی همین مجموعه داده برابر 33.30 است. این درحالی است که امتیاز 34.81 با احتساب اندازه واژهنامه 80هزار کلمه بهدست آمده و هرجا که کلمه ظاهر شده در ترجمه مرجع در واژهنامه نبوده این امتیاز جریمه شده است. بنابراین نتایج نشان میدهد که یک معماری مبتنی بر شبکه عصبی تقریبا غیر بهینه، که نقاط زیادی برای بهبود دارد، قادر است تا روشهای سنتی مبتنی بر عبارتِ سیستم SMT را شکست دهد [1].
۲. مفاهیم اولیه
در این قسمت پیرامون سه مفهوم اصلی گزارش پیشرو، یعنی مدل زبانی (LM)15، شبکههای عصبی مکرر و ترجمه ماشینی عصبی، بهصورت مختصر توضیحاتی ارایه میگردد.
۲.۱. مدل زبانی
مدل زبانی یک مفهوم پایه در NLP است که امکان پیشبینی نشانه بعدی در یک توالی را فراهم میکند. بهبیان دقیقتر LM عبارت است از یک توزیع احتمالی روی یک توالی از نشانهها (اغلب واژهها) که احتمال وقوع یک توالی داده شده را مشخص میکند. در نتیجه میتوان بین چندین توالی داده شده برای مثال چند جمله، آن را که محتملتر است، انتخاب کرد [5]. LM برای توالی
عبارت است از:
مدلهای سنتی n-gram برای غلبه بر چالشهای محاسباتی، با استفاده از فرض مارکوف رابطه (1) را به درنظر گرفتن تنها n-1 نشانه قبلی محدود میکنند. بههمین دلیل برای توالیهای طولانی (بیشتر از 4 یا 5 نشانه) و دیده نشده مناسب نیستند. مدلهای زبانی عصبی (NLMs)16 که بر مبنای شبکههای عصبی عمل پیشبینی واژه بعدی را انجام میدهند، در ابتدا برای کمک به n-gramها با آنها ترکیب شدند که منجر به ایجاد پیچیدگیهای زیادی شد؛ در حالی که مشکل توالیهای طولانی همچنان وجود داشت [5]. اخیرا اما، معماریهای جدیدی برای LM که کاملا بر اساس DNNها است، ایجاد شدهاند. سنگبنای این مجموعه معماریها RNNها بوده که در بخش بعدی معرفی میشوند.
۲.۲. شبکههای عصبی مکرر
شبکههای عصبی مکرر کلاسی از شبکههای عصبی هستند که بهصورت یک گراف جهتدار دوری بیان میشوند. بهعبارت دیگر ورودی هریک از لایه(های) پنهان یا خروجی علاوه بر خروجی لایه قبل، شامل ورودی از مرحله قبل بهصورت بازخورد نیز میشود. شکل (2) یک RNN را نشان میدهد. همانطور که پیداست، لایه پنهان از مراحل قبلی هم بازخورد میگیرد. در هر مرحلهزمانی t از (t=1 تا t=n) یک بردار x(t) از توالی ورودی
پردازش میشود. در حالت کلی معادلههای بروزرسانی (گذرجلو17) یک RNN در t عبارتند از [2]:
که در آن بردارهای b و c بایاس و ماتریسهای U، V و W بهترتیب وزن یالهای لایه ورودی به پنهان، پنهان به خروجی و پنهان به پنهان، تشکیلدهنده مجموعه پارامترهای شبکه هستند. Φ تابع انگیزش است که معمولا یکی از توابع ReLU18 یا سیگموید19 انتخاب میشود. لایه آخر را نیز تابع بیشینه هموار20 تشکیل میدهد که احتمال وقوع هر نشانه خروجی را مشخص میکند.
در شکل (2)، RNN با یک لایه پنهان نشان داده شده است. اما میتوان RNNژرف با چندین لایه پنهان نیز داشت. همچنین طول توالیهای ورودی و خروجی میتواند بسته به مسئله مورد نظر متفاوت باشد. karpathy در [6] RNNها را از منظر طول توالی ورودی و طول توالی خروجی به چند دسته تقسیمبندی کرده است. شکل (3) این دستهبندی را نشان میدهد.
تصویر karpathy از حالتهای مختلف RNN بعد از انتشار مقاله منتخب در این گزارش میباشد؛ با این حال در بخش 4 خواهیم دید که چگونه میتوان از ترکیب این طرحها نیز برای ایده معماری توالیبهتولی الهام گرفت.
۲.۳. ترجمه ماشینی عصبی
بهطور کلی MT را می توان با یک LM که به جمله زبان مبدأ مشروط شده است، مدلسازی کرد. بر همین اساس NMT را میتوان یک مدل زبانی مکرر در نظر گرفت که مستقیما احتمال شرطی p(y|x) را در ترجمه جمله زبان مبدأ
۳. کارهای مرتبط
کارهای زیادی در زمینه NLMs انجام شده است. در بیشتر این کارها از شبکههای عصبی روبهجلو یا مکرر استفاده شده و کاربرد آن معمولا در یک وظیفه MT با امتیازدهی مجدد n فهرست بهتر21، اعمال شده و نتایج آن معمولا نشان از بهبود امتیازهای قبلی داشته است [1].
اخیرا کارهایی در زمینه فشردن اطلاعات زبان مبدأ در NLM انجام شده است. برای نمونه Auli و همکاران [7] NLM را با مدل عنوان22 جمله ورودی ترکیب کردهاند که نتایج بهبود بخشی داشته است. کار انجام شده در مقاله [1] به کار [8] بسیار نزدیک است. در مقاله [8] نویسندگان برای اولین بار توالی ورودی را در یک بردار فشرده کرده و سپس آن را به توالی خروجی تبدیل کردند. البته در این کار، برای تبدیل توالی به بردار، از CNNs استفاده شده که ترتیب واژهها را حفظ نمیکند. چُـــو و همکاران [9] یک معماری شبهِ LSTM را برای نگاشت توالی ورودی به بردار و سپس استخراج توالی خروجی و نهایتا ترکیب آن با SMT استفاده کردهاند. معماری آنها از دو RNN با عنوانهای کدگذار و کدگشا تشکیل شده که RNN اول وظیفه تبدیل یک توالی با طول متغیر به یک بردار با طول ثابت را قابل یک سلول زمینه c دارد و RNN دوم وظیفه تولید توالی خروجی را با لحاظ کردن c و نماد شروع جمله مقصد بر عهده دارد. معماری پیشنهادی آنها تحت عنوان کلی RNNکدگذار-کدگشا در شکل (4) نشان داده شده است. چون آنها از LSTM استفاده نکرده و بیشتر تلاش خود را معطوف به ترکیب این روش با مدلهای قبلی SMT کردهاند، برای توالیهای ورودی و خروجی طولانی همچنان مشکل عدم حفظ حافظه وجود دارد.
Bahdanau و همکاران [10] یک روش ترجمه مستقیم با استفاده از شبکه عصبی پیشنهاد دادهاند که از سازوکار attention برای غلبه بر کارآمدی ضعیف روش [9] روی جملات طولانی استفاده میکند و به نتایج مطلوبی دست یافتند.
۴. مدل توالیبهتوالی
در مدل توالیبهتوالی از دو RNN با واحدهای LSTM استفاده شده است. هدف LSTM در اینجا تخمین احتمال شرطی
است که قبلا هم دیده بودیم (بخش 2-3). LSTM این احتمال شرطی را ابتدا با اقتباس بازنمایی بعد ثابت v برای توالی ورودی
از آخرین مقدار حالت پنهان و در ادامه با محاسبه احتمال
از رابطه استاندارد مطرح در LM (رابطه (1)) و درنظر گرفتن برای حالت پنهان آغازین بهصورت داده شده در رابطه زیر، حساب میکند:
در رابطه (6) هر توزیع احتمالی
بهوسیله یک تابع بیشینه هموار روی همه واژههای داخل واژهنامه بازنمایی میشود. برای LSTM از روابط [11] استفاده شده است. هر جمله در این مدل نیاز است تا با یک علامت خاص مثل EOS خاتمه یابد. این امر مدل را قادر میسازد تا بتواند توزیع احتمالی را روی توالی با هر طول دلخواهی تعریف کند. شمای کلی مدل در شکل (1) نشان داده شده است. در این شکل LSTM بازنمایی توالی ورودی
استفاده میکند. در عین حال این مدل را میتوان ترکیبی از قسمتهای پ و ت شکل (3) دانست.
مدل پیادهسازی شده در عمل از سه جنبه با مدل معرفی شده در بالا تفاوت دارد. اول، از دو LSTM جداگانه استفاده شده است: یکی برای توالی ورودی و دیگری برای توالی خروجی؛ زیرا، انجام این کار پارامترهای مدل را با هزینه محاسباتی اندکی، به تعداد بسیار زیادی افزایش میدهد. دوم اینکه LSTMهای ژرف بهشکل قابل توجهی LSTMهای سطحی را شکست میدهند، به همین دلیل LSTM با ژرفای چهار لایه بهکار گرفته شده است. سوم اینکه نویسندگان در این مقاله یافتهاند که وارون کردن توالی ورودی در سرعتِ همگرایی آموزش شبکه و نیز دقت پیشبینی آن تأثیر شگرفی ایفا میکند. بنابراین بهجای نگاشت مستقیم توالی a,b,c به توالی α, β, γ شبکه LSTM برای نگاشت c,b,a به α, β, γ آموزش داده میشود که در آن α, β, γ ترجمه یا خروجی متناظر با همان a,b,c است. توجیه علت این پدیده آن است که در نگاشت به شیوه وارون ابتدای عبارتها که متناظر با یکدیگر هستند بههم نزدیک شده و این امر سبب زودتر همگرا شدن الگوریتم کاهش گرادیان تصادفی (SGD) و نزدیک شدن به مقادیر بهینه میشود [1].
۴.۱. آموزش شبکه
مدل توالیبهتوالی پس از معرفی توسط Sutskever و همکاران [1]، بارها و بارها تا به امروز مورد ارجاع دیگران قرار گرفته و تبدیل به یک مدل مرجع در NMT شده است. این مدل در رساله دکتری آقای لانگ [5] بهتفصیل و همراه با برخی اصلاحات توضیح داده شده است. در این بخش به برخی جزئیات آموزش شبکه مدل توالیبهتوالی میپردازیم.
شکل (5) یک نمایش دقیقتر از مدل ذکر شده در شکل (1) را نشان میدهد. آموزش شبکه بدین نحو است: ابتدا جمله زبان مقصد، سمت راست جمله متناظر خود در زبان مبدأ قرار داده میشود. نشان ‘-‘ در اینجا نقش EOS را دارد که البته میتواند پایان جمله مبدأ یا آغاز جمله مقصد را مشخص کند. بنابراین به هر کدام از دو گروه قابل تعلق است. LSTM سمت چپ یا همان شبکه کدگذار، در هر مرحلهزمانی یک واژه از جمله زبان مبدأ را خوانده پس از تبدیل به نمایش مناسب حالت داخلی لایه پنهان را بروزرسانی میکند. در مرحله پردازش آخرین واژه مقادیر لایههای پنهان بردار ثابت که اکنون نماینده کل جمله ورودی زبان مبدأ است را تشکیل میدهد. سپس LSTM دوم یا شبکه کدگشا اولین واژه زبان مقصد را به همراه بردار v، بهعنوان ورودی دریافت میکند و پیشبینی خود را انجام میدهد. برچسب واقعی این داده در واقع واژه بعدی در جمله زبان مقصد است. پس از مقایسه و محاسبه خطا، الگوریتم پسانتشار روی هر دو شبکه با شروع از شبکه کدگشا اجرا میشود و پارامترها را در خلاف جهت گرادیان تنظیم میکند. این روند تا پایان یافتن جمله زبان مقصد ادامه پیدا میکند. البته در عمل ممکن است ورودی به صورت یک دسته23 به شبکه داده شود.
در مرحله آزمون به جای مقایسه با برچسب و محاسبه خطا فقط احتمال آمدن واژه بعدی محاسبه و واژه از روی واژگان پیدا میشود. سپس خروجی مرحله t به عنوان ورودی مرحله t+1 به شبکه کدگشا داده میشود. این روش اصطلاحا teacher forcing نامیده میشود[2].
۴.۲. جزئیات آموزش شبکه
در مقاله [1] از LSTMژرف با چهار لایه و 1000 سلول حافظه در هر لایه استفاده شده است. همچنین اندازه واژگان ورودی 160هزار و اندازه واژگان خروجی 80هزار کلمه است. حاصل کار یک شبکه LSTM با مجموع 380میلیون پارامتر بوده که 64میلیون آن اتصالات برگشتی هستند. دیگر جزئیات پارامترها و آموزش شبکه عبارتند از:
پارامترها با مقادیر تصادفی از توزیع یکنواخت در بازه [0.08+ و 0.08-] مقداردهی اولیه شدهاند.
برای آموزش از SGD استاندارد با نرخ یادگیری 0.7 استفاده شده است. بعد از گذشت پنج دوره24، نرخ یادگیری در هر نیمدور، نصف میشود. در ضمن تعداد کل دورههای آموزش برابر 7.5 بوده است.
گرادیان بر روی دستههای 128تایی از توالیها محاسبه شده و به اندازه دسته، یعنی 128، تقسیم میشود.
هرچند LSTMها از معضل میرایی گرادیان25 رنج نمیبرند، اما ممکن است مشکل انفجار گرادیان26 را داشته باشند. بنابراین محدودیت سختی بر مقدار نورم گرادیان اعمال میشود بهاین نحو که هنگامی که نورم از مقدار آستانهای بیشتر شد، مجددا تنظیم شود. برای هر دسته در مجموعه آموزش مقدار
s={ ||g|| }_{ 2 }
محاسبه میشود که در آن g مقدار گرادیان پس از تقسیم بر 128 است. اگر s>5 شد آنگاه قرار داده میشود:
جملات مختلف طولهای مختلفی دارند. بیشتر آنها کوتاه هستند (طولی بین 20 تا 30 دارند) اما برخی از آنها طولانی هستند (طولی بیشتر از 100 دارند)؛ بنابراین دستههای 128تایی از جملات که تصادفی انتخاب میشوند تعداد کمی جمله طولانی داشته و تعداد زیادی جمله کوتاه و در نتیجه سبب میشود تا بیشتر محاسبات داخل هر دسته هدر روند. برای غلبه بر این موضوع سعی شده است همه جملات داخل یک دسته طول تقریبا مساوی داشته باشند. این امر انجام محاسبات را تا 2 برابر تسریع کرده است.
۵. آزمایشها
روش یادگیری توالیبهتوالی معرفی شده روی وظیفه ترجمه ماشینی انگلیسی به فرانسوی در دو حالت مختلف آزمایش گردیده است. در حالت اول مدل، برای ترجمه مستقیم جملات انگلیسی به فرانسوی بهکار گرفته شده و در حالت دوم برای امتیاز دهی مجدد n فهرست بهتر از جملات در وظیفه SMT استفاده شده است. در این قسمت نتایج آزمایشهای انجام گرفته در قالب امتیازهای ترجمه کسب شده، نمونه جملات ترجمه شده و بلاخره مصورسازی بازنمایی جملات ورودی، بیان شده است.
۵.۱. پیادهسازی
پیادهسازی مدل اولیه با زبان ++C انجام شده است. این پیادهسازی از LSTM ژرف با پیکربندی شرح داده شده در بخش 4-1-2 روی یک GPU، تقریبا 1700 واژه بر ثانیه را پردازش میکند. این سرعت برای پردازش حجم داده زیادی مثل مجموعه WMT بسیار پایین است. برای این منظور مدل به صورت موازی شده روی 8 عدد GPU اجرا میگردد. هر لایه از LSTM روی یک GPU اجرا شده و فعالیتهای خود را به محض محاسبه به GPU یا لایه بعدی میدهد. چون مدل چهار لایه دارد، چهار GPU دیگر برای موازیسازی بیشینه هموار استفاده شدهاند بنابراین هر GPU مسئول محاسبه یک ضرب ماتریسی (ماتریس با اندازه 2000 × 1000) است. نتیجه حاصل از این موازیسازی در سطح GPU، رسیدن به سرعت پردازش 6300 واژه بر ثانیه است. فرایند آموزش در این شیوه پیادهسازی، 10 روز به طول انجامید [1].
علاوه بر پیادهسازی اولیه، پیادهسازیهای دیگری نیز از این مدل در زبانها و چهارچوبهای مختلف ارایه شده است؛ از جمله دو پیادهسازی خوب با زبان پایتون و روی چهارچوبهای کاری Tensorflow و Keras. پیادهسازی Tensorflow سازوکارهای جدیدتر مثل سازوکار attention را نیز اضافه کرده است [12]. پیادهسازی Keras هم به جای واژه، در سطح کاراکتر انجام شده است [13]. اگرچه در همه پیادهسازیها ترجمه ماشینی، بهعنوان وظیفه انتخاب شده است. اما این مدل عام بود و برای هر وظیفهای که شامل نگاشت یک توالی ورودی به یک توالی خروجی با طولهای متفاوت است، قابل اعمال خواهد بود.
۵.۲. جزئیات مجموعه داده
همانطور که قبلا گفته شد (بخش 3-1) از مجموعه داده ترجمه انگلیسی به فرانسوی WMT’14 در آزمایشها استفاده شده است [3]. مدل توصیف شده روی یک زیرمجموعه 12میلیون جملهای، شامل 348میلیون واژه فرانسوی و 340میلیون واژه انگلیسی، آموزش داده شده است. وظیفه ترجمه ماشینی و همچنین این مجموعه داده خاص، به خاطر دردسترس بودن عمومی یک مجموعه آموزش و یک مجموعه آزمون نشانهگذاری شده27 جهت اهداف آموزش و ارزیابی مدل انتخاب شده است و مدل توالیبهتولی مستقل از یک وظیفه خاص است.
همچنانکه مدلهای زبانی عصبی معمولی روی یک بازنمایی برداری در نمایش هر کلمه تکیه میکنند، در اینجا نیز یک واژهنامه با اندازه ثابت، برای هر دو زبان بهکار گرفته شده است. برای این منظور، 160هزار واژه از پر استفادهترین واژههای زبان مبدأ (انگلیسی) و نیز 80هزار واژه از پر استفادهترین واژههای زبان مقصد (فرانسوی) برگزیده شدهاند. هر واژه خارج از این واژهنامهها که در جملهها ظاهر شده باشد، با نشانه خاص “UNK” جایگزین شده است.
برای پیادهسازی [12] از مجموعه داده ترجمه آلمانی-انگلیسی WMT’16 [14] استفاده شده است و همچنین مدل نمونه پیادهسازی شده در [13] از مجموعه داده کوچکتر موجود در [4] استفاده کرده است که قابل جایگزین کردن با مجموعههای ذکر شده در بالا نیز هست. ایراد اساسی پیادهسازی در سطح کاراکتر [13] این است که معمولا در ترجمه ماشینی واژهها به یکدیگر متناظر میشوند نه کاراکترها لذا این مدل از دقت مدلهای در سطح واژه برخوردار نیست اما ایده خوبی در مورد استفاده در سایر وظایف مبتنی بر نگاشت توالیبهتوالی نظیر تولید متن به دست میدهد.
۵.۳. کدگشایی و امتیازدهی مجدد
هسته اصلی آزمایشهای انجام شده در [1]، آموزش یک LSTM ژرف بزرگ روی تعداد زیادی جفت از جملههای زبان مبدأ و زبان مقصد است. آموزش با بیشینه کردن احتمال لگاریتمی یک ترجمه صحیح T برای جمله مبدأ داده شده S انجام میشود. بنابراین هدف آموزش عبارت است از:
که در آن S مجموعه آموزش است. وقتی آموزش کامل شد، ترجمهها با یافتن درستترین ترجمه از روی LSTM تولید میشوند:
برای یافتن درستترین ترجمه از یک کدگشای ساده با جستوجوی پرتوی محلی28 چپ به راست استفاده شده است که تعداد B فرضیه جزئی29 را نگهداری میکند. هر فرضیه جزئی پیشوندی از تعدادی ترجمه است. در هر مرحله زمانی، هر فرضیه جزئی با واژههای محتمل از داخل واژهنامه گسترش داده میشود. این روند تعداد فرایض جزئی را بهسرعت افزایش میدهد. با توجه به مدل احتمال لگاریتمی، تمام این فرضیهها به غیر از B فرضیه محتمل اول کنار گذاشته میشوند. بهمجرد اینکه نشانه “EOS” به یک فرضیه الصاق شد، از جستوجوی پرتوی محلی حذف و به مجموعه فرایض کامل افزوده میگردد. هرچند این روش کدگشایی تقریبی است؛ اما، برای پیادهسازی راحت خواهد بود. سیستم پیشنهادی حتی با اندازه پرتوی 1 و نیز اندازه پرتوی 2 بیشترین مزایای این روش جستوجو را فراهم میآورد. امتیازهای BLEU حاصله از آزمایشهای انجام شده روی مدل، در جدول (1) ذکر شده است.
۵.۴. وارونسازی جملات مبدأ
درحالیکه LSTM قابلیت حل مسائل با وابستگیهای طولانی مدت را دارد، در طول آزمایشهای انجام شده در [1] پژوهشگران یافتهاند که وقتی جملههای مبدأ وارون شده و بهعنوان ورودی به شبکه کدگذار داده میشوند، LSTM بهتر آموزش میبیند. توجه شود که جملات مقصد وارون نمیشوند. با انجام این عمل ساده، مقدار سرگشتگی30 مدل از 5.8 به 4.7 کاهش یافتهاست و مقدار امتیاز BLEU کسب شده از ترجمههای کدگشایی شده مدل نیز از 25.9 به 30.6 افزایش داشته است.
نویسندگان [1] توضیح کاملی برای توجیه اثر این پدیده نداشتهاند. توجیه اولیه آنها بدین ترتیب است که عمل وارونسازی جملات زبان مبدأ باعث معرفی بسیاری از وابستگیهای کوتاه مدت به مجموعه داده میشود. وقتی جملههای زبان مبدأ را با جملههای زبان مقصد الحاق میکنیم، هر واژه در جمله مبدأ از واژه نظیرش در جمله مقصد دور میافتد. در نتیجه، مسئله یک دارای یک تأخیر زمانی کمینه31 خیلی بزرگ میشود [1]. با وارونسازی واژهها در جمله مبدأ فاصله میانگین بین واژههای نظیر به نظیر در جمله مبدأ با جمله مقصد تغییر نمیکند. هرچند تعداد کمی از واژههای آغازین جمله مبدأ در این حالت به واژههای آغازین جمله مقصد بسیار نزدیک میشوند؛ بنابراین تأخیر زمانی کمینه مسئله تا حد زیادی کاهش مییابد و الگوریتم پسانتشار زمان کمتری را برای استقرار ارتباط میان واژههای جملههای مبدأ و جملههای مقصد سپری خواهد نمود. این امر درنهایت منجربه بهبود قابل توجه کارآمدی کلی مدل میگردد.
ایده وارونسازی جملههای ورودی از این مهم نشئت گرفته است که در ابتدا تصور شده وارونسازی فقط به پیشبینی با اطمینانتر واژههای آغازین در زبان مقصد کمک میکند و منجربه پیشبینی کم اطمینانتر واژههای پایانی میشود. هرچند LSTMای که روی جملات مبدأ وارون شده آموزش دیده، در مقایسه با LSTM معمولی، روی جملههای طولانی عملکرد بهتری از خود نشان داده است (رجوع شود به بخش 1-6).
۵.۵. ارزیابی نـتایج
بهمنظور ارزیابی کیفیت ترجمههای صورت گرفته توسط مدل از روش امتیازدهی خودکار BLEU [16] استفاده شده است. برای محاسبه امتیاز BLEU، اسکریپت آماده multi-bleu.pl32 بهکار رفته است. این نوع امتیاز دهی در کارهای قبلی مشابه نیز استفاده شده است [9] و [10]، بنابراین قابل اطمینان خواهد بود و مقایسه مدلها را امکانپذیر میسازد. بهعنوان نمونه، این اسکریپت برای [10] امتیاز 28.45 را تولید کرده است. نتایج در جدولهای (1) و (2) ارایه شدهاند. بهترین نتیجه از مجموعه LSTMهایی که در مقداردهی اولیه تصادفی و ترتیب تصادفی ریزدستهها تفاوت داشتهاند، حاصل شده است. هرچند سازوکار کدگشایی ترجمه بهکار برده شده در اینجا (جستوجوی پرتوی محلی)، سازوکار ساده و ضعیفی است؛ با این حال نخستین بار است که یک سیستم ترجمه ماشینی عصبی خالص، سیستم ترجمه ماشینی مبتنی بر عبارات را با اختلاف قابل توجهی شکست میدهد. این سیستم همچنین فاقد قابلیت کنترل واژههای خارج از واژهنامه است و همانطور که قبلا هم بیان شد کلیه واژههای بیرون از واژهنامه با واژه “UNK” جایگزین شدهاند. بنابراین در صورتی که سازوکاری برای کنترل این واژهها نیز به مدل اضافه شود یا اندازه واژهنامه افزایش یابد، عملکرد این سیستم باز هم جای بهبود خواهد داشت.
جدول (1) کارآمدی LSTM روی مجموعه آزمون ترجمه انگلیسی به فرانسوی WMT’14 (ntst14). توجه شود که یک مجموعه متشکل از پنج LSTM با اندازه پرتوی 2، ارزانتر (سبکتر) از یک LSTM تنها با اندازه پرتوی 12 است [1].
روش | امتیاز BLEU (ntst14) |
---|---|
Bahdanau و همکاران [10] | 28.45 |
یک LSTM روبهجلو، اندازه پرتوی 12 | 26.17 |
یک LSTM با ورودی وارون، اندازه پرتوی 12 | 30.59 |
پنج LSTM با ورودی وارون، اندازه پرتوی 1 | 33.00 |
دو LSTM با ورودی وارون، اندازه پرتوی 12 | 33.27 |
پنج LSTM با ورودی وارون، اندازه پرتوی 21 | 34.50 |
پنج LSTM با ورودی وارون، اندازه پرتوی 12 | 34.81 |
جدول (2) روشهای مشابه که شبکههای عصبی را در کنار ترجمه ماشینی سنتی روی مجموعه داده WMT’14 در ترجمه انگلیسی به فرانسوی استفاده کردهاند [1].
روش | امتیاز BLEU (ntst14) |
---|---|
لـبه پژوهش [15] | 37.00 |
چــو و همکاران [9] | 34.54 |
امتیازدهی مجدد 1000فهرست بهتر با یک LSTM روبهجلو | 35.61 |
امتیازدهی مجدد1000فهرست بهتر با یک LSTM وارون | 35.85 |
امتیازدهی مجدد1000فهرست بهتر با پنج LSTM وارون | 36.50 |
پیشگویی امتیازدهی مجدد 1000فهرست بهتر | 45~ |
۵.۶. تحلیل مدل
یکی از ویژگیهای جذاب مدل توالیبهتوالی ارایه شده در [1]، توانایی تبدیل یک توالی از واژهها به یک بردار با ابعاد ثابت است. شکل (6) تعدادی از بازنماییهای یادگرفته شده در روند آموزش را مصورسازی کرده است. این تصویر به وضوح نشان میدهد که بازنماییهای ایجاد شده به ترتیب واژهها حساس هستند؛ زیرا از جملههایی با واژههای یکسان و ترتیب متفاوت در تصویر استفاده شده است. بازنمایی واقعی مدل در ابعاد بالاتری بود و برای نگاشت روی دو بعد روش PCA بهکار برده شده است.
۵.۷. کارآمدی روی جملات طولانی
خروجی مدل روی جملههای طولانی (از منظر تعداد واژه) کارآمدی بسیار خوب LSTM را در این زمینه تأیید میکند. یک مقایسه کمی از نتایج حاصل شده در شکل (7) نشان داده شده است. همچنین جدول (3) چندین جمله طولانی و ترجمههای تولید شده توسط مدل برای آنها را ارایه میکند.
جدول (3) سه مثال از ترجمههای طولانی تولید شده توسط مدل توالیبهتوالی در مقایسه با ترجمه صحیح. خواننده میتواند صحت نتایج را با استفاده از مترجم گوگل تا حد خوبی درک کند [1].
۶. نتیجهگیری و کارهای آتی
در این گزارش یک مدل یادگیری ژرف جدید برای یادگیری و نگاشت توالی از ورودیها به توالی از خروجیها مطرح و بحث گردید. نشان داده شد که یک شبکه LSTM ژرف با واژگان محدود روی وظیفه ترجمه ماشینی، قادر به شکست سیستمهای ترجمه ماشینی استاندارد مبتنی بر عبارات با واژگان نامحدود است. موفقیت این رویکرد نسبتا ساده روی وظیفه ترجمه ماشینی نشان دهنده این است که این مدل باید روی دیگر وظیفههای مبتنی بر توالی نیز در صورت فراهم بودن مجموعه دادههای آموزش کافی، بسیار خوب عمل کند.
در طی فرایند آموزش این اصل نیز کشف شده که وارون سازی توالی مبدأ سبب افزایش دقت و بهبود کارآمدی مدل میشود. میتوان نتیجه گرفت پیدا کردن روشی که وابستگیهای کوتاه مدت را زودتر معرفی کند در هر صورت آموزش مدل را خیلی سادهتر میکند. لذا به نظر میرسد که حتی آموزش یک RNN استاندارد (مدل غیر توالیبهتوالی) نیز با این روش بهتر باشد. البته این مورد در عمل مورد آزمایش قرار نگرفته است و بنابراین به صورت یک فرضیه باقی است.
نتیجه قابل ذکر دیگر، قابلیت LSTM در یادگیری صحیح ترجمه توالیهای طولانی است. در ابتدا تصور میشد که LSTM به دلیل حافظه محدود خود در یادگیری جملههای طولانی شکست بخورد؛ همچنانکه پژوهشگران دیگر در کارهای مشابه عملکرد ضعیفی را برای LSTM گزارش کرده بودند. با این حال اما روی جملههای خیلی طولانی در حالت وارون همچنان مشکل تضعیف حافظه پابرجاست و احتمالا قابلیت بهبود داشته باشد. در نهایت نتایج رضایت بخش این مدل یادگیری نشان دهنده این است که یک مدل ساده از شبکههای عصبی ژرف، که هنوز جای بهبود و بهینهسازیهای زیادی در خود دارد، قادر به شکست بالغترین سیستمهای ترجمه ماشینی سنتی است. کارهای آتی میتواند بر روی افزایش دقت مدل توالیبهتوالی و پیچیدهتر کردن آن در راستای یادگیری بهتر توالیهای طولانی باشد. در آینده نزدیک این مدلها روشهای سنتی را کاملا منسوخ میکنند. نتایج همچنین نشان میدهد این رویکرد روی دیگر وظیفههای مبتنی بر نگاشت توالیبهتوالی میتواند موفقیت آمیز ظاهر شود. این مهم، زمینه را برای حل مسائل مختلفی در دیگر حوزههای علوم آماده میسازد.
مراجع
[1] Q.V. Le Ilya Sutskever, Oriol Vinyals, I. Sutskever, O. Vinyals, and Q. V. Le, “Sequence to sequence learning with neural networks,” Nips, pp. 1–9, 2014.
[2] I. Goodfellow, Y. Bengio, and A. Courville, Deep learning. MIT Press, 2016.
[3] “ACL 2014 ninth workshop on statistical machine translation.” [Online]. Available: http://www.statmt.org/wmt14/medical-task/index.html. [Accessed: 13-Nov-2017].
[4] “Tab-delimited bilingual bentence pairsfrom the tatoeba project (good for anki and similar flashcard applications).”[Online]. Available: http://www.manythings.org/anki/. [Accessed: 13-Nov-2017].
[5] M. T. Luong, “Neural machine translation,” Stanford university, 2016.
[6] A. Karpathy, “Connecting images and natural language,” Stanford University, 2016.
[7] M. Auli, M. Galley, C. Quirk, and G. Zweig, “Joint language and translation modeling with recurrent neural networks.,” Emnlp, no. October, pp. 1044–1054, 2013.
[8] N. Kalchbrenner and P. Blunsom, “Recurrent continuous translation models,” Emnlp, no. October, pp. 1700–1709, 2013.
[9] K. Cho et al., “Learning phrase representations using RNN encoder-decoder for statistical machine translation,” 2014.
[10] D. Bahdanau, K. Cho, and Y. Bengio, “Neural machine translation by jointly learning to align and translate,” pp. 1–15, 2014.
[11] A. Graves, “Generating sequences with recurrent neural networks,” pp. 1–43, 2013.
[12] M.-T. Luong, E. Brevdo, and R. Zhao, “Neural machine translation (seq2seq) tutorial,” https://github.com/tensorflow/nmt, 2017.
[13] “Sequence to sequence example in Keras (character-level),” 2017. [Online]. Available: https://github.com/fcholle/keras/blob/master/examples/lstm_seq2seq.py. [Accessed: 13-Nov-2017].
[14] “Index of /wmt16/translation-task.” [Online]. Available: http://data.statmt.org/wmt16/translation-task/.[Accessed: 04-Dec-2017].
[15] N. Durrani, B. Haddow, P. Koehn, and K. Heafield, “Edinburgh’s phrase-based machine translation systems for WMT-14,” Proc. Ninth Work. Stat. Mach. Transl., pp. 97–104, 2014.
[16] K. Papineni, S. Roukos, T. Ward, and W. Zhu, “BLEU: A method for automatic evaluation of machine translation,” … 40Th Annu. Meet. …, no. July, pp. 311-318,2002.
واژهنامه
واژهنامه فـارســی به انگلـیسی
واژهی فـارسی | معادل انگلیسی | |
---|---|---|
انفجار گرادیان | Exploding Gradient | |
بانظارت | Supervised | |
پردازش زبان طبیعی | Natural Language Processing (NLP) | |
پسانتشار | Backpropagation | |
تابع بیشینه هموار | Softmax Function | |
تأخیر زمانی کمینه | Minimal Time Lag | |
ترجمه ماشینی | Machine Translation (MT) | |
ترجمه ماشینی آماری | Statistical Machine Translation (SMT) | |
ترجمه ماشینی عصبی | Neural Machine Translation (NMT) | |
تشخیص گفتار | Speech Recognition | |
توالی | Sequence | |
جستوجوی پرتوی محلی | Beam Search | |
حافظه کوتاه مدت بلند | Long-Short Term Memory (LSTM) | |
دسته | Batch | |
دوره | Epoch | |
سرگشتگی | Perplexity | |
شبکه عصبی پیچشی | Convolutional Neural Network (CNN) | |
شبکه عصبی رو به جلو ژرف | Deep Feed-forward Neural Network | |
شبکه عصبی ژرف | Deep Neural Network (DNN) | |
شبکه عصبی مکرر | (RNN) Recurrent Neural Network | |
فرضیه جزئی | Partial Hypothesis | |
کدگذار | Encoder | |
کدگشا | Decoder | |
گذر جلو | Forward Pass | |
مدل زبانی | Language Model (LM) | |
مدل زبانی عصبی | Neural Language Model (NLM) | |
میرایی گرادیان | Vanishing Gradient | |
نشانهگذاری شده | Tokenized |
پانوشتها
deep neural networks
backpropagation
supervised
natural language processing
sequence
deep feed-forward neural networks
recurrent neural networks
convolutional neural networks
grid
machine translation
speech recognition
long-short term memory
neural machine translation
statistical machine translation
language model
neural language models
forward pass
rectified linear unit
sigmoid
softmax function
n-best list
topic model
batch
epoch
vanishing gradient
exploding gradient
tokenized
beam search
partial hypothesis
perplexity
minimal time lag
چندین نوع محاسبه از امتیاز BLEU وجود دارد کــه هر نوع با یک اسکریپت زبان perl تعریف شده است.