شبکه عصبی مصنوعی، یا به اختصار شبکه عصبی، ایدهای جدید نیست. این مفهوم حدود 80 سال پیش معرفی شده است. اما سال 2011، زمانی که شبکههای عصبی عمیق با استفاده از تکنیکهای جدید، دسترسی به دادههای وسیع و رایانههای قدرتمند محبوب شدند، این ایده به طور گستردهای شناخته شد.
نورون ها در شبکه عصبی مصنوعی
یک شبکه عصبی عملکرد یک نورون را شبیهسازی میکند که شامل دندریتها، هسته، آکسون و آکسون انتهایی است.
برای یک شبکه، به دو نورون نیاز داریم. این نورونها اطلاعات را از طریق سیناپس میان دندریتهای یک نورون و آکسون انتهایی نورون دیگر منتقل میکنند.
یک مدل احتمالی از یک نورون مصنوعی به شکل زیر است:
ساختار شبکه عصبی مصنوعی
یک شبکه عصبی به صورت زیر خواهد بود:
دایرهها نمایانگر نورونها یا گرهها هستند که عملکرد آنها بر دادهها را نشان میدهند و خطوط/لبههایی که آنها را به هم متصل میکنند، وزنها/اطلاعاتی هستند که منتقل میشوند.
هر ستون یک لایه است. اولین لایه دادههای شما لایه ورودی است. سپس، تمام لایههای بین لایه ورودی و لایه خروجی لایههای پنهان هستند.
اگر یک یا چند لایه پنهان داشته باشید، یک شبکه عصبی سطحی دارید. اگر لایههای پنهان زیادی داشته باشید، یک شبکه عصبی عمیق دارید.
در این مدل، شما دادههای ورودی دارید، آنها را وزندهی میکنید و از طریق تابعی که در نورون به نام تابع آستانه یا تابع فعالسازی وجود دارد، عبور میدهید.
در واقع، این جمع تمام مقادیر است که پس از مقایسه با یک مقدار مشخص بهدست میآید. اگر سیگنالی ارسال شود، نتیجه (1) است و اگر هیچ چیزی ارسال نشود، نتیجه (0) خواهد بود. سپس این مقدار وزندهی شده و به نورون بعدی منتقل میشود و همان نوع تابع در آنجا اجرا میشود.
ما میتوانیم از تابع سیگموید (شکل S) بهعنوان تابع فعالسازی استفاده کنیم.
در مورد وزنها، این وزنها در ابتدا تصادفی هستند و برای هر ورودی به گره/نورون منحصر به فردند.
در یک “پیشرو تغذیه” معمولی، سادهترین نوع شبکه عصبی، اطلاعات شما بهطور مستقیم از طریق شبکهای که ایجاد کردهاید عبور میکند و خروجی را با آنچه که امیدوار بودید خروجی باشد، با استفاده از دادههای نمونه مقایسه میکنید.
از اینجا باید وزنها را تنظیم کنید تا خروجی شما با خروجی مطلوب شما همخوانی پیدا کند.
عمل ارسال دادهها بهطور مستقیم از طریق یک شبکه عصبی به آن شبکه عصبی پیشرو گفته میشود.
دادههای ما از ورودی به لایهها به ترتیب عبور کرده و سپس به خروجی میرسند.
بهینهسازی در شبکه عصبی مصنوعی
زمانی که به عقب میرویم و شروع به تنظیم وزنها برای کمینهسازی ضرر/هزینه میکنیم، به این فرایند انتشار بازگشتی (back propagation) گفته میشود.
این یک مسئله بهینهسازی است. در عمل با شبکه عصبی، ما باید با صدها هزار متغیر، یا میلیونها متغیر و حتی بیشتر مواجه شویم.
اولین راهحل استفاده از روش نزول گرادیان تصادفی بهعنوان روش بهینهسازی بود. اکنون گزینههایی مانند AdaGrad، Adam Optimizer و غیره وجود دارند. بههرحال، این یک عملیات محاسباتی عظیم است. به همین دلیل بود که شبکههای عصبی بیش از نیم قرن روی پیشخوان باقی ماندند. تنها اخیراً بود که ما قدرت و معماری لازم را در ماشینهایمان داشتیم که حتی بتوانیم این عملیات را انجام دهیم و دادههای اندازهگیری شده بهدرستی متناسب با آن داشته باشیم.
کاربردهای شبکه عصبی مصنوعی
برای وظایف ساده دستهبندی، عملکرد شبکه عصبی نسبتاً به سایر الگوریتمهای ساده مانند K نزدیکترین همسایهها نزدیک است. کاربرد واقعی شبکههای عصبی زمانی نمایان میشود که دادههای بسیار بزرگتر و سؤالات پیچیدهتری داشته باشیم، که هر دو این موارد از مدلهای دیگر یادگیری ماشین عملکرد بهتری دارند.
اگر به دنبال یادگیری مفاهیم شبکه عصبی مصنوعی و یادگیری عمیق با استفاده از پایتون هستید، دوره آموزش پایتون میتواند شما را در این مسیر یاری کند.
راستی! برای دریافت مطالب جدید در کانال تلگرام یا پیج اینستاگرام سورس باران عضو شوید.
- انتشار: ۱ شهریور ۱۴۰۴
دسته بندی موضوعات
- آموزش ارز دیجیتال
- آموزش برنامه نویسی
- آموزش متنی برنامه نویسی
- اطلاعیه و سایر مطالب
- پروژه برنامه نویسی
- دوره های تخصصی برنامه نویسی
- رپورتاژ
- فیلم های آموزشی
- ++C
- ADO.NET
- Adobe Flash
- Ajax
- AngularJS
- apache
- ARM
- Asp.Net
- ASP.NET MVC
- AVR
- Bootstrap
- CCNA
- CCNP
- CMD
- CSS
- Dreameaver
- EntityFramework
- HTML
- IOS
- jquery
- Linq
- Mysql
- Oracle
- PHP
- PHPMyAdmin
- Rational Rose
- silver light
- SQL Server
- Stimulsoft Reports
- Telerik
- UML
- VB.NET&VB6
- WPF
- Xml
- آموزش های پروژه محور
- اتوکد
- الگوریتم تقریبی
- امنیت
- اندروید
- اندروید استودیو
- بک ترک
- بیسیک فور اندروید
- پایتون
- جاوا
- جاوا اسکریپت
- جوملا
- دلفی
- دوره آموزش Go
- دوره های رایگان پیشنهادی
- زامارین
- سئو
- ساخت CMS
- سی شارپ
- شبکه و مجازی سازی
- طراحی الگوریتم
- طراحی بازی
- طراحی وب
- فتوشاپ
- فریم ورک codeigniter
- فلاتر
- کانستراکت
- کریستال ریپورت
- لاراول
- معماری کامپیوتر
- مهندسی اینترنت
- هوش مصنوعی
- یونیتی
- کتاب های آموزشی
- Android
- ASP.NET
- AVR
- LINQ
- php
- Workflow
- اچ تی ام ال
- بانک اطلاعاتی
- برنامه نویسی سوکت
- برنامه نویسی موبایل
- پاسکال
- پایان نامه
- پایتون
- جاوا
- جاوا اسکریپت
- جی کوئری
- داده کاوی
- دلفی
- رباتیک
- سئو
- سایر کتاب ها
- سخت افزار
- سی اس اس
- سی پلاس پلاس
- سی شارپ
- طراحی الگوریتم
- فتوشاپ
- مقاله
- مهندسی نرم افزار
- هک و امنیت
- هوش مصنوعی
- ویژوال بیسیک
- نرم افزار و ابزار برنامه نویسی
- وردپرس