شبکه های عصبی مصنوعی (ANN)

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

تفاوت مغز واقعی و شبکه‌های عصبی مصنوعی :

اما این شبکه‌ی عصبی، مغز نیست. در نظر داشتن این نکته مهم است که شبکه‌های عصبی عموما شبیه‌سازهای نرم‌افزاری هستند که با برنامه‌نویسی برای کامپیوترهای بسیار ساده و پیش‌پاافتاده راه می‌افتند و با روش‌های قبلی خود و با استفاده‌ از ترانزیستورها و دروازه‌های منطقی خود کار می‌کنند تا به‌مانند میلیاردها سلول مغزی متصل و موازی رفتار کنند. هیچ‌کس تا به‌ حال حتی تلاش هم نکرده است تا کامپیوتری بسازد که با ترانزیستورهایی با ساختار موازی مانند مغز انسان کار کند. به‌عبارت دیگر تفاوت شبکه‌ی عصبی با مغز مانند تفاوت مدل کامپیوتری آب‌وهوا با ابر، برف، و هوای آفتابی درواقعیت است. شبیه‌سازی کامپیوتر تنها مجموعه‌ای از متغیرهای جبری و معادلات ریاضی است که آن‌ها را به‌هم متصل می‌کند (اعداد ذخیره‌شده در جعبه‌هایی که مقادیر آن‌ها دائما درحال تغییر است). این شبیه‌سازی‌ها برای کامپیوترها هیچ معنایی ندارد و تنها برای افرادی که برنامه‌ آن‌ها را می‌نویسند بامعنا است.
طراحی های مبتنی بر سخت افزار
در CMOS، دستگاه های محاسباتی هم برای شبیه سازی های زیست فیزیکی و هم محاسبات نوروموفیک ساخته شدند. نانودستگاه ها برای پیچش و تحلیل مولفه های اصلی با مقیاس خیلی بزرگ می توانند کلاس جدیدی از محاسبات عصبی را ایجاد کنند زیرا این دستگاه ها اساساً آنالوگ هستند و نه دیجیتال (گرچه اولین پیاده سازی ها ممکن است از دستگاه های دیجیتال استفاده کنند). سیرزان (Ciresan) و همکاران او (2010) در گروه اشمیدهوبر نشان دادند که علی رغم وجود مسئله گرادیان صفرشونده، GPU ها پس نشر را برای شبکه های عصبی پیش نگر پُر لایه، امکان پذیر می کنند.

کارکرد :


با استفاده از دانش برنامه‌نویسی رایانه می‌توان ساختار داده‌ای طراحی کرد که همانند یک نورون عمل نماید. سپس با ایجاد شبکه‌ای از این نورون‌های مصنوعی به هم پیوسته، ایجاد یک الگوریتم آموزشی برای شبکه و اعمال این الگوریتم به شبکه آن را آموزش داد.
این شبکه‌ها برای تخمین و تقریب، کارایی بسیار بالایی از خود نشان داده‌اند. گستره کاربرد این مدل‌های ریاضی بر گرفته از عملکرد مغز انسان، بسیار وسیع می‌باشد که به عنوان چند نمونه کوچک می‌توان استفاده از این ابزار ریاضی در پردازش سیگنال‌های بیولوژیکی، مخابراتی و الکترونیکی تا کمک در نجوم و فضانوردی را نام برد.
اگر یک شبکه را هم‌ارز با یک گراف بدانیم، فرایند آموزش شبکه تعیین نمودن وزن هر یال و base اولیهٔ خواهد بود.
شبکه های پیچشی (Convolutional networks)
از سال 2011 به بعد، شبکه های مدرنِ پیش نگرِ یادگیریِ عمیق، لایه های پیچشی را با لایه های حداکثر تجمع جابه جا کرده اند، که بالای آنها چند لایه با اتصال کامل یا تُنُک، و در فوقانی ترین سطح یک لایه دسته بندی قرار می گیرد. یادگیری معمولاً بدون پیش-آموزش نظارت نشده انجام می شود.
این روش های یادگیری عمیق نظارت شده، اولین هایی بودند که در برخی فعالیت ها عملکردی قابلیت رقابت با انسان داشتند.
ANN ها برای کنترل اشیاء طبیعی کوچک و بزرگ در صحنه های بهم ریخته و شلوغ، قادر به تضمین ناوردایی جا به جایی (shift invariance) بودند، و تنها هنگامی که گسترش ناوردایی از جابه جایی فراتر می رفت، برای کنترل تمام مفاهیم ANN یادگیری شده از قبیل مکان، نوع (برچسب کلاس شیء)، مقیاس، نورپردزی و غیره این کار را انجام می دادند.

