شبکه های عصبی چند کلاسه: Softmax

به یاد بیاورید که رگرسیون لجستیک اعشاری بین 0 و 1.0 تولید می کند. به عنوان مثال، خروجی رگرسیون لجستیک 0.8 از یک طبقه‌بندی کننده ایمیل، احتمال 80% اسپم بودن ایمیل و 20% عدم اسپم بودن آن را نشان می‌دهد. واضح است که مجموع احتمالات هرزنامه یا اسپم نبودن یک ایمیل 1.0 است.

Softmax این ایده را به دنیای چند طبقه گسترش می دهد. یعنی سافت مکس احتمالات اعشاری را به هر کلاس در یک مسئله چند کلاسه اختصاص می دهد. این احتمالات اعشاری باید تا 1.0 جمع شوند. این محدودیت اضافی کمک می کند تا آموزش سریعتر از آنچه در غیر این صورت می شد، همگرا شود.

برای مثال، با بازگشت به تحلیل تصویری که در شکل 1 دیدیم، Softmax ممکن است احتمالات زیر را برای یک تصویر متعلق به یک کلاس خاص ایجاد کند:

کلاس احتمال
سیب 0.001
خرس 0.04
آب نبات 0.008
سگ 0.95
تخم مرغ 0.001

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

یک شبکه عصبی عمیق با یک لایه ورودی، دو لایه پنهان غیر توصیفی، سپس یک لایه Softmax، و در نهایت یک لایه خروجی با تعداد گره های مشابه لایه Softmax.

شکل 2. یک لایه Softmax در یک شبکه عصبی.

گزینه های سافت مکس

انواع زیر Softmax را در نظر بگیرید:

  • سافت مکس کامل، سافت مکسی است که در مورد آن صحبت کرده ایم. یعنی Softmax یک احتمال را برای هر کلاس ممکن محاسبه می کند.

  • نمونه گیری کاندید به این معنی است که Softmax یک احتمال را برای همه برچسب های مثبت محاسبه می کند اما فقط برای یک نمونه تصادفی از برچسب های منفی. به عنوان مثال، اگر ما علاقه مندیم که تشخیص دهیم یک تصویر ورودی یک بیگل است یا یک سگ خونی، لازم نیست برای هر نمونه غیر سگی احتمالاتی ارائه کنیم.

فول سافت مکس زمانی که تعداد کلاس ها کم باشد نسبتاً ارزان است، اما زمانی که تعداد کلاس ها افزایش می یابد به شدت گران می شود. نمونه گیری کاندیدا می تواند کارایی را در مسائلی که تعداد کلاس های زیادی دارند بهبود بخشد.

یک برچسب در مقابل چندین برچسب

Softmax فرض می کند که هر مثال دقیقاً عضوی از یک کلاس است. با این حال، برخی از نمونه ها می توانند به طور همزمان عضوی از چندین کلاس باشند. برای چنین نمونه هایی:

  • شما نمی توانید از Softmax استفاده کنید.
  • شما باید بر رگرسیون های لجستیک متعدد تکیه کنید.

برای مثال، فرض کنید نمونه‌های شما تصاویری هستند که دقیقاً حاوی یک آیتم هستند - یک تکه میوه. Softmax می تواند احتمال اینکه آن یک مورد گلابی، پرتقال، سیب و غیره باشد را تعیین کند. اگر نمونه‌های شما تصاویری هستند که شامل انواع چیزها هستند - کاسه‌هایی از انواع میوه‌ها - باید به جای آن از چندین رگرسیون لجستیک استفاده کنید.