معماری شبکه عصبی مورد استفاده در مثال یک شبکه عصبی پیشخور با سه لایه است: یک لایه ورودی، یک لایه پنهان و یک لایه خروجی. لایه ورودی از 784 واحد تشکیل شده است که با تعداد پیکسل های تصویر ورودی مطابقت دارد. هر واحد در لایه ورودی نشان دهنده مقدار شدت یک پیکسل در تصویر است.
لایه مخفی شامل 128 واحد است که به طور کامل به لایه ورودی متصل هستند. هر واحد در لایه پنهان، مجموع وزنی ورودیهای لایه ورودی را محاسبه میکند و یک تابع فعالسازی را برای تولید خروجی اعمال میکند. در این مثال، تابع فعال سازی استفاده شده در لایه پنهان، تابع واحد خطی اصلاح شده (ReLU) است. تابع ReLU به صورت f(x) = max(0, x) تعریف می شود که x مجموع وزنی ورودی های واحد است. تابع ReLU غیرخطی بودن شبکه را معرفی می کند و به آن اجازه می دهد تا الگوها و روابط پیچیده در داده ها را بیاموزد.
لایه خروجی از 10 واحد تشکیل شده است که هر واحد یکی از کلاس های ممکن در مسئله طبقه بندی را نشان می دهد. واحدهای موجود در لایه خروجی نیز کاملاً به واحدهای لایه پنهان متصل هستند. مشابه لایه پنهان، هر واحد در لایه خروجی مجموع وزنی ورودی های لایه پنهان را محاسبه می کند و تابع فعال سازی را اعمال می کند. در این مثال، تابع فعال سازی استفاده شده در لایه خروجی، تابع softmax است. تابع softmax مجموع وزنی ورودی ها را به یک توزیع احتمال بر روی کلاس ها تبدیل می کند، که در آن مجموع احتمالات برابر با 1 است. واحد با بالاترین احتمال، کلاس پیش بینی شده تصویر ورودی را نشان می دهد.
به طور خلاصه، معماری شبکه عصبی مورد استفاده در مثال شامل یک لایه ورودی با 784 واحد، یک لایه پنهان با 128 واحد با استفاده از تابع فعالسازی ReLU و یک لایه خروجی با 10 واحد با استفاده از تابع فعالسازی softmax است.
سایر پرسش ها و پاسخ های اخیر در مورد ساخت یک شبکه عصبی برای انجام طبقه بندی:
- آیا استفاده از تابع یادگیری ناهمزمان برای مدل های یادگیری ماشینی که در TensorFlow.js اجرا می شوند ضروری است؟
- چگونه مدل در TensorFlow.js کامپایل و آموزش داده می شود و نقش تابع از دست دادن متقابل آنتروپی طبقه بندی چیست؟
- اهمیت نرخ یادگیری و تعداد دوره ها در فرآیند یادگیری ماشین چیست؟
- چگونه داده های آموزشی به مجموعه های آموزشی و آزمایشی در TensorFlow.js تقسیم می شوند؟
- هدف TensorFlow.js در ساخت یک شبکه عصبی برای وظایف طبقه بندی چیست؟