الگوبرداری روشهای آموزش شبکه های عصبی از عملکرد مغز انسان
آموزش شبکه های عصبی برای تقلید از عملکرد مغز این فرصت را در اختیار مدلهای یادگیری عمیق قرار داده تا یادگیری را بر روی دادههای جدید (دادههایی که از سابقهای از آنها ندارند) اعمال کنند.
چیزی که انسان را از سایر موجودات متمایز میسازد برخورداری از قدرت مغز و تواناییهای شناختی است. مغز انسان قابلیتهای برقراری ارتباط، تخیل، برنامهریزی و نوشتن را برای انسان امکانپذیر کرده است. بااینحال، مغز یک معماست؛ بشر هنوز به طور کامل نمیداند مغز چگونه کار میکند.
سازوکار شناخت و آگاهی از دیرباز موجب حیرت دانشمندان، محققان، فیلسوفان و اندیشمندان شده است.
شبکههای عصبی و مغز
چند دهه پیش، پس از به شهرت رسیدن هوش مصنوعی، به دلیل اینکه اطلاعات چندانی راجع به فرآیند یادگیری انسان در دست نبود، مباحثی پیرامون «یادگیری» ماشین صورت گرفت. یکی از رویکردهای مطرحشده ساخت ماشینهایی بود که از شیوه یادگیری مغز انسان تقلید میکنند.
از آنجا که، مغز عمدتاً از مجموعهای از نورونهای درهمتنیده تشکیل شده است، محققان هوش مصنوعی با الهام از این ساختار، آن را با نورونهای مصنوعی بازسازی کردند. دانشمندان موفق شدند نورونهای مصنوعی ساده را به روشهای پیچیده به هم متصل کنند. اتصالات مختلف نورونهای مصنوعی در این شبکهها نتایج پیچیدهتری بههمراه داشت.
به این ترتیب ایده شبکههای عصبی مصنوعی پدیدار شد.
در دهههای متمادی جذابیت شبکههای عصبی فراز و فرود زیادی داشته است. شبکههای عصبی، بهویژه، شبکههای یادگیری عمیق، بهدلیل قابلیتهای چشمگیرِ خود که ناشی از توان محاسباتی و حجم کلانِ دادههایی است که به آنها خورانده میشود، توجه صنعت را به خود جلب کرده است. پیدایش یادگیری عمیق همراه با دادههای کلان و توان محاسباتی بالا رنسانس جدیدی را در حوزه هوش مصنوعی رقم زده است. بااینحال، رویکرد شبکههای عصبی بدون چالش هم نبوده است.
ما در حال مواجهه با محدودیتهای توانمندیهای شبکههای عصبی هستیم و نوآوریهای عمده هنوز نتوانستهاند پاسخی برای مشکلاتِ دشوار شناختی بیابند. با وجود تحقیقات چندینساله در زمینه هوش مصنوعی و علوم اعصاب، دانشمندان هنوز عملکرد مغز را بهطور دقیق نمیشناسند و این سؤال مطرح میشود که آیا ساخت هوش مصنوعیِ مبتنی بر مغز انسان محقق خواهد شد یا خیر؟
تاریخچه مختصری از شبکههای عصبی مصنوعی
در سال 1943، دانشمندان علوم اعصاب مفهوم شبکههای عصبی مصنوعی را بهعنوان شاهدی برای تقلید از عملکرد نورونهای زیستشناختی ارائه کردند. ده سال بعد، فرانک روزنبلاتِ روانشناس با ایجاد یک شبکه عصبی تکلایه موسوم به پرسپترون (Perceptron) با هدف یادگیری نظارتی، باعث تکامل این ایده شد.
«یادگیری» شبکه پرسپترون با نمونههای مناسبی از دادههای آموزش صورت میگرفت. این شبکه آموزشدیده میتوانست این «یادگیری» را برای دادههای جدیدی که قبلاً هرگز ندیده بود، استفاده کند.
بااینحال، شبکه پرسپترون برای حل مشکلات خاصی مانند «توابع غیرخطی» با محدودیتهایی همراه بود. محققان AI در پژوهشی که در سال 1986 منتشر کردند، نشان دادند که میتوان از «لایههای پنهان» نورونها برای حل مسائلی اساسی استفاده کرد که شبکههای پرسپترون قبلی با آنها مواجه شده بودند؛ بهویژه، مشکلاتی که با آموزش شبکه روی حجم زیادی از دادهها به وجود میآمد. بالاخره در سال 2006، محققان موفق شدند فرمولی برای حل این مسئله ارائه کنند: شبکههای عصبی یادگیری عمیق.
تکامل کلاندادهها (big data)، پردازندههای GPU و رایانش ابری علاقه محققان را به شبکههای عصبی دوباره شعلهور کرد. شبکههای عصبی بسیاری از سیستمهای مبتنی بر هوش مصنوعی مانند سامانههای ترجمه، تشخیص چهره و تصویر و دستیارهای صوتی را تغذیه میکنند.
ساخت و آموزش شبکه های عصبی
در سطحی پایهای، شبکههای عصبی مصنوعی به رویکردهایی از یادگیری ماشین اطلاق میشوند که از فعالیت زیستشناختی مغز انسان الگوبرداری شدهاند. شبکههای عصبی متشکل از یک لایه ورودی برای دریافت دادهها، یک یا چند لایه مخفی برای پردازش آنها و یک لایه خروجی است که یک یا چند نقطهداده (data points) را بر اساس عملکرد شبکه ارائه میکند.
نورونها با پیکرهبندیهای مختلف به یکدیگر متصل شدهاند. هر اتصال وزنی دارد که منجر به «فعالشدن» نورونی دیگر میشود؛ این نورون نیز با کمک یک تابع فعالسازی و بایاس طوری تنظیم شده است که نورونهای بعدی را در شبکه فعال کند.
سپس کل شبکه با استفاده از دادههای ورودی که مقادیر مشخصی دارد (دادههای برچسبگذاریشده)، آموزش داده میشود و پس از فعل و انفعالات بسیار، خطاهای مختلف شبکه اصلاح میشوند. درصورتیکه، شبکه بهقدر کافی آموزش ببیند، رابطه بین ورودیها و خروجیها را «آموخته» و میتواند در آینده، برای دادههای ناشناخته نیز به کار برد.
در سطحی بنیادی، شبکههای عصبی از وضعیتی آموزشندیده یا از پیش آموزش داده شده (pretrained) شروع میکنند و سپس وزنها با آموزش شبکه تنظیم میشوند تا خروجی دقیقتر شود. اگرچه این فرآیند ساده به نظر میرسد، اما تنظیم وزنها و رسیدن به وزن درست، زمان و قدرت محاسباتی بالایی میطلبد.
هر لایه پنهان در شبکه عصبی کلاس خاصی از ویژگیها را تشخیص میدهد. برای مثال، اگر از یک شبکه عصبی برای تشخیص گربهها استفاده کنیم، لایه اول ممکن است سطحی از انتزاع را در تصویر تشخیص دهد. لایههای بعدی سپس سطح انتزاعی بعدی را تشخیص میدهند. با دادههای آموزشی کافی، شبکه عصبی وزنهایش را تنظیم میکند تا بتواند تشخیص دهد که تصویر ارائهشده تصویر گربه است یا نه.
اکنون، مدلی در اختیار دارید که تصاویر گربه را شناسایی میکند. به عبارت دیگر، یک کلاسهبند باینری دارید که به شما احتمال گربه بودن یا گربه نبودن تصویر مورد نظر را میگوید. بااینحال، از آنجا که این مدل برای شناسایی تصویر پرنده، اتومبیل یا گل آموزش ندیده است، لازم است برای شناسایی دقیق هرکدام کل فرآیند آموزش از ابتدا تکرار شود. به عبارت دیگر، مدل فقط میتواند پیشبینی کند تصویر مورد نظر تصویر گربه است یا نه، و اگر «تصویر گربه نباشد»، نمیتواند تعیین کند که تصویرِ چیست.
رویکردهایی به نام یادگیری انتقالی وجود دارند که یک شبکه عصبی را که یک چیز را یاد گرفته میگیرند و آن را در فرآیند آموزش شبکه های عصبی با روش مشابه دیگری به کار میبرند، اما شبکههای عصبی، بهطور کلی، به آموختهها محدود هستند.
روشهای رایج آموزش شبکه های عصبی
اگرچه ممکن است در ظاهر تمام شبکههای عصبی یک شکل به نظر برسند، اما آنها مجموعهای از الگوریتمهای بهینه هستند که برای الگوهای مختلف بهکار میروند. در واقع، روشهای زیادی برای اتصال نورونها به یکدیگر و تشکیل شبکههای عصبی وجود دارد.
شبکه عصبی پیشخور (FFNN)
یکی از رایجترین شبکههای عصبی، شبکه عصبی پیشخور (FFNN) است که در آن کارِ شبکه عصبی از ورودیها شروع و بدون هرگونه حلقه یا پیچش (کانولوشن) جالبی به خروجی ختم میشود. شبکههای عصبی پیشخور ساده هستند و نمیتوان از آنها برای رفع نیازهای پیچیده استفاده کرد.
از آنجایی که، اطلاعات فقط از لایه ورودی به لایه خروجی منتقل میشوند، و از همین رو نام «پیشخور» را برای آنها برگزیدهاند، کاربردهای آن تا حد زیادی به موارد آموزشی ساده و تحت نظارت محدود میشود. این موارد شامل تشخیص تصویر، طبقهبندی تصویر و تشخیص گفتار و به طور اساسی کاربردهایی است که در آنها لازم نیست مدل به اطلاعات خارج از سریزمانی خطی دسترسی داشته باشد.
شبکههای عصبی پیچشی (CNN)
محققان در دهه 1990، به منظور کنترل بهتر وظایف یادگیری خاصی، شبکههای عصبی کانولوشن (CNN) را ایجاد کردند. از این شبکهها بیشتر برای تجزیه و تحلیل دادههای تصویری، بهویژه، تشخیص تصویر و اشیا استفاده میشود.
در شبکههای عصبی کانولوشن، شبکه عصبی به بخشهای فرعی تقسیم میشود تا هر بخش از طریق نمونهبرداری آموزش ببیند و سپس دادهها در سطوح سلسلهمراتبی جمعآوری میشود. این امر قابلیت شناسایی مقولههای مختلف در تصویر، صدا یا متن را بسیار پیچیدهتر و قدرتمندتر کرده است.
شبکههای عصبی بازگشتی (RNN)
در تکامل دیگری از معماری شبکههای عصبی، لایههای مختلف ورودی یا خروجی بهنحوی به یکدیگر متصل میشوند که شبکه بتواند الگوها را بیاموزد. در شبکههای بازگشتی، برخلاف شبکههای پیشخور که در آن هر لایه بر اساس خروجی لایه قبلی شکل میگیرد، خروجی یک لایه به لایههای قبلی پیوند میخورد و این امکان وجود دارد که اطلاعات به قسمتهای قبلی شبکه بازگردد. به این ترتیب، حالت فعلی مدل به رویدادهای پیشین وابسته است.
زمانی که دادهها دنباله هستند، مانند گفتار، تشخیص دستخط، ردیابی الگو و اعوجاج و سایر جنبههای پیشبینی بر اساس الگوهای دنباله زمانی، این روش بسیار کارساز است. در شبکههای بازگشتی یک لایه به لایههای قبلی پیوند میخورد و این امکان وجود دارد که اطلاعات به قسمتهای قبلی شبکه برگرد و نوعی حافظه کوتاهمدت ایجاد شود.
در نتیجه، شبکههای عصبی بازگشتی زمانی استفاده میشوند که دنباله مقادیر و تعیین موقعیت آنها (در مجموعه دادهها) مهم باشد، مثلاً برای تشخیص گفتار و دستخط، یا زمانی که ترتیب اهمیت داشته باشد، مانند عبارتهای «ماشین روی مرد افتاد» و «مرد روی ماشین افتاد». این شبکههای عصبی از سرویسهای ترجمه رایج و همچنین دستیارهای صوتی پشتیبانی میکنند.
شبکههای بازگشتی زیرشاخههای زیادی دارند. یکی از این زیرشاخهها شبکه حافظه طولانی کوتاهمدت (LSTM) است. در این شبکهها علاوه بر قابلیتهای متداول شبکههای عصبی بازگشتی، قابلیتهایی مانند اتصال نورونهای بسیار قدیمی و جدید به صورت پیچیده گنجانده شده است.
شبکههای LSTM برای دستهبندی، پردازش و پیشبینی بر اساس دادههای سری زمانی یا تکامل دیتاستهایی بهکار میروند که تعامل بین دادههای قدیمی و جدید در آنها حائز اهمیت است، مانند پیشبینی کلمه بعدی در یک جمله، ترجمه ماشینی، تولید متن و کاربردهای مختلف پیشبینی و احتمال.
انواع مختلف شبکههای عصبی بهمثابه «باغ وحشی» است که انواع گونهها و موجودات مختلف با کاربردهای تخصصی متفاوت در آن وجود دارد. از جمله میتوان ماشینهای بولتزمن، شبکههای باور، شبکههای هاپفیلد، شبکههای باقیمانده عمیق و انواع دیگری را نام برد که میتوانند وظایف مختلف را در سطوح عملکردی مختلف یاد بگیرند. اگر تصور میکردید که شبکههای عصبی تنها از یک نوع الگوریتم تشکیل شدهاند، در اشتباه بودهاید و ممکن است از تعدادِ زیادِ روشهای آموزش شبکه های عصبی موجود شگفتزده شوید.
محدودیتهای شبکههای عصبی و یادگیری عمیق
با توجه به توان و قابلیتهای شبکههای عصبی مصنوعی جدید، تعجبی ندارد که شبکههای عصبی در حال حاضر بیشترین توجه، منابع و پیشرفتهای حوزه هوش مصنوعی را به خود اختصاص دادهاند. از طرف دیگر، اگرچه شبکههای عصبی کارایی خود را در حل طیف وسیعی از مسائل به اثبات رساندهاند، اما این شبکهها تنها یکی از رویکردهای متعدد عملی در یادگیری ماشین بهشمار میآیند.
همه روزه اخبار و تحقیقات جدید از محدودیتهای یادگیری عمیق و برخی از ایرادهای رویکرد شبکه عصبی پرده بر میدارند. شبکههای عصبی مصنوعی برای یادگیری به حجم عظیمی از دادهها نیاز دارند و به محاسبات کلان وابسته هستند؛ همین امر کاربرد آنها را به موارد خاص محدود میکند.
از طرف دیگر، پیبردن به پشتِ صحنه شبکههای عصبی کار دشواری است. بررسی اینکه چگونه یک ورودی خالص عصبی به خروجی ختم میشود، مانند تلاش برای مشاهده دقیق نحوه تصمیمگیری مغز انسان، به هیچ عنوان شفاف یا قابل توضیح نیست. در مواردی که لازم است علت به طور ریشهای تجزیه و تحلیل گردد یا زنجیرهای از علت و معلولها توضیح داده شوند، شبکههای عصبی رویکرد مناسبی نیستند. فناوری «جعبه سیاه» در شرایطی که باید برای تصمیمات اصلی توضیحاتی ارائه گردد، همیشه مناسب یا مجاز نبوده است.
افزونبراین، عملکرد شبکههای عصبی در دستهبندی و خوشهبندی دادهها خوب است، اما در سایر تصمیمگیریها یا سناریوهای یادگیری مانند استنتاج و استدلال عملکرد چندان خوبی ندارند. دانشمندان تحقیقات خود را برای بررسی اینکه عملکرد نورونهای مصنوعی در یادگیری چه تفاوتی با عملکرد مغز انسان دارند، آغاز کردهاند.
در کودکانی که تازه شروع به یادگیری و کشف جهان پیرامون خود میکنند، یادگیری نظارتی یگانه روش یادگیری نیست و کودکان با کاوش و کندوکاو در جهان میآموزند. در واقع، ممکن است پیشرفت بعدی هوش مصنوعی ترکیب یادگیری نظارتی، بدون نظارت و تقویتی با یکدیگر باشد.
به این ترتیب، اگرچه شبکههای عصبی تا حد زیادی هوش مصنوعی را توسعه دادهاند و منجر به افزایش علاقه و سرمایهگذاری در این حوزه شدهاند، این شبکهها تنها بخشی از جورچین پیشبرد وضعیت هوش مصنوعی به شمار میآیند.