در این نوشته می خواهیم شبکه پرسپترون به شیوه ریاضی نمایش دهیم و از این رو با برخی از مفاهیم ریاضی همانند بردار (Vector) و جبر خطی (Linear Algebra) آشنا خواهید شد. هماره (معمولا) هر نورون دارای چندین ورودی هست. شکل زیر یک نورون با چند ورودی P1, P2, P3, …, Pr است که هر یال پیوند خورده به هر کدام از نورون ها دارای یکی از وزن های W1,1, W1,2, …, W1,r از ماتریس (Matrix) وزن های W است، بنابراین:

  • ورودی به گونه بردار
  • وزن ها به گونه ماتریس هستند.

همچنین خوب نگاه کنید، خواهید دید که یک ورودی دیگر با مقدار شماره 1 که همان بایاس (b) است به تابع زیگما فرستاده شده است که در پایان با مجموع حاصل ضرب های وزن ها در ورودی ها جمع می شود. این مقدار پایانی، سپس به یک تابع f به نام تابع فعال سازی فرستاده می شود.

شکل زیر نمایی دیگر از نورون و وزن ها را نشان می دهد که در آن ورودی به ریختِ (شکل) یک بلاک تو پر نشان داده شده اند. این بردار به گونه Rx1 است بدین معنی که ورودی به ریخت یک تک بردار با R درایه است. سپس این بردار Rx1 به W می رود که ماتریسی 1xR است که به معنی مارتریسی با R ستون ولی تنها با یک سطر است. همچنین ثابت b که همان بایاس است نیز به نورون وارد شده است. ورودی تابع f نیز n است که حاصل جمع بایاس با مجموع حاصل ضرب های ورودی ها در وزن ها است. خروجی نورون نیز a یک مقدار اسکالر است. توجه کنید شکل زیر و همچنین شکل، نمای یک تک نورون با چندین ورودی را نشان می دهند.

لایه های شبکه عصبی

اینکه تک نورون با چندین ورودی باشد، همیشه سودمند و کارآمد نیست، زیرا برای انجام موازی نیاز به چندین نورون داریم. در این جا است که همانند شکل زیر، لایه (Layer) در شبکه های عصبی به کار می آیند. شکل زیر تک لایه ای در برگیرنده S نورون را نشان می دهد و آشکارا می توانید ببینید که هر کدام از R ورودی به هر کدام از S نورون پیوند خورده اند. در این گونه، دیگر ماتریس دارای R ستون یک سطر نیست بلگه دارای S سطر و R ستون یا SxR است.

در شکل آشکار است که به هر نورون یک مقدار ثابت یا همان بایاس رفته است همچنین هر نورون حاصل جمع بایاس با مجموع حاصل ضرب های ورودی ها در وزن ها است. سپس این مقدار به تابع فعال ساز نورون رفته و خروجی آن برای هر نورون برابر با a خواهد بود. هر کدام از درایه های بردار ورودی P بدست (از طریق) ماتریس وزن W به هر کدام از نورون ها پیوند خورده است. هر نورون دارای یک بایاس bi و یک مجموع حاصل ضرب های ورودی ها در وزن ها، یک تابع فعال سازی f  و یک خروجی ai است. اگر فرض کنیم R شمارگان (تعداد) ورودی ها و S شمارگان نورون ها باشد، این رایج است که R با S برابر نباشد.

شکل زیر ماتریس وزن های Wi,j را نشان می دهد که در آن i شماره نورون و j برابر با j امین درایه از بردار ورودی R به نورون i است. برای نمونه W3,2 یعنی وزن ورودی به سومین نورون برای دومین شماره از بردار ورودی R است. ولی چرا i شماره نورون و j شماره ورودی است؟ زیرا ماتریس وزن ها به گونه SxR است که در آن S شمارگان (تعداد) نورون ها و R شمارگان درایه های بردار ورودی است.

شبکه عصبی چند لایه ای

برابر با شکل زیر، یک شبکه عصبی چند لایه ای را داریم که هر لایه دارای ماتریس وزن W، بردار بایاس b، بردار ورودی n و بردار خروجی a خودش است. در شکل زیر یک بردار ورودی R داریم و شمارگان نورن های یک لایه می تواند با دیگری متفاوت باشد. بردار خروجی a یک لایه، بردار ورودی لایه پَسین (بعد) خودش است. بر پایه آنچه که در لایه های شبکه های عصبی گفتیم، لایه ای که آشکارا ورودی شبکه را از بیرون دریافت می کند، لایه ورودی (Input Layer) و لایه ای که خروجی شبکه را برگشت می دهد، لایه خروجی (Output Layer) و لایه ای که میان لایه ورودی و لایه خروجی است، لایه پنهان (Hidden Layer) نامیده می شود.

سیستم های چند لایه ای در برابر شبکه تک لایه ای، کاراتر و تواناتر هستند و ما توانیم برای هر لایه، یک تابع فعال سازی جدا برگزینیم. برای نمونه در یک شبکه دو لایه ای (بدون شبکه پنهان)، برای لایه نخست تابع فعال سازی Sigmoid و برای لایه دوم، تابع فعال سازی Softmax را به کار ببریم. توجه کنید شمارگان ورودی و خروجی شبکه، بستگی به مسئله و مجموعه داده به کار رفته دارد. برای نمونه اگر مجموعه داده دارای 4 ویژگی (متغیر مستقل) باشد، پس ورودی، برداری با 4 درایه است. همچنین اگر مسئله طبقه بندی با 3 کلاس (متغیر وابسته) باشد، پس شمارِ خروجی برابر با 3 است.