بیشینه هموار

از testwiki
پرش به ناوبری پرش به جستجو

در ریاضیات تابع بیشینهٔ هموار الگو:به انگلیسی یا تابع نمایی نرمال‌سازی‌شده الگو:به انگلیسی[۱]الگو:Rp تعمیم تابع لجستیک است. تابع بیشینهٔ هموار یک بردار K-تایی از اعداد حقیقی مانند Z را به عنوان ورودی دریافت می‌کند و بردار K-تایی σ(Z) از مقادیر حقیقی [0,1] را به عنوان خروجی می‌دهد که جمع مولفه‌های آن ۱ می‌شود. ضابطه تابع به شرح زیر است:

الگو:چپ‌چین σ(Z)j=eZjk=1KeZk for j = 1, …, K. الگو:پایان چپ‌چین

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

تابع بیشینه‌هموار در روش‌های طبقه‌بندی متعددی استفاده می‌شود؛ مانند: رگرسیون لجستیک چندجمله‌ای[۱]الگو:Rp الگو:به انگلیسی، آنالیز افتراقی خطی، دسته‌بندی کننده بیز ساده و شبکه عصبی مصنوعی.[۲] در رگرسیون لجستیک چندجمله‌ای و آنالیز افتراقی خطی، ورودی تابع، خروجی K تابع خطی است و در صورتی که بردار نمونه ورودی x و بردار وزن‌ها w باشد، احتمال پیش‌بینی شده برای کلاس jام برابر است با:

P(y=j𝐱)=e𝐱𝖳𝐰jk=1Ke𝐱𝖳𝐰k

که wj سطر jام بردار وزن‌هاست و 𝐱𝖳𝐰j هم برابر با مقدار ضرب داخلی بردارهای ورودی و بردار وزن است. در توصیف دیگری از عبارت بالا به جای ضرب داخلی، می‌توان از عملیات ترکیب توابع استفاده کرد؛ یعنی عبارت بالا به صورت ترکیب الگو:Mvar تابع خطی 𝐱𝐱𝖳𝐰1,,𝐱𝐱𝖳𝐰K و تابع بیشینه‌هموار تلقی گردد. به عبارت دیگر عملگری که با استفاده از بردار وزن تعریف شده‌است، بر روی ورودی اعمال شده و ورودی را به برداری در فضای RK انتقال می‌دهد.[۳]

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

بیان ساده

در راهنمای متلب [۴] چنین آمده است: الگو:چپ‌چین softmax(n) = exp(n)/sum(exp(n)) الگو:پایان چپ‌چین

علت نام‌گذاری

از دو منظر می‌توان علت این نام‌گذاری را بررسی کرد؛ معنی اصلی و معنی در یادگیری ماشین.

معنی اصلی

معنی دیدگاه اول این است که تابع max(x1,x2,,xn) تابعی با دامنه و برد RnR است؛ ولی این تابع پیوسته نیست و به همین دلیل نمی‌توان مشتق آن را تعریف کرد؛ بنابراین در بسیاری از کاربردها از تابع زیر:

الگو:چپ‌چین softmax(x1,x2,,xn)=log(i=1nexi) الگو:پایان چپ‌چین

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

در شکل مقابل دو تابع max(x,5) و softmax(x,5) در بازه [0,10] مقایسه شده‌اند. تابع بیشینه هموار (قرمز رنگ) تقریب مشتق پذیری از تابع بیشینه (آبی رنگ) ارائه می‌کند.

معنی در یادگیری ماشین

در یادگیری ماشین به منظور انجام طبقه‌بندی الگو:به انگلیسی از تابع بیشینهٔ هموار استفاده می‌شود. به طور مثال در صورتی که n کلاس مختلف وجود داشته باشد و الگوریتم یادگیری ماشین به طور مستقیم احتمال حضور ورودی در هر کدام از این کلاس‌ها را تولید نکند و به جای آن، برداری از n عدد حقیقی که متناظر با امتیاز قرارگیری ورودی در هر دسته است، خروجی دهد، می‌توان از تابع زیر برای تبدیل امتیازهای حقیقی به احتمال استفاده کرد؛ بدین ترتیب شرایط تعریف یک تابع جرم احتمال (قرارگیری در [0,1] و جمع احتمالات برابر با ۱) رعایت خواهد شد:

الگو:چپ‌چین (p1,,pn)=f(s1,,sn)=(es1i=1nesi,,esni=1nesi) الگو:پایان چپ‌چین که در آن p1 تا pn مقادیر مطلوب احتمال و s1 تا sn مقادیر حقیقی امتیازهای هر کلاس هستند.

