رفتن به محتوای اصلی
کوهستان
توضیح کوهستانالگوریتم‌های آموزش هوش مصنوعیتوضیح و تشریح· 6 دقیقه مطالعه· در هوش مصنوعی

سازوکار بهینه‌سازی در یادگیری عمیق: مدل‌های هوش مصنوعی چگونه واقعاً یاد می‌گیرند؟

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

به قلم ندا وزیری

به‌طور خلاصه

  1. آموزش یک مدل هوش مصنوعی اساساً یک جستجوی ریاضیاتی برای به حداقل رساندن «تابع زیان» است که خطای پیش‌بینی را اندازه‌گیری می‌کند.
  2. گرادیان کاهشی با محاسبه شیب چشم‌انداز زیان و برداشتن گام‌هایی به سمت پایین، کمترین خطا را پیدا می‌کند.
  3. الگوریتم‌های اولیه نیاز به تنظیم دستی «نرخ یادگیری» داشتند، که اندازه گام‌هایی را که مدل برمی‌دارد، تعیین می‌کند.

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

فرآیند تبدیل این تصادفی بودن به هوش ساختاریافته، جادو نیست؛ بلکه یک فرآیند تکراری و بسیار مکانیکی بهینه‌سازی است. در هسته خود، آموزش یک هوش مصنوعی صرفاً جستجویی برای یافتن کمترین خطای ممکن در یک فضای گسترده و چندبعدی است.[6]

برای درک این فرآیند، تصور کنید که در یک رشته کوه ناهموار و ناشناخته چشم‌بند زده‌اید و وظیفه دارید پایین‌ترین دره ممکن را پیدا کنید. شما نمی‌توانید چشم‌انداز را ببینید؛ فقط می‌توانید شیب زمینی را که بلافاصله زیر پایتان است، حس کنید. یادگیری یک شبکه عصبی دقیقاً به همین صورت است. الگوریتم‌هایی که این فرود را هدایت می‌کنند، تعیین می‌کنند که آیا آموزش مدل روزها طول می‌کشد یا قرن‌ها، و اینکه آیا یک راه‌حل واقعی پیدا می‌کند یا به طور ناامیدکننده‌ای در یک گودال کم‌عمق گیر می‌کند.[2]

قطب‌نمای این سفر، «تابع زیان» (Loss Function) است. تابع زیان یک فرمول ریاضیاتی است که تفاوت دقیق بین آنچه هوش مصنوعی پیش‌بینی می‌کند و حقیقت واقعی را محاسبه می‌کند. اگر یک طبقه‌بندی‌کننده تصویر به عکس گربه‌ای نگاه کند و «سگ» پیش‌بینی کند، تابع زیان یک امتیاز جریمه بالا می‌دهد. اگر «گربه» پیش‌بینی کند، امتیاز تقریباً به صفر می‌رسد. هدف کلی آموزش یک مدل یادگیری عمیق، به حداقل رساندن این عدد واحد در میان میلیاردها نمونه است.[6][10]

برای به حداقل رساندن زیان، شبکه از تکنیکی به نام گرادیان کاهشی (Gradient Descent) استفاده می‌کند. مدل با محاسبه مشتق—یا گرادیان—تابع زیان نسبت به تک تک پارامترهای شبکه، تعیین می‌کند که کدام جهت از نظر ریاضی «پایین» است. سپس یک گام کوچک در آن جهت برمی‌دارد و وزن‌های داخلی خود را به‌روزرسانی می‌کند تا برای پیش‌بینی بعدی کمی دقیق‌تر باشد. این فرآیند میلیون‌ها بار تکرار می‌شود.[2]

گرادیان کاهشی شیب منحنی خطا را محاسبه می‌کند تا جهتی را که وزن‌های مدل باید به‌روزرسانی شوند، تعیین کند.

