مهدی مشایخی
مهدی مشایخی
خواندن ۷ دقیقه·۲ سال پیش

شبکه های عصبی مصنوعی - ANN - مهدی مشایخی

شبکه عصبی های مصنوعی - ANN - مهدی مشایخی
شبکه عصبی های مصنوعی - ANN - مهدی مشایخی

شبکه های عصبی مصنوعی – مقدمه

شبکه های عصبی مصنوعی (ANN) یا شبکه های عصبی الگوریتم های محاسباتی هستند.

هدف آن شبیه سازی رفتار سیستم های بیولوژیکی متشکل از "نرون ها" بود. ANN ها مدل های محاسباتی الهام گرفته شده از سیستم عصبی مرکزی حیوانات هستند. قابلیت یادگیری ماشینی و همچنین تشخیص الگو را دارد. این‌ها به‌عنوان سیستم‌هایی از نورون‌های به هم پیوسته ارائه می‌شوند که می‌توانند مقادیر را از ورودی‌ها محاسبه کنند.

شبکه عصبی یک گراف جهت دار است. این شامل گره هایی است که در قیاس بیولوژیکی نورون ها را نشان می دهند که توسط کمان به هم متصل شده اند. این مربوط به دندریت ها و سیناپس ها است. هر قوس با وزنه در هر گره همراه است. مقادیر دریافت شده به عنوان ورودی توسط گره را اعمال کنید و تابع فعال سازی را در امتداد کمان های ورودی، با وزن کمان ها تنظیم کنید.

شبکه عصبی یک الگوریتم یادگیری ماشینی است که بر اساس مدل یک نورون انسانی است. مغز انسان از میلیون ها نورون تشکیل شده است. سیگنال ها را به صورت سیگنال های الکتریکی و شیمیایی ارسال و پردازش می کند. این نورون ها با ساختار خاصی به نام سیناپس ها متصل هستند. سیناپس ها به نورون ها اجازه عبور سیگنال ها را می دهند. از تعداد زیادی از نورون های شبیه سازی شده شبکه های عصبی تشکیل می شود.

شبکه عصبی مصنوعی یک تکنیک پردازش اطلاعات است. این کار مانند روشی است که مغز انسان اطلاعات را پردازش می کند. ANN شامل تعداد زیادی واحد پردازش متصل است که برای پردازش اطلاعات با هم کار می کنند. آنها همچنین نتایج معنی داری از آن ایجاد می کنند.

ما می توانیم شبکه عصبی را نه تنها برای طبقه‌بندی اعمال کنیم. همچنین می تواند برای رگرسیون ویژگی های هدف پیوسته اعمال شود.

شبکه های عصبی کاربرد بسیار خوبی در داده کاوی مورد استفاده در بخش ها پیدا می کنند. به عنوان مثال اقتصاد، پزشکی قانونی، و غیره و برای تشخیص الگو. همچنین می‌توان از آن برای طبقه‌بندی داده‌ها در حجم زیادی از داده‌ها پس از آموزش دقیق استفاده کرد. طبق تحقیقات،  صنعت نرم‌افزار شبکه عصبی  انتظار می‌رود در دوره پیش‌بینی ۲۰۱۹-۲۰۲۶ با CAGR ۳۳٫۵ درصد رشد کند.

یک شبکه عصبی ممکن است شامل 3 لایه زیر باشد:

  • لایه ورودی – فعالیت واحدهای ورودی اطلاعات خامی را نشان می‌دهد که می‌تواند وارد شبکه شود.
  • لایه پنهان - برای تعیین فعالیت هر واحد پنهان. فعالیت‌های واحدهای ورودی و وزن‌های روی اتصالات بین ورودی و واحدهای پنهان. ممکن است یک یا چند لایه مخفی وجود داشته باشد.
  • لایه خروجی - رفتار واحدهای خروجی به فعالیت واحدهای پنهان و وزن بین واحدهای پنهان و خروجی بستگی دارد.

لایه های شبکه عصبی مصنوعی

شبکه عصبی مصنوعی معمولاً در لایه ها سازماندهی می شود. لایه ها از بسیاری از گره های به هم پیوسته تشکیل شده اند که حاوی یک "عملکرد فعال سازی" هستند. یک شبکه عصبی ممکن است شامل 3 لایه زیر باشد:

1. لایه ورودی

هدف لایه ورودی دریافت مقادیر صفات توضیحی برای هر مشاهده به عنوان ورودی است. معمولاً تعداد گره های ورودی در یک لایه ورودی برابر با تعداد متغیرهای توضیحی است. "لایه ورودی" الگوها را به شبکه ارائه می دهد که با یک یا چند "لایه پنهان" ارتباط برقرار می کند.

گره های لایه ورودی غیرفعال هستند، یعنی داده ها را تغییر نمی دهند. آنها یک مقدار واحد را در ورودی خود دریافت می کنند و مقدار را به تعداد زیادی خروجی خود کپی می کنند. از لایه ورودی، هر مقدار را کپی می کند و به تمام گره های پنهان ارسال می کند.

2. لایه پنهان

لایه های پنهان، تبدیل های داده شده را به مقادیر ورودی داخل شبکه اعمال می کنند. در این، کمان های ورودی که از گره های پنهان دیگر یا از گره های ورودی متصل به هر گره می روند. با کمان های خروجی به گره های خروجی یا سایر گره های پنهان متصل می شود. در لایه پنهان، پردازش واقعی از طریق سیستمی از "اتصالات" وزنی انجام می شود. ممکن است یک یا چند لایه مخفی وجود داشته باشد. مقادیر وارد شده به یک گره پنهان ضرب در وزن، مجموعه ای از اعداد از پیش تعیین شده ذخیره شده در برنامه. سپس ورودی های وزن دار اضافه می شوند تا یک عدد واحد تولید شود.

