بسم الله الرحمن الرحيم المحاضرة هذه ان شاء الله
احنا لازال في نفس الإطار اللي هو ال hybrid
intelligence systems بس المرة اللي بدنا نشوف
المحاضرة هذه و المحاضرة الجاية ان شاء الله بدنا
نشوف اللي هو ال evolution .. المحاضرة اللي بدنا
نشوف ال evolutionary neural networks يعني من اسمها
هي عبارة عن hybrid مابين neural networks و مابين
genetic algorithm و المحاضرة اللي بعد ان شاء الله
بنشوف fuzzy evolutionary fuzzy evolutionary يعني
hybrid مابينال fuzzy logic و مابين ال evolutionary
اللي هو ال genetic algorithm okay الان لو بدك تاخد
العنوان هذا اللي هو evolutionary نورا بدك تتخيل
ايش تتخيل neural network بالاساس زي ما كنا احنا
شوفنا في المثالين اللي قبل هيكا اللي هو الدمج ما
بين ال neural network و ال rule
based و برضه كمان fuzzy و neural network و fuzzy
كانهيكالية العامة أو الإطار العام لل system neural
ماشي و من .. الآن هنا برضه نفس الشيء أن الإطار
العام هو neural network ولكن داخلة عليها ال
genetic algorithm من زاوية حد بقدر يتخيل من وين
ممكن نيجي نستعين بال genetic algorithm وين بالظبط
في ال neural network
هذه ال slide يفترض تغششه شوية اللي انت شايفه الأن
عبارة عن نور ال network مظبوط نور ال network دي له
input تلاتة ال output ليها فيها one node وفيه
أربعة في ال middle أو في ال hidden شايف
ال chromosome
بيعبر عن إيش الكرموزومة بيمثل إيش بيمثل ال weights
بس
هو ال weights الأوزان بمعنى أخر أنه احنا أصلا
المثل الأساسية في neural network لوحدها في neural
network لوحدها احنا بنعمل عملية ال training مشان
أنه احنا نضبط الأوزان يعني كأنه احنا عملية ال
training بحثا عنال best weights الأوزان الأفضل
يبقى الأوزان الأفضل هي ال solution اللي احنا بندور
عليه صح؟ والأوزان هذه iteration ورا iteration
بتبدأ من ال initial وبعدين iteration ورا iteration
بتتعدل وصولا إلى الأوزان الأفضل اللي بتعطيني بتخلي
ال network تعطيني output صحيحيبقى هذه الأوزان
مجموعة الأوزان هي اللي أنا ببحث عنه عمليا طيب هذا
الأمر مناسب جدا لل genetic algorithm انه انا اذا
عبرت عن الأوزان بشكل chromosome وخلت عملية التعلم
اتم evolutionary اتم بال genetic algorithm متخيلين
كيف الكلام ممكن يكونهذا جرب خلاصة ماضلش اصلا يعني
هو هذا هو هذا في نهاية الأمر الأساس الفكرة اللي
على الأساسها بتقوم اللي هو الدمج ما بين ال neural
network و ما بين ال genetic algorithm عندنا عمليا
التلاتة nodes الأولى هم input nodes صح مالهم مش
اوزان ال input بدخل عليهم وهو بتوزن من اللي يلهم
اوزان بجيت ال node الأخر انت اربعةو معانا تمانية
صح فكل node هنا كل node أربعة أو خمسة أو ستة أو
سبعة أو تمانية لها مجموعة من تلت أوزان صح هذه لها
أيش أربع أوزان لأنه جايها من أربع nodes فانا الآن
الجدول هذا هو بمساطة شديدة تعبير عن ال weight
vectorsإنه والله من نود كذا من نود واحد إلى نود
واحد طبعا مافيش أوزان يعني كل نود إلى نفسها مافيش
شيء عشان أيها أحط أصفر يعني من اتنين إلى واحد،
Zero من تلاتة من اتنين إلى يعني عندي المثالثة ده
هو اللي بيعطيني الأوزان من أي نود إلى نود الأخرى
ماشي في عندي نود مابتعطيش له نوز هو يعني مثلا نود
رقم اتنين مابتعطي له تمانية صح؟نوت رقم اتنين
مابتعطيها تماما ولا بتعطيها .. لأ بتعطيها الباقين
الأخرين مظبوط نوت رقم تلاتة كلهم مضمون مابيعطيها
تماما المهم ان هذا ال table .. هذا ال table انا
مابدأ انظر الى .. ال table انا مابدأ انظر الى
كرمزومات فال chromosome .. ال chromosome هو عبارة
عن مجموعة من الاشي ال vectorsماذا يعني فترزل؟ تطلع
على الرسم و تطلع على الأرقام اللي جوا في ال
chromosome كل واحد من هذول عبارة عن
.. صح ولا أنا رقمته مغلط؟ أربعة، أيش هالأربعة؟
يعني الأوزان كمان من ال node أربعة خمسة، ستة،
سبعة، تمانية، صح؟ صح طيب، بعدين؟ هذول الأوزان ال
initial، الابتدائيةماذا نفعل الان نفكر جينيتيكا
الحين نفكر جينيتيكا ال algorithm ماببدأش انا
بشتغلش على كرمزوم واحد بدي اعمل صفة كرمزومات ولا
لأ بدي اعمل generation كامل من كذا n number of
chromosomes ولا لأ بعمل من هذا جو ستين خمسين
generation كامل بعملمثل هذا .. مش من هذا .. مثل
هذا ستين او خمسين او whatever number of random ..
random ماشي .. chromosomes و بعدين
بدي انتخب .. بدي انتخب مين الأفضل كيف؟
العندي الآن اتخيل في عندي ستين واحد من دولة
chromosome كل chromosome البنيه تبعته صار واضحه
ايه ان كل التلاته دوله كل اول اتناش اول اتناش كل
تلاته منهم عباره عن اوزان ال hidden nodes والاربع
اخرانيات الاربع genes الاخيرةواضحة ال construction
فانا عامل من هذا الكرمزوم كذا number of N هذا ال
generation zero من الأبتدائي كرمزوم 1 خليني أقول
CH1 يعني كرمزوم 1 لعند CHN إيش الآن بنعمل
لنحسب ال fitness صح ولا لا لنحسب
ال fitness تبع مين تبع
كل كروموزوم لنحسب ال fitness تبعه كيف
نحسبطيب أنا مفترض إن أنا في عندي data .. عندي data
دخلها هنا و أشوف إيش ال output بالنسبة لها ..
عليها بالأوزان و أشوف اللي بطلع ال output و
أقارنهم بال desire why مقارنتان بال إيش بال desire
okay هل
أحسب أنا الآن
الفيتنس تبع كل واحد منهم كل واحد منهم بديش الفيتنس
تبعه كيف بدي أجيب عندي input vector بدي أجيب input
vector صح سيبك من الأقام اللي جوال هذا بدي أجيب
input vector x1, x2, x3 و أدخل على ال network على
أساس الأوزان و أشوف كده شو بطلع فبطلع عندي ال
fitness تبع ال chromosome الأولبعدين اجرب الكرمزوم
التاني كيف؟ على نفس ال input صح؟ انا كيف دقيقهم؟
دقيقهم على نفس المصطرة المصطرة اللي هي ال input
نفسها تشوف مين من هدول ال chromosomes بيعطيني
نتيجة أفضل على نفس ال input صح؟ مالفعش هذا الكلام
مالفعش على input واحد أنا المفروض عندي صفة inputs
صح ولا لأ؟ المفروض عندي اقول60-70 او 100 input
بعمل على اساسهم ال testing او ال evaluation فبدي
اخد لكل كرمزوم واحد لكل كرمزوم بدي ادخل ال inputs
كلهم واحد و لا واحد و لكل input احسب ال error و
بعدين اخد ال total error بمعنى ان هذا الكرمزوم
الواحد بدي اختبره against كل ال x الانكل ال .. ايه
بالضبط كل ال input x1 و x2 لغاية نقول مثلا dhx xm
رقم تاني اللي بدنا نستخدم إشارة إلى dhm هنا عدد
كإجمالي اللي هو ال data ال test data عندي
مثلا meet test data record الكرمزونات لديهم عدد
آخر لديهم عدد كرمزونات فانا بدأجي أدخلأختبر هذا
الكرمزوم على كل ال data و يطلع معاه single number
اللي هو إجمالي ال error إجمالي ال error و نفس
الشيء أكرره لكرمزوم التاني و التالتة و الأولى لذلك
بقول أنا قيمت الكرمزومات تبع لسه ال generation
الأول تمام ؟ بناء على هذا التقييم باخد بكمل
الموضوع اللي هو ايش باخد الأصلحةبحسب .. بحسب ال
fitness ratio إذا بتذكره خلّيني أجيب ال slide هذي
أذكركوا بالعملية كلها مرة واحدة أمام؟ فاحنا دلوقت
هاي ال chromosomes .. chromosomes كلها okay
لأن كل chromosome منهم كل chromosome منهمبيعطيني
ايش بيعطيني كأنه بيعطيني network مختلفة و لا لأ
يعني لما انا بحط الأوزان و بعدين بشيلهم و بحط
أوزان تاني كأنني عملت network أخرى صح نفس ال
topology نفس التوصيل إنما أوزان مختلفة كأنه
network مختلفة okay فأنا باختبر كل واحد من ال
chromosomes على اللي هو بشكلي networkو بطلع ال
fitness ratio تبعه بناء على ال fitness ratio بقصد
ال rules علشان هطلع مين اللي بدي أدخلهم و أختار
منهم أعملهم cross over مظبوط؟ لأن ال rules هاللي
ليش؟ ال rules هاللي ليش؟ عشان أطلع لمين المرشحين
اللي أدخلهم على cross over ال cross over إذا
بتذكروا باخد أزواجو الأزواج اللى بختارله بختارهم
على أساس probability تبع ال crossover صح كل اتنين
بيقع عليهم ال probability بتحكملهم عشان يعطيني
منهم اتنين تانين كرموسومين تانين بهذا الشكل بأكون
ال generation اللى بعده D1 بس لسه في mutation ال
mutation مظبوط بس مبدأيا انا جبتالجين التاني ناتج
عملية ليهاش ال crossover هذا اللي بقنا معاه في ال
crossover او من ال crossover باجر عليه عملية ليهاش
ال mutation برضه بختار من اللي بدنا نعمل عليه ال
mutation بناء على probability تبع ال mutation PMA
و ال mutation ايش معناته معناته ان احنا بدنا نختار
واحد من ال genes ارجع تاني هنا
الصورة الأصلية واحد من ال genes هذا و هذا و هذا
اللي اغيره بشكل عشوائي و ممكن اختار على أساس ان
واحد من ال nodes اروح اغير .. يعني هاجأ اقول اللي
توقعت على هذه ال node لأن هذه ال node هي اللي بدي
اعملها mutation ال mutation يعني اغير كل ال
weights اللي فيها اعملهم تغيير عشوائيلان وضحة ال
cycle كيف ده تكون وضحة ال cycle انه احنا ال
chromosomes اللي عملناهم في البداية لازم نقيمهم
نقيمهم كيف بإنه كل واحد منهم بنخضعه على مجموعة ال
data اللي عندنا و بنحسب إجمال الإرار هو هذا ال
fitness اللي بعده اللي بعده اللي بعده لان بناء على
ال fitness هذه بنحسب ال fitness ratio و بناء على
ال fitness ratio نقارنه مين اللي ناخدهعشان نعمل
crossover نخدهم أزواج اللي بيقع عليهم الاختيار
الأزواج و بنشكل منهم بال crossover اللي هو ال
children اللي بيجي هنا بعد كده بنقرر مين منهم
ينعمل عليه mutation مبينا على ال mutation
probability او probability of mutation صار عندي
جيل جديد ايش بسويه بعيد الكرة وهي بقيمهم
بناء على نفس ال data طبعا مش هجيب data set مختلف
لكل generation صح ماكنتش
بقى أوقف خلاص
لما أصل ل generation ألاقي فيه chromosomes و ما هو
أكتر ال error تبعه جمال ال error تبعه قريب منأو
نزل عن ال threshold اللي انا حددته تمام اما ال
zero او واحد في الألف او واحد في العشر تلاف او
جداش ال threshold تمام اللي هو التقييم تبعه صار
منخفض جدا اه يعني ال error أسف ال error تبعه صار
منخفض جدا لدرجة اللي انا جابله في هذا الحالة ال
chromosome الواحد يمثل ايه؟يمثل مجموعة الأوزان
النهائية اللى بدنا نثبتها على ال network أصبحت ال
network ما بتتعلم بقالية الاش ال delta وال error
correction و الكلام هذا صح لا back propagation ولا
غيره تتعلم بقالية الاش ال genetic learning ال
genetic learning بمعنى ان احنا بتعدل أوزانها من
خلال ال .. بشكل evolutionary
بس هيك بس
هيك هذا هو المدخل الوحيد اللي هو ان احنا ممكن ندمج
من خلاله مابين او نستفيد من خلاله مابين من ال
genetic algorithm في neural networkماذا هو المدخل
هذا هو عملية تعديل الأوزان ممكن نستفيد من حاجة
تانية اللي هي ال topology تبعت ال network نفسها
يعني مين من ال nodes مرتبطة بمين من ال nodes يعني
احنا هنا قررنا مسبقا ان هذا ال network هيك شكلها
هيك علاقة ال nodes ببعض هذه توزنت جميع هذه توزنت
جميع
تاخد من الجميع اللي جابلها طب افترض انا بدي اعمل
.. تفترض بدنا نشوف لربما هولاك .. ايش عن ال
topology؟ انا استخدمت المصطلح هذا اكتر من مرة قبلك
.. بس واضح ايش معناته؟ topology يعني اللي هو ال
links ما بين ال nodes الارتباطات ما بين ال nodes
سبعة ال network افترض ان انا بدي اعمل .. افترض ان
انا بدي اجرب لربما يكون في ..توزيع أخرى أفضل ربما
هذه مش ضرورة تاخد من الأربعة كلها ممكن نكتفي
بتلاتة فقط هذا الأمر برضه ممكن نخضعه لل genetic أو
لل evolutionary computation بمعنى أنه لو جينا قلنا
هذا ال network دمثلها العلاقات أو topologyتمثل
بالجدول هذا بمعنى إيش أنه وين ما فيه link نحط واحد
مابين
واحد واربعة فيه link صح؟ مابين اتنين واربعة مافيش
link صح؟ اي واحد الاربعة اي واحد الاربعة فيه link
from two
من واحد الى أربعة فيه link بس من اتنين الى أربعة
مافيش link صح؟
من اتنين الى أربعة مافيش link هذا الشكل انا
بعبر
عن علقة أو links ما بين ال nodes لأن كروموزورد كيف
حيكون شكله
هأخذ المصفوفة كلها زي ما هي و أمر عنها بـ
chromosome من واحد إلى من
واحد إلى ذات النص من
واحد من اتنين إلى ذات النص صح؟
بعدين من ثلاثة إلى بقى النص المصبوط
قليل
من أربعة إلى بقى النص قليل من خمسة إلى بقى النص
قليل
من ستة إلى بقى النص كل ستة bits يمثلونعلاقة node
بالاخريات تمام
احنا لقنا ان الهدف تبعنا .. ايش الهدف تبعنا في هذا
ال problem الهدف تبعنا هو الوصول الى ال network
اللى ال topology بتبعتها بتحقق الهدف
نفس العملية نفس القالية مثلا في عندي data في عندي
data و في عندي chromosomes كل chromosome يمثل برضه
network أخرى بس هنا ال network مختلفة مش في
الأوزان مختلفة في ال topology صح نفحص كل network
بناء على ال data و نشوف ايش ال total error او ال
average error او ال sum of square differences مثلا
نفس الشيء في التاني السابق وبنقيم ال chromosomes
على هذا الأساس okay
وبناء
على التقييم بنختار منهم لل crossover وبنختار كمان
للمutation فهذه
هي باختصار شديدالقليل اللى على أساسها بيقوم الدمج
ما بين ما بين الاش ال neural networks و ما بين ال
evolutionary algorithm أو ال genetic algorithm
نرجع مرة تانية ننخذ
كلام سريعمفتوطين الأساسيات اللى احنا ممكن نحتاج
الى ال evolutionary computation فيهم مع النورا
نتويرد انه is اللى هو عملية ال training ال back
propagation learning algorithm cannot guarantee an
optimal solution فاحنا ال back propagation
learning اللى هي علييتنا الأساسية في تعديل الأوزان
مش دايما تعطيني solution فانا ممكن ا .. an optimal
solution فانا ممكن ابحث عن ال optimal solution
باسلوب اخر اللي هو ال genetic او ال evolutionary
اللي هو اصلا ميزته
الأساسية هي ال optimization ال evolutionary او ال
genetic algorithm ميزتها الأساسية انه تعطيني
optimization بمعنى افضل ما يمكن الوصول اليه فال ..
النورة ال network is often unable to find a
desirable solution to a problem at hand هذه أول
نقطة الأوزان النقطة التانية اللي احنا ممكن نحتاج
لنورة ال network فيها اللي هي ال optimal topology
اللي اصل إلى أفضل أو أنسب topology لل network اللي
تعطيني أفضل network فالان
بعد ما احنا اول خطوة بنسويها اللي هي انه to
represent ال problem على شكل chromosomes ال
problem الان هل هي أوزان ولا topology في الحالتين
بعبر عنها على شكل ايش؟ chromosome هنا ال
chromosome بيحتوي اذا هي أوزان بيحتوي على أوزان ال
noise اذا هي ال problem تبعتي اللي انا بدي .. اللي
هي مثلة ال topologyال .. ال .. ال genes تبع ال
chromosome بتكون ones و zeros اشارة الى العلاقات
ما بين ال noise okay فال second step دلوقت is to
evaluate ال fitness تبع evaluate ال fitness تبع ال
chromosomes okay هذا الكلام بناء على ال training
set اللي احنا
أو ال data الموجودة عندنا فممكن نحسب ال errors
طبعا كل chromosome مع أو against يعني كل ال data و
نحسب ال sum of square errors يعني ال errors هذه
اللي بتتجمع ال error and هذا و error and هذا و
error and هذا كلهم نحسب ليهش ال sum of square
errorsهذا ال sum من ال zero بيبقى أحسن ولا بيبقى
أسوأ بيبقى أفضل لإن أنا بدي ال errors تقريبا تبقى
صغر تمام the smaller the sum the fitter the
chromosome كل مكان أصغر كل مكان موفيت الان ال
genetic algorithm attempts to find مجموعة ال
weights اللي فعلا minimizes أو توصلني إلى هذا
الرقم الصغيرأيش بعد ما عمل ال fitness قلنا ثالث
خطوة ثالث
خطوة نعتبرهم واحدة اللي هي applying genetic
operators نسميهم genetic operators هدولة ال
crossover زائد
limitation هدولة
اللي هو ال genetic
Crossover operator takes two parents chromosomes
and creates a single child with genetic material
from the parents قلية الـ crossover واضحة لنا اللي
هي أولا رولية عشان نختار مين المرشحين وبعدها ال
probability عشان نختار زوج زوج صحو بينما ال
mutation .. ال mutation على طول على ال output اللي
بيطلع من ال crossover ب .. ألف علشان أحدد مين اللي
أ .. أخض عليه او أوقع عليه اللي هو ال .. اللي هو
ال .. ال mutation okay select a gene لأن كلمة gene
هنا بدها تبقى واضحة لي مسبقا هل أنا بحكي عنهbit
واحدة ولا بحكي عن ال vector تبع node معينة يعني ال
node تلاتة كل الأوزان تبعونها يعني هذه أنظر إيه
معناه ال gene ولا الوزن الواحد لوحده هو ال gene
هذا الكلام لازم يبقى محدد وإذا جالك سؤال يبقى
محددك بالظبط انت حاكي عن .. حاكي
عن node ولا عن وزن واحد
Okay كمان؟ فالصورة ان هنا ال cross over ما بين
هدول الاتنين هدول دقان two different sets of
weights يعني مجموعات او مجموعاتين أو زاد ل network
نفس ال topology ايش اللي بيصلي هنا؟ ماخد هذا ال
gene من هذا ال parent و ماخد ايش؟الذين بعدوا من
هذا صح والذين بعدوا من هذا وناخد الأخير من هنا
يبقى عاش عامل عامل split على صح
هذا الشق ناخده لحال و هذول لحال هذول اتنين نزلهم
هذول اتنين نزلهم من الأول و هذول اتنين نزلهم من
التانيتذكروا ان ال cross over ممكن تبقى على one
single splitting point او cross over point او على
two حسب ما انت بتختار لنفسك اذا انت اللي بتصمم
لهذا او حسب السؤال اللي بيقولك اذا انت في الامتحان
okay limitation هنا عملها على اساس هيش single
weight ولا single node يعني ضلللي الضلمين هذول مع
بعض ليش بفهم انه بحكي عن ال node هذه
عشوائيًا غيرهم إلى سالب
0.1 و 0.2ماخد ال node كلها على اساس انها جين واحد
تمام
خلاص هذا بالنسبة لو كان ايش اوزان تعديل اوزان
بالنسبة لو تعديل ال topology تعديل ال topology او
اختيار ال topology الأنسب فنفس القالية انما اللي
بختلف اللي هو the basic idea behind itبغض الـ
suitable network architecture انه تconduct a
genetic search في اللي هو different architecture
we must first choose a method لتعبير عن ال
chromosome ال chromosome الان بدوش يحتوي على أوزان
بده يحتوي على علاقات فزي ما قلنا ال zero لما يكون
مافيش link من node إلى node و ال one لما يكون فيه
linkهدا هو في
أسئلة احنا الآن عمليا هذا هو كل ما .. ماهو هناك
بالنسبة لل إيش لل hybrid ايش قلنا neuro او ما بين
ال genetic و ما بين ال neural network و الشقة
التانية بتخيليها المحاضرة اللي جاي اللي هو ما بين
الناس الفظي و ال genetic الفظي و ال genetic الشقة
التانيةطبعا فظيه evolutionally في اي سؤال؟ طيب
ماشي