این مقاله روابط بین احتمال ورود به سیستم منفی، آنتروپی، افت آنتروپی متقاطع softmax در مقابل سیگموئید، تخمین حداکثر احتمال، واگرایی Kullback-Leibler (KL)، رگرسیون لجستیک و شبکه های عصبی را پوشش می دهد. اگر با ارتباط بین این موضوعات آشنا نیستید، پس این مقاله برای شما مناسب است!
پس زمینه توصیه شده
- درک اولیه از شبکه های عصبیاگر مایل به پیشینه بیشتر در این زمینه هستید، لطفاً مقدمه ای بر شبکه های عصبی را بخوانید.
- درک کامل تفاوت بین طبقه بندی چند کلاسه و چند برچسبی. اگر با این موضوع آشنایی ندارید، لطفاً مقاله طبقه بندی چند برچسبی در مقابل چند کلاسه: Sigmoid در مقابل Softmax را بخوانید. تازهسازی کوتاه به این صورت است: در طبقهبندی چند کلاسه، میخواهیم یک کلاس را به یک ورودی اختصاص دهیم، بنابراین یک تابع softmax را به خروجی خام شبکه عصبی خود اعمال میکنیم. در طبقهبندی چند برچسبی، ما میخواهیم چندین کلاس را به یک ورودی اختصاص دهیم، بنابراین یک تابع سیگمویید عنصری را به خروجی خام شبکه عصبی خود اعمال میکنیم.
راه اندازی مشکل: طبقه بندی چند کلاسه با یک شبکه عصبی
ابتدا از یک مسئله طبقه بندی چند کلاسه برای درک رابطه بین احتمال ورود به سیستم و آنتروپی متقاطع استفاده خواهیم کرد. در اینجا تنظیم مشکل ما است:
منبع تصویر گربه: ویکی پدیا
احتمال
Let’s say we’ve chosen a particular neural network architecture to solve this multiclass classification problem – for example, VGG, ResNet, GoogLeNet, etc. Our chosen architecture represents a family of possible models, where each member of the family has different weights (different parameters) and therefore represents a different relationship between the input image x and some output class predictions y . We want to choose the member of the family that has a good set of parameters for solving our particular problem of [image] –>[هواپیما، قطار یا گربه].
یکی از راه های انتخاب پارامترهای خوب برای حل وظیفه ما این است که پارامترهایی را انتخاب کنیم که احتمال داده های مشاهده شده را به حداکثر می رساند:
احتمال ورود منفی
در این صورت، احتمال ثبت منفی به معنای واقعی کلمه، منفی گزارش احتمال است:
مرجع برای تنظیم، احتمال، و احتمال ثبت منفی: "آنتروپی متقاطع و احتمال ثبت" توسط اندرو وب
یادداشت جانبی در مورد تخمین حداکثر احتمال (MLE)
چرا به جای «به حداکثر رساندن احتمال» «احتمال ثبت منفی را به حداقل میرسانیم» در حالی که اینها از نظر ریاضی یکسان هستند؟به این دلیل است که ما معمولاً توابع از دست دادن را به حداقل میرسانیم، بنابراین در مورد «احتمال گزارش منفی» صحبت میکنیم زیرا میتوانیم آن را به حداقل برسانیم.(منبع: CrossValidated.)
بنابراین، هنگامی که احتمال ورود منفی را به حداقل میرسانید، تخمین حداکثر احتمال را انجام میدهید. طبق مقاله ویکی پدیا در مورد MLE،
حداکثر برآورد احتمال (MLE) روشی برای برآورد پارامترهای توزیع احتمال با به حداکثر رساندن یک عملکرد احتمال است ، به طوری که تحت مدل آماری فرض شده داده های مشاهده شده محتمل ترین است. نقطه در فضای پارامتر که عملکرد احتمال را به حداکثر می رساند ، برآورد حداکثر احتمال نامیده می شود.[…] از دیدگاه استنتاج بیزی ، MLE یک مورد خاص از حداکثر تخمین خلفی (MAP) است که توزیع قبلی یکنواخت پارامترها را فرض می کند.
و خلاصه دیگری از جاناتان گوردون در Quora:
به حداکثر رساندن احتمال (ورود به سیستم) معادل به حداقل رساندن آنتروپی متقاطع باینری است. به معنای واقعی کلمه هیچ تفاوتی بین دو کارکرد عینی وجود ندارد ، بنابراین هیچ تفاوتی بین مدل حاصل یا خصوصیات آن وجود ندارد.
این البته می تواند به سادگی به صورت چند طبقه با استفاده از آنتروپی SoftMax و به اصطلاح احتمال چندگانه گسترش یابد ، بنابراین در انجام این کار برای موارد چندکلاسی مانند نمونه های عصبی ، هیچ تفاوتی وجود ندارد.
تفاوت بین MLE و آنتروپی متقاطع در این است که MLE یک رویکرد ساختاری و اصولی برای مدل سازی و آموزش را نشان می دهد ، و آنتروپی باینری/SoftMax به سادگی نشان دهنده موارد ویژه ای از مواردی است که افراد معمولاً به آنها اهمیت می دهند.
آنتروپی
پس از آن گذشته از برآورد حداکثر احتمال ، بیایید بیشتر به رابطه بین احتمال ورود منفی و آنتروپی متقاطع بپردازیم. اول ، ما آنتروپی را تعریف خواهیم کرد:
آنتروپی متقاطع
واگرایی Kullback-Leibler (KL)
واگرایی Kullback-Leibler (KL) اغلب به عنوان اندازه گیری چگونگی تفاوت یک احتمال از توزیع احتمال دوم ، یعنی به عنوان اندازه گیری فاصله بین دو توزیع احتمال متفاوت است. از نظر فنی ، واگرایی KL یک معیار واقعی نیست زیرا از نابرابری مثلث پیروی نمی کند و D_KL (G || F) با D_KL (F || G) برابر نیست - اما هنوز هم به طور شهودی ممکن است یک روش طبیعی تر به نظر برسدنمایندگی از دست دادن ، از آنجا که ما می خواهیم توزیع مدل ما بسیار شبیه به توزیع واقعی باشد (یعنی ما می خواهیم واگرایی KL کوچک باشد - ما می خواهیم واگرایی KL را به حداقل برسانیم.)
در اینجا معادله واگرایی KL ، که می تواند به عنوان تعداد مورد انتظار بیت های اضافی مورد نیاز برای برقراری ارتباط با متغیر تصادفی X (توزیع شده به عنوان G (x)) تفسیر شود ، در صورت استفاده از رمزگذاری بهینه برای f (x) و نهرمزگذاری بهینه برای G (x):
راه های اضافی برای فکر کردن در مورد kl divergence d_kl (g || f):
- این آنتروپی نسبی G با توجه به f است
- این یک معیار از اطلاعات به دست آمده هنگام تجدید نظر در اعتقادات شخص از توزیع احتمال قبلی f به توزیع احتمال خلفی g است
- این مقدار اطلاعات از دست رفته هنگام استفاده از f برای تقریبی g است
در یادگیری ماشین ، G به طور معمول توزیع واقعی داده ها را نشان می دهد ، در حالی که F نشان دهنده تقریب مدل از توزیع است. بنابراین برای شبکه عصبی ما می توانیم واگرایی KL را مانند این بنویسیم:
توجه کنید که اصطلاح دوم (رنگ به رنگ آبی) فقط به داده ها بستگی دارد که ثابت هستند. از آنجا که این اصطلاح دوم به احتمال Y-HAT (احتمالات پیش بینی شده) بستگی ندارد ، همچنین به پارامترهای مدل بستگی ندارد. بنابراین ، پارامترهایی که واگرایی KL را به حداقل می رسانند همان پارامترهایی هستند که آنتروپی متقابل و احتمال ورود به سیستم منفی را به حداقل می رسانند! این بدان معنی است که ما می توانیم یک عملکرد از دست دادن آنتروپی را به حداقل برسانیم و همان پارامترهایی را که با به حداقل رساندن واگرایی KL بدست می آوریم بدست آوریم.
در مورد "از دست دادن آنتروپی متقاطع سیگموئید" چیست؟
تاکنون ، ما در زمینه یک مشکل طبقه بندی چند طبقه روی "از دست دادن آنتروپی متقاطع SoftMax" متمرکز شده ایم. با این حال ، هنگام آموزش یک مدل طبقه بندی چند برچسب ، که در آن بیش از یک کلاس خروجی امکان پذیر است ، پس از "از دست دادن آنتروپی متقاطع سیگموئید" به جای "از دست دادن آنتروپی متقاطع SoftMax" استفاده می شود. لطفاً برای پیشینه بیشتر در مورد طبقه بندی Multilabel در مقابل Multiclass ، این مقاله را ببینید.
همانطور که فقط دیدیم ، آنتروپی متقاطع بین دو توزیع احتمال F (X) و G (x) تعریف شده است. اما این در زمینه یک سیگموئید اعمال شده در لایه خروجی معنی ندارد ، زیرا مجموع اعشار خروجی 1 نخواهد بود ، بنابراین ما واقعاً "توزیع" خروجی نداریم.
در مورد کتاب مایکل نیلسن ، فصل 3 معادله 63 ، یک راه معتبر برای فکر کردن در مورد از دست دادن آنتروپی متقاطع سیگموئید به عنوان "مجموعه خلاصه ای از آنتروپی های متقاطع در هر عصبی است ، با فعال شدن هر نورون به عنوان بخشی از یک عنصر تفسیر می شودتوزیع احتمال."
بنابراین ، به جای اینکه به فکر توزیع احتمال در تمام سلولهای عصبی خروجی (که در مورد آنتروپی متقاطع Softmax کاملاً خوب است) ، برای مورد آنتروپی متقاطع سیگموئید ، ما در مورد یک دسته از توزیع های احتمال فکر خواهیم کرد ، جایی که هر نورون از نظر مفهومی یک قسمت را نشان می دهدتوزیع احتمال دو عنصر.
به عنوان مثال ، بیایید بگوییم که تصویر زیر را به یک شبکه عصبی طبقه بندی تصویر چند منظوره که با یک از دست دادن آنتروپی متقاطع سیگموئید آموزش داده می شود ، تغذیه می کنیم:
شبکه ما دارای نورون های خروجی است که مربوط به کلاس های گربه ، سگ ، نیمکت ، هواپیما ، قطار و ماشین است.
پس از استفاده از یک عملکرد سیگموئید به مقدار خام نورون گربه ، 0. 8 را به عنوان مقدار خود دریافت می کنیم. ما می توانیم این 0. 8 را احتمال "گربه" کلاس در نظر بگیریم و می توانیم مقدار احتمال ضمنی 1 - 0. 8 = 0. 2 را به عنوان احتمال کلاس "بدون گربه" تصور کنیم. این مقدار احتمال ضمنی با یک نورون واقعی در شبکه مطابقت ندارد. این فقط تصور/فرضی است.
به طور مشابه ، پس از استفاده از یک عملکرد سیگموئید به مقدار خام نورون سگ ، 0. 9 را به عنوان مقدار خود دریافت می کنیم. ما می توانیم این 0. 9 را احتمال "سگ" کلاس در نظر بگیریم و می توانیم مقدار احتمال ضمنی 1 - 0. 9 = 0. 1 را به عنوان احتمال کلاس "بدون سگ" تصور کنیم.
برای نورون هواپیما ، احتمال 0. 01 خارج از آن را بدست می آوریم. این بدان معناست که ما یک احتمال "بدون هواپیما" - و غیره برای همه نورونهای خروجی ، احتمال 1 - 0. 01 = 0. 99 داریم. بنابراین ، هر نورون "از دست دادن آنتروپی" خود را دارد و ما فقط آنتروپی های متقاطع هر نورون را جمع می کنیم تا از دست دادن آنتروپی متقاطع سیگموئید کل خود را بدست آوریم.
ما می توانیم از دست دادن آنتروپی متقاطع سیگموئید برای این شبکه به شرح زیر بنویسیم:
"آنتروپی متقاطع سیگموئید" گاهی اوقات به عنوان "آنتروپی متقاطع باینری" گفته می شود. در این مقاله "آنتروپی باینری" برای مشکلات طبقه بندی چند خطه بحث شده و معادله را شامل می شود.
ارتباط بین رگرسیون لجستیک ، شبکه های عصبی ، آنتروپی متقابل و احتمال ورود به سیستم منفی
- اگر یک شبکه عصبی هیچ لایه ای پنهان نداشته باشد و بردار خروجی خام دارای یک نرم افزار Softmax باشد ، این معادل رگرسیون لجستیک چندمیکی است
- اگر یک شبکه عصبی هیچ لایه ای پنهان نداشته باشد و خروجی خام یک مقدار واحد با یک سیگموئید اعمال شده (یک عملکرد لجستیک) است ، این رگرسیون لجستیک است
- بنابراین ، رگرسیون لجستیک فقط یک مورد خاص از یک شبکه عصبی است!(Refa ، Refb)
- اگر یک شبکه عصبی دارای لایه های پنهان باشد و بردار خروجی خام دارای یک SoftMax است ، و با استفاده از یک از دست دادن آنتروپی متقابل آموزش دیده است ، پس این یک "از دست دادن آنتروپی متقاطع SoftMax" است که می تواند به عنوان یک احتمال منفی به دلیل اینکه SoftMax تعبیر می شود ، تعبیر می شود. توزیع احتمال را ایجاد می کند.
- اگر یک شبکه عصبی دارای لایههای پنهان باشد و بردار خروجی خام دارای سیگموئیدهای عنصری اعمال شده باشد، و با استفاده از اتلاف آنتروپی متقاطع آموزش داده شده باشد، در این صورت این یک "از دست دادن آنتروپی متقاطع سیگموئید" است که نمیتوان آن را به عنوان احتمال ورود به سیستم منفی تفسیر کرد. زیرا هیچ توزیع احتمالی در تمام مثال ها وجود ندارد. خروجی ها به یک جمع نمی شوند. در اینجا ما باید از تفسیر ارائه شده در بخش قبل استفاده کنیم، که در آن از دست دادن را به صورت دستهای از آنتروپیهای متقاطع هر نورون که با هم جمع میشوند، مفهومسازی میکنیم.
برای اطلاعات بیشتر میتوانید به مقاله ویکیپدیا در مورد آنتروپی متقاطع، بهویژه بخش پایانی که تحت عنوان «عملکرد تلفات متقابل آنتروپی و رگرسیون لجستیک» است، نگاه کنید. این بخش نحوه محاسبه تابع تلفات معمولی مورد استفاده در رگرسیون لجستیک را بهعنوان میانگین تمام آنتروپیهای متقاطع در نمونه محاسبه میکند ("از دست دادن آنتروپی متقاطع سیگموئید" در بالا)."از دست دادن log" و تابع سیگموئید نیز "تابع لجستیک" نامیده می شود.
پیاده سازی آنتروپی متقابل
پیاده سازی A: torch. nn. functional. binary_cross_entropy (به torch. nn. BCELoss مراجعه کنید): مقادیر ورودی این تابع قبلاً دارای یک سیگموئید اعمال شده است، به عنوان مثال.
پیاده سازی B: torch. nn. functional. binary_cross_entropy_with_logits (به torch. nn. BCEWithLogitsLoss مراجعه کنید): «این از دست دادن یک لایه Sigmoid و BCELoss را در یک کلاس واحد ترکیب می کند. این نسخه از لحاظ عددی پایدارتر از استفاده از یک Sigmoid ساده و به دنبال آن یک BCEloss است، زیرا با ترکیب عملیات در یک لایه، از ترفند log-sum-exp برای ثبات عددی استفاده میکنیم.
پیادهسازی C: torch. nn. functional. nll_loss (به torch. nn. NLLLoss مراجعه کنید): «از دست دادن احتمال ورود منفی. آموزش یک مسئله طبقه بندی با کلاس های C مفید است. انتظار می رود ورودی داده شده از طریق تماس فوروارد حاوی احتمالات گزارش هر کلاس باشد.
پیاده سازی D: torch. nn. functional. cross_entropy (به torch. nn. CrossEntropyLoss مراجعه کنید): "این معیار nn. LogSoftmax() و nn. NLLLoss() را در یک کلاس واحد ترکیب می کند. هنگام آموزش یک مشکل طبقه بندی با کلاس های C مفید است. انتظار می رود ورودی حاوی نمرات خام و غیر عادی برای هر کلاس باشد.
نتیجه
همانطور که در اینجا بحث کردیم، روابط اساسی بین احتمال ورود منفی، آنتروپی متقاطع، واگرایی KL، شبکه های عصبی و رگرسیون لجستیک وجود دارد. امیدوارم از یادگیری ارتباط بین این مدل های مختلف و ضرر لذت برده باشید!
درباره تصویر ویژه
از آنجایی که موضوع این پست اتصالات بود، تصویر برجسته یک "connectome" است. کانکتوم "نقشه ای جامع از اتصالات عصبی در مغز است و ممکن است به عنوان "نمودار سیم کشی" آن در نظر گرفته شود." مرجع: ویکی پدیا. منبع تصویر ویژه: The Human Connectome.