3. لایه خروجی

لایه های پنهان سپس به یک "لایه خروجی" پیوند می زنند. لایه خروجی اتصالات را از لایه های مخفی یا از لایه ورودی دریافت می کند. یک مقدار خروجی را برمی گرداند که با پیش بینی متغیر پاسخ مطابقت دارد. در مسائل طبقه‌بندی معمولا فقط یک گره خروجی وجود دارد. گره های فعال لایه خروجی داده ها را برای تولید مقادیر خروجی ترکیب و تغییر می دهند.

توانایی شبکه عصبی برای دستکاری داده های مفید در انتخاب مناسب وزن ها نهفته است. این با پردازش اطلاعات متعارف متفاوت است.

ساختار یک شبکه عصبی

ساختار یک شبکه عصبی به عنوان "معماری" یا "توپولوژی" آن نیز شناخته می شود. این شامل تعداد لایه ها، واحدهای ابتدایی است. همچنین از مکانیزم تنظیم وزن Interconchangend تشکیل شده است. انتخاب ساختار، نتایجی را که قرار است به دست آید، تعیین می کند. این مهم ترین بخش اجرای یک شبکه عصبی است.

ساده‌ترین ساختار ساختاری است که در آن واحدها در دو لایه توزیع می شوند: یک لایه ورودی و یک لایه خروجی. هر واحد در لایه ورودی دارای یک ورودی و یک خروجی واحد است که برابر با ورودی است. واحد خروجی دارای تمام واحدهای لایه ورودی با یک تابع ترکیبی و یک تابع انتقال است. ممکن است بیش از 1 واحد خروجی وجود داشته باشد. در این مورد، مدل حاصل یک رگرسیون خطی یا لجستیک است. این بستگی به خطی یا لجستیک بودن تابع انتقال دارد. وزن شبکه ضرایب رگرسیون است.

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

بیش از حد ممکن است رخ دهد. زمانی اتفاق می‌افتد که وزن‌ها باعث می‌شوند سیستم به جای کشف ساختارها، جزئیات مجموعه یادگیری را بیاموزد. این زمانی اتفاق می افتد که اندازه مجموعه یادگیری نسبت به پیچیدگی مدل خیلی کوچک باشد.

یک لایه پنهان وجود دارد یا نه، لایه خروجی شبکه گاهی اوقات می تواند واحدهای زیادی داشته باشد، در حالی که کلاس های زیادی برای پیش بینی وجود دارد.

مزایا و معایب شبکه های عصبی

اجازه دهید چند مزایا و معایب شبکه های عصبی را ببینیم:

  • شبکه‌های عصبی با داده‌های خطی و غیرخطی به خوبی عمل می‌کنند، اما انتقاد رایج از شبکه‌های عصبی، به‌ویژه در رباتیک، این است که برای عملیات در دنیای واقعی به آموزش متنوعی نیاز دارند. این به این دلیل است که هر ماشین یادگیری به نمونه‌های معرف کافی نیاز دارد تا بتواند ساختار زیربنایی را که به آن اجازه تعمیم به موارد جدید را می‌دهد، به تصویر بکشد.
  • شبکه‌های عصبی حتی اگر یک یا چند واحد نتوانند به شبکه پاسخ دهند، کار می‌کنند، اما برای پیاده‌سازی شبکه‌های عصبی نرم‌افزاری بزرگ و مؤثر، نیاز به منابع پردازش و ذخیره‌سازی زیادی است. در حالی که مغز سخت‌افزاری دارد که برای پردازش سیگنال‌ها از طریق نموداری از نورون‌ها طراحی شده است، شبیه‌سازی حتی ساده‌ترین شکل در فناوری فون نیومن ممکن است طراح شبکه عصبی را مجبور کند که میلیون‌ها ردیف پایگاه داده را برای اتصالات خود پر کند - که می‌تواند مقادیر زیادی از آن را مصرف کند. حافظه کامپیوتر و فضای هارد دیسک.
  • شبکه‌های عصبی از داده‌های تحلیل شده یاد می‌گیرند و نیازی به برنامه‌ریزی مجدد ندارند، اما از آنها به عنوان مدل‌های جعبه سیاه یاد می‌شود و بینش بسیار کمی در مورد آنچه این مدل‌ها واقعا انجام می‌دهند ارائه می‌دهند. کاربر فقط باید ورودی آن را تغذیه کند و آموزش ببیند و منتظر خروجی بماند.

نتیجه

شبکه‌های عصبی مصنوعی به عنوان مدل‌های ریاضی ساده برای بهبود فناوری‌های تحلیل داده‌های موجود در نظر گرفته می‌شوند. اگرچه با قدرت مغز انسان قابل قیاس نیست، اما هنوز هم بلوک اصلی ساختمان هوش مصنوعی است.




وبسایت من : اینجا کلیک کنید.

لینک حمایت مالی برای ادامه راه : اینجا کلیک کنید.

آدرس لینکدین من و جواب به سوالات شما : اینجا کلیک کنید.

آدرس توییتر من برای مشارکت در گفت و گو ها : اینجا کلیک کنید.

انجام پروژه های ماشین لرنینگ و یادگیری عمیق در تلگرام : Mashayekhi_Ai@

منبع: https://www.datasciencecentral.com/artificial-neural-network-ann-in-machine-learning/

شبکه عصبیمهدی مشایخیماشین لرنینگدیپ لرنینگ
مهدی مشایخی هستم. برنامه نویس هوش مصنوعی و پایتون در زمینه یادگیری ماشینی و عمیق. به همه کمک میکنم تا با هم رشد کنیم! من در توییتر: https://twitter.com/Mashayekhi_AI
شاید از این پست‌ها خوشتان بیاید