شبکه‌ی عصبی مصنوعی فراتر از مغز انسان؟!

معرفی شبکه‌های عصبی

معرفی شبکه‌های عصبی

شبکه‌های عصبی مصنوعی، شاخه‌ای از هوش مصنوعی است که امروزه کاربردهای فراوانی در حوزه‌های مختلف از جمله پیش بینی، داده‌کاوی، پردازش تصویر، علوم پزشکی و مهندسی، اقتصاد و …دارند. شبکه عصبی، بنای علم یادگیری عمیق(Deep Learnig) است و یادگیری عمیق هم خود، پایه و اساس یادگیری ماشین(Machine Learning). همه این مفاهیم با هم، علمِ هوش مصنوعی را تشکیل می‌دهند.

شبکه‌ عصبی مصنوعی چیست؟

شبکه‌های عصبی مصنوعی(Artificial Neural Network)، که معمولاً شبکه‌های عصبی(Neural Network) نامیده می‌شوند، سیستم‌های محاسباتی هستند که از شبکه‌های عصبی بیولوژیکی مغز انسان و حیوان الهام گرفته شده‌اند. هدف از به کارگیری شبکه عصبی این است که بتوان قابلیت‌های مغز انسان، از جمله یادگیری، حفظ کردن و ایجاد ارتباط بین داده‌ها را شبیه سازی کرده و برای حل مسائل پیچیده استفاده کرد.

شبکه مغز انسان و حیوان تشکیل شده از میلیون‌ها سلول عصبی به نام “نورون”(Neuron) و مسیرهای ارتباطی بین آن‌ها به نام “سیناپس” (Synapse)است که پیام‌ها را از نورونی به نورون دیگر منتقل می‌کنند.

 

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

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

به نورون‌ها و سیناپس‌ها معمولاً عددی حقیقی نسبت داده می‌شود که “وزن”(Weight) نام دارند. این اعداد در ابتدا به صورت تصادفی مقداردهی می‌شوند و سپس با پیشرفت یادگیری تنظیم می شوند.

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

به تابعی که خروجی نورون را با استفاده از مجموعه ورودی‌های آن محاسبه می‌کند “تابع فعالسازی”(Activation Function) می‌گویند. تابع فعالسازی فعالیت(روشن) یا عدم فعالیت(خاموش) نورون را مشخص می‌کند.

“بایاس”(Bias) مقداری حقیقی است که تابع فعال‌سازی برای بهبود عملکرد شبکه عصبی، به ورودی خود اضافه می‌کند.

لایه ها در شبکه عصبی
لایه‌ها در شبکه عصبی

معرفی لایه‌ها در شبکه عصبی

شبکه های عصبی از ۳ لایه تشکیل می‌شوند. لایه ورودی، پنهان و خروجی  که به ترتیب وظیفه دریافت داده‌ها، پردازش و تحویل خروجی را برعهده دارند

لایه ورودی: یک بردار است که تعداد مولفه‌های آن، تعداد نورون‌های ورودی هستند.

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

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

آموزش شبکه عصبی مصنوعی

شبکه‌های عصبی با پردازش نمونه‌های آموزشی که “ورودی”(Input) و “نتیجه”(Output) در آن‌ها مشخص است آموزش می‌بینند و ارتباطات وزنی میان این دو را تشکیل می دهند تا در ساختار داده‌های شبکه خود ذخیره کنند.

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

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

به عنوان مثال، در تشخیص تصویر، شبکه‌ها یاد می‌گیرند که با تجزیه و تحلیل نمونه‌هایی از تصاویر که به صورت دستی با برچسب “گربه” یا “بدون گربه” برچسب گذاری شده‌اند تصاویر حاوی گربه‌ها را شناسایی کنند.

 

 

برخی از انواع شبکه‌های عصبی مصنوعی

 

شبکه عصبی FeedForward(پیش‌خورد)

۱) شبکه‌های عصبی FeedForward (پیش خورد)

شبکه عصبی feedforward یک شبکه عصبی مصنوعی است که در آن سیناپس‌ها بین نورون‌ها چرخه یا دور ایجاد نمی کنند.

شبکه عصبی feedforward اولین و ساده ترین نوع شبکه عصبی مصنوعی بود که ابداع شد. در این شبکه، اطلاعات از نورون‌های ورودی، از طریق نورون‌های لایه‌های پنهان (در صورت وجود)  به نورون‌های خروجی فقط در  جهت  جلو حرکت می کنند. هیچ چرخه یا حلقه‌ای در این شبکه وجود ندارد.

