شبکه های عصبی و اعداد فیبوناچی

ساخت وبلاگ

خوب ، ریاضیات زیبا و شاید بهترین ابزار موجود در Dispense برای بیان الگوهای موجود در طبیعت است. تعداد ویژه ای به شکل یک نسبت اغلب در طبیعت به نظر می رسد و خواص آن دارای نسل های بهترین ذهن است که درگیر مفهوم و اکتشاف هستند.

خوب ، این کسی نیست جز نسبت طلایی !! از نظر ریاضی به سادگی به عنوان تعدادی به دست آمده با تقسیم قسمت طولانی تر توسط قسمت کوچکتر از یک قطعه خط برابر با نسبت جمع این دو قسمت داده شده به مؤلفه طولانی تر تعریف می شود.

این نماد PHI (φ) است. این تعداد را می توان در کل طبیعت و در طول تاریخ زمان مشاهده کرد. از نظر تاریخی ، از معماری های مصری تا یونانی و از "نسبت الهی" لئوناردو گرفته تا اثر هنری سالوادور دالی این نسبت از آن زمان تاکنون دوباره اتفاق افتاده است. یک نام ریاضیدان Fibonacci این سری را در حدود 1200 با خاصیت منحصر به فرد از یک اصطلاح قابل بیان به عنوان مجموع دو اصطلاح قبلی در دنباله کشف کرد. این دنباله همچنین دارای خاصیت ویژه ای است که آن را به نسبت طلایی مربوط می کند. نسبت دو اصطلاح پی در پی در این دنباله به نسبت طلایی تقریب می یابد و هرچه اصطلاحات بالاتر می روند ، ارزش به نسبت طلایی نزدیک می شود!

مقدمه: اعداد فیبوناچی در شبکه های عصبی

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

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

بیایید اولیه کنیم: کدگذاری وزن فیبوناچی

پس از آزمایش مکرر با شماره های مختلف فیبوناچی و ترتیبات در ماتریس وزن از این سری. ما با لیستی از شماره های زیر [0 ، 1 ، 2 ، 3 ، 5 ، 8 ، 13 ، 21 ، 34 ، 55 ، 89 ، 144 ، 233 ، 377 ، 610] به 0. 001 بار رسیدیم که به طور تصادفی در آن مرتب شده اندماتریس وزن برای به دست آوردن دقت بهتر. در اینجا ، در زیر شکل برای تجسم در ماتریس وزن 784x100 که پیکسل های تصویر ورودی را به واحدهای پنهان اندازه 100 نقشه می کند ، مراجعه کنید.

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

به همان روش ما کد را برای ماتریس تعصب "B" با اولیه سازی مبتنی بر فیبوناچی طراحی کرده ایم. پس از آزمایش مکرر ، ما با مقادیر زیر [5 ، 8 ، 13 ، 21 ، 34 ، 55] برای به دست آوردن دقت بهتر برای بردار تعصب به 0. 01 رسیدیم. در زیر ، یک قطعه کد مشابه است که اندازه بردار را به عنوان ورودی می گیرد و بردار اولیه Fibonacci را به عنوان خروجی باز می گرداند.

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

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

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

بیایید مقایسه کنیم: شبکه های ما را در MNIST اجرا کنید

در آزمایش خود ما یک شبکه عصبی به جلو را با 300 ورودی واحد پنهان از یک لایه پنهان تنها آموزش دادیم و از آنتروپی متقاطع به عنوان عملکرد هزینه ما برای این مدل استفاده کرده ایم. برای کد مربوط به مدل های آموزش ، اسکریپت های ابزار طرح به مخزن GitHub مراجعه می کنند. با این آزمایشات می خواهیم رفتار عملکرد از دست دادن مدل آموزش داده شده را مقایسه و مشاهده کنیم. این که آیا عملکرد ضرر واقعاً سریعتر همگرا شده است ، همانطور که توسط مطالعه قبلی ادعا شده است و صحت هر دو اولیه استفاده شده است. آیا دقت برای ارزش پایین تر عملکرد از دست دادن واقعاً بهبود یافته است یا خیر؟برای منحنی مقایسه عملکرد هزینه برای هر دو intialization به زیر مراجعه کنید.

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

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

اولیه سازی تصادفی از شبکه عصبی اولیه فیبوناچی ما با درصد کسری کوچک 0. 33 ٪ بهتر عمل می کند. اما ، اولیه سازی فیبوناچی هنوز هم با توجه به واریانس وزن اولیه فیبوناچی ، کمتر از آزمایش های بیشتر در پایان ما در پایان ما به پایان رسید. از این رو ، طبق نتایج ما ، ما نتایج همگرایی عملکرد هزینه بهتری را در مجموعه آموزش خود به دست آوردیم آشنایی با رمزارزها...

ما را در سایت آشنایی با رمزارزها دنبال می کنید

برچسب : نویسنده : بهاءالدین خرمشاهی بازدید : <-PostHit-> تاريخ : جمعه 4 فروردين 1402 ساعت: 13:26