در یادگیری عمیق (deep learning)، تابع خطا (loss function) یا تابع هزینه (cost function) معیاری است که اختلاف بین خروجی پیشبینی شده توسط یک شبکه عصبی و خروجی واقعی (حقیقی) را اندازهگیری میکند.
تابع خطا نقش بسیار مهمی در آموزش شبکه عصبی ایفا میکند، زیرا از طریق آن سیگنال بازخوردی برای تنظیم پارامترهای شبکه در فرآیند بهینهسازی فراهم میشود.
انتخاب تابع خطا بسته به وظیفه یا مسئلهای که قرار است حل شود، متفاوت است.
.وظایف مختلف مانند طبقهبندی، رگرسیون یا مدلسازی تولیدی ممکن است نیازمند انواع مختلفی از توابع خطا باشند
انواع توابع خطا:
۱. تابع خطای میانگین مربعات (Mean Squared Error یا MSE):
این تابع معمولاً برای مسائل رگرسیون استفاده میشود. آن میانگین مربع اختلاف بین مقدار پیشبینی شده و مقدار واقعی را محاسبه میکند. هدف کمینه کردن تابع خطا این است که شبکه خروجیهایی تولید کند که نزدیک به مقادیر واقعی باشند.
۲ . تابع خطای تابع خطی متقاطع (Binary Cross-Entropy):
این تابع برای مسائل طبقهبندی دودویی استفاده میشود، جایی که خروجی یک احتمال بین ۰ و ۱ است. این تابع اختلاف بین احتمال پیشبینی شده و برچسب دودویی واقعی را اندازهگیری میکند. هدف کمینه کردن تابع خطا است، که شبکه را تشویق میکند که احتمالات کلاس صحیح را پیشبینی کند.
۳. تابع خطای تابع خطی متقاطع چندکلاسه (Categorical Cross-Entropy):
این تابع برای مسائل طبقهبندی چندکلاسه استفاده میشود. این تابع اختلاف بین توزیع احتمالات کلاسهای پیشبینی شده و برچسبهای واقعی (کدگذاری شده با one-hot) را اندازهگیری میکند. هدف کمینه کردن تابع خطا است که شبکه را تشویق متا احتمال بالا را به کلاسهای صحیح اختصاص دهد.
۴. انحراف کولبک-لایبلر (Kullback-Leibler Divergence یا KL Divergence):
این تابع در وظایفی مانند وارینشال اتوانکدرها (Variational Autoencoders یا VAEs) و شبکههای مولد-رقیبی (Generative Adversarial Networks یا GANs) استفاده میشود. این تابع اختلاف بین دو توزیع احتمال، مانند توزیع پیشبینی شده و توزیع واقعی را اندازهگیری میکند. کمینه کردن انحراف کولبک-لایبلر، تشویق میکند که توزیع پیشبینی شده با توزیع واقعی تطابق داشته باشد.