۱-۱) شبکه تک لایه‌ی پرسپترون (Single-Layer Perceptron)

ساده ترین نوع شبکه عصبی، شبکه تک لایه‌ی پرسپترون است که از یک لایه نورون خروجی تشکیل شده‌است. ورودی‌های شبکه از طریق وزن‌ها و مقادیر بایاس پردازش شده و به نورون‌های خروجی ارسال می‌شوند. در این مرحله مقادیر محاسبه شده به تابع فعال‌سازی داده می‌شود. اگر مقدار محاسبه شده بالاتر از مقدار آستانه باشد (به طور معمول ۰) تابع فعال‌سازی نورون را روشن می کند و مقدار فعال شده را می گیرد (معمولا ۱). در غیر این صورت مقدار غیرفعال را می گیرد (معمولا -۱).

۱-۲) شبکه‌های چند لایه‌ی پرسپترون (Multi-layer Perceptron)

این کلاس از شبکه‌ها از چندین لایه واحد محاسباتی تشکیل شده است که معمولاً به صورت feedforward بهم متصل می شوند. هر نورون در یک لایه اتصال خود را به نورون‌های لایه بعدی هدایت می‌کند. شبکه‌های چند لایه از انواع تکنیک‌های یادگیری استفاده می کنند که معروف‌ترین آنها پس‌انتشار(Backpropagation) است. در این تکنیک، مقادیر خروجی با پاسخ صحیح مقایسه می‌شوند تا مقدار تابع خطای از پیش تعریف شده محاسبه شود.

۱-۳) برخی دیگر از شبکه‌های feedforward

به طور کلی ، هر گراف جهت‌دار بدون دور می‌تواند به عنوان یک شبکه عصبی feedforward در نظر گرفته شود. نورون‌های بدون والدین به عنوان ورودی و نورون‌های بدون فرزند به عنوان خروجی تعیین می‌شوند. این مدل را می‌توان به عنوان شبکه های چند لایه مشاهده کرد که بعضی از یال‌ها از لایه ها عبور نمی‌کنند ، یا لایه‌ها را از ورودی‌ها به عقب می‌شمارند یا از ورودی‌ها به جلو می‌شمارند. مانند شبکه‌های عصبی پیچیده CNN) Convolutional Neural Network).

۲) شبکه‌های عصبی Recurrent Neural Network (بازگشتی)

 

شبکه عصبی بازگشتی(a) شبکه عصبی پیش‌ خورد(b)

شبکه عصبی بازگشتی (RNN) دسته ای از شبکه‌های عصبی مصنوعی است که در آن اتصالات بین نورون‌ها در امتداد یک توالی زمانی می‌باشد. منظور از توالی زمانی، داده‌هایی است که با گذر زمان انتقال می‌یابند. مثل  قیمت سهام‌ها، اطلاعات ثبت شده از حس‌گرها و سوابق پزشکی  که همگی با جلو رفتن زمان تغییر می‌کنند. RNN ها از شبکه‌های عصبی feedforward مشتق شده اند. از(RNN) در حوزه هایی مانند پردازش زبان طبیعی و تشخیص گفتار استفاده می‌کنیم.

… و اما

با توجه به کاربرد‌های روز افزون شبکه‌های عصبی تلاش‌های بسیاری در راستای رفع نواقص این شبکه‌ها انجام شده است . یکی از دلایلی که باعث محدود شدن کاربرد شبکه‌های عصبی می شود مرحله آموزش می باشد . برای آموزش شبکه های عصبی همواره نیاز به گروه بزرگی از اطلاعات ورودی می باشد . در

عین حال تنظیم پارامتر های آموزش شبکه کاری بسیار دشوار بوده و نیاز به تجربه و زمان دارد.

 

به اشتراک بگذارید:

Share on email
Share on twitter
Share on linkedin
Share on telegram
Share on whatsapp
دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دسته‌بندی نشده
سید محمد مومنی

هوش مصنوعی اسپاتیفای

در این نوشته بررسی می‌کنیم که اسپاتیفای چگونه از هوش مصنوعی و یادگیری ماشین در بهبود تجربه کاربرانش استفاده می‌کند.

معرفی شبکه‌های عصبی
آموزشی
مهدیه صفرپور

شبکه‌ی عصبی مصنوعی فراتر از مغز انسان؟!

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