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

با تشکر

دسته بندی ها

0 امتیاز

سلام و عرض ادب
میخواستم بدونم تفاوت بین لایه softmax و softmaxlossچیه؟
ایا به هنگام تست و ترین با هم تفتوت دارند؟
ممنون

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

1 پاسخ

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

سلام
لایه softmax به لایه آخر میگن که خروجی لایه قبل رو میگیره و تبدیلش می کنه به یه توزیح احتمال روی کلاسها
مثلا توی imageNet که لایه آخر 1000 تا نورون داره، هر نورونی یه خروجی میده، این خروجی می تونه هرچیزی باشه، بعدش تابع softmax روش این خروجی ها اعمال میشه تا اعداد برن بین 0 و 1 و جمعشون هم یک بشه (همون توزیع احتمال رو کلاسها بدست بیاد)
توی تست و ترین هم فرقی نداره

اما توی train وقتی می خوان که خطای شبکه رو بدست بیارن، باید loss تعریف شه، حالا این loss بسته به مساله متفاوته، برای softmax ما معمولا cross entropy استفاده می کنیم که بهش softmaxloss هم بعضی وقتا گفته میشه که البته اینجا چند تا مشکل نامگذاری هم هست
مثلا بعضی کتابخونه ها(مطمئن نیستم اما شاید mxnet اینطوری بود) ممکنه به کل لایه softmax و خطای cross entropy بگن softmaxloss یعنی هم لایه softmax رو تعریف می کنه و هم loss رو. که توی ترین قسمت loss رو هم استفاده می کنه اما توی تست فقط خروجی softmax مهمه

توسط (1.6k امتیاز)
انتخاب شده توسط
ممنون.مثل همیشه عالی بود
اگر بخوام به جایcross entropy ، از روش هایدیگه استفاده کنم باید به جایsoftmax  از چه چیزی استفاده کنم؟
خواهش می کنم
نه لزوما اینطوری نیست، یعنی می تونید همون softmax رو بذارید اما loss رو مجموع مربعات خطا (mse) تعریف کنید. البته این قضیه رو مثال زدم و استفاده از mse همراه softmax هم از نظر عملی هم از نظر تئوری خیلی جالب نیست.  کلا هیچ لزومی به استفاده از خروجی ‌های معمول مثل softmax یا تابع خطای cross entropy نیست و می تونید بسته به مساله هرچیزی تعریف کنید. اما این انتخابها چیزایی هستن که کلی وقته تست شدن و معمولا خوب جواب دادن
ممنون از وقتی که گذاشتید
...