تکلیف

بازشناسی ارقام دست‌نویس (۰ تا ۹) با یک شبکه عصبی مصنوعی. در ابتدا هیچ فریم‌ورکی — فقط ریاضیات خام انتشار پیشرو و پسرو.

چه ساختم

  • یک شبکه پیش‌خور با یک لایه ورودی از پیکسل‌های تصویر، یک لایه پنهان با فعال‌سازی غیرخطی و یک لایه خروجی softmax روی ده کلاس.
  • آموزش با نزول گرادیان با استفاده از انتشار پسرو و تابع زیان cross-entropy.
  • یک فریم‌ورک ارزیابی کوچک برای گزارش دقت و ماتریس درهم‌ریختگی روی مجموعه آزمون.

این پروژه چه چیزی را برای من روشن کرد

برای من ارزش هرگز در مدل نبود — بلکه در کنار زدن فریم‌ورک و دیدن ریاضیات بود:

  1. گذر پیشرو — ضرب ماتریس، فعال‌سازی و softmax که لاجیت‌ها را به احتمال تبدیل می‌کند.
  2. گذر پسرو — قاعده زنجیره‌ای که لایه‌به‌لایه اعمال می‌شود و هر وزن را بر اساس سهمش در خطا به‌روزرسانی می‌کند.
  3. چشم‌انداز زیان — تماشای کاهش زیان آموزش در طول دوره‌ها، نزول گرادیان را به شکلی ملموس‌تر از هر نمودار نشان داد.

پس از اصول

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