اندازه این گام توسط یک تنظیم حیاتی به نام «نرخ یادگیری» (Learning Rate) کنترل می‌شود. اگر نرخ یادگیری بیش از حد بزرگ باشد، ممکن است مدل به طور کامل از روی پایین‌ترین نقطه دره بپرد و به طور نامنظم به سمت دیگر پرتاب شود، پدیده‌ای که به عنوان واگرایی (Divergence) شناخته می‌شود. اگر نرخ یادگیری خیلی کوچک باشد، فرود به طرز دردناکی کند می‌شود و ممکن است مدل در یک حداقل محلی (Local Minimum) گیر کند—یک فرورفتگی کوچک در دامنه کوه که بسیار بالاتر از کف دره واقعی است.[9]

برای دهه‌ها، محققان مجبور بودند این نرخ یادگیری را به صورت دستی تنظیم کنند، فرآیندی خسته‌کننده از آزمون و خطا که اغلب نیاز به تنظیم مداوم با پیشرفت آموزش داشت. نقطه عطف و پیشرفتی که رونق هوش مصنوعی مدرن را ممکن ساخت، توسعه الگوریتم‌های نرخ یادگیری تطبیقی بود. این الگوریتم‌ها به جای استفاده از یک اندازه گام ثابت و واحد برای هر پارامتر، نرخ یادگیری را برای هر وزن مجزا در شبکه بر اساس گرادیان‌های تاریخی آن به طور خودکار تنظیم می‌کنند.[6]

پیشگام در این حوزه، الگوریتم آداگراد (Adagrad) بود که در سال ۲۰۱۱ معرفی شد. آداگراد با نگهداری یک مجموع در حال اجرا از تمام گرادیان‌های مجذور گذشته برای هر پارامتر کار می‌کند. سپس نرخ یادگیری را برای پارامترهایی که به‌روزرسانی‌های مکرر دریافت می‌کنند، کاهش می‌دهد، در حالی که نرخ یادگیری را برای ویژگی‌های نادر و آموزنده بالا نگه می‌دارد. این امر برای پردازش داده‌های پراکنده، مانند متن که در آن برخی کلمات به طور مداوم ظاهر می‌شوند و برخی دیگر تقریباً هرگز، انقلابی بود.[5]

پیشگام در این حوزه، الگوریتم آداگراد (Adagrad) بود که در سال ۲۰۱۱ معرفی شد.

با این حال، آداگراد هنگام اعمال در شبکه‌های عصبی عمیق یک نقص مهلک داشت: مجموع تاریخی آن همیشه بزرگتر می‌شد. از آنجا که این الگوریتم هر گرادیان گذشته را از ابتدای آموزش انباشته می‌کرد، مخرج در محاسبه نرخ یادگیری آن به طور مداوم افزایش می‌یافت. در نهایت، نرخ یادگیری تقریباً به صفر می‌رسید و باعث می‌شد مدل قبل از رسیدن به راه‌حل بهینه، به طور کامل یادگیری را متوقف کند.[2]

راه‌حل این مشکل نرخ یادگیری محوشونده از یک منبع غیرمنتظره آمد: یک اسلاید در یک سخنرانی آنلاین توسط جفری هینتون، پیشگام هوش مصنوعی. هینتون الگوریتم آر.ام.اس.پراپ (RMSprop) را پیشنهاد کرد، الگوریتمی که آداگراد را با تغییر نحوه به خاطر سپردن گذشته اصلاح می‌کند. RMSprop به جای انباشت تمام گرادیان‌های تاریخی، از یک میانگین کاهشی نمایی استفاده می‌کند. این الگوریتم گرادیان‌های قدیمی‌تر را «فراموش می‌کند» و اجازه می‌دهد نرخ یادگیری شناور باقی بماند و مدل بتواند به طور نامحدود به یادگیری ادامه دهد.[4][7]

