cover1_compressed

ظرفیت مدل در شبکه عصبی | عمق، عرض و بازنمایی (بخش ۱)

۱. ظرفیت مدل؛ چرا اندازه شبکه عصبی اهمیت دارد؟

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

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

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

اما آیا پیش‌بینی‌های آن نیز بهتر خواهد شد؟

پاسخ الزاماً مثبت نیست.

اگر رابطه واقعی میان متغیرها ساده باشد، شبکه کوچک‌تر ممکن است به‌اندازه کافی توانمند باشد. حتی اگر رابطه پیچیده باشد، شبکه بزرگ‌تر ممکن است به دلیل آموزش نامناسب، داده ناکافی یا مشکلات تعمیم‌پذیری عملکرد مطلوبی نداشته باشد.

برای تحلیل این مسئله به مفهوم ظرفیت مدل نیاز داریم.

ظرفیت مدل (Model Capacity) به گستردگی و پیچیدگی خانواده توابعی اشاره دارد که یک مدل می‌تواند با انتخاب مقادیر مختلف پارامترهایش بازنمایی کند.

در شبکه عصبی، ظرفیت بازنمایی تحت تأثیر عواملی مانند تعداد نورون‌ها، تعداد لایه‌ها، نوع تابع فعال‌سازی و ساختار اتصال‌ها قرار دارد.

برای درک دقیق‌تر، ابتدا باید تفاوت میان اندازه شبکه و ظرفیت آن را روشن کنیم.

۱.۱. اندازه شبکه و ظرفیت بازنمایی یکسان نیستند

اندازه شبکه معمولاً با تعداد پارامترهای قابل‌آموزش یا تعداد نورون‌ها توصیف می‌شود.

برای مثال، ممکن است شبکه‌ای ۱۰ هزار پارامتر و شبکه دیگری یک میلیون پارامتر داشته باشد.

این اطلاعات نشان می‌دهند شبکه دوم از نظر تعداد پارامترها بزرگ‌تر است. اما از آن‌ها نمی‌توان نتیجه گرفت که شبکه دوم برای هر مسئله عملکرد بهتری دارد یا حتی برای هر خانواده تابعی از شبکه اول کارآمدتر است.

تفاوت در آرایش لایه‌ها ممکن است باعث شود دو شبکه با تعداد پارامتر یکسان، توانایی متفاوتی در نمایش برخی توابع داشته باشند.

بنابراین، باید میان سه ویژگی تمایز قائل شویم:

ویژگیمعناپرسش اصلی
اندازه مدلتعداد نورون‌ها و پارامترهاشبکه چقدر بزرگ است؟
ظرفیت بازنماییخانواده توابع قابل نمایششبکه چه روابطی را می‌تواند بسازد؟
عملکرد تعمیمکیفیت پیش‌بینی روی داده‌های جدیدشبکه آموخته‌های خود را چقدر خوب تعمیم می‌دهد؟

این تمایز از مبانی تحلیل معماری شبکه‌های عصبی است (Goodfellow et al., 2016; Prince, 2023).

۱.۲. از مدل خطی تا شبکه عصبی غیرخطی

برای مشاهده تفاوت ظرفیت، ابتدا یک تابع خطی ساده را در نظر بگیرید:

f(x)=wx+bf(x)=wx+b

با تغییر وزن (w) و بایاس (b)، می‌توان خطوط مستقیم متفاوتی تولید کرد.

برای مثال:

f1(x)=2x+1f2(x)=−x+4f3(x)=0.5x−2\begin{aligned} f_1(x)&=2x+1\\ f_2(x)&=-x+4\\ f_3(x)&=0.5x-2 \end{aligned}

هر سه عضو یک خانواده تابعی هستند: توابع آفین تک‌متغیره.

اما هیچ انتخابی از (w) و (b) نمی‌تواند تابع زیر را روی کل یک بازه غیرصفر دقیقاً بازنمایی کند:

g(x)=x2g(x)=x^2

علت آن است که (g(x)) دارای خمیدگی است، درحالی‌که (wx+b) یک خط مستقیم است.

این محدودیت ناشی از کم بودن داده‌های آموزشی نیست؛ بلکه نتیجه ساختار ریاضی مدل است.

حال اگر از یک شبکه عصبی دارای نورون‌های غیرخطی استفاده کنیم، می‌توانیم توابعی بسازیم که در بخش‌های مختلف ورودی رفتار متفاوتی دارند.

در چنین شرایطی، ظرفیت بازنمایی افزایش می‌یابد.

۲. تعریف ریاضی ظرفیت بازنمایی

شبکه عصبی را می‌توان تابعی پارامتری دانست:

y^=fθ(x)\hat{y}=f_{\theta}(x)

در این رابطه، x بردار ورودی، ŷ خروجی شبکه و θ مجموعه پارامترهای قابل‌آموزش است.

برای معماری معین، همه توابع قابل تولید را می‌توان در یک مجموعه قرار داد:

ℋ={fθ|θ∈Θ}\boxed{\mathcal{H}=\{f_{\theta}\mid\theta\in\Theta\}}

این مجموعه را کلاس فرضیه‌ها (Hypothesis Class) می‌نامیم.

برای مثال، کلاس تمام توابع آفین یک‌بعدی برابر است با:

ℋlinear={x↦wx+b|w,b∈ℝ}\mathcal{H}_{\mathrm{linear}}=\{x\mapsto wx+b\mid w,b\in\mathbb{R}\}

اکنون یک شبکه با یک لایه پنهان ReLU را در نظر بگیرید:

fθ(x)=c+∑j=1majReLU⁡(wjx+bj)f_{\theta}(x)=c+\sum_{j=1}^{m}a_j\operatorname{ReLU}(w_jx+b_j)

در این رابطه، m تعداد نورون‌های پنهان است و aⱼ، wⱼ، bⱼ و c پارامترهای قابل‌آموزش هستند.

تغییر این پارامترها می‌تواند توابع تکه‌ای‌خطی متعددی ایجاد کند.

بنابراین، ظرفیت بازنمایی شبکه به خانواده توابعی ارتباط دارد که این ساختار قادر به تولید آن‌هاست.

