Dropout در شبکههای عصبی
در این پست میخواهیم با مفهوم Dropout در شبکههای عصبی آشنا شویم. با هوسم همراه باشید.
dropout در شبکههای عصبی چیست؟
واژه Dropout به معنای کنار گذاشتن بخشهایی (units) از یک شبکه عصبی است. یک شبکه عصبی که شامل تعدادی نورون است، در نظر بگیرید. Dropout به این معنا است که در حین آموزشِ این نورونها، از تعدادی از آنها به صورت تصادفی چشمپوشی شود. چشمپوشی یعنی اینکه آن نورونهای خاص، در مسیر رفت یا برگشت در نظر گرفته نمیشوند.
اگر بخواهیم فنیتر بررسی کنیم، Dropout یعنی اینکه در هر مرحله از آموزش، نودهایی از شبکه، با احتمال 1-p کنار گذاشته شده و نودهای دیگری با احتمال p، حفظ میشوند. بنابراین یک شبکه کاهش یافته باقی میماند.
چرا به Dropout نیاز است؟
حال که با مفهوم Dropout آشنا شدیم، این سوال مطرح میشود که، چرا به Dropout نیاز است؟ چرا نیاز است که بخشی از شبکه خاموش شود؟
جواب این سوال این است که، Dropout از over-fitting جلوگیری میکند.
کمی بیشتر در مورد Dropout بدانیم:
در یادگیری ماشین، یکی از راههای جلوگیری از overfitting، رگولاریزاسیون است. رگولاریزاسیون با اضافه کردن یک پنالتی به تابع هزینه، overfitting را کاهش میدهد. با اضافه کردن این پنالتی، مدل به گونهای آموزش داده میشود که وزنهای ویژگیهای وابسته، آپدیت نمیشوند. Dropout یک رویکرد برای رگولاریزاسیون در شبکههای عصبی است که باعث کاهش یادگیریهای تکراری میان نورونها میشود.
مطالب زیر را حتما مطالعه کنید
LLM Research یا LLM Engineering؟ راهنمای یادگیری مدلهای زبانی بزرگ
یادگیری انتقالی
شبکه VGG
مهندسی پرامپت
مدل nanoGPT
شگفتانگیزترین ایده هوش مصنوعی از نظر Andrej Karpathy
2 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
با سلام
یه سوال: یعنی با dropout وزن ها آپدیت میشوند؟
غیر ضروریا آپدیت نمیشن بقیه که میشن..