شبکه عصبی گاز

شبکه گاز عصبی یک شبکه عصبی مصنوعی الهام گرفته شده از نگاشت‌های خودسازمان دهنده است که در سال ۱۹۹۱ توسط توماس مارتینتز و کلاوس شولتن معرفی شد. این مدل، یک الگوریتم ساده برای یافتن نمایش داده‌های بهینه بر اساس بردارهای ویژگی است. این الگوریتم به دلیل پویا بودن بردارهای ویژگی در طول فرایند انطباق، که خود را همانند یک گاز در فضای داده توزیع می‌کنند، «شبکه گاز عصبی» نام گرفته‌است. از این شبکه در موقعیت‌هایی که فشرده‌سازی داده‌ها یا کمی‌سازی برداری آسان نیست، استفاده می‌شود برای مثال می‌توان از تشخیص گفتار، پردازش تصویر یا تشخیص الگو نام برد. از این مدل می‌توان به عنوان یک جایگزین قدرتمند برای خوشه‌بندی k-means برای تجزیه و تحلیل خوشه‌ای نیز استفاده کرد.

الگوریتم 
فرض کنید توزیع احتمال  روی بردارهای داده  و تعداد متناهی از بردارهای ویژگی   داده شده‌است.

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

گام انطباق شبکه گاز عصبی می‌تواند به عنوان گرادیان کاهشی بر روی تابع هزینه تفسیر شود. به کمک انطباق نه فقط نزدیکترین بردار ویژگی، بلکه تمام آنها با کاهش طول گام همراه با افزایش ترتیب فاصله، در مقایسه با خوشه بندی k-means (آنلاین) می‌توان به همگرایی بسیار قوی تری در الگوریتم دست یافت. مدل شبکه گاز عصبی گره ای را حذف نمی‌کند و نیز گره جدیدی ایجاد نمی‌کند.

انواع شبکه گاز عصبی 
تعدادی از انواع مختلف الگوریتم شبکه گاز عصبی وجود دارد تا برخی از ضعف‌های این مدل را کاهش دهد. شاید برجسته‌ترین این الگوریتم‌ها، شبکه گاز عصبی در حال رشد Bernd Fritzke باشد، اما همچنان باید به جزئیات بیشتری مانند شبکه در حال رشد در زمان نیاز و همچنین شبکه گاز عصبی در حال رشد تدریجی اشاره کرد. یک رویکرد مبتنی بر کارایی که از خطر بیش برازش جلوگیری می‌کند، مدل گاز عصبی پلاستیکی است.

شبکه گاز عصبی در حال رشد 
Fritzke شبکه گاز عصبی در حال رشد (GNG) را به عنوان یک مدل شبکه افزایشی توصیف می‌کند که روابط توپولوژیکی را با استفاده از «قانون یادگیری شبیه به هب» یادمی‌گیرد، فقط، برخلاف شبکه گاز عصبی، فاقد پارامتر وابسته به زمان است و قادر به یادگیری مداوم، مانند یادگیری در جریان داده‌ها، می‌باشد. GNG به‌طور وسیعی در زمینه‌های مختلفی مورد استفاده قرار گرفته‌است، که توانایی خود را در خوشه بندی داده‌ها به صورت تدریجی نشان می‌دهد. GNG با دو گره دارای موقعیت تصادفی مقدار دهی اولیه می‌شود که در ابتدا با یک یال که سن آن صفر است به هم متصل شده‌اند و خطاهای آنها برابر با ۰ قرار داده شده‌است. به دلیل اینکه که داده‌های ورودی GNG به صورت متوالی یک به یک ارائه می‌شوند، مراحل زیر در هر تکرار دنبال می‌شود:
 خطاها (فاصله) بین نزدیکترین دو گره به داده‌های ورودی فعلی محاسبه می‌شود.
 خطای گره برنده (فقط نزدیکترین) به ترتیب انباشته می‌شود.
 گره برنده و همسایه‌های توپولوژیکی آن (که توسط یک یال به هم متصل شده‌اند) با کسرهای متفاوتی از خطاهای مربوطه خود به سمت ورودی حرکت می‌کنند.
 سن تمام یال‌های متصل به گره برنده افزایش می‌یابد.
 اگر گره برنده و برنده دوم توسط یک یال به هم متصل شوند، چنین یالی برابر با ۰ قرار داده می‌شود. در غیر این صورت یک یال بین آنها ایجاد می‌شود.
 اگر یال‌هایی با سن بزرگتر از حد آستانه (threshold) وجود داشته باشد، حذف می‌شوند. گره‌های بدون اتصال حذف می‌شوند.
 اگر تکرار فعلی مضرب صحیحی از حد آستانه (threshold) ایجاد فرکانس از پیش تعریف شده باشد، یک گره جدید بین گره با بزرگ‌ترین خطا (در میان همه) و همسایه توپولوژیکی آن که بالاترین خطا را داراست، درج می‌شود. لینک بین گره‌های اول و دوم حذف می‌شود (خطاهای آنها با یک فاکتور معین کاهش می‌یابد) و گره جدید به هر دوی آنها متصل می‌شود. خطای گره جدید به عنوان خطای به روز شده گره ای که بیشترین خطا را داشت (در بین همه) مقداردهی اولیه می‌شود.
 خطای انباشته شده همه گره‌ها با یک فاکتور مشخص کاهش می‌یابد.
 اگر شرط توقف محقق نشود، الگوریتم ورودی زیر را می‌گیرد. معیار ممکن است تعداد معینی از دوره‌ها باشد، به عنوان مثال، تعداد دفعاتی از پیش تعیین شده که همه داده‌ها ارائه می‌شوند، یا رسیدن به حداکثر تعداد گره‌ها.