۲.۱. ظرفیت بازنمایی در برابر ظرفیت مؤثر

فرض کنید معماری شبکه می‌تواند تابع هدف را با خطای بسیار کم تقریب بزند. آیا این به معنای موفقیت قطعی آموزش است؟

خیر.

ممکن است الگوریتم آموزش نتواند پارامترهایی را پیدا کند که این تقریب را محقق می‌کنند.

ازاین‌رو باید دو مفهوم را تفکیک کنیم.

ظرفیت بازنمایی (Representational Capacity)، توانایی نظری معماری برای نمایش توابع است.

ظرفیت مؤثر (Effective Capacity)، به پیچیدگی توابعی مربوط می‌شود که در شرایط عملی آموزش قابل دستیابی هستند؛ از جمله با درنظرگرفتن داده‌ها، مقداردهی اولیه، بهینه‌ساز و محدودیت‌های محاسباتی.

برای مثال، یک شبکه دارای هزاران پارامتر ممکن است از نظر نظری بسیار انعطاف‌پذیر باشد، اما پس از تعداد بسیار کمی گام آموزش، هنوز نتواند حتی یک رابطه ساده را به‌خوبی بازنمایی کند.

در این حالت، مشکل الزاماً از ظرفیت نظری نیست.

۳. تعداد نورون‌ها و تأثیر آن بر پیچیدگی تابع

برای درک این موضوع، شبکه‌ای با یک ورودی و یک لایه پنهان دارای نورون‌های ReLU را بررسی می‌کنیم.

تابع ReLU به شکل زیر تعریف می‌شود:

ReLU⁡(z)=max⁡(0,z)\operatorname{ReLU}(z)=\max(0,z)

این تابع، ورودی‌های منفی را به صفر تبدیل می‌کند و ورودی‌های مثبت را بدون تغییر عبور می‌دهد.

۳.۱. مثال اول: یک نورون ReLU

فرض کنید تابع شبکه برابر باشد با:

f(x)=ReLU⁡(x−2)f(x)=\operatorname{ReLU}(x-2)

برای ورودی‌های کمتر از دو:

f(x)=0f(x)=0

و برای ورودی‌های بزرگ‌تر از دو:

f(x)=x−2f(x)=x-2

بنابراین:

