شبکه عصبی نوعی از یادگیری ماشینی است که بعد از مغز انسان خود را مدلسازی میکند. این کار باعث ایجاد یک شبکه عصبی مصنوعی میشود که از طریق یک الگوریتم به کامپیوتر اجازه میدهد با استفاده از دادههای جدید چیزهای جدیدی یاد بگیرد.
هرچند این روزها الگوریتمهای هوش مصنوعی بسیار زیادی وجود دارد، اما شبکههای عصبی قادر هستند تا آن چیزی که یادگیری عمیق نامیده میشود را انجام دهند. در حالی که نورون واحد پایه مغزی است، ساختار ضروری شبکه عصبی مصنوعی یک پرسپترون است که ضمن پردازش سیگنالهای ساده، آنها را به یک شبکه مش بزرگ متصل میکند.
به کامپیوتر با شبکه عصبی آموخته میشود تا با تجزبه و تحلیل نمونههای آموزشی کاری مشخص را انجام دهد که قبلا برچسب گذاری شده است. یک مثال معمول از یک کار برای یک شبکه عصبی که از یادگیری عمیق استفاده میکند این است که اشیایی را شناسایی کند. در این مورد، طیف گستردهای از اشیا مانند گربه، نشانههای خیابان و... به شبکه عصبی نشان داده میشود و کامپیوتر با تجزبه و تحلیل الگوهای تکراری در تصاویر ارائه شده، میآموزد که تصاویر جدید را طبقه بندی کند.
شبکههای عصبی چگونه یاد میگیرند
برخلاف سایر الگوریتمها، شبکههای عصبی با یادگیری عمیق خود نمیتوانند برای انجام کاری مشخص برنامهریزی شوند. در عوض، آنها مانند ذهن بچهای که در حال رشد و یادگیری است اطلاعات جدید را میآموزند. استراتژیهای یادگیری سه متد عمده دارند:
یادگیری تحت نظارت: این استراتژی یادگیری درواقع سادهترین نوع است، زیرا یک مجموعه داده برچسب دار بوده که کامپیوتر آن را در اختیار دارد و الگوریتم تا زمان پردازش مجموعه دادهها برای دستیابی به نتیجه موردنظر به اصلاح ادامه میدهد.
یادگیری با عدم نظارت: از این استراتژی زمانی استفاده میشود که مجموعهای از دادههای برچسبدار برای یادگیری وجود نداشته باشد. شبکه عصبی مجموعه دادهها را آنالیز میکند و سپس یک تابع هزینه میگوید که هدف چقدر دور است. بعد شبکه عصبی برای افزایش دقت الگوریتم تنظیم میشود.
یادگیری تقویت شده: در این الگوریتم، شبکه عصبی برای دستیابی به نتایج مثبت تقویت میشود و همچنین به خاطر نتایج منفی مورد مجازات و تنبیه قرار میگیرد. در این حالت شبکه عصبی مجبور میشود در طول زمان مدام در حال یادگیری باشد.
تاریخچه شبکههای عصبی
در حالی که شبکههای عصبی به نوعی نماینده تکنولوژی قدرتمند کامپیوترهای مدرن هستند، اما ایده آن به سال 1943 بر میگردد. زمانی که دو محقق با نامهای وارن مک کالک که یک متخصص نوروفیزیولوژی بود و والتر پیتز ریاضی دان در دانشگاه شیکاگو تحقیق روی شبکههای عصبی را شروع کردند.
زمانی که رساله آنها با عنوان «یک محاسبه منطقی از ایدههای مبتنی بر فعالیت عصبی» در مجله نظریه مغز منتشر شد، این تئوری رواج یافت که فعالسازی یک نورون واحد پایه فعالیت مغز است. با این حال این مقاله بیشتر مربوط به توسعه نظریههای شناختی در آن زمان بود و این دو محقق در سال 1952 برای ایجاد اولین دپارتمان علوم شناختی به دانشگاه MIT کوچ کردند.
شبکههای عصبی در دهه 1950 یک زمینه غنی برای تحقیقات در مورد شبکههای عصبی کامپیوتری بود. در سال 1959 دو تن از محققان دانشگاه استنفورد الگویی به نام MADALINE و یک شبکه عصبی را توسعه دادند که پا را فراتر از نظریهها میگذاشت و مشکل واقعی را برطرف میکرد. MADALINE به طور خاص برای کاهش میزان اکو بر روی خط تلفن مورد استفاده قرار گرفت و برای افزایش کیفیت صدا بسیار موفق بود و البته هنوز هم از آن استفاده میشود.
اما با وجود این شور و اشتیاق اولیه نسبت به تحقیق روی شبکههای عصبی، در سال 1969 کتابی با عنوان پرسپترون: مقدمهای بر هندسه محاسباتی منتشر شد که شک و تردیدهای زیادی را برانگیخت. نویسندگان این کتاب شک و تردیدهای خود را نسبت به شبکههای عصبی مصنوعی ابراز کرده بودند و این به نوعی پایانی بر تلاشهای بشر برای رسیدن به هوش مصنوعی واقعی قلمداد میشد. این شک و تردیدها باعث شد که در دهه 1970 شاهد کمترین تحقیقات و سرمایهگذاریها روی شبکههای عصبی باشیم. البته برخی از محققان این حوزه علی رغم این ناملایمات به تحقیقات خود ادامه دادند و در سال 1975 اولین شبکه چند لایه توسعه پیدا کرد که راه را برای توسعه شبکههای عصبی هموار میکرد. توسعه این شبکه چند لایه موفقیتی بود که کمتر از یک دهه قبل بسیاری آن را غیر ممکن میدانستند.
در سال 1982 و زمانی که جان هاپفیلد، پروفسور دانشگاه پرینستون، شبکه عصبی پیوندی را اختراع کرد، مجددا پیکان علایق به سمت این حوزه نشانه گرفته شد. نوآوری آقای پرفسور هاپفیلد این بود که در طرح او دادهها میتوانستند به صورت دو طرفه حرکت کنند، در صورتی که جهت حرکت دادهها پیش از این تنها به صورت یک طرفه بود. این شبکه هماکنون به افتخار مخترعش با نام «شبکه هاپفیلد» شناخته میشود. از آن سال تا به امروز محبوبیت و جذابیت شبکههای عصبی مصنوعی سال به سال افزایش یافته است.
کاربردهای شبکههای عصبی در دنیای واقعی
تشخیص دست خط نمونهای از یکی از مشکلات دنیای واقعی است که میتوان از طریق شبکههای عصبی مصنوعی آن را حل کرد. چالش این است که انسان میتواند دست خط را با درک مستقیم خود تشخیص دهد، اما چالش اصلی برای کامپیوترها این است که هر شخص دست خط منحصر به فرد خود را دارد و این دست خط دارای استایل متفاوت و حتی فاصلههای متفاوت بین کلمات است و تشخیص آن برای کامپیوترها بسیار دشوار است.
با استفاده از رویکرد شبکه عصبی مصنوعی، نمونههای آموزشی شناخته شده از دست خطهای مختلف به خورد کامیپوترها داده میشود و از طریق الگوریتم کامیپوتر یاد میگیرد که هر کارکتر را شناسایی کند و هرچقدر که مجموعه دادههای کارکترها بالاتر برود به همان میزان نیز دقت تشخیص بیشتر میشود. فناوری تشخیص دست خط کاربردهای مختلفی دارد. از خواندن خودکار آدرسها در سرویسهای پستی گرفته تا کاهش تقلب در چکهای بانکی.
یکی از مشکلات دیگر شبکههای عصبی مصنوعی پیشبینی بازارهای مالی است. این موضوع تحت عنوان «تجارت الگوریتمی» نیز مطرح شده است و به تمام انواع بازارهای مالی مانند بازارهای سهام، کالاها، نرخهای بهره و ارزهای مختلف اطلاق میشود. اگر بخواهم مثالی بزنم، در بازار سهام، معالمهگرها میتوانند از الگوریتمهای شبکه عصبی برای پیدا کردن سهامهای کم ارزش و مدلهای سهام بهبود یافته استفاده کنند و همچنین به دنبال تغییرات در بازار برای بهینهسازی الگوریتم خود به سراغ جنبههایی از یادگیری ماشینی بروند. در حال حاضر نیز شرکتهایی وجود دارند که به صورت تخصصی در حوزه ارائه الگوریتمهای تجاری شبکه عصبی برای بازار سهام فعالیت میکنند.
الگوریتمهای شبکه عصبی مصنوعی با انعطاف پذیری ذاتی خود همچنان برای شناسایی الگوهای پیچیده و مشکلات پیش بینی شده مورد استفاده قرار می گیرند. علاوه بر موارد گفته شده در بالا، از جمله کاربردهای دیگر شبکههای عصبی میتوان به تشخیص چهره در تصاویر شبکههای اجتماعی، تشخیص سرطان برای تصویربرداری پزشکی و پیش بینی تجاری اشاره کرد.