تقریباً در همان زمان، الگوریتم دیگری به نام آدادِلتا (Adadelta) به طور مستقل برای حل دقیقاً همین مشکل توسعه یافت. آدادِلتا نیز پنجره گرادیان‌های گذشته انباشته شده را محدود می‌کند تا از افت نرخ یادگیری به صفر جلوگیری کند. این الگوریتم یک گام فراتر می‌رود و تلاش می‌کند نیاز به تنظیم نرخ یادگیری پیش‌فرض را به طور کامل از بین ببرد، و از واحدهای خود پارامترها برای هدایت اندازه گام استفاده می‌کند، اگرچه بر همان مکانیسم کاهشی بنیادی RMSprop متکی است.[3][8]

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

امروزه، پادشاه بلامنازع بهینه‌سازی یادگیری عمیق، آدام (Adam - Adaptive Moment Estimation) است که در سال ۲۰۱۴ معرفی شد. آدام بهترین ایده‌های پیشینیان خود را ترکیب می‌کند. این الگوریتم از میانگین کاهشی نمایی گرادیان‌های مجذور گذشته (مانند RMSprop) برای مقیاس‌بندی نرخ یادگیری استفاده می‌کند، اما همچنین «تکانه» (Momentum) را اضافه می‌کند—جهت گام‌های اخیر را پیگیری می‌کند تا مانند یک توپ سنگین که از تپه‌ای پایین می‌غلتد، از مناطق مسطح چشم‌انداز زیان عبور کند.[1]

تسلط آدام در این حوزه را به سختی می‌توان نادیده گرفت. این بهینه‌ساز پیش‌فرض در تقریباً تمام چارچوب‌های اصلی یادگیری عمیق است و آموزش همه چیز، از سیستم‌های بینایی کامپیوتر گرفته تا مدل‌های زبان بزرگ عظیم، را تقویت می‌کند. توانایی آن در دستیابی به همگرایی سریع با حداقل تنظیم دستی، آن را به سنگ بنای رونق یادگیری عمیق تبدیل کرد و به محققان اجازه داد تا به جای ریاضیات بهینه‌سازی، بر معماری تمرکز کنند.[9]

با این حال، سازوکار بهینه‌سازی همچنان یک میدان نبرد فعال باقی مانده است. در حالی که آدام فوق‌العاده سریع است، محققان دریافته‌اند که روش‌های قدیمی‌تر و ساده‌تر مانند گرادیان کاهشی تصادفی (SGD) همراه با تکانه، اغلب حداقل‌های «مسطح‌تر» را در چشم‌انداز زیان پیدا می‌کنند. این حداقل‌های مسطح‌تر تمایل دارند که به داده‌های جدید و دیده نشده بهتر تعمیم یابند، به این معنی که مدل در دنیای واقعی عملکرد بهتری دارد، حتی اگر آموزش آن در محیط آزمایشگاهی زمان بیشتری برده باشد.[2][9]

بهینه‌سازهای مدرن مانند آدام میلیاردها پارامتر مجزا را به طور همزمان به‌روزرسانی می‌کنند و نرخ یادگیری را برای هر یک مقیاس‌بندی می‌کنند.

بنابراین، انتخاب بهینه‌ساز یک بده‌بستان ظریف بین سرعت همگرایی و کیفیت نهایی مدل حاصل است. با افزایش مقیاس شبکه‌های عصبی به تریلیون‌ها پارامتر، هندسه چشم‌اندازهای زیان آن‌ها به طرز غیرقابل تصوری پیچیده می‌شود. درک و پالایش الگوریتم‌هایی که در این فضاها حرکت می‌کنند، یکی از حیاتی‌ترین مرزهای هوش مصنوعی باقی می‌ماند و سرعت باز شدن قابلیت‌های جدید را تعیین می‌کند.[6][10]

اصطلاحات کلیدی

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

پرسش‌های متداول

تابع زیان دقیقاً چیست؟

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

چرا نرخ یادگیری تا این حد مهم است؟