f(x)={0x≤2x−2x>2f(x)= \begin{cases} 0 & x\leq2\\ x-2 & x>2 \end{cases}

این نورون، تابعی با یک نقطه شکست در (x=2) ایجاد می‌کند.

۳.۲. مثال دوم: دو نورون ReLU

اکنون تابع زیر را می‌سازیم:

f(x)=ReLU⁡(x−1)−ReLU⁡(x−3)f(x)=\operatorname{ReLU}(x-1)-\operatorname{ReLU}(x-3)

دو نورون پنهان داریم:

h1(x)=ReLU⁡(x−1),h2(x)=ReLU⁡(x−3)h_1(x)=\operatorname{ReLU}(x-1),\qquad h_2(x)=\operatorname{ReLU}(x-3)

و خروجی آن‌ها ترکیب می‌شود:

f(x)=h1(x)−h2(x)f(x)=h_1(x)-h_2(x)

جدول زیر محاسبات را نشان می‌دهد.

xh₁(x)h₂(x)f(x)
۰۰۰۰
۱۰۰۲
۱۰۱۳
۲۰۲۴
۳۱۲۵
۴۲۲۵

تابع نهایی:

f(x)={0x≤1x−11<x<32x≥3f(x)= \begin{cases} 0 & x\leq1\\ x-1 & 1<x<3\\ 2 & x\geq3 \end{cases}

این بار تابع دارای دو نقطه شکست است.

شکل ۱. تابع ساخته‌شده با دو نورون ReLU؛ دو نقطه شکست، سه ناحیه خطی ایجاد کرده‌اند.

در این مثال، افزایش تعداد نورون‌ها از یک به دو، توانسته تعداد نقاط شکست قابل ایجاد را افزایش دهد.

برای یک شبکه تک‌ورودی دارای یک لایه پنهان با (m) نورون ReLU، تعداد نقاط شکست متمایز حداکثر برابر (m) است.

در نتیجه:

Nregions≤m+1\boxed{N_{\mathrm{regions}}\leq m+1}

این نتیجه محدود به ساختار ذکرشده است و نباید بدون بررسی به شبکه‌های چندلایه یا چندورودی تعمیم داده شود.

۴. تعداد پارامترها و رابطه آن با عرض و عمق

تعداد پارامترها، یکی از مهم‌ترین ویژگی‌های کمی اندازه شبکه است.

در یک شبکه کاملاً متصل، هر نورون در یک لایه، از تمام خروجی‌های لایه قبل وزن دریافت می‌کند و معمولاً یک بایاس مستقل نیز دارد.

اگر یک لایه دارای n_in ورودی و n_out خروجی باشد، تعداد وزن‌ها برابر است با:

Nw=ninnoutN_w=n_{\mathrm{in}}n_{\mathrm{out}}

تعداد بایاس‌ها:

Nb=noutN_b=n_{\mathrm{out}}

پس:

P=(nin+1)nout\boxed{P=(n_{\mathrm{in}}+1)n_{\mathrm{out}}}

۴.۱. مثال عددی: شبکه پیش‌بینی فروش

معماری زیر را در نظر بگیرید:

4→5→3→14\rightarrow5\rightarrow3\rightarrow1
  • تعداد پارامترهای لایه اول:
P1=(4+1)×5=25P_1=(4+1)\times5=25
  • تعداد پارامترهای لایه دوم:
P2=(5+1)×3=18P_2=(5+1)\times3=18
  • تعداد پارامترهای لایه خروجی:
P3=(3+1)×1=4P_3=(3+1)\times1=4

پس:

Ptotal=47\boxed{P_{\mathrm{total}}=47}

اکنون عرض لایه اول را از پنج به ده نورون افزایش می‌دهیم:

4→10→3→14\rightarrow10\rightarrow3\rightarrow1

تعداد پارامترها:

P1=5×10=50P2=11×3=33P3=4Ptotal=87\begin{aligned} P_1&=5\times10=50\\ P_2&=11\times3=33\\ P_3&=4\\ \boxed{P_{\mathrm{total}}}&\boxed{=87} \end{aligned}

با افزودن پنج نورون به لایه اول، تعداد پارامترها از ۴۷ به ۸۷ افزایش یافته است.

این موضوع نشان می‌دهد که افزودن نورون به یک لایه، علاوه بر وزن‌ها و بایاس‌های همان لایه، تعداد وزن‌های ورودی لایه بعد را نیز تغییر می‌دهد.

۴.۲. فرمول عمومی برای شبکه چندلایه

اگر عرض لایه‌های متوالی برابر n₀، n₁، …، n_L باشد، تعداد کل پارامترهای شبکه کاملاً متصل با بایاس مستقل در هر لایه دارای وزن، برابر است با:

Ptotal=∑ℓ=1L(nℓ−1+1)nℓ\boxed{P_{\mathrm{total}}=\sum_{\ell=1}^{L}(n_{\ell-1}+1)n_\ell}

در این رابطه:

  • n₀: تعداد ویژگی‌های ورودی
  • n_ℓ: تعداد نورون‌های لایه ℓ
  • L: تعداد لایه‌های دارای وزن، شامل لایه خروجی

این رابطه پایه بسیاری از محاسبات مهندسی مربوط به اندازه شبکه است.

۵. چرا عرض و عمق آثار متفاوتی دارند؟

  • افزایش عرض (Width) یعنی افزودن نورون به یک یا چند لایه موجود.
  • افزایش عمق (Depth) یعنی افزودن لایه‌های محاسباتی متوالی.

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

در شبکه عمیق، خروجی هر لایه به ورودی لایه بعد تبدیل می‌شود؛ بنابراین شبکه می‌تواند ترکیبی از چند تبدیل غیرخطی را محاسبه کند.

برای سه تبدیل متوالی:

h1=f1(x)h2=f2(h1)y=f3(h2)\begin{aligned} h_1&=f_1(x)\\ h_2&=f_2(h_1)\\ y&=f_3(h_2) \end{aligned}

در نتیجه:

y=f3(f2(f1(x)))\boxed{y=f_3(f_2(f_1(x)))}

این ترکیب متوالی، پایه توان بازنمایی ساختارهای عمیق است.

پژوهش‌های Montúfar و همکاران (۲۰۱۴) و Telgarsky (۲۰۱۶) نشان داده‌اند که برای خانواده‌های مشخصی از توابع، عمق می‌تواند مزایای قابل‌توجهی در بازنمایی ایجاد کند.

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

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

۶. مقایسه عمق و عرض شبکه با تعداد پارامتر تقریباً برابر

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

اما هنوز یک پرسش مهم باقی مانده است: اگر دو شبکه تقریباً تعداد پارامتر یکسانی داشته باشند، آیا می‌توانند توابع متفاوتی را بازنمایی کنند؟

این پرسش از نظر علمی اهمیت فراوانی دارد؛ زیرا اگر یک شبکه ۱۰۰ پارامتر و شبکه دیگر ۱۰ هزار پارامتر داشته باشد، نمی‌توان تفاوت توانایی آن‌ها را فقط به عمق نسبت داد. شبکه بزرگ‌تر هم از نظر تعداد لایه‌ها و هم از نظر تعداد پارامترها متفاوت است.

برای مقایسه منصفانه‌تر، باید دو معماری انتخاب کنیم که بودجه پارامتر تقریباً یکسانی داشته باشند.

۶.۱. مثال حل‌شده: دو معماری برای پیش‌بینی فروش

فرض کنید شبکه قرار است فروش یک محصول را با استفاده از چهار متغیر پیش‌بینی کند:

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

دو شبکه زیر را طراحی می‌کنیم.

شبکه A: کم‌عمق و عریض

4→14→14\rightarrow14\rightarrow1

این شبکه تنها یک لایه پنهان با ۱۴ نورون دارد.

تعداد پارامترها:

PA=(4+1)×14+(14+1)×1PA=70+15PA=85\begin{aligned} P_A&=(4+1)\times14+(14+1)\times1\\ P_A&=70+15\\ \boxed{P_A}&\boxed{=85} \end{aligned}

شبکه B: عمیق‌تر و باریک‌تر

4→6→7→14\rightarrow6\rightarrow7\rightarrow1

این شبکه دارای دو لایه پنهان است.

  • تعداد پارامترهای لایه اول:
P1=(4+1)×6=30P_1=(4+1)\times6=30
  • تعداد پارامترهای لایه دوم:
P2=(6+1)×7=49P_2=(6+1)\times7=49
  • تعداد پارامترهای لایه خروجی:
P3=(7+1)×1=8P_3=(7+1)\times1=8

بنابراین:

PB=30+49+8=87\boxed{P_B=30+49+8=87}

اختلاف تعداد پارامترها برابر است با:

ΔP=87−85=2\Delta P=87-85=2

از نظر تعداد پارامتر، دو شبکه بسیار نزدیک‌اند؛ اما معماری آن‌ها متفاوت است.

۶.۲. تفاوت محاسباتی دو معماری

در شبکه A، هر یک از ۱۴ نورون پنهان مستقیماً روی چهار ویژگی ورودی محاسبه انجام می‌دهد.

خروجی را می‌توان به‌شکل زیر نوشت:

fA(x)=c+∑j=114ajσ(wjTx+bj)f_A(x)=c+\sum_{j=1}^{14}a_j\sigma(w_j^{T}x+b_j)

اما در شبکه B، لایه دوم روی بازنمایی تولیدشده در لایه اول محاسبه می‌کند:

h1=σ(W1x+b1)h2=σ(W2h1+b2)fB(x)=W3h2+b3\begin{aligned} h_1&=\sigma(W_1x+b_1)\\ h_2&=\sigma(W_2h_1+b_2)\\ f_B(x)&=W_3h_2+b_3 \end{aligned}

به همین دلیل، شبکه دوم قادر است توابعی را بسازد که حاصل ترکیب متوالی دو مجموعه تبدیل غیرخطی هستند.

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

در طراحی شبکه باید میان توان بازنمایی نظری و عملکرد تجربی پس از آموزش تفاوت قائل شد.

۶.۳. آیا شبکه عمیق‌تر همیشه ظرفیت بیشتری دارد؟

پاسخ به معنایی که از ظرفیت در نظر می‌گیریم بستگی دارد.

در برخی خانواده‌های مشخصی از توابع، شبکه‌های عمیق توان بازنمایی کارآمدتری نسبت به شبکه‌های کم‌عمق دارند. برای مثال، نتایج Telgarsky (2016) نشان می‌دهند که برخی توابع با شبکه‌های عمیق کوچک قابل بازنمایی‌اند، درحالی‌که تقریب آن‌ها با شبکه‌های کم‌عمق ممکن است به تعداد بسیار بیشتری نورون نیاز داشته باشد.

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

بنابراین، عمق بیشتر یک مزیت ساختاری بالقوه است، نه تضمین عمومی عملکرد بهتر.

۷. چگونه عمق می‌تواند پیچیدگی تابع خروجی را افزایش دهد؟

برای درک نقش عمق، یک تابع مثلثی ساده را بررسی می‌کنیم که می‌توان آن را با نورون‌های ReLU تولید کرد.

تابع را چنین تعریف می‌کنیم:

g(x)=2ReLU⁡(x)−4ReLU⁡(x−0.5)+2ReLU⁡(x−1)g(x)=2\operatorname{ReLU}(x)-4\operatorname{ReLU}(x-0.5)+2\operatorname{ReLU}(x-1)

برای ورودی‌های بازه ([0,1])، این تابع برابر است با:

g(x)={2x0≤x≤0.52−2x0.5<x≤1g(x)= \begin{cases} 2x & 0\leq x\leq0.5\\ 2-2x & 0.5<x\leq1 \end{cases}

این تابع ابتدا افزایش می‌یابد و سپس کاهش پیدا می‌کند.

۷.۱. محاسبه تابع در چند نقطه

(x)(g(x))
۰۰
۰٫۲۵۰٫۵
۰٫۵۱
۰٫۷۵۰٫۵
۱۰

اکنون به‌جای استفاده یک‌باره از تابع، خروجی آن را دوباره به خودش وارد می‌کنیم:

g2(x)=g(g(x))g_2(x)=g(g(x))

برای مثال، اگر (x=0.25) باشد:

g(0.25)=0.5,g(g(0.25))=g(0.5)=1g(0.25)=0.5,\qquad g(g(0.25))=g(0.5)=1

اگر (x=0.5) باشد:

g(0.5)=1,g(g(0.5))=g(1)=0g(0.5)=1,\qquad g(g(0.5))=g(1)=0

جدول زیر مقادیر را نشان می‌دهد:

(x)(g(x))(g(g(x)))
۰۰۰
۰٫۱۲۵۰٫۲۵۰٫۵
۰٫۲۵۰٫۵۱
۰٫۳۷۵۰٫۷۵۰٫۵
۰٫۵۱۰
۰٫۷۵۰٫۵۱
۱۰۰

تابع اولیه یک قله داشت، اما تابع حاصل از دو بار اعمال (g)، دو قله دارد.

۷.۲. نمایش افزایش تعداد قله‌ها

شکل ۳. افزایش تعداد قله‌ها از ۱ به ۲ و سپس ۴ بر اثر ترکیب متوالی تابع مثلثی.

اگر این تابع را (k) بار با خودش ترکیب کنیم، تعداد قله‌های آن روی بازه ([0,1]) برابر است با:

Npeaks(k)=2k−1\boxed{N_{\mathrm{peaks}}(k)=2^{k-1}}

و تعداد قطعات خطی آن:

Nregions(k)=2k\boxed{N_{\mathrm{regions}}(k)=2^k}

برای مثال، پس از پنج مرحله:

Npeaks(5)=24=16,Nregions(5)=25=32N_{\mathrm{peaks}}(5)=2^4=16,\qquad N_{\mathrm{regions}}(5)=2^5=32

نکته علمی مهم این است که افزایش خطی تعداد مراحل ترکیب، در این مثال خاص باعث افزایش نمایی تعداد قطعات خطی می‌شود.

این ساختار پایه‌ای برای درک مزیت عمق در برخی خانواده‌های توابع است. البته رشد نمایی نواحی خطی برای تمام وزن‌ها و همه معماری‌ها تضمین نمی‌شود (Montúfar et al., 2014; Telgarsky, 2016).

۸. ظرفیت بازنمایی در فضای چندبعدی؛ از نقاط شکست تا مرزهای تصمیم

در مثال‌های پیشین، ورودی شبکه تنها یک متغیر بود. در این حالت، می‌توانستیم پیچیدگی تابع را با شمارش نقاط شکست و قطعات خطی بررسی کنیم.

اما در مسائل واقعی، شبکه معمولاً چندین ویژگی ورودی دارد. برای مثال، یک شبکه پیش‌بینی فروش ممکن است به‌طور هم‌زمان قیمت، تخفیف، تبلیغات و تعداد مشتریان را دریافت کند.

در این وضعیت، دیگر فقط با نقاط شکست روی یک محور روبه‌رو نیستیم؛ بلکه شبکه فضای چندبعدی ورودی را به نواحی مختلف تقسیم می‌کند.

۸.۱. چگونه یک نورون ReLU فضای ورودی را تقسیم می‌کند؟

یک نورون با دو ورودی را در نظر بگیرید:

h(x1,x2)=ReLU⁡(x1+x2−3)h(x_1,x_2)=\operatorname{ReLU}(x_1+x_2-3)

این نورون ابتدا مقدار زیر را محاسبه می‌کند:

z=x1+x2−3z=x_1+x_2-3

سپس:

h(x1,x2)=max⁡(0,z)h(x_1,x_2)=\max(0,z)

مرز تغییر رفتار نورون جایی قرار دارد که:

z=0z=0

بنابراین:

x1+x2=3\boxed{x_1+x_2=3}

این معادله یک خط مستقیم در فضای دوبعدی است.

شکل ۴. نمایش شماتیک دو ناحیه فعال و غیرفعال یک نورون ReLU در فضای دوبعدی. مکان خط برای نمایش مفهومی انتخاب شده است.

در یک سمت خط، خروجی نورون صفر است. در سمت دیگر، خروجی برابر ترکیبی خطی از ورودی‌ها خواهد بود.

وقتی تعداد نورون‌ها افزایش می‌یابد، خطوط یا در ابعاد بالاتر، ابرصفحه‌های بیشتری می‌توانند در فضای ورودی ایجاد شوند.

این ابرصفحه‌ها فضا را به نواحی متفاوتی تقسیم می‌کنند.

۸.۲. حداکثر تعداد نواحی حاصل از ابرصفحه‌ها

در هندسه محاسباتی، اگر (m) ابرصفحه در فضای (d)بعدی در وضعیت عمومی قرار داشته باشند، حداکثر تعداد نواحی حاصل از تقسیم فضا برابر است با:

R(m,d)=∑j=0d(mj)\boxed{R(m,d)=\sum_{j=0}^{d}\binom{m}{j}}

که در آن، ضرایب دوجمله‌ای برای (j>m) صفر در نظر گرفته می‌شوند.

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

برای فضای دوبعدی:

d=2d=2

و چهار نورون:

m=4m=4

داریم:

R(4,2)=(40)+(41)+(42)R(4,2)=1+4+6R(4,2)=11\begin{aligned} R(4,2)&=\binom{4}{0}+\binom{4}{1}+\binom{4}{2}\\ R(4,2)&=1+4+6\\ \boxed{R(4,2)}&\boxed{=11} \end{aligned}

بنابراین چهار خط در وضعیت عمومی می‌توانند صفحه را حداکثر به ۱۱ ناحیه تقسیم کنند.

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

۸.۳. تأثیر بُعد ورودی بر تعداد نواحی

حال تعداد نورون‌ها را ثابت و برابر چهار در نظر بگیریم، اما بُعد فضای ورودی را تغییر دهیم.

بُعد فضای ورودیتعداد نورون‌هاحداکثر نواحی
۱۴۵
۲۴۱۱
۳۴۱۵
۴۴۱۶

این جدول نشان می‌دهد که ظرفیت هندسی شبکه را نمی‌توان مستقل از بُعد ورودی بررسی کرد.

اما بیشتر بودن تعداد نواحی لزوماً به معنای بهتر بودن پیش‌بینی یا توان بازنمایی تمام توابع نیست. تعداد نواحی تنها یکی از شاخص‌های پیچیدگی ساختار تابع شبکه است.

۹. چرا چندلایه بودن می‌تواند تعداد نواحی را بسیار افزایش دهد؟

در یک شبکه با یک لایه پنهان، نورون‌های ReLU فضای ورودی را از طریق ابرصفحه‌ها تقسیم می‌کنند.

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

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

Montúfar و همکاران (۲۰۱۴) نشان داده‌اند که این ساختار ترکیبی می‌تواند باعث افزایش چشمگیر تعداد نواحی خطی قابل بازنمایی با عمق شود.

برای یک شبکه ReLU با d ورودی و L لایه پنهان که هرکدام عرض n ≥ d دارند، یکی از کران‌های پایین شناخته‌شده در شرایط مشخص چنین است:

Rmax⁡≥⌊nd⌋d(L−1)∑j=0d(nj)R_{\max}\geq\left\lfloor\frac{n}{d}\right\rfloor^{d(L-1)}\sum_{j=0}^{d}\binom{n}{j}

این فرمول نشان‌دهنده تعداد نواحی‌ای است که دست‌کم برای برخی انتخاب‌های پارامترها قابل دستیابی است؛ نه تعداد نواحی ایجادشده توسط هر شبکه آموزش‌دیده.

برای درک شهودی، فرض کنید:

d=2,n=4,L=3d=2,\quad n=4,\quad L=3

آنگاه:

⌊nd⌋=⌊42⌋=2\left\lfloor\frac{n}{d}\right\rfloor=\left\lfloor\frac{4}{2}\right\rfloor=2

و:

Rmax⁡≥22(3−1)(1+4+6)Rmax⁡≥16×11Rmax⁡≥176\begin{aligned} R_{\max}&\geq2^{2(3-1)}(1+4+6)\\ R_{\max}&\geq16\times11\\ \boxed{R_{\max}}&\boxed{\geq176} \end{aligned}

این محاسبه به ما می‌گوید که در خانواده مورد بررسی، معماری دارای سه لایه پنهان با عرض چهار می‌تواند حداقل ۱۷۶ ناحیه خطی ایجاد کند.

این یک نتیجه درباره توان بازنمایی بالقوه معماری است و هیچ ادعایی درباره دقت یا کیفیت تعمیم شبکه مطرح نمی‌کند.

۹.۱. نکته پژوهشی

تفاوت کران بالا و پایین اهمیت زیادی دارد.

کران بالا به ما می‌گوید تعداد نواحی نمی‌تواند از حد مشخصی فراتر رود.

کران پایین وجود ساختاری با دست‌کم آن تعداد ناحیه را تضمین می‌کند.

این دو مفهوم نباید با تعداد واقعی نواحی ایجادشده در یک شبکه آموزش‌دیده اشتباه گرفته شوند.

۱۰. ارتباط ظرفیت شبکه با سوگیری استقرایی

دو شبکه ممکن است از نظر ظرفیت بازنمایی بسیار قدرتمند باشند، اما هنگام آموزش رفتار متفاوتی نشان دهند.

یکی از دلایل این تفاوت، سوگیری استقرایی (Inductive Bias) است؛ یعنی فرض‌ها و ترجیح‌هایی که ساختار مدل یا الگوریتم یادگیری درباره شکل پاسخ مناسب ایجاد می‌کند.

برای مثال، معماری یک شبکه کاملاً متصل با معماری یک شبکه کانولوشنی متفاوت است. شبکه کانولوشنی از اتصال‌های موضعی و اشتراک وزن استفاده می‌کند و در نتیجه نوع خاصی از ساختار را در پردازش داده‌ها ترجیح می‌دهد.

اما در همین خانواده MLP نیز عمق، عرض، نحوه مقداردهی اولیه و روش آموزش می‌توانند بر توابعی که شبکه عملاً یاد می‌گیرد اثر بگذارند.

در نتیجه:

ظرفیت نظری≠رفتار یادگیری\text{ظرفیت نظری}\neq\text{رفتار یادگیری}

شبکه‌ای ممکن است از نظر نظری بتواند چندین تابع متفاوت را نمایش دهد، اما الگوریتم آموزش به‌طور مداوم به زیرمجموعه‌ای از آن‌ها گرایش پیدا کند.

این موضوع یکی از دلایلی است که چرا ظرفیت بالاتر، تضمین عملکرد بهتر روی داده‌های جدید نیست.

۱۱. انتخاب معماری بر اساس نوع مسئله

اکنون می‌توانیم مباحث نظری را به یک تصمیم طراحی متصل کنیم.

  • اگر مسئله دارای روابط تقریباً خطی باشد، یک مدل ساده ممکن است کافی باشد.
  • اگر تابع هدف دارای تغییرات موضعی متعدد باشد، افزایش عرض می‌تواند کمک کند.
  • اگر ساختار تابع هدف شامل ترکیب‌های سلسله‌مراتبی باشد، افزایش عمق ممکن است بازنمایی کارآمدتری ایجاد کند.

اما این موارد، اصول راهنمای مهندسی هستند و نه قوانین قطعی.

ویژگی مسئلهگزینه معماری قابل بررسیدلیل
رابطه تقریباً خطیمدل خطی یا MLP کوچکظرفیت محدود ممکن است کافی باشد
روابط غیرخطی با تغییرات متعددافزایش عرضامکان بازنمایی پاسخ‌های موضعی متنوع
ساختار ترکیبی و سلسله‌مراتبیافزایش عمقاستفاده از ترکیب متوالی توابع
منابع سخت‌افزاری محدودMLP فشردهکاهش پارامتر و هزینه استنتاج
عملکرد نامناسب روی داده‌های جدیدبررسی تعمیم و آموزشظرفیت بیشتر الزاماً راه‌حل نیست

در تصمیم‌گیری نهایی، لازم است چند معماری با پروتکل اعتبارسنجی یکسان مقایسه شوند.

۱۲. تمرین حل‌شده: محاسبه ظرفیت هندسی یک لایه

فرض کنید لایه پنهان شبکه‌ای دارای پنج نورون ReLU باشد و ورودی‌ها دوبعدی باشند.

می‌خواهیم حداکثر تعداد نواحی حاصل از الگوهای فعال‌سازی لایه را محاسبه کنیم.

  • مرحله اول: تعیین داده‌ها
m=5,d=2m=5,\qquad d=2
  • مرحله دوم: استفاده از فرمول
R(m,d)=∑j=0d(mj)R(m,d)=\sum_{j=0}^{d}\binom{m}{j}
  • مرحله سوم: جای‌گذاری
R(5,2)=(50)+(51)+(52)R(5,2)=\binom{5}{0}+\binom{5}{1}+\binom{5}{2}
  • مرحله چهارم: محاسبه ضرایب
(50)=1,(51)=5,(52)=5!2!3!=10\binom{5}{0}=1,\qquad \binom{5}{1}=5,\qquad \binom{5}{2}=\frac{5!}{2!3!}=10
  • مرحله پنجم: نتیجه نهایی
R(5,2)=1+5+10R(5,2)=16\begin{aligned} R(5,2)&=1+5+10\\ \boxed{R(5,2)}&\boxed{=16} \end{aligned}

بنابراین پنج نورون ReLU با ابرصفحه‌های مرزی در وضعیت عمومی می‌توانند فضای ورودی دوبعدی را به حداکثر ۱۶ ناحیه تقسیم کنند.

این مثال، رابطه میان تعداد نورون‌ها، بُعد ورودی و پیچیدگی هندسی بازنمایی را نشان می‌دهد.

منابع علمی

Montúfar, G., Pascanu, R., Cho, K., & Bengio, Y. (2014). On the number of linear regions of deep neural networks. Advances in Neural Information Processing Systems, 27, 2924–2932.

Telgarsky, M. (2016). Benefits of depth in neural networks. Proceedings of Machine Learning Research, 49, 1517–1539.

۱۳. حداقل عرض شبکه و محدودیت‌های تقریب عمومی

در طراحی شبکه‌های عصبی، معمولاً تصور می‌شود که اگر تعداد لایه‌ها را به‌اندازه کافی افزایش دهیم، محدودیت تعداد نورون‌ها جبران خواهد شد.

این تصور همیشه صحیح نیست.

برای درک علت، باید میان دو مفهوم تفاوت قائل شویم:

تقریب یک تابع مشخص و توانایی تقریب همه توابع یک خانواده معین.

برای مثال، تابع ساده زیر را در نظر بگیرید:

f(x1,x2)=2x1+3x2f(x_1,x_2)=2x_1+3x_2

این تابع با یک نورون خروجی خطی، دارای دو وزن و یک بایاس، قابل بازنمایی دقیق است.

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

۱۳.۱. مفهوم تقریب عمومی

فرض کنید تابع هدف (f) روی یک دامنه بسته و کراندار (K) تعریف شده است و می‌خواهیم شبکه عصبی (hat f) را چنان انتخاب کنیم که:

|f(x)−f^(x)|<ε|f(x)-\hat{f}(x)|<\varepsilon

برای تمام:

x∈Kx\in K

در این رابطه، ε میزان خطای مجاز است.

اگر یک خانواده شبکه بتواند برای هر تابع پیوسته (f) و هر مقدار مثبت (ε)، شبکه‌ای مناسب پیدا کند که شرط بالا برقرار باشد، آن خانواده دارای خاصیت تقریب عمومی یکنواخت روی دامنه موردنظر است.

دقت کنید که «تقریب عمومی» تضمین نمی‌کند شبکه با تعداد کمی نورون، داده محدود یا هزینه محاسباتی اندک آموزش داده شود.

۱۳.۲. چرا حداقل عرض اهمیت دارد؟

برای شبکه‌های ReLU، نتایج نظری نشان داده‌اند که عرض لایه‌ها می‌تواند محدودیت بنیادی بر توان تقریب ایجاد کند.

یکی از نتایج شناخته‌شده در این زمینه متعلق به Hanin و Sellke است. در مسئله تقریب یکنواخت توابع پیوسته اسکالر روی مکعب واحد (d)بعدی، شبکه‌های ReLU با عرض پنهان حداکثر (d) برای تقریب تمام این توابع کافی نیستند؛ درحالی‌که عرض (d+1)، با عمق متغیر و کافی، امکان تقریب عمومی را فراهم می‌کند (Hanin & Sellke, 2017).

در این صورت‌بندی:

wmin⁡=d+1\boxed{w_{\min}=d+1}

که (d) تعداد ابعاد ورودی است.

برای مثال، اگر تعداد ویژگی‌های ورودی چهار باشد:

d=4d=4

حداقل عرض نظری در چارچوب قضیه مذکور:

wmin⁡=5w_{\min}=5

خواهد بود.

تعداد ورودی‌ها (d)حداقل عرض (d+1)
۱۲
۲۳
۳۴
۴۵
۸۹
۱۶۱۷

جدول ۱. حداقل عرض نظری شبکه‌های ReLU برای خاصیت تقریب عمومی یکنواخت توابع پیوسته اسکالر روی مکعب واحد در صورت‌بندی موردبحث.

نباید این نتیجه را به یک دستورالعمل مهندسی عمومی تبدیل کرد. برای مثال، این قضیه نمی‌گوید شبکه‌ای با ۱۶ ویژگی ورودی الزاماً باید دست‌کم ۱۷ نورون در هر لایه داشته باشد تا یک مسئله پیش‌بینی واقعی را حل کند.

یک تابع خاص ممکن است با عرض بسیار کمتر نیز قابل بازنمایی باشد.

همچنین این نتیجه به نوع تابع فعال‌سازی، نوع خروجی، دامنه و معیار تقریب وابسته است؛ بنابراین تعمیم آن به تمام معماری‌ها صحیح نیست.

۱۳.۳. پیام معماری قضیه حداقل عرض

نتیجه اصلی این است که عمق و عرض قابلیت جایگزینی نامحدود ندارند.

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

این موضوع به‌ویژه هنگام طراحی شبکه‌های بسیار باریک و عمیق اهمیت دارد.

۱۴. ظرفیت بازنمایی و ظرفیت مؤثر: از امکان ریاضی تا یادگیری واقعی

تصور کنید شبکه‌ای با ۱۰۰ هزار پارامتر طراحی کرده‌ایم. این شبکه از نظر معماری قادر است توابع بسیار متنوعی را نمایش دهد.

حال فرض کنید آموزش آن را فقط برای چند گام انجام دهیم.

آیا می‌توان انتظار داشت صرفاً به دلیل تعداد زیاد پارامترها، تابع مطلوب را یاد گرفته باشد؟

خیر.

ظرفیت بازنمایی به آنچه یک معماری بالقوه می‌تواند بسازد مربوط است، اما ظرفیت مؤثر به شرایطی ارتباط دارد که در آن مدل عملاً آموزش داده می‌شود.

۱۴.۱. مثال عددی: یک معماری با ظرفیت کافی، اما آموزش ناکامل

فرض کنید تابع واقعی برابر باشد با:

y=3x+2y=3x+2

مدل مورد استفاده:

y^=wx+b\hat{y}=wx+b

این مدل از نظر ساختار می‌تواند تابع هدف را دقیقاً بازنمایی کند؛ کافی است انتخاب کنیم:

w=3,b=2w=3,\qquad b=2

اما فرض کنید پارامترهای اولیه چنین باشند:

w=0,b=0w=0,\qquad b=0

برای نمونه:

x=2,y=8x=2,\qquad y=8

خروجی مدل:

y^=0(2)+0=0\hat{y}=0(2)+0=0

اگر تابع زیان را مربع خطا در نظر بگیریم:

L=(y−y^)2L=(y-\hat{y})^2

خواهیم داشت:

L=(8−0)2=64L=(8-0)^2=64

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

حال پارامترها را به‌صورت زیر تغییر می‌دهیم:

w=2,b=1w=2,\qquad b=1

خروجی جدید:

y^=2(2)+1=5\hat{y}=2(2)+1=5

و خطا:

L=(8−5)2=9L=(8-5)^2=9

اگر پارامترهای صحیح تابع هدف را قرار دهیم:

w=3,b=2w=3,\qquad b=2

آنگاه:

y^=3(2)+2=8L=0\begin{aligned} \hat{y}&=3(2)+2=8\\ \boxed{L}&\boxed{=0} \end{aligned}

در این سه حالت، معماری مدل ثابت است و فقط مقادیر پارامترها تغییر کرده‌اند.

وضعیتوزن (w)بایاس (b)پیش‌بینیخطا
اولیه۰۰۰۶۴
میانی۲۱۵۹
مطلوب۳۲۸۰

جدول ۲. تفاوت میان ظرفیت ثابت معماری و کیفیت پارامترهای انتخاب‌شده در یک نمونه.

این محاسبه نشان می‌دهد که حتی یک مدل بسیار ساده نیز ممکن است با پارامترهای نامناسب عملکرد ضعیفی داشته باشد.

البته صفر شدن خطا برای یک نمونه، به‌تنهایی اثبات نمی‌کند که مدل رابطه واقعی را از داده‌ها آموخته است. در این مثال، پارامترهای صحیح به‌طور مستقیم از تابع هدف معلوم انتخاب شدند.

۱۴.۲. عوامل مؤثر بر ظرفیت عملی

در یک مسئله واقعی، استفاده از ظرفیت بالقوه شبکه به چند عامل وابسته است.

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

بنابراین اگر یک شبکه عملکرد ضعیفی داشته باشد، افزایش تعداد نورون‌ها تنها یکی از گزینه‌های قابل بررسی است، نه نخستین یا قطعی‌ترین راه‌حل.

۱۵. ظرفیت آماری شبکه؛ از تعداد پارامترها تا پیچیدگی کلاس توابع

در بخش‌های قبلی، ظرفیت شبکه را عمدتاً از منظر بازنمایی توابع بررسی کردیم. اکنون باید به جنبه دیگری بپردازیم: یک شبکه عصبی تا چه اندازه می‌تواند الگوهای متفاوتی را روی داده‌های آموزشی بازتولید کند؟

این پرسش به مفهوم ظرفیت آماری (Statistical Capacity) مربوط است.

ظرفیت بازنمایی مشخص می‌کند شبکه چه توابعی می‌تواند ایجاد کند، اما ظرفیت آماری پیچیدگی خانواده مدل‌ها را از دیدگاه نظریه یادگیری بررسی می‌کند.

برای مثال، فرض کنید چهار نمونه آموزشی داریم و هر نمونه می‌تواند در یکی از دو کلاس صفر یا یک قرار گیرد.

تعداد تمام برچسب‌گذاری‌های ممکن برابر است با:

24=162^4=16

اگر یک خانواده مدل بتواند برای یک مجموعه مشخص از چهار نقطه، هر ۱۶ حالت برچسب‌گذاری را بازنمایی کند، می‌گوییم آن مجموعه توسط خانواده مدل خرد می‌شود (Shattering).

این مفهوم مبنای تعریف بُعد VC است.

۱۵.۱. بُعد VC و رابطه آن با ظرفیت شبکه

بُعد VC یا Vapnik–Chervonenkis Dimension، معیاری نظری برای سنجش ظرفیت خانواده طبقه‌بندهای دودویی است.

به‌طور دقیق، بُعد VC برابر بیشترین تعداد نقاطی است که دست‌کم یک مجموعه با آن تعداد نقطه بتواند توسط کلاس مدل خرد شود.

در شبکه‌های عصبی عمیق، محاسبه دقیق بُعد VC معمولاً دشوار است. بااین‌حال، پژوهش‌های نظری کران‌هایی برای آن ارائه کرده‌اند.

Bartlett و همکاران (۲۰۱۹) برای شبکه‌های دارای فعال‌سازی تکه‌ای‌خطی، از جمله ReLU، کران بالایی از مرتبه زیر به دست آورده‌اند:

VCdim⁡(ℋ)=𝒪(WLlog⁡W)\operatorname{VCdim}(\mathcal{H})=\mathcal{O}(WL\log W)

در این رابطه، (W) تعداد پارامترها و (L) تعداد لایه‌های شبکه در صورت‌بندی نظری پژوهش است.

این رابطه به معنای آن نیست که می‌توان بُعد VC یک معماری دلخواه را با جای‌گذاری ساده تعداد وزن‌ها و لایه‌ها به‌طور دقیق محاسبه کرد؛ بلکه یک کران رشد مجانبی با فروض مشخص است.

۱۵.۲. مثال عددی برای درک مرتبه رشد

دو خانواده معماری فرضی در نظر بگیرید که هر دو دارای ۱۰۰۰ پارامتر هستند، اما یکی از آن‌ها ۲ لایه و دیگری ۵ لایه دارد.

اگر فقط عبارت موجود در کران نظری را بررسی کنیم:

Q(W,L)=WLln⁡WQ(W,L)=WL\ln W

برای شبکه اول:

Q(1000,2)=2000ln⁡(1000)≈13815.5Q(1000,2)=2000\ln(1000)\approx13815.5

برای شبکه دوم:

Q(1000,5)=5000ln⁡(1000)≈34538.8Q(1000,5)=5000\ln(1000)\approx34538.8

نسبت این دو مقدار برابر است با:

34538.813815.5=2.5\frac{34538.8}{13815.5}=2.5

اما این محاسبه صرفاً مقایسه مقدار عبارت W·L·ln W است، نه محاسبه بُعد VC دو شبکه. ثابت‌های پنهان در نماد O، ساختار معماری و شرایط اعتبار قضیه مانع از چنین تفسیر مستقیمی می‌شوند.

هدف مثال این است که نشان دهد در این کران نظری، عمق نیز در کنار تعداد پارامترها حضور دارد.

Sidebar atefi
دکتر محمدرضا عاطفی

عضو هیئت علمی دانشگاه
رئیس هیئت مدیره گروه ناب
هم بنیان گذار شرکت دانش بنیان
مشاور شرکت ها و سازمان های بزرگ کشور

آنچه می خوانید

Cover2 compressed 2 300x169
هوش مصنوعی

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

۱۶. چگونه ظرفیت مدل را در عمل ارزیابی کنیم؟ در کاربردهای واقعی، ظرفیت نظری معمولاً به‌طور مستقیم قابل اندازه‌گیری نیست. بنابراین طراح شبکه از چند شاخص مکمل استفاده می‌کند. یکی از مهم‌ترین روش‌ها، مطالعه تغییرات خطای آموزش و اعتبارسنجی هنگام افزایش تدریجی اندازه معماری است. ۱۶.۱. آزمایش افزایش تدریجی ظرفیت

توضیحات بیشتر »
Cover1 compressed 2 300x169
هوش مصنوعی

ظرفیت مدل در شبکه عصبی | عمق، عرض و بازنمایی (بخش ۱)

۱. ظرفیت مدل؛ چرا اندازه شبکه عصبی اهمیت دارد؟ تصور کنید می‌خواهیم شبکه‌ای عصبی بسازیم که میزان فروش روزانه یک فروشگاه اینترنتی را پیش‌بینی کند. ورودی‌های شبکه شامل قیمت محصول، درصد تخفیف، هزینه تبلیغات و تعداد بازدیدکنندگان است. در نخستین آزمایش، از شبکه‌ای با چهار ورودی، سه نورون پنهان و

توضیحات بیشتر »
Cover3 compressed 300x169
هوش مصنوعی

بازپس‌انتشار خطا از صفر – بخش سوم: پیاده‌سازی با پایتون و بررسی گرادیان‌ها

8. پیاده‌سازی Backpropagation بدون Autograd؛ ساخت یک موتور یادگیری عصبی از پایه در بخش هفتم، بازپس‌انتشار خطا را در یک شبکه چندلایه با محاسبات عددی کامل بررسی کردیم. اکنون می‌خواهیم همان روابط ریاضی را به یک برنامه عملیاتی تبدیل کنیم؛ برنامه‌ای که بتواند شبکه‌هایی با تعداد لایه‌ها و نورون‌های متفاوت

توضیحات بیشتر »
error: محتوا غیر قابل انتخاب و کپی است.