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

با تشکر

دسته بندی ها

0 امتیاز

سلام..خیلی ممنونم از دوستانی که لطف میکنن و با مهربانی جواب سوالات ما رو میدهند...سوالم در مورد این است که من دوبار یک مجموعه را ترین کردم و دقت تستش(accuracy) رو بدست آوردم(بدون هیچگونه تغییری و دقیقا مثل هم) و مثلا در آزمایش شماره یک ، در iteration شماره 2000 ، دقت تست 89 درصد گرفتم اما در آزمایش شماره 2 در iteration شماره 2000 ، دقت 93 درصد گرفتم..آیا این امکان وجود داره که دقت ها با هم فرق کنند؟ اگر اینطوری باشه که نمیشه یک دقت مبنا رو مدنظر قرار داد و با ترین های مختلف ، دقت تست متفاوت گرفته میشه ...چکار کنم که یک دقت مبنا بدست بیارم؟؟؟...
2-سوال دومم میشه به من توضیح بدید که فرق مومنتوم با sgd و adadelta ، adadgrad و غیره در چیه؟ مگه خود sgd ، پارامتر مومنتوم نداره؟ ایا مومنتوم از sgd جداست؟ ممکنه به صورت خیلی ساده برای من لطف کنید و توضیح بدید قضیه اینهارو...
تو خود سایت هم خوندم ، اما ابهام دارم هنوز...

باز هم واقعا از عزیزانی که وقت میزارن و لطف میکنن جواب میدن ، متشکرم

توسط (215 امتیاز)
ویرایش شده توسط

1 پاسخ

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

سلام
این قضیه کاملا عادی هست و دلیلش هم بخاطر نقاط مختلف شروع شماست. شما یکبار از یک جایی شروع میکنید و به یک دقتی میرسید دفعه بعد مقداردهی اولیه بهتر شما رو در نقطه بهتری میزاره و دقتتون بهتر میشه .
اگر میخوایید در هر بار اجرا دقت ها عینا یکی باشه باید seed یی که الگوریتمهای مختلف شما از اون برای مقداردهی ها استفاده میکنن همیشه یکی باشه . یعنی الگوریتم های مقدادهی اولیه وزن ها + لایه های دارپ اوت و... همه از یک seed واحد استفاده کنن
اینطوری بخوبی میتونید متوجه بشید تغییری که در شبکه دادید آیا تاثیر مثبت یا منفی داشته یا صرفا این تغییر بخاطر نقطه شروع بد بوده .
در کفی میتونید از random_seed در سالور استفاده کنید. ولی یادتون باشه باید از طریق cpu ترین رو انجام بدید یا اینکه در لایه ها از Engine:Caffe استفاده کنید .

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

2.خود sgd چیزی بنام momentum نداره . momemntum بعدا بعنوان یه بهبود بهش اضافه شد . روش مومنتوم یا Stochastic gradient descent with momentum یا sgd with momentum هر دوتا یک چیز هستن .
Adagrad و امثالهم هم مثل مومنتوم ورژنهای تغییر داده شده sgd هستن
کتاب شبکه عصبی مارتین هاگان (Neural Network Design 2ndEdition) رو بخونید خوبه . البته یه سرچ ساده هم بکنید اطلاعاتش هست ولی خب این کتاب رو که من دو سه سال پیش خونده بودم خیلی قشنگ این چیزا رو توضیح داده بود.

توسط (4.3k امتیاز)
انتخاب شده توسط
سلام...خیلی متشکرم سید جان...لطف کردی...پس یعنی کلا اگر بخوام از یک seed واحد استفاده بشه (و دقت در اجراهای مختلف  یکی بشه)،  از gpu نمیشه استفاده کرد؟
در مورد سوال دومم ،من توی فایل سالور دیدم که از پارامتر مومنتوم استفاده کرده ، پس از ورژن بهبود یافته sgd  که اسمش sgd with momentum هست داره در حقیقت استفاده میشه؟پس یعنی همه توضیحاتی که در مورد روش های بهینه سازی در آموزش کافه  شماره 2 نوشته بودی ، همشون ورژنهایی است که از sgd  درست شدن و اومدن sgd اصلی  رو بهبود دادن؟
واقعا ممنونم ازت که وقتتو در اختیارمون قرار میدی
من اگه یادم بیاد از گرافیک میشد استفاده کرد ولی باید از CAFFE Engine استفاده میکردیم . من خودم یکبار سعی کردم اما بنظرم انقدر کند اومد که بیخیال شدم .
بله از ورژن بهینه sgd استفاده میکنن .
اها...خیلی ممنونم...دستت درد نکنه
...