موضوع مقاله: شبکه عصبی بازگشتی | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # شبکه عصبی بازگشتی | مقدمه: یک شبکه‌ی عصبی مکرر (RNN) کلاسی از شبکه‌های عصبی مصنوعی هستند که در آن اتصالات مابین گره‌هایی از یک گراف جهت‌دار در امتداد یک دنباله‌ی زمانی می‌باشند و سبب می‌شود تا الگوریتم بتواند رفتار پویای موقتی را به نمایش بگذارد. | ## بخش 1: شبکه عصبی بازگشتی | برخلاف شبکه‌های عصبی رو به جلو، شبکه‌های عصبی مکرر می‌توانند از وضعیت درونی خود برای پردازش دنباله‌ی ورودی‌ها استفاده کنند که آن‌ها را برای مواردی نظیر تشخیص صوت، یا تشخیص دست‌نوشته‌های غیربخش‌بندی شده‌ی متصل مناسب می‌کند. واژه‌ی «شبکه‌های عصبی مکرر» به دو کلاس گسترده از شبکه‌هایی با ساختار مشابه اشاره دارد: یکی از آن‌ها دارای تکانه متناهی و دیگری دارای تکانه نامتناهی می‌باشد و هر دوی آن‌ها رفتار پویای موقتی را نشان می‌دهند. یک شبکه‌ی متناهی تکانه، یک گراف جهت‌دار غیر مدور است که می‌تواند باز شده و با یک شبکه‌ی عصبی رو به جلو جایگزین شود؛ در حالی که یک شبکه‌ی با تکانه نامتناهی یک گراف مدور جهت‌دار است که نمی‌تواند باز شود. هر دوی این الگوریتم‌ها می‌توانند دارای وضعیت‌های ذخیره‌سازی شده باشند و این حافظه‌ی ذخیره‌سازی نیز می‌تواند تحت کنترل مستقیم شبکه‌ی عصبی باشد. همچنین در صورتی که دارای تأخیر زمانی باشد یا دارای چرخه‌های بازخوردی باشد، حافظه‌ی مذکور می‌تواند با شبکه‌ی دیگری یا گراف دیگری جایگزین شود. این وضعیت‌های تحت کنترل، به وضعیت‌های درگاهی یا حافظه‌های درگاهی اشاره دارند و بخشی از شبکه‌های حافظه‌ی کوتاه‌مدت بلند (LSTMs) و واحدهای درگاهی مکرر هستند. شبکه های هاپفیلد - نوع خاصی از RNN - توسط جان هاپفیلد در سال 1982 (دوباره) کشف شد. در سال 1993، یک سیستم کمپرسور تاریخ عصبی یک کار "آموزش بسیار عمیق" را حل کرد که به بیش از 1000 لایه بعدی در یک RNN نیاز داشت که در زمان باز شده بود. در حدود سال 2007، LSTM شروع به ایجاد انقلابی در تشخیص گفتار کرد و از مدل‌های سنتی در کاربردهای گفتاری خاص بهتر عمل کرد. در سال 2009، یک شبکه LSTM آموزش دیده با طبقه‌بندی زمانی ارتباط‌گرا (CTC) اولین RNN بود که برنده مسابقات تشخیص الگو شد، زمانی که چندین مسابقه در تشخیص دست‌خط متصل برنده شد. شبکه‌های عصبی کاملاً مکرر (FRNN) خروجی‌های همه نورون‌ها را به ورودی‌های همه نورون‌ها متصل می‌کنند. این عمومی‌ترین توپولوژی شبکه عصبی است، زیرا همه توپولوژی‌های دیگر را می‌توان با صفر کردن وزن‌های اتصال برای شبیه‌سازی عدم اتصال بین آن نورون‌ها نشان داد. تصویر سمت راست ممکن است برای بسیاری گمراه‌کننده باشد، زیرا توپولوژی‌های عملی شبکه‌های عصبی اغلب در "لایه‌ها" سازمان‌دهی می‌شوند و طراحی آن ظاهر را نشان می‌دهد. با این حال، آنچه که لایه ها به نظر می رسد، در واقع، مراحل مختلف در زمان یک شبکه عصبی کاملاً مکرر هستند. سمت چپ ترین مورد در تصویر، اتصالات مکرر را به صورت قوس با برچسب 'v' نشان می دهد. اتصالات پشتی ثابت یک کپی از مقادیر قبلی واحدهای پنهان را در واحدهای زمینه ذخیره می کنند (زیرا قبل از اعمال قانون یادگیری روی اتصالات منتشر می شوند). بنابراین شبکه می تواند نوعی حالت را حفظ کند و به آن اجازه می دهد کارهایی مانند پیش بینی توالی را انجام دهد که فراتر از توان یک پرسپترون چند لایه استاندارد است. هاپفیلد شبکه هاپفیلد یک RNN است که در آن تمام اتصالات بین لایه ها به یک اندازه هستند. به ورودی‌های ثابت نیاز دارد و بنابراین یک RNN عمومی نیست، زیرا دنباله‌ای از الگوها را پردازش نمی‌کند. اگر اتصالات با استفاده از یادگیری هبیان آموزش داده شوند، شبکه هاپفیلد می تواند به عنوان حافظه قابل آدرس دهی محتوا قوی و مقاوم در برابر تغییر اتصال عمل کند. حافظه تداعی دو طرفه یک شبکه حافظه انجمنی دو جهته (BAM) که توسط بارت کوسکو معرفی شد، نوعی از شبکه هاپفیلد است که داده‌های انجمنی را به صورت برداری ذخیره می‌کند. به طور معمول، رمزگذاری دوقطبی به رمزگذاری باینری جفت های انجمنی ترجیح داده می شود. اخیراً، مدل‌های BAM تصادفی با استفاده از پله‌بندی مارکوف برای افزایش پایداری شبکه و ارتباط با کاربردهای دنیای واقعی بهینه‌سازی شده‌اند. یک شبکه BAM دارای دو لایه است که هر یک از آنها می تواند به عنوان ورودی برای فراخوانی یک ارتباط و تولید خروجی در لایه دیگر هدایت شود. | ## بخش 2: شبکه عصبی بازگشتی | وزن نورون های خروجی تنها بخشی از شبکه است که می تواند تغییر کند (آموزش داده شود). هر نورون در یک لایه فقط حالت گذشته خود را به عنوان اطلاعات زمینه دریافت می کند (به جای اتصال کامل به همه نورون های دیگر در این لایه) و بنابراین نورون ها مستقل از تاریخ یکدیگر هستند. پس انتشار گرادیان را می توان برای جلوگیری از ناپدید شدن گرادیان و انفجار به منظور حفظ حافظه بلند مدت یا کوتاه مدت تنظیم کرد. Recursive یک شبکه عصبی بازگشتی با اعمال مجموعه ای از وزن ها به صورت بازگشتی بر روی یک ساختار گراف مانند قابل تمایز با پیمایش ساختار به ترتیب توپولوژیکی ایجاد می شود. یک مورد خاص از شبکه های عصبی بازگشتی، RNN است که ساختار آن با یک زنجیره خطی مطابقت دارد. شبکه تانسور عصبی بازگشتی از یک تابع ترکیب مبتنی بر تانسور برای همه گره‌های درخت استفاده می‌کند. فقط ورودی‌های غیرقابل پیش‌بینی برخی از RNN در سلسله مراتب به ورودی‌های سطح بالاتر RNN تبدیل می‌شوند، که بنابراین به ندرت حالت داخلی خود را دوباره محاسبه می‌کند. بنابراین هر سطح بالاتر RNN نمایش فشرده ای از اطلاعات در RNN زیر را مطالعه می کند. این کار به گونه ای انجام می شود که بتوان دنباله ورودی را دقیقاً از نمایش در بالاترین سطح بازسازی کرد. این سیستم به طور موثر طول توصیف یا لگاریتم منفی احتمال داده ها را به حداقل می رساند. با توجه به قابلیت پیش‌بینی‌پذیری زیاد در توالی داده‌های ورودی، بالاترین سطح RNN می‌تواند از یادگیری نظارت شده برای طبقه‌بندی آسان حتی توالی‌های عمیق با فواصل طولانی بین رویدادهای مهم استفاده کند. می توان سلسله مراتب RNN را به دو RNN تقطیر کرد: chunker "آگاهانه" (سطح بالاتر) و خودکار "ناخودآگاه" (سطح پایین تر).هنگامی که قطعه‌کننده یاد گرفت ورودی‌هایی را که توسط اتومایزر غیرقابل پیش‌بینی هستند، پیش‌بینی و فشرده کند، می‌توان خودکارساز را در مرحله یادگیری بعدی مجبور کرد تا از طریق واحدهای اضافی، واحدهای پنهان قطعه‌کننده که به کندی تغییر می‌کند را پیش‌بینی یا تقلید کند. این امر یادگیری حافظه های مناسب و به ندرت در فواصل زمانی طولانی را برای خودکارساز آسان می کند. به نوبه خود، این به خودکار کمک می‌کند تا بسیاری از ورودی‌های غیرقابل پیش‌بینی خود را قابل پیش‌بینی کند، به طوری که chunker می‌تواند روی رویدادهای غیرقابل پیش‌بینی باقی‌مانده تمرکز کند. یک مدل مولد تا حدی بر مشکل گرادیان ناپدید شدن تمایز خودکار یا انتشار پس‌باز در شبکه‌های عصبی در سال 1992 غلبه کرد. در سال 1993، چنین سیستمی یک کار "آموزش بسیار عمیق" را حل کرد که به بیش از 1000 لایه بعدی در یک RNN نیاز داشت که در زمان باز شده بود. RNN های مرتبه دوم RNN های مرتبه دوم از وزن های مرتبه بالاتر به جای وزنه های استاندارد استفاده می کنند، و ایالت ها می توانند یک محصول باشند. این امکان نگاشت مستقیم به یک ماشین حالت محدود را هم در آموزش، هم در پایداری و هم در نمایش می دهد. حافظه کوتاه‌مدت بلندمدت نمونه‌ای از این است، اما چنین نقشه‌برداری رسمی یا اثبات پایداری ندارد. در عوض، خطاها می توانند از طریق تعداد نامحدودی از لایه های مجازی که در فضا باز شده اند، به عقب بروند. یعنی LSTM می‌تواند کارهایی را بیاموزد که به خاطراتی از رویدادهایی نیاز دارند که هزاران یا حتی میلیون‌ها مرحله زمانی گسسته پیش از آن اتفاق افتاده‌اند. LSTM حتی با تأخیرهای طولانی بین رویدادهای مهم کار می کند و می تواند سیگنال هایی را که اجزای فرکانس پایین و بالا را با هم ترکیب می کنند، مدیریت کند. عملکرد آن‌ها در مدل‌سازی موسیقی چندصدایی و مدل‌سازی سیگنال گفتار شبیه به عملکرد حافظه کوتاه‌مدت بود. آموزش نزول گرادیان گرادیان نزول یک الگوریتم بهینه‌سازی تکراری مرتبه اول برای یافتن حداقل یک تابع است. | ## بخش 3: شبکه عصبی بازگشتی | در شبکه های عصبی می توان از آن برای به حداقل رساندن عبارت خطا با تغییر هر وزن متناسب با مشتق خطا نسبت به آن وزن استفاده کرد، مشروط بر اینکه توابع فعال سازی غیرخطی قابل تمایز باشند. روش استاندارد «انتشار پس از طی زمان» یا BPTT نامیده می‌شود و یک تعمیم انتشار پس‌از برای شبکه‌های پیش‌خور است. یک نوع آنلاین گران‌تر از نظر محاسباتی «آموزش مکرر بی‌درنگ» یا RTRL نامیده می‌شود، که نمونه‌ای از تمایز خودکار در حالت تجمع رو به جلو با بردارهای مماس پشته‌ای است. در این زمینه، محلی در فضا به این معنی است که بردار وزن یک واحد را می توان تنها با استفاده از اطلاعات ذخیره شده در واحدهای متصل و خود واحد به روز کرد، به طوری که پیچیدگی به روز رسانی یک واحد واحد در ابعاد بردار وزن خطی باشد. محلی در زمان به این معنی است که به روز رسانی ها به طور مداوم (آنلاین) انجام می شود و فقط به آخرین مرحله زمانی بستگی دارد نه به چندین مرحله زمانی در یک افق زمانی معین مانند BPTT. برای محاسبه بازگشتی مشتقات جزئی، RTRL دارای پیچیدگی زمانی O (تعداد پنهان x تعداد وزن‌ها) در هر مرحله زمانی برای محاسبه ماتریس‌های ژاکوبین است، در حالی که BPTT فقط O (تعداد وزن‌ها) را در هر گام زمانی با هزینه دریافت می‌کند. یک مشکل عمده با نزول گرادیان برای معماری‌های استاندارد RNN این است که گرادیان‌های خطا به سرعت با اندازه فاصله زمانی بین رویدادهای مهم ناپدید می‌شوند. این مشکل همچنین در شبکه عصبی بازگشتی مستقل (IndRNN) با کاهش زمینه یک نورون به حالت گذشته خود حل می‌شود و سپس اطلاعات متقابل نورون را می‌توان در لایه‌های زیر کاوش کرد. خاطرات با دامنه های مختلف از جمله حافظه بلند مدت را می توان بدون مشکل از بین رفتن گرادیان و انفجار یاد گرفت. یک رویکرد برای محاسبه اطلاعات گرادیان در RNN ها با معماری های دلخواه بر اساس نمودارهای نمودار جریان سیگنال است. روش های بهینه سازی جهانی آموزش وزن ها در یک شبکه عصبی می تواند به عنوان یک مسئله بهینه سازی جهانی غیرخطی مدل شود. یک تابع هدف می تواند برای ارزیابی تناسب یا خطای یک بردار وزنی خاص به صورت زیر تشکیل شود: ابتدا وزن ها در شبکه با توجه به بردار وزن تنظیم می شوند. به طور معمول، اختلاف مجموع مربع بین پیش بینی ها و مقادیر هدف مشخص شده در دنباله تمرین برای نشان دادن خطای بردار وزن فعلی استفاده می شود. سپس ممکن است از تکنیک های بهینه سازی جهانی دلخواه برای به حداقل رساندن این تابع هدف استفاده شود. رایج ترین روش بهینه سازی جهانی برای آموزش RNN ها، الگوریتم های ژنتیک است، به ویژه در شبکه های بدون ساختار. در ابتدا، الگوریتم ژنتیک با وزن‌های شبکه عصبی به شیوه‌ای از پیش تعریف‌شده کدگذاری می‌شود که در آن یک ژن در کروموزوم نشان دهنده یک پیوند وزنی است. عملکرد تناسب اندام به صورت زیر ارزیابی می شود: هر وزنی که در کروموزوم رمزگذاری شده است به پیوند وزنی شبکه اختصاص داده می شود. بنابراین، بسیاری از شبکه های عصبی مختلف تا زمانی که یک معیار توقف برآورده شود، تکامل می یابند. یک طرح توقف متداول این است: زمانی که شبکه عصبی درصد مشخصی از داده های آموزشی را یاد گرفته باشد زمانی که حداقل مقدار میانگین مربع خطا برآورده شود زمانی که به حداکثر تعداد نسل های آموزشی رسیده باشد. معیار توقف توسط تابع تناسب ارزیابی می شود زیرا متقابل میانگین مربع خطا را از هر شبکه در طول آموزش دریافت می کند. بنابراین، هدف الگوریتم ژنتیک به حداکثر رساندن تابع تناسب، کاهش میانگین مربعات خطا است. سایر تکنیک‌های بهینه‌سازی جهانی (و/یا تکاملی) ممکن است برای جستجوی مجموعه‌ای از وزن‌ها، مانند بازپخت شبیه‌سازی شده یا بهینه‌سازی ازدحام ذرات مورد استفاده قرار گیرند. در چنین مواردی، نظریه سیستم های دینامیکی ممکن است برای تجزیه و تحلیل استفاده شود. در حالی که شبکه‌های عصبی بازگشتی بر روی هر ساختار سلسله مراتبی عمل می‌کنند و نمایش‌های فرزند را در نمایش‌های والد ترکیب می‌کنند، شبکه‌های عصبی بازگشتی بر اساس پیشرفت خطی زمان عمل می‌کنند و مرحله زمانی قبلی و یک نمایش پنهان را در نمایش مرحله زمانی فعلی ترکیب می‌کنند. | ## جمع‌بندی | به طور خاص، RNN ها می توانند به عنوان نسخه های غیرخطی پاسخ ضربه محدود و فیلترهای پاسخ ضربه نامحدود و همچنین به عنوان یک مدل اگزوژن اتورگرسیو غیرخطی (NARX) ظاهر شوند.