حال پس از بررسی ضابطه تابع f می‌توان متوجه شد که این عبارت برابر با ضابطه تابع گرادیان بیشینهٔ هموار است.[۵] الگو:چپ‌چین f=softmax(s1,,sn) الگو:پایان چپ‌چین

مثال

اگر ورودی (5,2,3,1,2,3) باشد، مقدار تابع بیشینهٔ هموار برابر با بردارِ (0.720,0.036,0.097,0.013,0.036,0.097) خواهد بود. همان‌طور که در قسمت قبل اشاره شد، به دلیل نمایی بودن تابع بیشینهٔ هموار، مقدار خروجی متناظر با عدد بیشینه در ورودی، از خروجی بقیه اعداد به مراتب بیشتر شده‌است.

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

> softmax <- function(inp) {
+ s <- sum(exp(inp))
+ return(exp(inp)/s)
+ }
>
> inp <- c(5, 2, 3, 1, 2, 3)
> softmax(inp)
[1] 0.72017036 0.03585517 0.09746446 0.01319038 0.03585517 0.09746446

شبکه‌های عصبی مصنوعی

می‌توان از تابع بیشینهٔ هموار در لایه آخر شبکه‌های عصبی مصنوعی استفاده کرد[۶]. چنین شبکه‌های عصبی معمولاً به وسیله یک تابع اختلاف آنتروپی الگو:به انگلیسی تعلیم داده می‌شوند و یک حالت غیرخطی از تابع رگرسیون لجستیک چندجمله‌ای حاصل می‌شود.

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

الگو:چپ‌چین qkσ(q,i)==σ(q,i)(δikσ(q,k)) الگو:پایان چپ‌چین

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

یادگیری تقویتی

در حوزه یادگیری تقویتی شبیه آنچه در قسمت نام‌گذاری گفته شد، از تابع بیشینهٔ هموار می‌توان برای تبدیل مقادیر به احتمال کنش استفاده کرد.[۷]

ضابطه تابعی که به طور متداول استفاده می‌شود برابر است با:

الگو:چپ‌چین Pt(a)=exp(qt(a)/τ)i=1nexp(qt(i)/τ), الگو:پایان چپ‌چین

که در این تابع مقدار کنش qt(a) متناظر است با امتیاز پیش‌بینی شدهٔ آن عمل a و از τ نیز به عنوان پارامتر دما یاد می‌شود (با اشاره به مکانیک آماری). برای دماهای بالا (τ) تقریباً همه کنش‌ها احتمال یکسانی دارند و هرچه دما پایین‌تر باشد، مقدار پیش‌بینی شدهٔ تأثیر جایزه بر احتمال بیشتر است. در دمای کم (τ0+) احتمال مربوط به کنشی که بیشترین امتیاز نسبت به سایر کنش‌ها را دارد، به ۱ میل می‌کند.

نرمال‌سازی بیشینهٔ هموار

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

داده‌ها به صورت غیرخطی به وسیله یکی از توابع سیگموید انتقال داده می‌شوند:

تابع سیگموید لجستیک:[۸]

xi11+e(xiμi)/σi

تابع تابع_هذلولوی، tanh:[۸]

xi1e(xiμi)/σi1+e(xiμi)/σi

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

تابع تانژانت هذلولوی مقادیر ورودی را به بازی -۱ تا ۱ نگاشت می‌کند. این تابع در نزدیک میانگین تقریباً خطی است ولی شیبی تقریباً برابر با نصف شیب تابع سیگموید دارد. مانند تابع سیگموید، این تابع در همه نقاط برد مشتق پذیر است و جهت شیب آن توسط نرمال‌سازی تأثیری نمی‌بیند. این خاصیت به الگوریتم‌های عددی و الگوریتم‌های بهینه‌سازی اطمینان می‌دهد که تغییر مشتق تابع پس از نرمال‌سازی روند مشابهی با داده‌های اولیه (پیش از نرمال‌سازی) دارد.

ارتباط آن با توزیع بولتسمان

احتمال یافتن یک اتم در سطح انرژی کوانتومی εi هنگامی که این اتم جزئی از یک گروه باشد که آن گروه به تعادل دمایی در دمای T رسیده‌است، برابر با مقدار تابع بیشینهٔ هموار است که از آن به عنوان توزیع بولتسمان یاد می‌شود. مقدار متوسط اشتغال شدن هر سطح برابر با eεi/kBT است و این مقدار نرمال‌سازی شده تا جمع انرژی ۱ شود. در چنین محیطی، ورودی تابع بیشینهٔ هموار مقدارِ منفیِ انرژی هر سطح کوانتومی تقسیم بر kBT است.

منابع

الگو:پانویس الگو:چپ‌چین الگو:پایان چپ‌چین