نرخ یادگیری تعیین می‌کند که هوش مصنوعی هنگام تنظیم پارامترهای خود چقدر گام بزرگی بردارد. اگر بیش از حد بزرگ باشد، هوش مصنوعی از راه‌حل عبور می‌کند؛ اگر خیلی کوچک باشد، آموزش برای همیشه طول می‌کشد یا گیر می‌کند.

چرا آدام به استاندارد صنعتی تبدیل شد؟

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

آیا آدام همیشه بهترین انتخاب است؟

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

بررسی عمیق دیدگاه‌ها

متخصصان کاربردی

تمرکز بر سرعت و قابلیت اطمینان آموزش مدل در محیط‌های عملیاتی.

برای مهندسانی که سیستم‌های هوش مصنوعی تجاری می‌سازند، معیار اصلی یک بهینه‌ساز این است که چقدر سریع می‌تواند یک مدل را به حالت قابل استفاده برساند، بدون اینکه نیاز به هفته‌ها تنظیم دستی فراپارامترها باشد. این گروه به شدت طرفدار آدام و انواع آن (مانند AdamW) هستند. از آنجا که آدام نرخ یادگیری را برای هر پارامتر به صورت جداگانه تطبیق می‌دهد و از تکانه برای فرار از مناطق مسطح چشم‌انداز زیان استفاده می‌کند، برای طیف وسیعی از معماری‌ها، از طبقه‌بندی‌کننده‌های تصویر کانولوشنی گرفته تا مدل‌های زبان مبتنی بر ترانسفورمر، «به صورت آماده» کار می‌کند. هزینه محاسباتی که با عدم نیاز به اجرای ده‌ها آزمایش تنظیماتی صرفه‌جویی می‌شود، اغلب بر فداکاری‌های نظری جزئی در تعمیم‌پذیری غلبه می‌کند.

نظریه‌پردازان محض

استدلال می‌کنند که میانبرهای ریاضیاتی که توسط بهینه‌سازهای تطبیقی استفاده می‌شوند، به هوش نهایی مدل آسیب می‌رسانند.

محققانی که بر ریاضیات بنیادی یادگیری عمیق تمرکز دارند، اغلب به یک پارادوکس اشاره می‌کنند: الگوریتم‌هایی که مدل‌ها را سریع‌تر آموزش می‌دهند، به ندرت قوی‌ترین مدل‌ها را تولید می‌کنند. نظریه‌پردازان محض استدلال می‌کنند که بهینه‌سازهای تطبیقی مانند آدام تمایل دارند در حداقل‌های «تیز» در چشم‌انداز زیان همگرا شوند—دره‌های باریکی که در داده‌های آموزشی عالی عمل می‌کنند اما در مواجهه با ورودی‌های واقعی کمی متفاوت شکست می‌خورند. آن‌ها از گرادیان کاهشی تصادفی سنتی (SGD) همراه با تکانه حمایت می‌کنند، که آموزش آن زمان بیشتری می‌برد اما تمایل دارد در حداقل‌های «مسطح» مستقر شود و در نتیجه مدل‌هایی ایجاد می‌کند که بهتر تعمیم می‌یابند و در برابر نویز مقاوم‌تر هستند.

حامیان کارایی سخت‌افزاری

ارزیابی بهینه‌سازها بر اساس میزان مصرف حافظه و بهره‌وری سیلیکون.

با افزایش مقیاس مدل‌ها به صدها میلیارد پارامتر، حافظه مورد نیاز صرفاً برای آموزش آن‌ها به یک گلوگاه حیاتی تبدیل می‌شود. حامیان کارایی سخت‌افزاری اشاره می‌کنند که بهینه‌سازهای تطبیقی به شدت حافظه طلب هستند. به عنوان مثال، آدام نیاز به ذخیره دو مقدار تاریخی اضافی (گشتاور اول و دوم) برای هر پارامتر واحد در شبکه دارد. برای یک مدل تریلیون پارامتری، این به معنای ذخیره تریلیون‌ها عدد اضافی در حافظه گران‌قیمت GPU است. این گروه توسعه جایگزین‌های کارآمد از نظر حافظه مانند آدافاکتور (Adafactor) یا بهینه‌سازهای کوانتیزه شده سنگین را هدایت می‌کند که تلاش می‌کنند سرعت همگرایی آدام را در عین جای گرفتن در سخت‌افزارهای استاندارد، مطابقت دهند.

