توجه : هدف از نوشتن این مقاله معرفی تکنولوژی ای جدید یا راهکاری نوین است و خبری از پیاده سازی در این جا نیست. قطعا برای شما لینک هایی قرار خواهیم داد که بتواند به شما در یادگیری این تکنولوژی یا راهکار کمک کند. از شنیدن انتقادات شما بسیار خوشحال می شویم.
برای این که با Neural Evolution Of Augmented Topologies یا NEAT آشنا بشین اول باید بدونین که تکامل عصبی یا Neuro-Evolution چیست.
طبق گفته ی ویکیپدیا تکامل عصبی یک شکل از هوش مصنوعی است که از الگوریتم های تکاملی استفاده می کنه تا شبکه های عصبی مصنوعی تولید کنه. خب تعریف اشتباهی نیست ولی وقتی باهاش کار کنین میبینین که یکم خوف تره! ولی برای شروع خوبه.
الگوریتم تکاملی ای که در این متد استفاده می شود الگوریتم ژنتیک هستش.
خب شاید بعضیاتون الان بگین یا خدا یعنی یه ترکیبی از الگوریتم ژنتیک با نورال نتوورک؟ اره یه همچین چیزی!
خب بریم به یه عالمه سال قبل! تصور کنین رو زمین ۱۰ تا آدم وجود دارن. هر کدوم از این آدم ها بچه دار میشن و هر کدوم از این آدم ها یه سری چیز ها رو تجربه می کنن. این تجربه انتقال داده میشه به فرزند های این آدما. دقت کردین چی شد؟! یعنی یه حافظه تاریخی انگار با ژن انتقال داده میشه. مثلا فرض کن ممد پسر اصغره. اصغر یه بار تجربه کرده که دست بزنی به آتیش میسوزی. حالا اصغر به ممد میگه ببین بَبَم جان! من دست زدم به آتیش سوختم تو هم دست بزنی میسوزی. چرا سوختن رو مثال زدم؟ چون شما در این مدل یه امتیازی هم داری مثلا تعریف می کنی که توی مسئله من که مسئله مثلا بقا هستش دست زدن به آتیش امتیازت رو کم می کنه. خدایی جذاب نیست؟! یکم پیچیدست ولی لامصب شاهکاره به نظر من. ( البته که چیز های شاهکار تر هم وجود دارن که در آینده باهاش آشنا خواهیم شد.)
سعی کردم تو این مثال بگم بهتون که ۲ تا ویژگی خیلی مهم وجود دارد. یکی سیستم امتیاز دهی و یکی انتقال حافظه به اصطلاح هیستوریکال.
یکی از دوستام وقتی با هم داشتیم رو این متد کار می کردیم و می فهمیدیم دقیقا چیه یه حرف خیلی زیبایی زد که دوست دارم شما هم بدونین.
قال رامتین شاکری : "توی نورال نتوورک ما میدونیم جواب های مسئلمون چیه و با استفاده از نورال نتوورک ما یاد میگیریم چطور مسئله رو حل کنیم. توی الگوریتم ژنتیک ما میدونیم مسئله چجور حل میشه و سعی می کنیم جواب های درست و نزدیک به جواب اصلی دربیاریم. حالا این دو تا با هم ترکیب شدن و نورال نتوورک روی الگوریتم ژنتیک سوار شده یعنی چی؟ یعنی الان نورال نتوورک های ما نسل به نسل داخل مسئله بر اساس امتیازی که دارن یا از بین میرن یا امتیازشون افزایش یا کاهش پیدا می کنه" خیلی شبیه تکامل خودمون نیست؟ دقیق نیست هنوز ولی چقدر بامزه داره جلو میره انگار آدما اون امتیازه براشون بقا تعریف شده و نورال نتوورکه هم مغزه. هی دارن باهوش تر میشن و هی سعی می کنن بیشتر زنده بمونن.
سال ۲۰۰۲ در دانشگاه تگزاس آقای کِن استنلی تلاش میکنه که یه تعادلی بین تنوع هایی که تو الگوریتم ژنتیک ایجاد میشه و امتیازی که نورال نتوورک میده پیدا کنه و به این الگوریتم میرسه. راستش رو بخواین نمی دونم چجوری فکر کرده ولی دمش گرم!