شبکه گاز عصبی در حال رشد تدریجی 
یکی دیگر از انواع شبکه‌های گاز عصبی که در الگوریتم GNG از آن الهام گرفته شده‌است، شبکه گاز عصبی در حال رشد تدریجی (IGNG) می‌باشد. نویسندگان مزیت اصلی این الگوریتم را "یادگیری داده‌های جدید (پلاستیسیته) بدون تخریب شبکه آموزش دیده قبلی و فراموش کردن داده‌های ورودی قدیمی (پایداری)" عنوان می‌کنند.

رشد در زمان نیاز 
داشتن شبکه ای با مجموعه ای رو به رشد از گره‌ها، مانند شبکه پیاده‌سازی شده توسط الگوریتم GNG به عنوان یک مزیت بزرگ محسوب می‌شود، با این حال برخی محدودیت‌ها در یادگیری با معرفی پارامتر λ، که در آن شبکه تنها زمانی که تکرارها مضربی از این پارامتر بودند قادر به رشد است، مشاهده می‌شود. یک پیشنهاد برای بهبود این مسئله، الگوریتم جدیدی به نام شبکه در حال رشد (GWR) است که با اضافه کردن گره‌ها در سریع‌ترین زمان ممکن هر زمان که شبکه متوجه شد که گره‌های موجود ورودی را به قدر کافی خوب توصیف نمی‌کنند، شبکه سریع‌تر رشد می‌کند.

شبکه گاز عصبی پلاستیکی 
توانایی رشد یک شبکه به تنهایی ممکن است به سرعت باعث بیش برازش شود. از طرفی، حذف گره‌ها تنها بر اساس سن، مانند مدل GNG، تضمین نمی‌کند که گره‌های حذف شده واقعاً بی‌فایده هستند، زیرا حذف وابسته به پارامتر مدل است که باید با دقت بر روی «طول حافظه» جریان داده‌های ورودی تنظیم شود.

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

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

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

منابع

برای مطالعهٔ بیشتر 
 T. Martinetz, S. Berkovich, and K. Schulten. "Neural-gas" Network for Vector Quantization and its Application to Time-Series Prediction. IEEE-Transactions on Neural Networks, 4(4):558-569, 1993.

پیوند به بیرون 
 DemoGNG.js Javascript simulator for Neural Gas (and other network models)
 Java Competitive Learning Applications Unsupervised Neural Networks (including Self-organizing map) in Java with source codes.
 formal description of Neural gas algorithm
 A GNG and GWR Classifier implementation in Matlab
شبکه‌های عصبی مصنوعی