متخصصان کاربردی 45%نظریه‌پردازان محض 35%حامیان کارایی سخت‌افزاری 20%
متخصصان کاربردی
اولویت دادن به همگرایی سریع و عملکرد آماده، و ترجیح شدید آدام به دلیل توانایی آن در آموزش سریع مدل‌های پیچیده با حداقل تنظیمات.
نظریه‌پردازان محض
استدلال می‌کنند که با وجود کندتر بودن، گرادیان کاهشی تصادفی سنتی (SGD) همراه با تکانه اغلب مدل‌هایی را به دست می‌دهد که به داده‌های دیده نشده بهتر تعمیم می‌یابند.
حامیان کارایی سخت‌افزاری
تمرکز بر میزان مصرف حافظه بهینه‌سازها، با اشاره به اینکه الگوریتم‌هایی مانند آدام نیاز به ذخیره چندین وضعیت تاریخی برای هر پارامتر دارند، که باعث ایجاد گلوگاه در مدل‌های عظیم می‌شود.

دیدگاه‌هایی که این گزارش پوشش نداده

  • محققان ایمنی هوش مصنوعی که نگران چگونگی تأثیر انتخاب‌های بهینه‌سازی بر هم‌ترازی مدل هستند.
  • توسعه‌دهندگان متن‌باز که بهینه‌سازهای کارآمد از نظر حافظه را برای سخت‌افزارهای مصرف‌کننده می‌سازند.

منابع

پوشش منابع

11 منبع

3 دیدگاه شناسایی‌شده

متخصصان کاربردی 45%نظریه‌پردازان محض 35%حامیان کارایی سخت‌افزاری 20%
  1. [1]arXivنظریه‌پردازان محض

    Adam: A Method for Stochastic Optimization

    مطالعه در arXiv →
  2. [2]arXivنظریه‌پردازان محض

    An overview of gradient descent optimization algorithms

    مطالعه در arXiv →
  3. [3]arXivنظریه‌پردازان محض

    ADADELTA: An Adaptive Learning Rate Method

    مطالعه در arXiv →
  4. [4]University of Toronto

    Neural Networks for Machine Learning (RMSprop lecture notes)

    مطالعه در University of Toronto →
  5. [5]Journal of Machine Learning Researchحامیان کارایی سخت‌افزاری

    Adaptive Subgradient Methods for Online Learning and Stochastic Optimization

    مطالعه در Journal of Machine Learning Research →
  6. [6]deeplearningbook.orgمتخصصان کاربردی

    Optimization for Training Deep Models

    مطالعه در deeplearningbook.org →
  7. [7]Dive into Deep Learningحامیان کارایی سخت‌افزاری

    12.8. RMSProp

    مطالعه در Dive into Deep Learning →
  8. [8]Dive into Deep Learningحامیان کارایی سخت‌افزاری

    12.9. Adadelta

    مطالعه در Dive into Deep Learning →
  9. [9]arXivنظریه‌پردازان محض

    A Comparison of Optimization Algorithms for Deep Learning

    مطالعه در arXiv →
  10. [10]arXivنظریه‌پردازان محض

    Loss Functions in Deep Learning: A Comprehensive Review

    مطالعه در arXiv →
  11. [11]تیم سردبیری کوهستان

    تحلیل تیم سردبیری کوهستان

    مطالعه در تیم سردبیری کوهستان →

نظرات

همیشه در جریان باشید

هر زاویه. هر روز.

اخبار هوش مصنوعی با پوشش کامل منابع و تحلیل دیدگاه‌ها، هر روز و رایگان.