به بخش پرسش و پاسخ یادگیری عمیق خوش آمدید,
این نسخه آزمایشی سایت است.
لطفا به نکات زیر توجه کنید:
  • برای ارتباط با مدیران میتوانید از صفحه مدیران اقدام کنید.
  • سوال و جواب ها باید به زبان فارسی باشند. استفاده از زبان انگلیسی یا فینگلیش برای پاسخ دادن مجاز نیست.
  • لطفا بعد از پرسش سوال لینک سوال خود را در گرو تلگرام (Iran Deep Learning Group) معرفی کنید تا سریعتر به جواب برسید. برای دسترسی به آخرین لینک از منابع یادگیری استفاده کنید
  • لطفا بجای عکس از متن استفاده کنید. اگر متون طولانی هستند از سایت pastebin.com برای اپلود استفاده کرده و لینک حاصل را در سوال خود قرار دهید. برای قرار دادن تصویر ، از بخش ارسال تصویر ادیتور سایت استفاده کنید.
  • بعد از دریافت پاسخ، بهترین پاسخ را از طریق کلیک بر روی علامت تیک انتخاب کنید
  • اگر با خطا و یا مشکلی مواجه شدید از بخش تماس با ما در انتهای صفحه و یا ایمیل Coderx7@gmail.com موضوع را اطلاع دهید.

با تشکر

دسته بندی ها

0 امتیاز

سلام عرض ادب
دوستان فرضا تو برخی مقالات ذکر میکنه که ترکیب مدل ها میتونه نتایج بهتری داشته باشه اینا رو چجوری ترکیب میکنند ؟ یه جایی دیدم که از یک مدل خاص ، 7 تا مدل دیگه ساختند تنها فرقشون در مقدار دهی اولیه برای پارامترهاست و بعدش از نتایج آنها AVERAGE گرفته میشود در این حالت چجوری فرضا این 7 تا مدل رو ترکیب میکنند ؟ یعنی اینکه در زمان تست یک تصویر به این 7 تا مدل میدن و 7 تا نتایجی که بدست آورند میانگین میگیردند ؟ اگر اینطوری باشه که بنظرم ایده خوبی نیست بلاخره در نهایت (زمان تست) باید یک معماری داشته باشیم دیگه
سوال دوم : بنظر شما میشه از ترکیب فرضا مدل های AlexNet و ResNet استفاده کرده ؟ اگر بله ، چجوری ؟

توسط (389 امتیاز)

3 پاسخ

+1 امتیاز
 
بهترین پاسخ

Ensemble learning معمولا برای گرفتن میانگین پیشبینی مدل های مختلف استفاده میشه . به زبان ساده این متد مثل استفاده کردن از پیش‌بینی مدل های کوچک بر روی بخش های مختلف فضای ورودی هست .
از این متد عمدتا در مسابقاتی مثل kaggle استفاده میشه ، جایی که شرکت کنندگان فقط دقت خروجی یا accuracy براشون مهم هست و نه پیچیدگی مدل یا سرعت !

تقریبا تمام نفرات برتر در مسابقات kaggle از ترکیب طبقه بندهای مختلف که شامل شبکه های عصبی مختلف با پارامتر های متفاوت هست استفاده میکنند .

یک مثال این مقاله هست که SOTA تشخیصی حالات چهره هست .

کاری که نویسندگان انجام دادن آموزش سه شبکه عصبی بود که هر سه شبکه ساختاری مشابه benchmark های معروف
مثل reset,VGG,googlenet دارند.

در نهایت با میانگین گیری بر روی سه شبکه نتایج رو ۳ درصد بهبود داده .

این روش همیشه کار می‌کنه و نتایج خروجی رو ۲ تا سه درصد بهبود میده .

دلیل اینکه این روش کار می‌کنه به این خاطر هست « اگر یک کلاسیفایر در مورد یک نمونه آزمایش خروجی اشتباهی تولید می‌کنه می‌تونه به دو دلیل عمده باشه یا bias یا variance.

در مورد برنامه های کاربردی این روش تقریبا جایگاهی نداره .

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

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

هر کدام از این نقاط دارای نرخ خطای مشابهی هستند اما خطاهایی که توسط آنها تولید میشود دارای میژگی های متفاوتی میباشند.
Snapshot Ensembles: Train 1, get M for free

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

این روش همانند ترکیب چند مدلی باعث افزایش دقت خروجی خواهد شد

البته روش های متفاوتی هست که قبلاً در این لینک توضیح دادم

توسط (415 امتیاز)
انتخاب شده توسط
پس در کاربردهای real-time کمتر از ترکیب مدل ها استفاده میشود ؟
+1 امتیاز

سلام.
موضوعی که شما مطرح کردید انسمبل لرنینگ(ensemble learning) یا یادگیری ترکیبی هست که الگوریتم های مختلفی از جمله bagging,boosting,random forest و... براش تعریف شده، ایده ی ترکیب مدل ها استفاده از نتیجه ی ترکیب مدلها بجای استفاده از تک مدل هست. برای مبحث دسته بندی این چالش وجود داره که بعد از اینهمه مقالات و تحقیقات زیاد تو این حوزه، هنوز نمیشه مشخص کرد برای حل فلان مسئله و مشکل میتوان بطور قطع از فلان دسته بند استفاده کرد و نتیجه عالی بدست آورد. برای همین ایده ی ترکیب دسته بند یا ترکیب مدلها مطرح شده.
درسته نمونه های تست به تمام مدلها داده میشه و از خروجی اونها میانگین یا رأی اکثریت گرفته میشه. ما در زمان تست از یه مدل ترکیبی استفاده میکنیم
سوال دوم تون: اینکه بشه یا نه، بله شدنیه اما برای ترکیب معماری ها به سخت افزار قوی نیاز دارید. برای اینکه بدونید چطور ترکیب کنید پیشنهاد میکنم در مورد مبحث ensemble learning مطالعه کنید

توسط (279 امتیاز)
0 امتیاز
توسط (389 امتیاز)
...