در مهندسی برق، الکترونیک و کامپیوتر یکی از مسائلی که این روزها بسیار مورد اهمیت قرار گرفته، پیاده سازی شبکه عصبی است.
کاربرد های زیادی نیز دارد:
بیایید ابتدا با یک مثال ساده ماهیت یک شبکه عصبی را بررسی کنیم.
فرض کنید شخصی با سفر در زمان از هزار سال پیش به سال 2020 آمده است و می خواهیم دنیای جدید را به او آموزش دهیم. یکی از این آموزش ها می تواند انواع اتومبیل باشد.
به عنوان مثال، اگر بخواهیم فرق بین اتوبوس و یک ماشین سبک را به وی آموزش دهیم، باید خصوصیاتی که در این دو اتومبیل متفاوت است را جهت آموزش انتخاب کنیم.
مثلا اگر تعداد چرخ را معیار قرار دهیم، چون در هردو تعداد چرخ ها یکسان است، نمی تواند معیار خوبی جهت آموزش باشد.
یکی از بهترین معیار ها اندازه ی اتومبیل است.
با این تعریف که به وی بگوییم: اتومبیل هایی که طول حدود 7 و عرض 3 متر دارند، اتوبوس و اتومبیلی که طول حدود 4 و عرض حدود 2 متر داشته باشد، سواری خواهد بود (البته اگر بتوانید به وی واحد متر را آموزش دهید) .
در حین آموزش، از بدشانسی ما به یک لیموزین می رسیم که طول آن بیشتر به اتوبوس می خورد و عرض آن به یک ماشین سبک!!
و چون فقط دو نوع ماشین به شخص آموزش داده شده، ممکن است در تشخیص اشتباه کند.
به همین خاطر باید تعداد معیارهای بیشتری جهت تشخیص نوع اتومبیل انتخاب کنیم.
در سخت افزار نیز همان فلسفه مثال قبل را خواهیم داشت.
با این تفاوت که اینجا FPGA آن شخصی است که از هزار سال پیش به زمان حال آمده است و مسئله آموزش هر چیزی می تواند باشد.
به عنوان مثال، فرض کنید بخواهیم رنگ های مختلف را به سخت افزار آموزش دهیم و معیار سه رنگی اصلی (RGB) قرمز سبز آبی باشد.
در مثال قبل، برای آموزش به شخص ابتدا واحد متر را آموزش دادیم و سپس معنای طول و عرض.
در اینجا نیز یکی از واحد ها میتواند لومن باشد و مفهوم سه رنگ اصلی خواهند بود.
ابتدا شبکه عصبی نیاز به آموزش دارد؛ به این معنا که باید برای شبکه تعداد زیادی مثال بزنیم.
پس از آن شبکه آموزش داده شده می تواند نوع رنگ را تشخیص دهد.
شبکه های عصبی به این مثال ها محدود نمی شود.
امروزه جهت مدل سازی مسائل کلان کشورها مانند اقتصاد، سهام، بورس، مدیریت بحران و … از شبکه عصبی استفاده می شود.