নিউরোলিউভলিউশন বলা হয় নিউরাল নেটওয়ার্কগুলি বিকশিত করতে বিবর্তনীয় অ্যালগরিদম ব্যবহার করে ।
কিছু neuroevolution আলগোরিদিম শুধুমাত্র নিখুত ওজন সংশোধন টপোলজি সঙ্গে একটি স্নায়ুর নেটওয়ার্ক করুন। যা আপনি চান তা পছন্দ করে না। অন্যান্য নিউরয়েভোলিউশন অ্যালগরিদমগুলি নিউরাল নেট এর ওজন এবং টপোলজি উভয়ই অনুকূল করে । এই ধরণের অ্যালগরিদমগুলি আপনার লক্ষ্যের জন্য আরও উপযুক্ত বলে মনে হয় এবং কখনও কখনও তাকে TWEANNs (টপোলজি এবং ওজন বিবর্তনকারী নিউরাল নেটওয়ার্ক) বলে।
একটি জনপ্রিয় অ্যালগরিদমকে বলা হয় NEAT , এবং সম্ভবত এটি শুরু করার জন্য একটি ভাল জায়গা, কেবলমাত্র কারণ এখানে প্রচুর বাস্তবায়ন রয়েছে, যার মধ্যে একটি আশাবাদী আপনার পছন্দের ভাষায় লেখা হয়েছে। এটি কমপক্ষে আপনাকে কাজ করার জন্য একটি বেসলাইন দেবে।
NEAT গ্রাফ স্ট্রাকচার হিসাবে সরাসরি একটি নিউরাল নেটওয়ার্ক জিনোম এনকোড করে। মিউটেশনগুলি নতুন লিঙ্কগুলি যুক্ত করে (পূর্বে সংযুক্ত নয় দুটি নোড সংযুক্ত করে) বা নতুন নোড (একটি বিদ্যমান সংযোগ বিভক্ত করে) যোগ করতে পারে বা কেবল গ্রাফগুলিতে প্রান্তগুলির সাথে যুক্ত ওজন পরিবর্তন করতে পারে (যাকে বলা হয় মিউটেশন) ওজন)। আপনাকে এই নির্দিষ্ট অ্যালগরিদমের সাথে কাজ করে এমন এএনএনগুলির আকারের আকারের ক্রম সম্পর্কে ধারণা দিতে, এটি সম্ভবত 100 বা 200 টিরও বেশি নোডের সাথে লড়াই করবে।
এখানে আরও স্কেলযোগ্য ট্যুইয়ান রয়েছে, তবে তারা আরও জটিল এবং তারা যে ধরণের কাঠামো উত্পন্ন করে সেগুলি সম্পর্কে অনুমান করে যা অনুশীলনে সর্বদা উত্পাদনশীল নাও হতে পারে। উদাহরণস্বরূপ, নিউরাল নেটওয়ার্কের কাঠামোটিকে এনকোড করার আরেকটি উপায় হ'ল একটি বীজ প্যাটার্নের পণ্য যা বারবার ব্যাকরণ দ্বারা বিস্তৃত হয় (যেমন এল-সিস্টেম)। আপনি আরও সহজেই বৃহত্তর কাঠামোগুলি অন্বেষণ করতে পারেন তবে এগুলি ব্যাকরণ দ্বারা উত্পাদিত হওয়ায় তাদের একটি বৈশিষ্ট্যযুক্ত স্ব-পুনরাবৃত্তি অনুভূতি থাকবে। হাইপারনেট হ'ল নীটের একটি জনপ্রিয় বর্ধন যা ধারণাটিকে ভিন্ন ধরণের করে তোলে (যে ওজনের ধরণগুলি জ্যামিতির ফাংশন হিসাবে সহজেই প্রকাশ করা যেতে পারে), এবং লক্ষ লক্ষ সংযোগের সাথে এএনএনগুলিতে স্কেল করতে পারে যখন এই ধারণাটি কোনও নির্দিষ্ট ডোমেনকে ভালভাবে ফিট করে।
আপনি যদি আরও বিভিন্ন কৌশল অবলম্বন করতে চান তবে উপরের লিঙ্কটিতে কয়েকটি জরিপ পত্রিকা যুক্ত রয়েছে।