رفتن به محتوای اصلی
بازگشت به وبلاگ

راهنماهای هوش مصنوعی

ReLU، Sigmoid و Tanh چه فرقی دارند؟ پنج ورودی را حساب کنیم

مقدار سه تابع و اثر غیرخطی بین دو لایه را با کد محلی ببینید؛ خروجی بین صفر و یک را با احتمال معتبر یا کیفیت مدل یکسان نگیریم.

تابع فعال‌سازی، تبدیلِ پس از ترکیب عددی ورودی‌ها در یک بخش شبکه است. ReLU،SigmoidوTanhسه رفتار متفاوت دارند: صفرکردن بخش منفی، فشرده‌کردن مقدار به بازهٔ صفر و یک، یا نگه‌داشتن علامت در بازهٔ منفی یک تا یک. با پنج ورودی و یک مثال دو‌لایه‌ای، تفاوت را حساب می‌کنیم؛ هیچ تابعی را برندهٔ همهٔ کاربردها نمی‌نامیم.

چرا بین دو تبدیلِ خطی، غیرخطی می‌گذاریم؟

دو تبدیل affineپشت‌سرهم مثل h=2x+1وy=3h+4را می‌توان به y=6x+7تبدیل کرد. زیادشدن تعداد چنین لایه‌هایی به‌تنهایی همان نوع غیرخطی را ایجاد نمی‌کند. اگر بین آن‌هاReLUبگذاریم، خروجی 3×max(0,2x+1)+4می‌شود و دیگر برای همهٔxیک خط ثابت نیست.

برایx=منفی۱،حالت بدونReLUبرابر۱و باReLUبرابر۴است. این دو مقدار واقعاً در کد حساب شده‌اند. تفاوت عدد، به معنی درست‌ترشدن پیش‌بینی نیست؛ هنوز وظیفه و جواب مرجع تعریف نکرده‌ایم. محاسبهٔ یک شبکهٔ کوچک مسیر کامل وزن و بایاس را دارد؛ اینجا خود تبدیل فعال‌سازی را مقایسه می‌کنیم.

فرمول و دامنهٔ خروجی

در ReLUپیش‌فرض، max(0,x)را داریم؛ ورودی منفی صفر و ورودی مثبت همان مقدار می‌ماند. Sigmoidبرابر 1/(1+exp(-x))وTanhبرابر نسبت سینوس هذلولوی به کسینوس هذلولوی است. برای ورودی حقیقیِ متناهی، خروجی ریاضی Sigmoidبین۰و۱وTanhبین منفی۱و۱است؛ محاسبات محدودِ رایانه می‌توانند در مقدارهای خیلی بزرگ رفتار گردشدن داشته باشند.

xReLUپیش‌فرضSigmoid،گردشدهTanh،گردشده
-200.119203-0.964028
-100.268941-0.761594
000.5000000
110.7310590.761594
220.8807970.964028

درReLUپیش‌فرض، اندازهٔ منفی۱و منفی۲در خروجی هر دو صفرند. درTanhعلامت حفظ شده و اندازه فشرده می‌شود. درSigmoid،صفرِ ورودی به۰٫۵می‌رود. هیچ‌کدام صرفاً از روی نام، معنای تجاریِ یک عدد را تعیین نمی‌کنند.

عدد بین صفر و یک، خودبه‌خود احتمال معتبر نیست

Sigmoidمی‌تواند در یک مدلِ تعریف‌شده برای دسته‌بندی دودویی نقش خروجی احتمالی داشته باشد؛ اما اعمال همین فرمول بر هر عددی، شاهد کالیبراسیون یا احتمال واقعیِ درست‌بودن پاسخ نیست. باید بدانیم چه هدفی آموزش دیده، برچسب چه بوده و خروجی چگونه ارزیابی شده است. در لایهٔ پنهان نیز نقش عدد با خروجی نهایی یکسان نیست.

همچنینSigmoidتک‌عددی را با نرمال‌سازی چند امتیازِ چندکلاسه یکی نگیریم. انتخاب لایهٔ آخر باید با شکلِ هدف و تابع زیان سازگار باشد؛ تغییر نام تابع بدون بررسی آن قرارداد می‌تواند معنی خروجی را عوض کند.

آیا فقط جدول کافی است تا تابع مناسب را انتخاب کنیم؟

خیر. محل تابع در شبکه، وظیفه، آموزش و رفتار گرادیان در انتخاب واقعی دخیل‌اند. این صفحه سرعت همگرایی، دقت یا پایداری یک شبکهٔ آموزش‌دیده را مقایسه نکرده است. نسخه‌های تغییریافتهٔReLUنیز پارامترهای متفاوت دارند؛ جدول فقط حالت پیش‌فرض نوشته‌شده را توصیف می‌کند.

فایل و تمرین

CSVاعداد با ده رقم اعشار دارد و Pythonمقدارهای پنج ورودی، تقارنTanhو رابطهٔSigmoidدرxو منفیxرا واقعاً کنترل کرده است. دامنهٔ نمونه محدود است و تابعSigmoidکد، پیاده‌سازی عمومیِ مقاوم در برابر سرریز همهٔ ورودی‌ها نیست. هیچ شبکه یا کتابخانهKerasدر این تمرین اجرا نشده است.

ورودی۳را اضافه و پیش از محاسبه، رفتار هر ستون را پیش‌بینی کنید. برای ادامهٔ مبانی، صفحهٔ هوش مصنوعی را ببینید؛ این مقایسه دربارهٔ توابع داخلی محصولات اپرا ادعایی ندارد.

فایل تمرین و منبع

پنج ورودی ثابت و خروجی سه تابع فعال‌سازی · کد مقدار توابع و اثر افزودن غیرخطی بین دو لایه

منابع در ۳ نوامبر ۲۰۲۶ خوانده شدند؛ این تاریخ، تاریخ انتشار منبع نیست. مثال‌ها و فایل‌های این راهنما آموزشی و ساختهٔ تحریریه‌اند.

برای این نیاز، کدام خدمت مناسب‌تر است؟

تماس و منشی، چت سایت و تحلیل مکالمه سه مسیر متفاوت‌اند. ابتدا خدمت متناسب نیازتان را انتخاب کنید.

انتخاب میان سه خدمتراهنمای شروع با تیم اپرا

برآورد هزینه