تکامل عصبی
Neuroevolution یا تکامل عصبی، یک شکل از هوش مصنوعی است که با استفاده از الگوریتمهای تکاملی برای تولید شبکههای عصبی مصنوعی (ANN)، پارامترهای، توپولوژی و قوانین استفاده میشود.[۱] این ماده معمولاً در زندگی مصنوعی، بازی عمومی[۲] و evolutionary robotics استفاده میشود. مزیت اصلی این است که تکامل عصبی میتواند بهطور گستردهتری از الگوریتمهای یادگیری تحت نظارت، که به برنامه از جفتهای ورودی و خروجی صحیح نیاز دارند، استفاده شود. در مقابل ، تکامل عصبی فقط به اندازهگیری عملکرد شبکه در یک کار نیاز دارد. به عنوان مثال، نتیجه یک بازی (یعنی اینکه یک بازیکن برنده است یا باختهاست) به راحتی قابل اندازهگیری است بدون ارائه نمونههایی با برچسب از استراتژیهای مورد نظر. تکامل عصبی معمولاً به عنوان بخشی از الگوی یادگیری تقویتی مورد استفاده قرار میگیرد و میتوان آن را با تکنیکهای متداول یادگیری عمیق که از نزول شیب دار در یک شبکه عصبی با توپولوژی ثابت استفاده میکنند ربط داد.
امکانات
[ویرایش]تعداد زیادی از الگوریتمهای تکامل عصبی تعریف شدهاند. یک تفاوت عمده بین الگوریتمهایی است که فقط قدرت وزن اتصال را برای یک توپولوژی شبکه ثابت تکامل میدهند (که گاهی اوقات عصب کشی متعارف نامیده میشود)، در مقابل آنهایی که هم توپولوژی شبکه و هم وزنهای آن را تکامل میدهند (TWEANNs نامیده میشوند، برای توپولوژی و وزن الگوریتمهای شبکه عصبی مصنوعی در حال تکامل).
میتوان بین روشهایی که ساختار ANNها را به موازات پارامترهای آن (که از الگوریتمهای تکاملی استاندارد استفاده میکنند) و روشهایی که آنها را جداگانه توسعه میدهند (از طریق memetic algorithms)، تفاوت قائل شد.[۳]
مقایسه با نزول شیب دار
[ویرایش]اکثر شبکههای عصبی به جای تکامل عصبی از نزولی شیب دار استفاده میکنند. با این حال، حدود سال ۲۰۱۷ محققان در Uber اظهار کردند که آنها الگوریتمهای ساده تکامل عصبی ساختاری با الگوریتمهای پیچیده یادگیری عمیق شیب نزول استاندارد صنعتی مدرن قابل رقابت هستند را پیدا کردند، به این دلیل که تکامل عصبی احتمال کمتری برای گیر افتادن در حداقلهای محلی را دارد. در علوم پایه، روزنامهنگار متیو هاتسون حدس زد که بخشی از دلیل موفقیت تکامل عصبی در جایی که قبلاً شکست خورده بود، به دلیل افزایش قدرت محاسباتی موجود در سالهای ۲۰۱۰ است.[۴]
رمزگذاری مستقیم و غیرمستقیم
[ویرایش]الگوریتمهای تکاملی بر روی جمعیتی از ژنوتیپها (که به آنها ژنوم نیز گفته میشود) عمل میکنند. در تکامل عصبی، یک ژنوتیپ به یک فنوتیپ شبکه عصبی ترسیم میشود که برای بدست آوردن fitness آن در برخی از کارها ارزیابی میشود.
در طرحهای رمزگذاری مستقیم، ژنوتیپ مستقیماً به فنوتیپ نگاشت میشود. یعنی هر نورون و ارتباط در شبکه عصبی بهطور مستقیم و صریح در ژنوتیپ مشخص شدهاست. در مقابل، در طرحهای رمزگذاری غیر مستقیم، ژنوتیپ بهطور غیر مستقیم نحوه تولید آن شبکه را مشخص میکند.[۵]
رمزگذاریهای غیر مستقیم غالباً برای دستیابی به چندین هدف استفاده میشوند:[۵][۶][۷][۸]
- modularity and other regularities
- فشرده سازی فنوتیپ به ژنوتیپ کوچکتر، فضای جستجوی کمتری را فراهم میکند.
- نگاشت فضای جستجو (ژنوم) به دامنه مشکل.
طبقهبندی embryogenic systems برای رمزگذاری غیر مستقیم
[ویرایش]رمزگذاریهای غیرمستقیم سنتی که از embryogeny مصنوعی استفاده میکنند (که به عنوان embryogeny نیز شناخته میشود) در امتداد یک رویکرد دستوری در مقابل یک روش شیمی سلولی دستهبندی شدهاند.[۹] مورد اول مجموعه قوانینی را در قالب سیستمهای بازنویسی دستوری تکامل میبخشد. مورد دوم تلاش میکند تا از طریق بیان ژن، چگونگی ظهور ساختارهای فیزیکی در زیستشناسی را تقلید کند. سیستمهای رمزگذاری غیر مستقیم غالباً از جنبههای هر دو روش استفاده میکنند.
استنلی و Miikkulainen[۹] طبقهبندی برای سیستمهای embryogeny پیشنهاد میکنند که هدف آن بازتاب خواص زیربنایی آنها است. طبقهبندی پایین پنج بعد مداوم را مشخص میکند که میتوان هر سیستم embryogeny را در آن قرار داد:
- سرنوشت سلول (نورون) : خصوصیات و نقش نهایی سلول در فنوتیپ بالغ. این بعد تعداد روشهایی را که برای تعیین سرنوشت سلول استفاده میشود، محاسبه میکند.
- هدف گذاری : روشی است که به وسیله آن اتصالات از سلولهای منبع به سلولهای هدف هدایت میشوند. این از هدف گذاری خاص (منبع و هدف مشخصاً مشخص شده) تا هدفگیری نسبی (مثلاً براساس مکان سلولها نسبت به یکدیگر) متغیر است.
- هتروکروونی : زمانبندی و ترتیب وقایع در طی جنین سازی. تعداد مکانیسمهای تغییر زمان وقایع را میشمارد.
- کانال سازی : تحمل ژنوم نسبت به جهشها (شکنندگی). از نیاز به دستورالعملهای دقیق ژنوتیپی گرفته تا تحمل بالای جهش نا دقیق.
- پیچیدگی : توانایی سیستم (شامل الگوریتم تکاملی و ژنوتیپ برای نقشهبرداری فنوتیپ) برای اجازه دادن به پیچیده شدن ژنوم (و از این رو فنوتیپ) با گذشت زمان. از اجازه فقط به ژنومهایی با اندازه ثابت تا اجازه دادن به ژنومهایی با طول بسیار متغیر را در بر میگیرد.
مثالها
[ویرایش]روش | رمزگذاری | الگوریتم تکاملی | جنبهها تکامل یافتند |
---|---|---|---|
تکامل ژنتیکی عصبی توسط E. رونالد، 1994[۱۰] | مستقیم | الگوریتم ژنتیک | وزن شبکه |
Cellular Encoding (CE) توسط F. Gruau، ۱۹۹۴ | غیرمستقیم، جنین زا (درخت دستور زبان با استفاده از عبارات S) | برنامهنویسی ژنتیکی | ساختار و پارامترها (همزمان، پیچیدگی) |
GNARL توسط آنجلین و دیگران، 1994[۱۱] | مستقیم | برنامهنویسی تکاملی | ساختار و پارامترها (همزمان، پیچیدگی) |
EPNet توسط یائو و لیو، 1997[۱۲] | مستقیم | برنامهنویسی تکاملی (همراه با تکثیر پسانداز و بازپخت شبیهسازی شده) | ساختار و پارامترها (مختلط، پیچیدگی و سادهسازی) |
NeuroEvolution of Augmenting Topologies (NEAT) توسط استنلی و Miikkulainen، 2002[۱۳][۱۴] | مستقیم | الگوریتم ژنتیک. ژنهایی را با مارکهای تاریخی ردیابی میکند که امکان عبور از بین توپولوژیهای مختلف را فراهم میکند، از نوآوری از طریق گونه محافظت میکند. | ساختار و پارامترها |
Hypercube-based NeuroEvolution of Augmenting Topologies (HyperNEAT) توسط استنلی، D'Ambrosio , Gauci، 2008[۶] | غیرمستقیم، غیر جنینی (الگوهای فضایی تولید شده توسط یک شبکه تولیدکننده الگوی ترکیبی (CPPN) در یک ابر مکعب به عنوان الگوهای اتصال در فضای بعدی پایین تعبیر میشوند) | الگوریتم ژنتیک. از الگوریتم NEAT (بالا) برای تکامل CPPN استفاده میشود. | پارامترها، ساختار ثابت (عملکرد کاملاً متصل) |
Evrovable Substrate Hypercube-based NeuroEvolution of Augmenting Topologies (ES-HyperNEAT) توسط Risi, Stanley 2012[۸] | غیرمستقیم، غیر جنینی (الگوهای فضایی تولید شده توسط یک شبکه تولیدکننده الگوی ترکیبی (CPPN) در یک ابر مکعب به عنوان الگوهای اتصال در فضای بعدی پایین تعبیر میشوند) | الگوریتم ژنتیک. از الگوریتم NEAT (بالا) برای تکامل CPPN استفاده میشود. | پارامترها و ساختار شبکه |
اکتساب تکاملی توپولوژیهای عصبی (EANT / EANT2) توسط Kassahun و Sommer، 2005[۱۵] / Siebel and Sommer، 2007[۱۶] | مستقیم و غیرمستقیم، بالقوه جنین زا (رمزگذاری ژنتیکی مشترک[۵]) | برنامهنویسی تکاملی / استراتژیهای تکامل | ساختار و پارامترها (بهطور جداگانه، پیچیدگی) |
Interactively Contrained Neuro-Evolution (ICONE) توسط Rempis، 2012[۱۷] | مستقیم، شامل ماسکهای محدود کننده برای محدود کردن جستجو به چندمنظوره توپولوژی / پارامتر خاص است. | الگوریتم تکاملی. از ماسکهای محدود کننده برای کاهش شدید فضای جستجو از طریق بهرهبرداری از دانش دامنه استفاده میکند. | ساختار و پارامترها (جداگانه، پیچیدگی، تعاملی) |
Deus Ex Neural Network (DXNN) توسط Gene Sher، ۲۰۱۲ | مستقیم / غیرمستقیم، شامل محدودیتها، تنظیم محلی است، و امکان تکامل را برای ادغام سنسورها و محرکهای جدید فراهم میکند. | الگوریتم ممتیک. ساختار و پارامترهای شبکه را در مقیاسهای زمانی مختلف تکامل میبخشد. | ساختار و پارامترها (جداگانه، پیچیدگی، تعاملی) |
طیف متنوعی معماری تکامل عصبی متحد (SUNA) توسط Danilo Vasconcellos Vargas , Junichi Murata[۱۸] (بارگیری کد) | Direct، نمایندگی عصبی یکپارچه را معرفی میکند (نمایش تلفیق بسیاری از ویژگیهای شبکه عصبی از ادبیات). | الگوریتم ژنتیک با سازوکاری برای حفظ تنوع به نام تنوع طیف که با اندازه کروموزوم مقیاس خوبی دارد، مسئله ای مستقل است و بیشتر تمرکز خود را بر کسب تنوع رفتارها / رویکردهای سطح بالا قرار میدهد. برای دستیابی به این تنوع، مفهوم طیف کروموزوم معرفی شده و همراه با یک نقشه جدید از جمعیت استفاده میشود. | ساختار و پارامترها (مختلط، پیچیدگی و سادهسازی) |
Evolver مبتنی بر عامل مدولار (MABE) توسط کلیفورد بوم، آرند هینتزه و دیگران.[۱۹] (کد دانلود) | رمزگذاری مستقیم یا غیرمستقیم شبکههای مارکوف، شبکههای عصبی، برنامهنویسی ژنتیکی و سایر کنترلکنندههای دلخواه قابل تنظیم. | الگوریتمهای تکاملی، الگوریتمهای برنامهنویسی ژنتیکی را فراهم میکند، و الگوریتمهای سفارشی را همراه با مشخصات محدودیتهای دلخواه امکانپذیر میکند. | جنبههای قابل تکامل شامل مدل عصبی است و امکان تکامل ریختشناسی و انتخاب جنسی را در بین دیگران فراهم میکند. |
سازگاری ماتریس کوواریانس با الگوریتم شبکه تطبیقی مرتب شده با حجم فوقالعاده (CMA-HAGA) توسط شاهین رستمی و دیگران.[۲۰][۲۱] | مستقیم، شامل یک ویژگی آتاویسم است که صفات را از بین میبرد و در نسلهای مختلف دوباره ظاهر میشود. | استراتژی تکامل چند هدفه با بیان ترجیحی (فرمان محاسباتی) | ساختار، وزن و تعصبات |
جستارهای وابسته
[ویرایش]- یادگیری ماشین خودکار (AutoML)
- محاسبه تکاملی
- سازگاری ماتریس کوواریانس با الگوریتم شبکه تطبیقی مرتب شده با حجم فوقالعاده (CMA-HAGA)
- NeuroEvolution از توپولوژیهای افزوده (NEAT)
- نوژنز
- HyperNEAT (نسخه تولیدی NEAT)
- ES-HyperNEAT (نسخه عمومی NEAT که پارامترها و ساختار شبکه را تعیین میکند)
- اکتساب تکاملی توپولوژیهای عصبی (EANT / EANT2)
- طیف متنوعی معماری تکامل عصبی متحد (SUNA)
منابع
[ویرایش]- ↑ Stanley, Kenneth O. (2017-07-13). "Neuroevolution: A different kind of deep learning". O'Reilly Media (به انگلیسی). Retrieved 2017-09-04.
- ↑ Risi, Sebastian; Togelius, Julian (2017). "Neuroevolution in Games: State of the Art and Open Challenges". IEEE Transactions on Computational Intelligence and AI in Games. 9: 25–41. arXiv:1410.7326. doi:10.1109/TCIAIG.2015.2494596.
- ↑ Togelius, Julian; Schaul, Tom; Schmidhuber, Jurgen; Gomez, Faustino (2008), "Countering poisonous inputs with memetic neuroevolution" (PDF), Parallel Problem Solving from Nature[پیوند مرده]
- ↑ "Artificial intelligence can 'evolve' to solve problems". Science | AAAS (به انگلیسی). 10 January 2018. Retrieved 7 February 2018.
- ↑ ۵٫۰ ۵٫۱ ۵٫۲ Kassahun, Yohannes; Sommer, Gerald; Edgington, Mark; Metzen, Jan Hendrik; Kirchner, Frank (2007), "Common genetic encoding for both direct and indirect encodings of networks", Genetic and Evolutionary Computation Conference, ACM Press, pp. 1029–1036
- ↑ ۶٫۰ ۶٫۱ Gauci, Stanley (2007), "Generating Large-Scale Neural Networks Through Discovering Geometric Regularities" (PDF), Genetic and Evolutionary Computation Conference, New York, NY: ACM, archived from the original (PDF) on 13 February 2021, retrieved 26 November 2020
- ↑ Clune, J.; Stanley, Kenneth O.; Pennock, R. T.; Ofria, C. (June 2011). "On the Performance of Indirect Encoding Across the Continuum of Regularity". IEEE Transactions on Evolutionary Computation. 15 (3): 346–367. CiteSeerX 10.1.1.375.6731. doi:10.1109/TEVC.2010.2104157. ISSN 1089-778X.
- ↑ ۸٫۰ ۸٫۱ Risi, Sebastian; Stanley, Kenneth O. (2012). "An Enhanced Hypercube-Based Encoding for Evolving the Placement, Density and Connectivity of Neurons" (PDF). Artificial Life. 18 (4): 331–363. doi:10.1162/ARTL_a_00071. PMID 22938563. Archived from the original (PDF) on 1 December 2020. Retrieved 26 November 2020.
- ↑ ۹٫۰ ۹٫۱ Stanley, Kenneth O.; Miikkulainen, Risto (2003). "A Taxonomy for Artificial Embryogeny" (PDF). Artificial Life. 9 (2): 93–130. doi:10.1162/106454603322221487. PMID 12906725.
- ↑ Ronald, Edmund; Schoenauer, March (1994), "Genetic Lander: An experiment in accurate neuro-genetic control", PPSN III 1994 Parallel Programming Solving from Nature, pp. 452–461
- ↑ Angeline, Peter J.; Saunders, Gregory M.; Pollack, Jordan B. (1994). "An evolutionary algorithm that constructs recurrent neural networks" (PDF). IEEE Transactions on Neural Networks. 5 (5): 54–65. CiteSeerX 10.1.1.64.1853. doi:10.1109/72.265960. PMID 18267779.
- ↑ Yao, Xin; Liu, Yong (May 1997). "A new evolutionary system for evolving artificial neural networks" (PDF). IEEE Transactions on Neural Networks. 8 (3): 694–713. doi:10.1109/72.572107. PMID 18255671.
- ↑ Stanley, Kenneth O.; Bryant, Bobby D.; Miikkulainen, Risto (December 2005). "Real-Time Neuroevolution in the NERO Video Game" (PDF).
- ↑ Stanley, Kenneth O.; Miikkulainen, Risto (2002). "Evolving Neural Networks through Augmenting Topologies" (PDF). Evolutionary Computation. 10 (2): 99–127. CiteSeerX 10.1.1.638.3910. doi:10.1162/106365602320169811. PMID 12180173.
- ↑ Kassahun, Yohannes; Sommer, Gerald (April 2005), "Efficient reinforcement learning through evolutionary acquisition of neural topologies" (PDF), 13th European Symposium on Artificial Neural Networks, Bruges, Belgium, archived from the original (PDF) on 13 June 2007, retrieved 26 November 2020
- ↑ Siebel, Nils T.; Sommer, Gerald (October 2007). "Evolutionary reinforcement learning of artificial neural networks" (PDF). International Journal of Hybrid Intelligent Systems. 4 (3): 171–183. doi:10.3233/his-2007-4304. Archived from the original (PDF) on 2008-09-05.
- ↑ Rempis, Christian W. (October 2012). "Evolving Complex Neuro-Controllers with Interactively Constrained Neuro-Evolution" (PhD thesis). Osnabrück University. urn:nbn:de:gbv:700-2012101710370
- ↑ Vargas, Danilo Vasconcellos; Murata, Junichi (2019). "Spectrum-Diverse Neuroevolution With Unified Neural Models". IEEE Transactions on Neural Networks and Learning Systems. 28 (8): 1759–1773. arXiv:1902.06703. Bibcode:2019arXiv190206703V. doi:10.1109/TNNLS.2016.2551748. PMID 28113564.
- ↑ Edlund, Jeffrey; Chaumont, Nicolas; Hintze, Arend; Koch, Christof; Tononi, Giulio; Adami, Christoph (2011). "Integrated Information Increases with Fitness in the Evolution of Animats". PLOS Computational Biology. 7 (10): e1002236. arXiv:1103.1791. Bibcode:2011PLSCB...7E2236E. doi:10.1371/journal.pcbi.1002236. PMC 3197648. PMID 22028639.
- ↑ Rostami, Shahin; Neri, Ferrante (2017-06-01). "A fast hypervolume driven selection mechanism for many-objective optimisation problems" (PDF). Swarm and Evolutionary Computation. 34 (Supplement C): 50–67. doi:10.1016/j.swevo.2016.12.002.
- ↑ "Multi-objective evolution of artificial neural networks in multi-class medical diagnosis problems with class imbalance - IEEE Conference Publication" (PDF) (به انگلیسی). doi:10.1109/CIBCB.2017.8058553.
{{cite journal}}
: Cite journal requires|journal=
(help)
پیوند به بیرون
[ویرایش]- "Evolution 101: Neuroevolution | BEACON". beacon-center.org (به انگلیسی). Retrieved 2018-01-14.
- "NNRG Areas - Neuroevolution". nn.cs.utexas.edu. University of Texas. Retrieved 2018-01-14. </ref> (دارای مقالات قابل دانلود دربارهٔ NEAT و برنامهها)
- "SharpNEAT Neuroevolution Framework". sharpneat.sourceforge.net (به انگلیسی). Retrieved 2018-01-14. پروژه تکامل عصبی متن باز بالغ اجرا شده در C # /. Net.
- ANNEvolve یک پروژه تحقیقاتی AI با منبع باز است (کد منبع قابل بارگیری در C و Python همراه با آموزش و نوشتارها و تصاویر مختلف)
- "Nils T Siebel - EANT2 - Evolutionary Reinforcement Learning of Neural Networks". www.siebel-research.de. Retrieved 2018-01-14. </ref> صفحه وب در مورد یادگیری تکاملی با EANT / EANT2] (اطلاعات و مقالات در مورد EANT / EANT2 با برنامههایی برای یادگیری ربات)
- جعبه ابزار NERD. جعبه ابزار Neurodynamics and Evolutionary Robots. یک مجموعه نرمافزار منبع باز رایگان و رایگان برای آزمایشهای مختلف در زمینه کنترل عصبی و تکامل عصبی. شامل یک شبیهساز قابل نوشتن، چندین الگوریتم تکامل عصبی (به عنوان مثال) ICONE)، پشتیبانی خوشه، طراحی و تجزیه و تحلیل شبکه بصری.
- "CorticalComputer (Gene)". GitHub. Retrieved 2018-01-14. کد منبع برای سیستم عصبی تکاملی DXNN.
- "ES-HyperNEAT Users Page". eplex.cs.ucf.edu (به انگلیسی). Retrieved 2018-01-14.