انجمن علمی دانشجویی مدیریت شریف
🔰 وبینار "ماشین لرنینگ در MBA" - ماشین لرنینگ چیست؟ - تفاوت ماشین لرنینگ و هوش مصنوعی - تفاوت ماشین لرنینگ و آنالیز داده - ماشین لرنینگ در مارکتینگ - ماشین لرنینگ در مالی - ماشین لرنینگ در زنجیره تامین - ماشین لرنینگ در منابع انسانی - ماشین لرنینگ در توسعه…
Audio
@DSLanders | دیاسلندرز
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤2🔥1
شبکههای عصبی مصنوعی (ANNs) مجموعهای از الگوریتمها هستن که برای تقلید از تواناییهای تصمیمگیری مغز انسان طراحی شدن.
از بین انواع مختلف شبکههای عصبی، شبکههای کاملاً متصل یا Dense Nets، به خاطر سادگی و کارایی بالا، کاربردهای گستردهای دارن.
شبکههای کاملاً متصل، که گاهی اوقات بهشون Dense Layers یا Fully Connected Layers هم گفته میشه، از واحدهایی به نام نورونها تشکیل شدن.
هر نورون در یک لایه با تمام نورونهای لایه قبل و بعد از خودش ارتباط داره. این ارتباطات به معنی انتقال دادهها و پیشروی سیگنالها در شبکه است.
معماری شبکههای کاملاً متصل ساده است: دادهها از لایه ورودی وارد میشن و بعد از عبور از چندین لایه مخفی (Hidden Layers) (هر کدوم شامل نورونهایی با اتصالات کامل به لایه قبلی و بعدی)، به لایه خروجی میرسن.
در هر نورون، اول ورودیها با اعمال یک تابع ترکیبی خطی و اضافه کردن bias پردازش میشن؛ بعد به منظور تعیین فعال یا غیرفعال بودن نورون، یک تابع فعالساز روی نتیجه حاصل اجرا میشه.
تعیین تعداد لایههای مخفی و تعداد نورونها در هر لایه تأثیر زیادی روی عملکرد مدل داره. لازمه برای حل مشکلات مختلف، با آزمون و خطا، تعداد بهینه لایهها و نورونها رو پیدا کنیم.
یادگیری در شبکههای عصبی از طریق تنظیم وزنها و Bias انجام میشه. این پارامترها اول به صورت تصادفی مقداردهی و بعد طی فرآیندی به نام بازگشت، بر اساس خطای محاسبه شده بهروزرسانی میشن.
توابع فعالساز نقش مهمی در شبکههای عصبی دارن. اونها با اعمال یک تابع غیرخطی روی ورودیهای نورون تصمیم میگیرن که آیا یک نورون باید فعال شه یا نه. مثالهای رایج توابع فعالساز شامل ReLU، سیگموئید، و تانژانت هایپربولیک هستن.
فرآیند یادگیری در شبکههای کاملاً متصل از دو مرحله اصلی تشکیل شده: پیشروی (Forward Propagation) و بازگشت (Backpropagation).
در پیشروی، دادهها از لایه ورودی به سمت لایه خروجی حرکت میکنن و خروجی محاسبه میشه. در بازگشت، تفاوت بین خروجی پیشبینی شده و خروجی مورد انتظار (هدف) ارزیابی میشه و این اختلاف خطا برای بهروزرسانی وزنهای شبکه کاربرد داره.
شبکههای کاملاً متصل بخش مهمی از معماریهای یادگیری عمیق هستن. اونها میتونن به عنوان لایههای اولیه در شبکههای عصبی پیچیدهتر مثل شبکههای عصبی کانولوشنی (CNNs) یا شبکههای عصبی بازگشتی (RNNs) استفاده شن.
یکی از چالشهای اصلی در استفاده از شبکههای کاملاً متصل، مقیاسپذیری اونهاست. به دلیل تعداد زیاد اتصالات بین نورونها، این شبکهها میتونن بسیار سنگین و زمانبر باشن.
برای مقابله با این مشکل، تکنیکهایی مثل Dropout و Regularization استفاده میشن تا از بیشبرازش جلوگیری و کارایی شبکه بهبود پیدا کنه.
در روش Dropout بعضی از نورونها به طور تصادفی در هر دوره آموزش غیرفعال میشن، که در نتیجه به توزیع بهتر وزنها و جلوگیری از وابستگی بیش از حد مدل به دادههای خاص کمک میکنه.
روش Regularization با اضافه کردن جریمه به تابع هزینه برای محدود کردن اندازه وزنها استفاده میشه. این کار به جلوگیری از اختصاص مقادیر بسیار بزرگ برای وزنها کمک میکنه.
#Deep_Learning
#Artificial_Neural_Networks
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤4👌2
❓کوییز شماره ۹۱: کدوم یک از توابع فعالساز زیر بیشترین امکان رو برای مقابله با مشکل محوشدگی گرادیان در شبکههای کاملاً متصل دارن؟
Anonymous Quiz
27%
Sigmoid
20%
Hyperbolic Tangent (tanh)
48%
Rectified Linear Unit (ReLU)
5%
Linear
👍5🤔2😎2❤1
💡سوال مصاحبه: تفاوت بین لایههای کاملا متصل و لایههای کانولوشنی در یک شبکه چیه؟
تفاوت اصلی بین لایههای کاملاً متصل (Fully Connected Layers) و لایههای کانولوشنی (Convolutional Layers) در شبکههای عصبی در نحوه پردازش اطلاعات و اتصال نورونهاست:
🔵 لایههای کاملاً متصل
🔵 این نوع برای پردازش ویژگیهایی که از لایههای قبل استخراج شدن مناسبه و معمولاً در انتهای شبکههای عصبی کانولوشنی برای تصمیمگیری نهایی استفاده میشه.
🔵 لایههای کاملاً متصل میتونن نقش Classifier رو ایفا کنن، یعنی دادهها رو شناسایی و در دستههای مختلف طبقهبندی کنن.
🔵 لایههای کانولوشنی
🔵 در لایههای کانولوشنی، نورونها تنها به یک منطقه محلی از لایه قبلی متصل هستن که این منطقه با استفاده از یک فیلتر کانولوشنی مشخص میشه.
🔵 این نوع لایه برای تشخیص الگوهای محلی در دادهها مثل لبهها و نقاط در تصاویر، مناسبه.
🔵 لایههای کانولوشنی در استخراج ویژگیهای سطح بالا از دادههای ورودی بسیار مؤثره و به طور گستردهای در شبکههای عصبی مورد استفاده برای پردازش تصویر و تشخیص الگو به کار میرن.
در کل، لایههای کانولوشنی برای تشخیص ویژگیها در دادههای دوبعدی مثل تصاویر و لایههای کاملاً متصل برای تصمیمگیری و دستهبندی بر اساس ویژگیهای استخراج شده به کار میرن.
#Deep_Learning
#Artificial_Neural_Networks
@Data_ML | دیتاساینس و ماشین لرنینگ
تفاوت اصلی بین لایههای کاملاً متصل (Fully Connected Layers) و لایههای کانولوشنی (Convolutional Layers) در شبکههای عصبی در نحوه پردازش اطلاعات و اتصال نورونهاست:
در کل، لایههای کانولوشنی برای تشخیص ویژگیها در دادههای دوبعدی مثل تصاویر و لایههای کاملاً متصل برای تصمیمگیری و دستهبندی بر اساس ویژگیهای استخراج شده به کار میرن.
#Deep_Learning
#Artificial_Neural_Networks
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤1🔥1
معماری یک شبکه عصبی مصنوعی شامل سه بخش اصلیه: لایه ورودی، لایههای مخفی و لایه خروجی. در ادامه، به بررسی هر کدوم از این بخشها میپردازیم.
لایه ورودی نقطه شروع شبکه عصبیه و وظیفهاش دریافت دادههاست. هر نورون در این لایه نماینده یک ویژگی از داده ورودیه. به عبارت دیگه، تعداد نورونها در لایه ورودی معادل تعداد ویژگیهای داده ورودیه.
بین لایه ورودی و لایه خروجی، یک یا چند لایه مخفی قرار داره. این لایهها جایی هستن که پردازشهای محاسباتی شبکه انجام میشه.
نورونها در این لایهها با استفاده از وزنها و بایاسها بهم متصل میشن و توابع فعالساز روی دادههای پردازش شده اعمال میشن.
تعداد لایههای مخفی، تعداد نورونها در هر لایه و نوع تابع فعالسازی که استفاده میشن، بر اساس مسئله مورد نظر تعیین میشه.
لایه خروجی نقطه پایانی شبکه است که خروجی نهایی رو تولید میکنه. تعداد نورونها در این لایه بستگی به نوع مسئله دارن. برای مثال، در مسائل طبقهبندی، تعداد نورونها معمولا برابر با تعداد کلاسهاست.
بهینهسازی شده برای پردازش تصویر با استفاده از لایههای پیچشی که ویژگیهای محلی رو شناسایی میکنن.
مناسب برای دادههای سری زمانی یا متنی با استفاده از حافظه کوتاه مدت برای پردازش دادههایی که به ترتیب زمانی در اونها مهمه.
این مدلها توانایی تمرکز روی بخشهای مهم دادهها رو دارن و در مسائل پردازش زبان طبیعی محبوب هستن.
توابع فعالسازی نقش مهمی در تعیین نحوه پردازش دادهها و تصمیمگیری نورونها دارن. معمولترین توابع عبارتند از:
عمق شبکه (تعداد لایههای مخفی) و پهنای هر لایه (تعداد نورونها در هر لایه) دو پارامتر مهم در طراحی ANNs هستن. شبکههای عمیقتر میتونن ویژگیهای پیچیدهتری رو یاد بگیرن، اما ممکنه با مشکلاتی مثل بیشبرازش و چالشهای مربوط به همگرایی مواجه شن.
استفاده از تکنیکهایی مانند Dropout، Regularization (مانند L1 و L2)، و Early Stopping برای جلوگیری از بیشبرازش و افزایش توانایی تعمیم شبکه.
توابع فعالساز مختلف (مانند ReLU، Leaky ReLU، Sigmoid) تاثیر قابل توجهی روی عملکرد شبکه دارن. انتخاب مناسب تابع فعالسازی میتونه به بهبود سرعت همگرایی و کاهش احتمال گیر کردن در مینیمومهای محلی کمک کنه.
استفاده از روشهای بهینهسازی پیشرفته مثل Adam، RMSprop، و SGD با Momentum برای بهینهسازی وزنها و بایاسها در شبکه.
این تکنیک به استانداردسازی خروجیهای هر لایه قبل از اعمال تابع فعالساز کمک میکنه و میتونه به سرعت بخشیدن به فرآیند آموزش و بهبود عملکرد کمک کنه.
تغییر نرخ یادگیری به صورت دینامیک در طول فرآیند آموزش برای دستیابی به همگرایی سریعتر و جلوگیری از از دست دادن بهینه Global.
یکی از چالشهای اصلی در طراحی شبکههای عصبی، انتخاب معماری مناسبه که شامل تعداد لایهها، تعداد نورونها در هر لایه و نوع توابع فعالسازی میشه.
روشهای مختلفی مثل جستجوی خودکار معماری (NAS) وجود داره که به طور خودکار بهترین ترکیب معماری رو برای یک مسئله خاص پیدا میکنه.
#Deep_Learning
#Artificial_Neural_Networks
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤2👌2👨💻1
❓کوییز شماره ۹۲: کدوم یک از گزینههای زیر توصیف درستی از الگوریتم بهینهسازی "Adam" در شبکههای عصبی مصنوعیه؟
Anonymous Quiz
33%
الگوریتمی که وزنها رو بر اساس میانگین متحرک انباشتهشده گرادیانها بهروزرسانی میکنه.
8%
الگوریتمی که تنها از گرادیان وزنهای فعلی برای بهروزرسانی استفاده میکنه.
18%
الگوریتمی که وزنها رو بدون محاسبه گرادیان بهروزرسانی میکنه.
41%
الگوریتمی که وزنها رو بعد از هر دوره (epoch) کامل یادگیری بهروزرسانی میکنه.
😎4👍3🤔1
💡سوال مصاحبه: چطور میشه تعداد لایهها و انواع اونها رو برای یک مسئله تعیین کرد؟
تعیین تعداد لایهها و نوعشون در معماری شبکههای عصبی مصنوعی به عوامل مختلفی بستگی داره و اغلب یک فرآیند تجربیه.
🔵 درک مسئله: قبل از هر چیز، باید مسئلهای که میخوایم حل کنیم رو به خوبی درک کنیم تا نیاز رو به درستی تشخیص بدیم.
🔵 تجربههای قبلی: تحقیق در مورد معماریهایی که قبلاً در حل مسائل مشابه موفق بودن میتونه نقطه شروع خوبی باشه.
🔵 شبکههای پیشساخته: استفاده از شبکههایی که قبلاً آموزش دیدن (مثل VGG, ResNet, و LSTM) و Fine-tuning اونها برای مسئله خاص.
🔵 تکنیکهای بهینهسازی: استفاده از الگوریتمهای بهینهسازی برای امتحان کردن ترکیبهای مختلف از تعداد لایهها و نورونها و انتخاب بهترین تنظیمات بر اساس عملکرد روی مجموعه اعتبارسنجی.
🔵 شروع کوچک و افزایش تدریجی: شروع با یک شبکه کوچک و ساده و افزایش تدریجی تعداد لایهها یا نورونها تا زمانی که عملکرد شبکه بهبود پیدا کنه.
🔵 معماریهای ماژولار: استفاده از معماریهایی که از بلوکها یا ماژولهای قابل تکرار تشکیل شدن.
همچنین، استفاده از ابزارهای مدیریت آزمایشها مثل MLflow یا TensorBoard میتونه در ردیابی تغییرات و نتایج مفید باشه.
#Deep_Learning
#Artificial_Neural_Networks
@Data_ML | دیتاساینس و ماشین لرنینگ
تعیین تعداد لایهها و نوعشون در معماری شبکههای عصبی مصنوعی به عوامل مختلفی بستگی داره و اغلب یک فرآیند تجربیه.
همچنین، استفاده از ابزارهای مدیریت آزمایشها مثل MLflow یا TensorBoard میتونه در ردیابی تغییرات و نتایج مفید باشه.
#Deep_Learning
#Artificial_Neural_Networks
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤2🔥1
توابع فعالساز در طراحی و عملکرد شبکههای عصبی مصنوعی، تعیین کننده نحوه پردازش اطلاعات و یادگیری مدل هستن.
توابع فعالساز به مجموعهای از توابع ریاضی گفته میشه که در هر نورون از شبکه عصبی به کار میرن و تعیین میکنن که چطور سیگنالهای ورودی باید به لایههای بعدی انتقال پیدا کنن. این توابع به شبکه کمک میکنن تا پیچیدگیها و حالات غیرخطیهای دادهها رو یاد بگیرن؛ در نتیجه امکان پیادهسازی توابع سخت ممکن میشه.
تابع خطی سادهترین نوع تابع فعالسازیه. مشکل اصلی این تابع اینکه شبکههایی که فقط از توابع فعالسازی خطی استفاده میکنن، نمیتونن توابع پیچیده و غیرخطی رو یاد بگیرن.
تابع سیگموید یکی از معروفترین توابع فعالسازه که مقادیر ورودی رو به محدوده (0,1) میبره. این تابع برای مسائل طبقهبندی در لایههای خروجی مفیده، اما مشکلاتی مثل اشباع (حالتی که در اون تابع فعالساز برای ورودیهای بسیار بالا یا پایین، شیب نزدیک به صفر داره) و محو شدگی گرادیان داره.
تابع واحد خطی Rectified (ReLU) به دلیل سادگی محاسباتی و عملکرد خوب در بسیاری از مسائل محبوبه. ReLU مقادیر منفی رو به صفر تبدیل میکنه و مقادیر مثبت رو بدون تغییر میگذاره. این تابع به کاهش مشکل محو شدن گرادیان کمک میکنه.
انتخاب تابع فعالساز بستگی به مسئله مورد نظر و ساختار شبکه داره. بعضی از نکات مهم در انتخاب تابع فعالساز عبارتند از:
#Deep_Learning
#Artificial_Neural_Networks
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6👌1👨💻1
❓کوییز شماره ۹۳: کدوم تابع فعالساز برای شبکههای عصبی بازگشتی (RNN) به طور معمول استفاده میشه؟
Anonymous Quiz
49%
ReLU
30%
Sigmoid و Tanh
15%
ELU
6%
Softmax
👍5😎2👏1🤔1
تکنیک Dropout در حین آموزش واحدهایی از شبکه را به صورت تصادفی حذف میکند تا از آموزش زیاد مدل جلوگیری شود. این روش به طور قابل توجهی بیشبرازش را کاهش میدهد.
#Deep_Learning
#Artificial_Neural_Networks
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤3👌3
هدف نهایی یک بهینهساز (Optimizer) اینکه پارامترهای شبکه رو به نحوه تنظیم کنه که تابع خطا (Loss Function) به حداقل برسه. به عبارت دیگه، بهینهساز با هدایت شبکه به سمت مجموعهای از وزنها و بایاسها (وزن و سوگیری) که منجر به بهترین عملکرد در تسک مورد نظر میشه، عمل میکنه.
تابعیه که میزان خطای خروجی شبکه رو نسبت به خروجی صحیح اندازه گیری میکنه. رایجترین توابع خطا، میانگین مربعات خطا (MSE) و انتروپی متقاطع (Cross Entropy) هستن.
مشتق تابع خطا نسبت به هر پارامتر شبکه است. گرادیان نشون میده که چطور یک تغییر جزئی در یک پارامتر خاص روی مقدار تابع خطا تأثیر میگذاره.
بر اساس گرادیان محاسبه شده، پارامترهای شبکه در هر تکرار از فرآیند آموزش بهروز میشن. این بهروز رسانی با استفاده از الگوریتم بهینهساز انجام میشه.
یک الگوریتم بهینهساز ساده است که از گرادیان برای به روزرسانی پارامترها استفاده میکنه. در هر تکرار، پارامترها با مقدار منفی خاصی از گرادیان به روز میشن (ضرب در نرخ یادگیری). نرخ یادگیری (Learning Rate) پارامتریه که سرعت همگرایی بهینهساز رو کنترل میکنه.
مومنتوم یک روش بهینهسازیه که به منظور افزایش سرعت و کارایی همگرایی در روش گرادیان نزولی (GD) طراحی شده. این تکنیک با در نظر گرفتن جهت بهروزرسانیهای قبلی پارامترها، عمل میکنه تا مسیر بهینه به سمت کمینه تابع هزینه رو با سرعت بیشتری طی کنه.
مومنتوم شبیه به حرکت یک توپ غلتانه که روی یک سطح شیبدار حرکت میکنه، به طوری که نه تنها در جهت گرادیان تابع هزینه پیش میره بلکه میتونه با استفاده از انرژی حرکتیش، از چالههای کم عمق هم به راحتی عبور کنه. این رویکرد به معنی پیدا کردن و دنبال کردن مسیرهایی در فضای پارامترهاست که به سرعت و به طور مؤثر به کاهش هزینه منجر شه.
این الگوریتم شبیه به GD هست، اما نرخ یادگیری رو برای هر پارامتر به صورت جداگانه بر اساس میانگین مربعات مقادیر قبلی گرادیان اون پارامتر تنظیم میکنه. در نتیجه به بهینهساز اجازه میده تا با سرعتهای مختلفی پارامترهای مختلف رو به روز کنه و از بروز مشکلاتی مثل ناپایداری همگرایی جلوگیری کنه.
الگوریتم Adam ترکیبی از Momentum و RMSprop هست که به طور تطبیقی نرخ یادگیری رو برای هر پارامتر بر اساس میانگین های متحرک مقادیر گذشته و گرادیان های اون پارامتر تنظیم میکنه. Adam به دلیل کارایی و همگرایی خوب، به یکی از محبوبترین الگوریتمهای بهینهساز در یادگیری عمیق تبدیل شده.
انتخاب بهینهساز مناسب برای شبکه عصبی بسیار مهمه، چون روی عملکرد نهایی شبکه تأثیر گذاره.
به طور کلی، توصیه میشه با الگوریتمهای رایج مثل Adam شروع کنین و در صورت لزوم، گزینه های دیگه رو با توجه به عملکرد و همگرایی شبکه آزمایش کنین.
این بهینهسازها از اطلاعات بیشتری در مورد تابع خطا، مثل ماتریس Hessian، برای به روزرسانی پارامترها استفاده میکنن. در حالی که این الگوریتمها میتونن سریعتر همگرا شن، اما به محاسبات بیشتری نیاز دارن.
#Deep_Learning
#Artificial_Neural_Networks
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5👌1👨💻1
❓کوییز شماره ۹۴: کدوم ویژگی زیر در مورد بهینهساز Adamax صحیح نیست؟
Anonymous Quiz
28%
یک واریانت از Adam هست که از نرم بینهایت استفاده میکنه.
16%
تمایل به داشتن پایداری بیشتری در مقایسه با Adam در مجموعههای داده با نویز زیاد داره.
32%
بهینهساز Adamax به طور قابل توجهی سریعتر از Adam همگرا میشه.
24%
از رویکردی مشابه با Adam استفاده میکنه اما روش محاسبهاش متفاوته.
👍4😎2👌1
بله، ترکیب مومنتوم و کاهش وزن (Weight Decay) در بهینهسازی شبکههای عصبی موثره. مومنتوم به شبکه کمک میکنه تا سریعتر از دامنههای کمعمق تابع هزینه عبور کنه و به سمت کمینههای جهانی حرکت کنه.
از طرف دیگه، کاهش وزن به جلوگیری از Overfitting کمک میکنه و به کاهش اثرات نویز در دادههای آموزشی منجر میشه.
ترکیب این دو رویکرد به ایجاد تعادل بین جستجو برای پارامترهای بهتر و تثبیت مدل در کمینههای جهانی منجر میشه و در نهایت عملکرد مدل رو بهبود میده.
#Deep_Learning
#Artificial_Neural_Networks
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6👌2👨💻1
تابع هزینه، که گاهی به عنوان تابع خطا هم شناخته میشه، معیاری برای اندازهگیری میزان دقت یک مدل شبکه عصبی در پیشبینی نتایجه.
این تابع مقداری رو به عنوان هزینه یا خطا محاسبه میکنه که بیانگر تفاوت بین خروجی پیشبینی شده توسط مدل و خروجی هدفه.
توابع هزینه متفاوتی وجود دارن که بر اساس نوع مسئله و ساختار خروجی مدل انتخاب میشن.
برای کمینهسازی تابع هزینه و بهینهسازی وزنهای شبکه، روشهای مختلفی وجود داره. از جمله مهمترین روشها، الگوریتم پسانتشار (Backpropagation) هست.
یکی از چالشهای اصلی در استفاده از توابع هزینه و پسانتشار، مسئله محو شدگی گرادیانه. این مشکل حالتیه که گرادیانها در لایههای عمیقتر شبکه به شدت کاهش پیدا میکنن و بهروزرسانی وزنها بسیار کم میشه.
راهکارهایی مثل استفاده از توابع فعالسازی مناسب (مثل ReLU)، اولیهسازی وزنها و استفاده از نرخهای یادگیری تطبیقی به حل این مشکل کمک میکنن.
#Deep_Learning
#Artificial_Neural_Networks
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👌6❤3👨💻2👍1
❓کوییز شماره ۹۵: چرا استفاده از نرخ یادگیری بسیار بالا در Backpropagation میتونه مشکلساز باشه؟
Anonymous Quiz
14%
نرخ یادگیری بالا هیچ تأثیری روی سرعت همگرایی شبکه نداره.
81%
ممکنه باعث شه شبکه در طول زمان آموزش دائماً روی یک حداقل Local یا Global بپره و همگرا نشه.
5%
نرخ یادگیری بالا تنها برای شبکههای کوچیک مناسبه.
😎4👍3🤔1
محوشدگی گرادیان
نوید حقوقی
مشکل محوشدگی گرادیان یا Vanishing Gradient یکی از رفتارهای ناپایدار شبکهست و ممکنه موقع آموزش مدل پیش بیاد.
#Machine_Learning
#Podcast
@DSLanders | دیاسلندرز
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2👌2❤1👍1
در یادگیری ماشین و یادگیری عمیق، مدلها گاهی اوقات بیشبرازش پیدا میکنن، به این معنی که بیش از حد به دادههای آموزشی وابسته میشن و قابلیت تعمیمشون به دادههای جدید کاهش پیدا میکنه. برای حل این مشکل، از تکنیکهای تنظیم استفاده میشه.
تنظیم L1 (معروف به Lasso) و L2 (معروف به Ridge) دو روش رایج برای جلوگیری از بیشبرازش هستن. هر دو این روشها با اضافه کردن یک جمله تنظیم به تابع هزینه کار میکنن که به وزنهای مدل جریمه اعمال میکنه.
روش دیگهاش که برای جلوگیری از بیشبرازش استفاده میشه، Dropout هست. در این روش، در هر دور آموزش، بعضی از نورونها به طور تصادفی انتخاب و حذف میشن.
این کار باعث میشه که مدل نتونه به طور کامل به دادههای آموزشی وابسته شه و مجبور به یادگیری ویژگیهای معنادارتر از دادهها میشه. Dropout به عنوان یک روش موثر در شبکههای عصبی عمیق شناخته شده.
نرمال سازی دسته ای یک تکنیک دیگه برای بهبود عملکرد و ثبات شبکههای عصبی عمیقه. این روش به نرمال سازی خروجی هر لایه با استفاده از میانگین و انحراف معیار خروجیهای اون دسته کار میکنه.
این کار باعث میشه که توزیع ورودیها به لایههای بعدی نسبتاً ثابت باقی بمونه و مشکل محوشدگی کاهش پیدا کنه.
در حالی که تنظیم L1، L2، Dropout و Batch Normalization روشهای رایج برای جلوگیری از بیشبرازش و بهبود عملکرد مدل هستن، روشهای جدیدی به طور مداوم درحال معرفی هستن.
برای مثال، نرمالسازی وزن و تنظیم خودکار (AutoML)، که هدفشون بهینهسازی هایپرپارامترها و رویکردهای تنظیمه، در حال توسعه هستن.
#Deep_Learning
#Artificial_Neural_Networks
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4👌2👨💻2
❓کوییز شماره ۹۶: تکنیک Batch Normalization چطور به بهبود کارایی شبکههای عصبی عمیق کمک میکنه، به ویژه در شبکههای با لایههای زیاد؟
Anonymous Quiz
13%
با کاهش تاثیر نورونهای فعال روی خروجی نهایی مدل.
9%
افزایش دقت مدل فقط در مواردی که دادهها دارای توزیع یکنواخت باشن.
47%
بهبود ثبات فرایند آموزش با کاهش مشکل انتشار گرادیان ناپایدار و کمک به تنظیم خودکار سرعت یادگیری.
31%
تاثیر مستقیم روی کاهش زمان آموزش با کاهش تعداد دورههای لازم برای رسیدن به همگرایی.
❤3👌2😎2👍1
تکنیکهای Dropout و DropConnect هر دو برای جلوگیری از بیشبرازش در مدلهای یادگیری عمیق استفاده میشن، اما در نحوه عملکرد باهم متفاوتن.
تفاوت اصلی بین این دو در اینکه Dropout کل نورونها رو حذف میکنه، در حالی که DropConnect تنها بعضی از وزنهای مرتبط با نورونها رو حذف میکنه.
این تفاوت در نحوهی ایجاد تنوع و مقاومت در برابر بیشبرازش موثره. DropConnect میتونه به مدل اجازه بده که وابستگیهای پیچیدهتری رو یادبگیره، چون فقط بعضی از وزنها حذف میشن، نه کل نورون.
#Deep_Learning
#Artificial_Neural_Networks
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4👌2❤1🔥1