دستاورد بزرگ محققان دانشگاه رایس در حوزه یادگیری عمیق
در یادگیری عمیق، رویکردهایی برای استنباط وجود دارند که از شبکههای عصبی آموزشدیده برای تحلیل داده استفاده میکنند. چنین فعالیتهایی با سختافزار ارزانقیمت انجامشدنی هستند. درمقابل، فعالیتهایی که بهصورت اختصاصی به «آموزش» شبکهی عصبی اختصاص دارند، نیازمند هزینهی بیشتر و سختافزار حرفهایتر هستند.
وقتی ورودیهای الگوریتم شبکهی عصبی بیشتر شود، مشکل مقیاسدهی در زمان تحلیل فضای مسئله بیشتر خواهد شد. تارون مدینی و آنشومالی شریواستاوا، محققان پروژهی MACH در دانشگاه رایس (Rice)، راهکاری برای این مشکل مقیاسدهی مطرح کردهاند. نام پروژهی آنها اختصاری برای عبارت Merged Average Classifiers via Hashing است. شریواستاوا، مدیر پروژه، ادعا میکند آموزش به الگوریتم در این پروژه، ۷ تا ۱۰ مرتبه سریعتر از الگوریتمهای دیگر رخ میدهد و تأثیر آن نیز دو تا چهار برابر کمتر از الگوریتمهای دیگر خواهد بود.
مدینی برای توضیح دشواری مقیاسدهی به مسائل دستهبندی در الگوریتمها، عبارتهای جستوجو را در فروشگاههای آنلاین مثال میزند. او میگوید حدود ۱۰۰ میلیون کالا برای فروش در سرویسهای آنلاین وجود دارد. البته اظهارنظر او را باید تا حدودی محافظهکارانه بدانیم؛ چون یکی از تحلیلهای اخیر ادعا میکند تنها آمازون آمریکا بیش از ۶۰۶ میلیون محصول متفاوت را فروخته است. این شرکت بیش از سهمیلیارد محصول را در سرتاسر جهان عرضه میکند. آماری دیگر ادعا میکند محصولات آنلاین در آمریکا به ۳۵۳ میلیون عدد میرسند. مدینی درادامه برای شرح پیچیدگی الگوریتم میگوید:
شبکهی عصبی که ورودی جستوجو را دریافت و از میان ۱۰۰ میلیون خروجی یا محصول پیشبینی میکند، برای هر محصول با دوهزار پارامتر روبهرو خواهد بود. اگر همین اعداد را ضرب کنید، لایهی نهایی شبکهی عصبی به ۲۰۰ میلیبارد پارامتر میرسد و مدل شبکهی عصبیای که برای این موضوع مطرح میکنم، بسیار ساده است.
در مقیاس عظیمی که مطرح شد، به ابرکامپیوترهایی با چندین ترابایت حافظه فقط برای ذخیرهسازی مدل نیاز داریم. مشکل حافظه زمانی بدتر میشود که پردازندهی گرافیکی را نیز به فرایند اضافه کنیم. پردازندههای گرافیکی در پردازش وظایف مربوط به شبکههای عصبی عملکردی بسیار سریعتر از پردازندههای مرکزی دارند؛ اما حافظهی رم هریک از آنها محدود است. بهعنوان مثال، گرانترین نمونههای بازار که در خانوادهی انویدیا تسلا هستند، تنها ۳۲ گیکابایت حافظهی رم دارند. مدینی میگوید آموزش چنین مدلی بهدلیل نیاز به ارتباط بسیار زیاد و گسترده میان پردازندههای گرافیکی، بهنوعی انجامنشدنی خواهد بود.
الگوریتم MACH بهجای آموزش روی ۱۰۰ میلیون خروجی ممکن (در این مثال خرید محصول)، آنها را به سه دستهی متفاوت تقسیم میکند که هرکدام شامل ۳۳/۳ میلیون خروجی تصادفی میشود. سپس، MACH جهان جدیدی ایجاد و مجددا ۱۰۰ میلیون خروجی را بهصورت تصادفی به سه دسته تقسیم میکند. درنهایت، دو جهان داریم که خروجیهای یکسان دارند؛ اما دستههای آنها بهدلیل انتخابهای تصادفی باهم متفاوت میشود.
الگوریتم MACH سرعت بیشتر و نیاز کمتری به منابع حافظه خواهد داشت
هرکدام از دو جهانی که در دستهبندی بالا ایجاد کنند، با رخدادن هر جستوجو آن را دریافت میکنند. هر جهان فقط امکان ارائهی سه نتیجه را برای جستوجو خواهد داشت. شریواستاوا میگوید الگوریتم با مطرحکردن این سؤال که «کاربر به چه محصولی فکر میکند؟»، محتملترین پاسخ را خروجیای میداند که بین دو جهان مشترک باشد.
با درنظرگرفتن فرضیهی مذکور، ۹ خروجی محتمل خواهیم داشت (سه خروجی از جهان اول ضربدر سه خروجی از جهان دوم)؛ اما الگوریتم MACH فقط باید ۶ کلاس دستهبندی (سه دسته در جهان اول بهعلاوهی سه دسته در جهان دوم) ایجاد کند تا فضای جستوجو با ۹ خروجی مدلسازی شود. مزیت الگوریتم با افزایش تعداد جهانها بیشتر نیز میشود. مدلی با سه جهان ۲۷ خروجی از ۹ کلاس ارائه میکند. با ساختن چهار جهان، به ۸۱ خروجی با ۱۲ کلاس میرسیم و افزایش اعداد بازهم ادامه دارد. شریواستاوا باتوجهبه همین ارقام میگوید در روش جدید، با اضافهکردن خطی منابع، افزایش نمایی را در بهبود مدلها شاهد هستیم.
مزیت دیگر الگوریتم MACH این است که در پردازش توزیعیافته در نمونههای کوچکتر، عملکرد بهتری ارائه میکند. مدینی میگوید جهانهای ایجادشده از خروجیهای احتمالی، حتی به ارتباط با یکدیگر نیازی ندارند و میتوان هر جهان را در پردازندهای گرافیکی آموزش داد. چنین فعالیتی هیچگاه با رویکردهای غیرمستقل ممکن نخواهد بود. محققان در مسائل واقعی الگوریتم MACH را روی دیتابیس آموزشی آمازون با ۴۹ میلیون محصول پیاده و آن را بهصورت تصادفی به ۱۰ هزار دسته در ۳۲ جهان گوناگون تقسیم کردند. چنین رویکردی پارامترهای موردنیاز برای مدلسازی را بسیار کاهش میدهد. مدینی میگوید آموزش مدل با پیادهسازی این روش، به زمان و حافظهی کمتری درمقایسهبا مدلهای مشابه نیاز داشت.
پروژهی تحقیقاتی جدید با وجود تمام مزیتها، پیامدهای غیرمستقیم نیز دارد. بهعنوان مثال، اکنون میدانیم شبکهی عصبی در این مدل واقعا عملیات یادگیری را برای نشاندادن موارد جستوجو به خریداران انجام نمیدهد. درواقع، الگوریتم MACH فقط میآموزد چگونه درخواستهای جستوجو را به خرید تبدیل کند. شبکهی عصبی هیچ اطلاعی از جستوجوهای کاربر انسانی ندارد یا اهمیتی هم به آن نمیدهد. الگوریتم فقط ایدهای دربارهی یک کالا دارد که احتمالا کاربر به خرید آن تمایل داشته است. درنهایت، چنین الگوریتمهایی شاید خطاهایی همچون پیشنهاد اشتباه محصول به کاربران را بههمراه داشته باشند.
نظرات