tgoop.com/matlabtips/1742
Last Update:
🔵فضای لگاریتمی🔵
(در فرهنگ کهن ایران «مَنه» بهمعنای نیروی اندیشه و تفکر انسان است. «منه» نخستین لایهی روان است؛ بعد از آن «دئنا» (وجدان) و «روان» (روح جاودان) قرار میگیرند.)
یکی از پرسشهای اصلی که همیشه ذهنم را موقعی که هوش مصنوعی یاد میگرفتم به خود مشغول میکرد این بود که: چرا در بسیاری از الگوریتمهای یادگیری ماشین از لگاریتم در تابع هدف استفاده میکنیم؟ اگر به پیشرفتهترین شبکههای عصبی نگاه کنیم، میبینیم کل شبکه روی یک عدد بهینه میشود؛ همان تابع خطا (Loss Function). جالب اینجاست که این تابع اساساً لگاریتمِ احتمال داده ورودی است (Log P(x)). اما چرا لگاریتم؟ این تابع چه ویژگی خاصی دارد؟
برای فهم بهتر، بیایید به نظریه اعداد برگردیم. قضیهی تجزیه به عوامل اول میگوید هر عدد طبیعی را میتوان به حاصلضرب چند عدد اول نوشت. مثلا:
125 = 5^3
یعنی برای ساختن 125 فقط به عدد اول 5 نیاز داریم. بهطور کلی هر عدد N را میتوان به شکل زیر نوشت:
N = p1^a1 * p2^a2 * ... * pk^ak
که در آن ai صفر است اگر آن عدد اول در تجزیه وجود نداشته باشد.
نکته مهم اینجاست که مجموعه اعداد اول «کوچکتر» از مجموعه کل اعداد طبیعی است، اما میتواند همه آنها را کدگذاری کند. شاید بپرسید «کوچکتر» یعنی چه؟ مگر هر دو بینهایت نیستند؟ در ریاضی میگوییم دو مجموعه بینهایت هماندازهاند اگر بتوانیم یک تناظر یکبهیک بینشان پیدا کنیم. مثلا تعداد اعداد طبیعی و تعداد اعداد زوج برابر است چون رابطه ساده y = 2x یک تناظر میسازد.
اما درباره اعداد اول چه؟ «گائوس» در ۱۴ سالگی فهمید که هرچه اعداد بزرگتر شوند، اعداد اول «پراکندهتر» میشوند. در واقع احتمال اینکه عددی نزدیک N اول باشد، حدود 1/log(N) است. این رابطهی عجیب نشان میدهد که ساختار اعداد اول با لگاریتم گره خورده است.
برای مثال 125 را میتوان با برداری از توانهای اعداد اول نمایش داد (به ترتیب: 2، 3، 5، 7 و ...):
V = (0, 0, 3, 0, …)=125
ویژگی جالب این فضا این است که ضرب اعداد معادل جمع این بردارهاست. مثلا ضرب 125 در 30 (که خودش برابر است با 2*3*5) را میتوان اینطور نوشت:
(0, 0, 3, 0, …) + (1, 1, 1, 0, …) = (1, 1, 4, 0, …)
و تنها تابعی که بهطور کلی ضرب را به جمع تبدیل میکند لگاریتم است. به همین دلیل میگوییم فضای توانهای اعداد اول در واقع همان «فضای لگاریتمی» اعداد طبیعی است و رفتاری خطی دارد!
این ایده محدود به نظریه اعداد نیست. در جهان واقعی هم اغلب یک «فضای دوگان» (dual space) یا نمایشی سادهتر وجود دارد که پدیدههای پیچیده را توصیف میکند. مثلا آنالیز فوریه نشان میدهد سیگنالهای پیچیده را میتوان با تعداد کمی فرکانس بازنمایی کرد.
ویژگی لگاریتم این است که محاسبات سخت را ساده میکند. همین بود که جداول لگاریتمی در گذشته ابزار حیاتی برای دریانوردان و دانشمندان شدند: آنها میتوانستند ضربهای بزرگ را با جمعهای ساده جایگزین کنند.
در یادگیری ماشین هم همین ایده بهکار میرود. ما لگاریتم احتمالها را حساب میکنیم تا به طول کد یک توزیع احتمال پیچیده (مثل زبان یا عکس ها) برسیم. آنگاه باید طول کد را کوتاه تر کرد. از آنجا که «کد» در فضای لگاریتمی است عملا همان پارامتر های سیستم می شود که باید به حداقل برسد). در عمل، وزنهای یک شبکه عصبی همان «کد» فشردهای هستند که کل پیچیدگی زبان، تصویر یا دادههای دیگر را ذخیره میکنند. این شبیه بدن و مغز ماست که سیل عظیم سیگنالهای شیمیایی و فیزیکی را به کدهای کوچکتر و کارآمدتر تبدیل میکنند. فضای کد ساده تر و فشرده تر است!
اما لگاریتم فقط یک ابزار محاسباتی نیست؛ بلکه راهی است که طبیعت نظم درونی خود را آشکار میکند. از قانون بقای انرژی گرفته تا پایداری حیات، همه نشانههاییاند از این اصل ساده: جهان پیچیدگیهایش را بر پایهی قوانین ساده و پایدار میسازد. در قسمت های آینده نشان می دهیم که چگونه طبیعت از دیدگاه فضای دوگان داده ها که همان فضای لگاریتمی است همه جا پدیدار می شود !
BY MatlabTips
Share with your friend now:
tgoop.com/matlabtips/1742