Make Your Own Neural Network
کتاب Make Your Own Neural Network (شبکه عصبی خودتان را بسازید)، برای هر کسی است که میخواهد بفهمد که شبکه عصبی چیست، شبکه عصبی خودش را بسازد و از آن استفاده کند. همچنین این کتاب برای هر کسی است که میخواهد از ایدههای ریاضی نسبتا ساده ولی هیجان انگیزی قدردانی کند که اساس نحوهی کار شبکه عصبی بر آنها استوار است. این راهنما برای متخصصان ریاضیات یا علوم کامپیوتر طراحی نشده است؛ بنابر این شما نیازی به دانش خاصی یا توانایی ریاضی فراتر از ریاضیات مدرسه نخواهید داشت. اگر میتوانید جمع، ضرب، تفریق و تقسیم کنید، پس میتوانید شبکه عصبی خود را بسازید. سختترین چیزی که ما استفاده میکنیم محاسبه گرادیان است؛ اما حتی این مفهوم نیز توضیح داده میشود تا خوانندگان بتوانند تا جای ممکن آن را درک کنند.
در این کتاب، ما سفری را برای ایجاد یک شبکه عصبی آغاز میکنیم که بتواند اعداد دست نویس انسان را تشخیص دهد. ما با نورونهای پیش بینی بسیار ساده شروع میکنیم و زمانی که به محدودیتهای آنها رسیدیم، به تدریج آنها را بهبود میبخشیم. در طول مسیر، ما برای یادگیری چند مفهوم ریاضی که برای درک نحوهی یادگیری و پیش بینی راه حلهای مشکلات شبکههای عصبی ضروری هستند، توقفهای کوتاهی انجام میدهیم. ما ایدههای ریاضی مانند توابع، طبقه بندی کنندههای خطی ساده، اصلاح تکرار شونده، ضرب ماتریس، محاسبه گرادیان، بهینه سازی از طریق نزول گرادیان و حتی چرخشهای هندسی را بررسی خواهیم کرد. اما همه اینها به روشی واقعا واضح توضیح داده خواهند شد و مطلقاً هیچ دانش یا تخصص قبلی فراتر از ریاضیات ساده مدرسه نیاز نخواهد بود.
هنگامی که اولین شبکه عصبی خود را با موفقیت ایجاد کردیم، ایده میگیریم و با آن در مسیرهای مختلف کار میکنیم. به عنوان مثال، ما از پردازش تصویر برای بهبود یادگیری ماشین خود بدون توسل به دادههای آموزشی اضافی استفاده میکنیم. ما حتی به ذهن یک شبکه عصبی نگاهی میاندازیم تا ببینیم آیا چیزهای روشنی را نشان میدهد یا خیر؛ چیزی که بسیاری از راهنماها به شما نشان نمیدهند که چگونه انجام دهید! ما همچنین همانطور که شبکه عصبی خودمان را در مراحل تدریجی ایجاد میکنیم پایتون را یاد میگیریم که یک زبان برنامه نویسی آسان، مفید و محبوب است. باز هم تکرار میکنم که داشتن هیچ تجربه قبلی برنامه نویسی فرض نشده و نیاز نیست.
کتاب Make Your Own Neural Network (شبکه عصبی خود را بسازید) به سه بخش تقسیم میشود:
- در بخش 1، ما به آرامی وارد ایدههای ریاضی در شبکههای عصبی ساده میشویم. ما عمداً هیچ برنامه نویسی کامپیوتری را معرفی نمیکنیم تا از ایدههای اصلی منحرف نشویم.
- در بخش 2، ما فقط به اندازه کافی پایتون را یاد خواهیم گرفت تا شبکه عصبی خودمان را پیاده سازی کنیم. ما آن را آموزش میدهیم تا اعداد دست نویس انسان را تشخیص دهد و عملکرد آن را آزمایش میکنیم.
- در بخش 3، ما برای سرگرمی، فراتر از آنچه که برای درک شبکههای عصبی ساده لازم است میرویم. ما ایده هایی را برای بهبود بیشتر عملکرد شبکه عصبی خود امتحان میکنیم و همچنین در داخل یک شبکه آموزش دیده نگاهی خواهیم انداخت تا ببینیم آیا میتوانیم آنچه را که آموخته است درک کنیم و چگونه در مورد پاسخهای خود تصمیم میگیرد.