ترفند پارامترسازی مجدد چگونه امکان پسانتشار در فضای پنهان رمزگذار خودکار متغیر را فراهم میکند؟
ترفند پارامترسازی مجدد با جداسازی نویز تصادفی از پارامترهای آموختهشدهی شبکه عصبی، به گرادیانهای خطا اجازه میدهد تا در طول آموزش از گرههای تصادفی عبور کنند. این راهکار ریاضیاتی همچنان مکانیزم بنیادینی است که آموزش رمزگذارهای خودکار متغیر (VAE) را ممکن میسازد.
به قلم کوروش پاکزاد
این خبر را به اشتراک بگذارید
بهطور خلاصه
- رمزگذارهای خودکار متغیر نیازمند نمونهبرداری از یک توزیع تصادفی هستند، عملی که در حالت عادی محاسبات گرادیان مورد نیاز برای آموزش را مسدود میکند.
- ترفند پارامترسازی مجدد این مشکل را با تقسیم متغیر تصادفی به پارامترهای قطعی (میانگین و واریانس) و یک نویز مستقل حل میکند.
- از آنجا که نویز به عنوان یک ثابت خارجی تزریق میشود، شبکه میتواند مشتقات را برای میانگین و واریانس محاسبه کند.
در دسامبر ۲۰۱۳، پژوهشگرانی به نامهای دیدریک پی. کینگما (Diederik P. Kingma) و مکس ولینگ (Max Welling) مقالهای را در سرور پیشچاپ arXiv با عنوان «بیز متغیر رمزگذار خودکار» منتشر کردند. این مقاله یک راهکار ریاضیاتی را معرفی کرد که مسیر هوش مصنوعی مولد را به طور بنیادین تغییر داد. در هسته معماری آنها، مکانیزمی طراحی شده بود تا یک نقص مهلک در نحوه پردازش متغیرهای تصادفی توسط شبکههای عصبی در طول آموزش را برطرف کند.[1]
شبکههای عصبی از طریق فرآیندی به نام پسانتشار (Backpropagation) یاد میگیرند. وقتی یک مدل پیشبینی انجام میدهد، الگوریتمی میزان خطا را محاسبه کرده و با استفاده از قاعده زنجیرهای در حساب دیفرانسیل، گرادیانها را به دست میآورد؛ گرادیانها همان جهتهای ریاضیاتی هستند که برای تنظیم وزنهای داخلی شبکه به آنها نیاز داریم. این امر ایجاب میکند که هر گام در گراف محاسباتی مشتقپذیر باشد، به این معنی که بتوان برای آن مشتق محاسبه کرد.[7]
رمزگذارهای خودکار متغیر یا VAEها، دادههای ورودی را در یک نمایش ریاضی به نام فضای پنهان (Latent Space) فشرده میکنند. برخلاف رمزگذارهای خودکار استاندارد که دادهها را به نقاط ثابت و صلب نگاشت میکنند، VAEها دادهها را به یک توزیع احتمال نگاشت میکنند. خروجی شبکه برای این توزیع، دو پارامتر مشخص است: یک میانگین و یک انحراف معیار.[3][4]
برای تولید یک خروجی جدید، مدل باید یک نقطه تصادفی را از آن توزیع خاص نمونهبرداری کند. این کار یک «گره تصادفی» در وسط شبکه ایجاد میکند. همانطور که گرگوری گاندرسن (Gregory Gundersen)، مهندس نرمافزار، در تحلیل آوریل ۲۰۱۸ خود از این معماری اشاره کرد، شما نمیتوانید مشتق یک عملیات نمونهبرداری تصادفی را محاسبه کنید. گرادیان به گره تصادفی برخورد کرده و متوقف میشود؛ در نتیجه قاعده زنجیرهای قطع شده و شبکه نمیتواند وزنهای خود را بهروزرسانی کند.[2]
راهحلی که کینگما و ولینگ پیشنهاد دادند، تصادفی بودن را به صورت فیزیکی به خارج از مسیر اصلی محاسباتی منتقل میکند. به جای نمونهبرداری مستقیم متغیر پنهان از توزیع آموختهشده، شبکه یک متغیر نویز جداگانه را از یک توزیع نرمال استاندارد نمونهبرداری میکند؛ توزیعی که میانگین آن دقیقاً صفر و واریانس آن یک است.[1]
این متغیر نویز مستقل به عنوان یک ورودی خارجی عمل میکند. سپس شبکه این نویز را با ضرب کردن در انحراف معیار آموختهشده مقیاسدهی کرده و با افزودن میانگین آموختهشده، آن را جابهجا میکند. نتیجه کار، نمونهای است که از نظر ریاضی کاملاً یکسان است، اما از طریق گامهای قطعی ساخته شده است.[3][6]
همانطور که اما بنجامینسون (Emma Benjaminson)، پژوهشگر رباتیک، در تشریح این مکانیزم در می ۲۰۲۰ توضیح داد، این جایگزینی ساده جبری در واقع «متغیر تصادفی را به گونهای بازنویسی میکند که پارامترهای توزیع از بخش تصادفی جدا شوند.» با این کار، تصادفی بودن به منتهیالیه لبهی گراف محاسباتی رانده میشود.
از آنجا که جمع و ضرب عملیاتهای پایهای و مشتقپذیر هستند، اکنون گرادیان میتواند از خروجی به سمت عقب جریان یابد، از مراحل مقیاسدهی و جابهجایی عبور کند و مستقیماً وارد گرههای میانگین و انحراف معیار شود. متغیر نویز خارجی در طول مسیر برگشت صرفاً به عنوان یک عدد ثابت در نظر گرفته میشود.[4][7]
این مکانیزم مسیریابی به VAE اجازه میدهد تا پارامترهای خود را با استفاده از روش استاندارد کاهش گرادیان بهینهسازی کند، در حالی که همچنان یک فضای پنهان احتمالی را حفظ میکند. شبکه یاد میگیرد که توزیع را به گونهای شکل دهد که خطای بازسازی دادههای تولیدشده به حداقل برسد و بین دقت و همواری فضای پنهان تعادل برقرار کند.[1][3]
این تکنیک صرفاً به توزیعهای گوسی محدود نمیشود. اگرچه توزیع نرمال استاندارد رایجترین پیادهسازی در چارچوبهایی مانند PyTorch و TensorFlow است، اما این ترفند را میتوان برای هر خانواده توزیع مکان-مقیاس که در آن یک متغیر بتواند به عنوان یک تبدیل قطعی از یک توزیع پایه بیان شود، به کار برد.[2][6]
در یک آموزش فنی در ژوئیه ۲۰۲۳، مهندس یادگیری ماشین، سناور حسین (Snawar Hussain)، نشان داد که این مفهوم چگونه به کدهای مدرن ترجمه میشود. یک تابع نمونهبرداری که در حالت عادی گرادیانها را مسدود میکند، با چند خط عملیات تنسوری جایگزین میشود و به موتورهای مشتقگیری خودکار اجازه میدهد تا مسیر دقیق سیگنال خطا را بدون نیاز به محاسبات دستی دیفرانسیل ردیابی کنند.[5]
تأثیر این جایگزینی ریاضی بسیار فراتر از تولید ساده تصویر است. ترفند پارامترسازی مجدد با فراهم کردن امکان آموزش پایدار مدلهای احتمالی، زمینه را برای یادگیری بازنمایی پیشرفته، تشخیص ناهنجاری و حوزه گستردهتر استنتاج متغیر در یادگیری عمیق فراهم کرد.[4][6]
در حالی که مدلهای مولد همچنان در حال گسترش و پیچیدهتر شدن هستند، نیاز بنیادین به گرافهای محاسباتی مشتقپذیر همچنان یک اصل مطلق باقی میماند. راهکار سال ۲۰۱۳ گلوگاهی را برطرف کرد که در غیر این صورت شبکههای عصبی احتمالی را در حد پژوهشهای نظری محبوس میکرد، و آنها را به ابزارهای مهندسی قابل استقرار تبدیل کرد.[1][7]
اصطلاحات کلیدی
- پسانتشار (Backpropagation)
- الگوریتمی که شبکههای عصبی برای یادگیری از آن استفاده میکنند؛ این الگوریتم محاسبه میکند که هر وزن داخلی چقدر در ایجاد یک خطا نقش داشته است تا بتوان آن را تنظیم کرد.
- فضای پنهان (Latent Space)
- یک نمایش فشرده و ریاضیاتی از دادهها که در آن ورودیهای مشابه در نزدیکی یکدیگر نگاشت میشوند.
- رمزگذار خودکار متغیر (VAE)
- نوعی مدل هوش مصنوعی مولد که یاد میگیرد دادهها را به جای نقاط ثابت، در یک توزیع احتمال فشرده کند و به آن اجازه میدهد دادههای جدید و مشابهی تولید کند.
- توزیع نرمال استاندارد
- یک توزیع احتمال کلاسیک به شکل زنگوله که مرکز آن دقیقاً روی صفر قرار دارد و واریانس آن یک است.
پرسشهای متداول
گره تصادفی چیست؟
نقطهای در یک شبکه عصبی است که در آن خروجی به جای محاسبه یک نتیجه ثابت ریاضی، از طریق استخراج یک نمونه تصادفی از یک توزیع احتمال تولید میشود.
چرا شبکههای عصبی نمیتوانند از طریق تصادفی بودن پسانتشار انجام دهند؟
پسانتشار برای تعیین نحوه تنظیم وزنها به محاسبه مشتقات متکی است. یک عملیات کاملاً تصادفی هیچ مشتقی ندارد، بنابراین زنجیره ریاضیاتی بهروزرسانیها قطع میشود.
آیا این ترفند برای همه انواع دادهها کار میکند؟
این ترفند به صورت بومی برای متغیرهای پیوسته مانند توزیعهای گوسی کار میکند. برای متغیرهای گسسته (مانند انتخابهای دستهای)، پژوهشگران باید از جایگزینهای پیچیدهتری مانند تخمینگر گامبل-سافتمکس (Gumbel-Softmax) استفاده کنند.
بررسی عمیق دیدگاهها
یادگیری ماشین نظری
این ترفند را به عنوان یک پیشرفت بزرگ در استنتاج متغیر میبیند که پلی بین یادگیری عمیق و آمار بیزی ایجاد کرد.
برای پژوهشگران نظری، ترفند پارامترسازی مجدد نه تنها به عنوان یک ترفند کدنویسی، بلکه به عنوان یک پل ارتباطی بنیادین بین دو حوزه که پیش از این از هم جدا بودند، یعنی یادگیری عمیق و استنتاج بیزی، تحسین میشود. پیش از سال ۲۰۱۳، بهینهسازی مدلهای احتمالی نیازمند تکنیکهای کند و با واریانس بالا مانند الگوریتم REINFORCE بود. با اثبات اینکه کران پایین متغیر میتواند با استفاده از روش استاندارد کاهش گرادیان از طریق این جایگزینی بهینهسازی شود، پژوهشگران توانستند قدرت مقیاسپذیری عظیم شبکههای عصبی را در مسائل پیچیده آماری به کار بگیرند.
مهندسی کاربردی هوش مصنوعی
بر پیادهسازی عملی این ترفند در کد برای فعالسازی مشتقگیری خودکار تمرکز دارد.
از دیدگاه مهندسی، این ترفند به دلیل ظرافت در پیادهسازی نرمافزاری ارزشمند است. چارچوبهای مدرن یادگیری عمیق مانند PyTorch و TensorFlow به موتورهای مشتقگیری خودکار متکی هستند که گرافهای محاسباتی را در پسزمینه میسازند. ترفند پارامترسازی مجدد به مهندسان اجازه میدهد تا یک لایه نمونهبرداری احتمالی را با استفاده از جمع و ضرب استاندارد تنسورها بنویسند. این بدان معناست که سیستم autograd در این چارچوبها میتواند بدون نیاز به تخمینگرهای گرادیان سفارشی و دستی، عملیاتها را به صورت یکپارچه ردیابی کند.
رباتیک و کنترل
برای این مکانیزم به دلیل فراهم کردن امکان مدلسازی احتمالی محیطهای نامطمئن در سیستمهای فیزیکی ارزش قائل است.
در زمینههایی مانند رباتیک و یادگیری تقویتی، عاملها باید در محیطهایی پر از نویز و عدم قطعیت تصمیمگیری کنند. توانایی آموزش مدلهایی که به جای پیشبینیهای صلب، توزیعهای احتمال را به عنوان خروجی ارائه میدهند، برای ناوبری و کنترل ایمن بسیار حیاتی است. ترفند پارامترسازی مجدد به این سیستمهای کنترل پیوسته اجازه میدهد تا با پسانتشار خطاها از طریق عدم قطعیت شبیهسازیشده در محیطهای خود، سیاستهای هموار و مقاومی را بیاموزند.
- یادگیری ماشین نظری
- این ترفند را به عنوان یک پیشرفت بزرگ در استنتاج متغیر میبیند که پلی بین یادگیری عمیق و آمار بیزی ایجاد کرد.
- مهندسی کاربردی هوش مصنوعی
- بر پیادهسازی عملی این ترفند در کد تمرکز دارد تا مشتقگیری خودکار را در چارچوبهایی مانند PyTorch فعال کند.
- رباتیک و کنترل
- برای این مکانیزم به دلیل فراهم کردن امکان مدلسازی احتمالی محیطهای نامطمئن در سیستمهای فیزیکی ارزش قائل است.
دیدگاههایی که این گزارش پوشش نداده
- معماران سختافزار که در حال بهینهسازی عملیاتهای تصادفی هستند
منابع
[1]arXivیادگیری ماشین نظریAuto-Encoding Variational Bayes
مطالعه در arXiv →
[2]Gregory Gundersenمهندسی کاربردی هوش مصنوعیThe Reparameterization Trick
مطالعه در Gregory Gundersen →
[3]Stats StackExchangeیادگیری ماشین نظریHow does the reparameterization trick for VAEs work and why is it important?
مطالعه در Stats StackExchange →
[4]ApX Machine Learningمهندسی کاربردی هوش مصنوعیThe Reparameterization Trick in VAEs Explained
مطالعه در ApX Machine Learning →
[5]Snawar Hussainمهندسی کاربردی هوش مصنوعیUnderstanding the Reparameterization Trick in Variational Autoencoders
مطالعه در Snawar Hussain →
[6]Olewavesرباتیک و کنترلVariational Autoencoder (VAE) and Reparameterization Trick - Revisiting the Classic Generative Model
مطالعه در Olewaves →
[7]تیم سردبیری کوهستانتحلیل تیم سردبیری کوهستان
مطالعه در تیم سردبیری کوهستان →
بیشتر در هوش مصنوعی
مشاهده همه →یادگیری تقویتی
چگونه استراتژی اپسیلون-حریصانه تعادل میان اکتشاف و بهرهبرداری را در هوش مصنوعی برقرار میکند
7 منبع
شبکههای متخاصم مولد
چگونه یک مولد و یک متمایزگر برای خلق خروجیهای واقعگرایانه هوش مصنوعی رقابت میکنند
8 منبع
یادگیری تقویتی
چگونه معادله بلمن تابع ارزش بهینه را در یادگیری تقویتی تعریف میکند
6 منبع
پروتکل MCP در هوش مصنوعی چیست و ابزارهای توسعه چگونه به دادهها متصل میشوند؟
4 منبع
نظرات
هر زاویه. هر روز.
اخبار هوش مصنوعی با پوشش کامل منابع و تحلیل دیدگاهها، هر روز و رایگان.