ترکیب شبکه عصبی و الگوریتم ازدحام ذرات PSO :

ایده ترکیب شبکه های عصبی با الگوریتم ازدحام ذرات PSO، بسیار کارا، ساده و نیز مهم می باشد. همانگونه که می دانید آموزش شبکه های عصبی در نهایت به یک مسئله بهینه سازی ختم می شود. اینجاست که الگوریتم ازدحام ذرات PSO، به عنوان یک روش کارامد، وارد بازی می شود و می تواند به ما در یادگیری و تعیین وزن های شبکه عصبی کمک کند.

یک شبکه عصبی متشکل‌ از چه‌ چیزهایی است :

یک شبکه عصبی معمولی ده‌ها، صدها،َ هزاران یا حتی میلیون‌ها نورون مصنوعی به‌ نام واحد دارد که در مجموعه‌ای از لایه‌ها قرارگرفته‌اند که در هرطرف با بقیه لایه‌ها به‌هم متصل‌اند. برخی‌ از آن‌ها با نام واحد‌های ورودی شناخته می‌شوند. این واحدها برای دریافت شکل‌های مختلف اطلاعات از دنیای خارجی که شبکه سعی در یادگیری، شناسایی و پردازش آن‌ها دارد، طراحی شده‌اند. سایر واحدها که واحد‌های خروجی نامیده می‌شوند، در طرف مخالف شبکه قرار دارند و چگونگی واکنش شبکه به اطلاعات یادگرفته‌شده را مشخص و بررسی می‌کنند. درمیان واحدهای ورودی و خروجی، واحد‌های مخفی وجود دارند که به‌ همراه این واحدها، اکثریت مغز مصنوعی را تشکیل می‌دهند. اکثر شبکه‌های عصبی به‌طور کامل متصل‌اند؛ بدین معنا که هر واحد مخفی و هر واحد خروجی به واحدهای لایه‌های هرطرف متصل‌ است. اتصال بین واحدها با عددی به‌ نام وزن ارائه می‌شود. وزن می‌تواند مثبت (اگر یک واحد، واحد دیگر را برانگیخته کند) یا منفی (اگر یک واحد، واحد دیگر را سرکوب یا مهار کند) باشد. هرچقدر میزان وزن بالاتر باشد، تأثیر یک واحد بر دیگری بیشتر می‌شود. این شبیه‌ به راهی است که سلول‌های حقیقی مغز در شکاف‌های کوچکی به‌ نام سیناپس باعث برانگیختگی یکدیگر می‌شوند.

انتخاب تابع هزینه :

اگرچه می توان یک تابع هزینه اد هاک (تک کاره) تعریف نمود، اما اغلب یک (تابع) هزینه مخصوص مورد استفاده قرار می گیرد، چه به این خاطر که دارای خواص مطلوبی (مثل تحدب) است، چه به این دلیل که بطور طبیعی از فرمول بندی خاصی از مسئله بوجود می آید (مثلاً، در یک فرمول بندی احتمالاتی، احتمال پسینِ مدل را می توان به عنوان هزینه معکوس استفاده کرد). در نهایت، تابع هزینه به کار (task) مورد نظر بستگی دارد.

ترکیب شبکه عصبی و الگوریتم رقابت استعماری ICA :

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

شبکه عصبی چگونه یاد می‌گیرد :

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

شبکه‌های وای فای سراسر جهان قابل هک شدند

وزیر ارتباطات:قطع شبکه‌های اجتماعی موقتی است

ثبت اطلاعات مشترکان تلفن ثابت در شبکه احراز هویت آغاز شد

شبکه های عصبی مصنوعی (ANN)