بسم الله الرحمن الرحيم المحاضرة يا شباب اليوم ان
شاء الله بنبدأ موضوع جديد هو ممكن نعتبره يعني
استكمال ال express systems و ممكن ناخده على انه
موضوع منفصل كيف يعني؟ يعني موضوع ال artificial
neural networks اللي هو العمال الكبير ممكن يكون
واحدة من التقنيات اللي متقبقة في ال express
systemsولكن يوجد تطبيقات أخرى خارج إطار الـ
Express Systems نفهم التقنية هذه وجدام في شباتر
لاحقة نشوف كيف هذه التقنية تتوظف في Express
Systems المهم الآن أننا نفهمها في حد ذاتها الـ
Artificial neural networks في منها نوعية نوصل فيها
في ال supervised و ال unsupervised الآن نفهم لماذا
أو ال lecture هال lecture أقم سبعة بتتناول بس ال
supervised learning و ال lecture اللي بعدها تمانية
بتتناول ال unsupervised learning الكلمة الأساسية
هنا أنه learning هي عبارة عن واحدة من التقريات
اللي بتساعد في أنه نبني system، ال system ممكن
يتعلم، يتعلم من أيش؟ من البيانات السابقة ال
historical data أو ال training data بنسميها حين
عموما الآن شكل ال lecture هذه ال lecture السابعة
زي ما قلناها بتتعلق بس ب supervised learning أو
supervised artificial neural network المواضيع هذه
انا هدخل على طول على ال Perceptron المقدمة النظرية
هذه ممكن ان انت تستوعبها على حالك جرّا ان انت
تقرأها من ال slides يعني ال slides بتكفي انك
تستوعبها هو في الجزيجين هذوله بيمحدللموضوع من حيث
انه صلته بالخلايا العصبية في الدماغ وانه هي الأساس
لفكرة ال artificial neural networks يبقى بالأساس
كلمة neural networks جاي من نورا ومن نورا للخلايا
العصبية شبكات من الخلايا العصبية Artificial بمعنى
أصطناعي يعني احنا اللي عاملينها تقليد لقاليد العمل
تبع ال neural network ال biological
هذه الأسلحة ادعت انها او هؤلاء المفروضين اللي احنا
هنعديهم ونبدأ على طول في ال Perceptron ال
Perceptron اللي هو النوا اللي منها بتبنى الشبكات
الشبكات ال artificial neural networks عادة ما
بتستخدم في مسائل زي التصنيف قدام هذا الكلام هيظهر
مع ان بعد ما نخلص و نفهم قليت عملها فانا الآن بده
انتقلالحكي عن الـ Perceptron نبدأ من ال slide هذه
ال slide هذه توضح بنية ال Perceptron Perceptron هو
الخلية
الواحدة في النتورة أو لبنة البناء الأساسية لـ
Artificial neural network التكون
من بالأساسهذه اسمها linear combiner وهو ال hard
limiter ال
perceptron بالأساس ينظر له على الأساس انه linear
combiner زي ال hard limiter ممكن هذه الجزئيتين
ناخدهم لأنهم مكون واحدالـ Perceptor من هذا بيصله
input و بيطلع منه multiple inputs بيصله multiple
inputs و بيطلع منه one single output الوظيفة
الأساسية أو القالية العاملة الأساسية تبع ال
Perceptor اللي هو ت combine ال inputs يقارن ال
input ب some threshold يقارنه ب some threshold و
يطلع ال output بناء على هذاهل ال input أو ال sum
هنا combined بمعنى انه بيجمع هل ال sum هذا تجاوز
ال threshold إذا تجاوز بيعطي output وإذا لم يتجاوز
بيعطي output أخر فال output تبع ال perceptron ممكن
نفكر فيه على انه binary output ياما ال value هذا
ياما ال value هذا ال values هذه ممكن تبقى 01 او
plus one minus one وممكن تبقىأرقام عشرية ما بين
الـ 0 و الـ 1 أو ما بين الـ minus one و الplus one
فممكن ال output تبقى ال perceptron يبقى binary أو
يبقى float هذا الكلام في الآخر إيش مستفيد منه،
لنأخد مثال على ذلك
قبل المثال خلّيني أظهر برضه نكمل القالية العمال
اللي هي ان ال perceptron يتوزن من قالية التعامل
بتوعته اللي احنا قولنا فيه learning نبتد
مثل ال perceptron بهذا الشكل okay هاي اللي اوت
بتتبعه وهي ال input ال input هنا اتنين ممكن يكون
اكتر اه اكتر من اتنينالمهم ان ال output تبع ال ال
output تبع ال Perceptron ممكن يكون مطابق لل
desired output وممكن يكون غير مطابق يعني احنا لما
بندرب الشبكة او ال Perceptron زي ال Perceptron
الواحد لما بندربه بنعطيله desired output يعني ال
output السليم المرغوب فهو ال Perceptron بيقارن ال
output اللي طلع منهاللي حسبه هو الـ
Y دي هو الـ calculated output و الـ Y دي هو الـ
desired الفرق ما بين هدول الاتنين هي ال error اللي
هي الخطأ الخطأ هذا اللي هو E الان إذا في خطأ يفرض
انه ال perceptron يتعلم من خطأ كيف يتعلم من خطأه
بشكل بسيط هو انهأنا برجع تاني في ال slides لورا و
هي ان ال inputs هذه تبع ال Perceptron ال inputs
هذه X1 و X2 تمام لها أوزان W1 و W2 عملية ال
summation اللي بيصير بداخل ال Perceptron اللي
بيصير بداخل ال Perceptron هي weighted sum
operation المعنى انه كل inputالـ input سبعته
مابنجمعوش زي ما هم مابنضعوه في الأول بالإيش
بالأوزان تبعهم weighted sum الأوزان هذه هي المحور
عملية التعليق بمعنى إيش أنه إذا حسب ال perceptron
طلب معاه error هذا
ال errorبدي نعكس .. بدي ترتب عليه تعديل في الأوزان
أوزانها دي إما بتزيد أو بتتقيل عشان المرة الجاية
اللي بنعطيله ال input اللي بعد هيكه يحسب من جديد و
يكون اقترب أكتر من الصورة اقترب اكتر من الصورة
يبقى الأن آلية عمل ال perseverance اللي هي أنه
أولا هو بيعمل combination بيعمل combining لل input
طبعا بس لازم يضرب كل input بالإياشبالوزن تبعه
بيقارن ال sum ال total بال threshold و هنا على ال
threshold بيقول ال output ال output هذا بيقارنه
بال desired output هذا هم يكون supervised learning
لازم يكون ال input دخل ودخلنا معاها كمان أيش هاي
input بدخل و بدخل معاها كمان أيش ال desired هو
بيقارن هذا بهذا و الفرق ما بينهم هو عبارة عن أيش
بالـ error ال P هذه اختصار لل iteration يعني P1
سواء iteration وان احنا بندرب ال Perceptron على
عدة iterations P1, P2, P3 لعديد مثلا مائة
iterations او مائتين iterations okay الآن زي ما
قلنا اذا في error اذا في error ما بين ال Y اللي
حسبها ال Perceptron من ال Y اللي المفروض تطلع هذا
الكلام بنعكس على الأوزان الأوزان بتتغيركيف تتغير
الأوزان ببساطة
شديدة لان نحن جايبين الأوزان السابقة إيش
معناته ال iteration القادمة هذا ال iteration
الحالية هذا ال error هذا ال error في iteration
الحالية مضروب في إيش؟
الوزن هذا الوزن
السابق الوزن السابق الوزن السابق الوزن السابق
الوزن السابق الوزن السابق الوزن السابق الوزن
السابق الوزن السابق الوزن السابق الوزن السابق
الوزن السابق الوزن السابق الوزن السابق الوزن
السابق الوزن السابق الوزن السابق الوزن السابق
الوزن السابق الوزن السابق الوزن السابق الوزن
السابق الوزن السابق الوزن السابق الوبنفهم ايش يعني
learning rate بس المهم ان الوزن الجديد ايه
شو ساوي الوزن الحالي الوزن الجديد يعني ايه ايش
يعني الوزن اللي هيكون في ال iteration القادمة ساوي
الوزن الحالي زائد حاصل ضرب ال input مضروب في ال
error مضروب في ال
الألفة المصبوط الألفة اللي هي learning rate هذا
الكلام من عمل للوزن تبع X1 ومن عمل أيضا للوزن تبع
X2 وإذا في كمان other inputs من عمل إلهم كلهم
خلّيني
أشوف مثلًا عملي على هذا الكلاملو انا فيها اندي ال
truth function تبع ال end تعرف ال end بيناقيها two
values او two binary values والoutput تبعهم او ال
end تبعهم زي
هي انا ال truth table تبعend operation انت الآن
تتبع ان X1 و X2 هم ال inputs اللي بيدخلهم على ال
Perceptron و ال Perceptron وظيفته ان يتعلم اللحظة
ما بينهم ال end relationship ما بينهم و دايما
يعطيني ال output بالشكل هذا احنا و احنا في عملية
التدريب هندخله ال inputs وندخله ال desired output
هو لأنه عندما يأخذ ال input ويحسبه إذا طلع ال
output اللي حسبه مخالف لهذا الكلام يبقى فيه error
في error اللي هو بيعدل على مين بيعدل عليهش على
الأوزان الأوزان هذه بيزيد أو تنقص ال iteration
اللي بعدها بيدخله ال input اللي بعده وبيكرر
العملية هذا الكلام احنا بنعمله مش بس أربع مراتممكن
نقيلها على قد أشواط كل أشواط ندخله الأربع هدولة
مرة أخرى يعني زي هيك مش عارف إذا كان واضح هذي ال
slide ولا لا بس أنت بص عليها و تخيل أو بص على
الرسم هذه ال epoch هي مجموعة iterations مجموعة
iterations هاي هذه iteration iteration iteration
في ال iteration واحدة ندخله إيش؟بتدخله أيضا
desired output الأوزان
هذه بتكون عملها initialization عشوائي random
variables يعني هنا مثلا بناء على الجدول هذه ال W1
كانت 0.3 هذا ال initial value تبع W1 و ال W2 كان
ايش
نقص 0 نقص 0.1 صح لا الهدف نشوف احنا نحسبها ايش ال
input؟ Zero صح Zero Zero في ال iteration الأولى ال
input Zero Zero ثم رح نضغط بال Zero هذا في ال
weight وال Zero هذا في ال weight ونجمع طبعا مبين
ان المجموع Zero Zero هذا اللي هو ال total ال sum
تبع XI مضروب في Wi يساوي 0 يعني هذا مقارنة بال
threshold
فاشلو قلّي أن θ يساوي 0 أه خلّيني بس أطلّع ال
slide تبعتها طيب
okay 0 طب إيش معنى ذلك الكلام
أيه ال output اللي هيطلع؟ إذا كان أنا المجموعة تبع
ال zero و ال threshold تبع ال zero هيطلع ال output
one ولا plus one؟ one ولا .. one ولا zero؟ ال
output يعني طلع ال actual output طلع ال zero لأنه
لازم يبقى ال output لازم يبقى ال sum أكبر من zero
عشان يطلع one المطالبة أنه less than or equalلأ
للـ threshold الـ threshold اللي هو قلنا هنا أن θ
بساوي 0 طالما أن ال sum هذا طلع يساوى 0 في ال
output اللي حيطلع على 0 هذا ال actual output و من
ال desired output هاي ال desired output فيهم فرق؟
لأ مافيش فرق يبقى ال error zero يتعدى ليش على
الأوزان؟ لأ و يبقى الأوزان زمهية الانهذا الكلام في
الliterature الأولى الliterature الثانية ماهو ال
input اللي هيدخل ال input هذا واحد و ال zero نفس
الشيء و ليه مش نفس الشيء واحد هينضرب في ايش
واحد
هينضرب في ال zero point تلاتة و ال zero هينضرب في
ال output التانياللي هو 0.1 إيش هيطلع المجموع؟ 0.3
OK خلّيني أشوف أن أنا بتتأكد أن ال threshold احنا
الآن بناء على هذا الكلام زي كده ال threshold بيصير
0 إحنا عندنا 0.3 0
.3 المفروض تعطيني إيش threshold؟ إيش تعطيني
output؟ تعطيني واحدةأعطينا واحد لأن الـ 0.3 أكبر
منه دعونا نشوف ال step function اللي بيستخدمها ال
step
function اللي بيستخدمها إذا
طلعت واحد ولا سفر؟ طلعت سفر لل threshold إذا أكبر
من أو تساوي زيرو بيطلع واحد فإلا بيطلع زيرو بس أنا
كده مانتبقش على ال table ال table أنتم معايا واضحة
أن المشكلة المشكلة أنه لما أنا بدأ أجي أحسب واحد
ضرب 0.3 ايش بيطلع؟0.3 بجمعها على الـ 0 هدا بطلع 0
.3 الـ 0.3 هدا أكبر من الـ 0 المفروض يطلع لـ
output 1 فهنا ال output إيش اللي نطلع الـ 0.1 لتحت
الـ 0.1 لتحت الـ 0.1 لتحت الـ 0.1 لتحت الـ 0.1
لتحت الـ 0.1 لتحت الـ 0.1 لتحت الـ 0.1 لتحت
الـ 0.1هكذا اصبحت مظبوط انا جربت ال one x واحد
واكس اثنين صح؟ Zero ضارب Zero point ثلاث بيطلع
Zero وهذا واحد ضارب سالب واحد وعشرة بيطلع سالب
مظبوط؟
فهكذا بيطلع Zero بيطلع أكبر Zeroبطلع ال output 0
فمرة تانية مرة تانية ال input اللى بدخل فى ال
iteration ال input اللى بدخل فى ال iteration
التانية هو 0 لل X1 و 1 لل X2 بنضربه كل واحد فى
الوزن تبعه وبطلع المجموع ناقص أو سالف 0.1 هذا
بيطلعلي output 0 مظبوط ال output 0 هذا زى و زى ال
desired output فبطلع في ال share نفس ال shareلما
ندّه في iteration تلاتة بيكون وضع عندي زيك واجدها
بيطلع عندي plus 0.3 plus 0.3 بيوقيني a calculated
output of one ال one هذا مخالف لل ash لل desired
والفرق ما بينهم ناقص واحد لإن احنا بنجيب ال
desired ناقص ال actual او ال calculated فبطلع ال
difference سالب واحد هذا ال difference اللي هو ال
errorالان ترتب على تعديل الأوزان ايه معادلة تعديل
الأوزان اللى طلعنا عليها ان
ال W I
لإتراشن
القادمة WI لإتراشن الحاليةزائد Alpha مضروبة في X
الوزن الحالي مضروبة في X الوزن الحالي مضروبة في X
الوزن
الحالي مضروبة في X الوزن الحالي مضروبة في X الوزن
الحالألفة نتعامل معها لإنها 0.2 ألفة
بالساوية 0.2 وهذا تقولنا إيش اسمه ال learning rate
اللي هان بدنا نشوف أثر كبر أو زغر هذا الرقم على
عملية التعليم بس قدامي فعلا 0.2 مضروف في إيش ال
input الحالي واحد مضروف في البزن الحالي اللي هو 0
.3صح يساوي 0.3 زائد لأ انا اللطف مش الوزن ال error
صح ال error ال
error اللي هو قداش ال error ال ناقص صح مظبوط يبقى
يبقى
ايه
مرة تانية واحدة معجلة wi plus one ساوى السابق زاد
ال delta
هذه دلتا دلتا
هي مقرار الزيادة احسبها كتابي بساوية ال alpha ضرب
ال X انا
ببدأ اختصر ال P هي اللي بختصرها انا ببدأ اضرب ال E
ايه بمصبوط هيك او لا لأ هذه لحالة هيك البعد الزائد
هو دلتا نفسه صحماذا قبل أن نقول هو X1-1 X1
-1 X1-1 X1-1 X1
-1 X1-1 X1-1لأن اجمعه على الـ 0.3 بيطلع 0.1 لماذا
0.1؟
المفروض 0.2 نتأكد مرة تانية لأن السابق كان 0.3
السابق كان 0.3الـ 0.2 بالسابق فيطلع 0.1 بالموجة
فهناك شيء غلط فهناك شيء غلط دعونا نتأكد أن حسبة
هذا كمية سليمة هنا الـ W2 W2 P plus 1 السابقة 0لأ
ناقص 0.1 و ال delta هي عبارة عن ال
alpha هي 0.2 مضروف في ايش مضروف في ال x اللي هي 0
مضروف في ال error كل هذا بيطلع zero و بيبقى زي ما
هي وهذا صحيح ماشي مع الجدول ايش الغلط اللي عندنا
هنا اللي خلّها بتطلع معاناالزي ال واحد هذا غلط هذا
مش زي ال jet white ايش السبب انك حضرت واحد X انه
ايه حضرت معوض على X واحد انت بتاعت معوض عليها في
سفر ماهي واحد ايه X واحد واحد طب ايه معوض تاعت
عليها في سفر وين انا موراها هذا لا هذا لا X اتنين
هذا لا الوزن التاني احنا الان نحصل في الوزن الاول
وزن الأول حسبنا طلع معنا 0.1 هو المفروض في الجدول
0.2 اه المفروض يطلع .. احنا حسبنا كان السابق الوزن
السابق 0.3 مظبوط إضافة إلى ال delta ال delta هي
عبارة عن ال learning rate احتمال ال learning rate
مش 0.2 احتمال يكون 0.1 بس انا غلطان خليني اتأكد ان
ال learning rate هوهي مالهاش الا هيك هي مالهاش الا
انه ال ال alpha بساوي 0.1 طيب
لو أخدها على أنها 0.1 بيطلع مظبوط صح؟ بيطلع point
two خلاص
ماشي هي حتما هيك بس أنا بدور عليها عشان أتأكد مش
شايفها
بنكمل الآن هنا زي ما انت شايفين جدول لما بدأنا ال
iteration جديدة بدأت الأوزان معانا على الأوزان
الجديدة صح لأ فرق الأوزان الجديدة هي محل الأوزان
الجديدة 0.2 هنا أو نقص 0.1تحت next name حسبنا الان
هيطلع ال actual و ال desired غير عن بعض ال error
واحد نقص زيرو يسوى واحد واحد الان بماذا؟ بموجة
احسب الأوزان الجديدة لأ w واحد w واحد iteration
هذه رقم أربع صح بساوي الأوزان تبعد بساوي الالوزن
السابق في iteration رقم تلاتة لأ احنا نحصل على رقم
خمسة نحصل عزيزي على رقم خمسة كده كانت في الرقم
أربعة زائن ايش مضروف بالألفة اي 0.1 مضروف بال X اي
واحد مضروف بال error اللي هو واحد صح؟ اذا كده كانت
هذه في iteration أربعة كانت 0.2زائد الان جديش هذا
المفضل ايش هطلع نصبوت نصبوت لما نحسب وزن w2 لل
iteration الجاية بالساوي 0.2 نفسك لأ مش 0.2 w2
في iteration 4 زائد ايش نفس الاشي صح0.1 المضروب في
واحد ال input كان واحد وال error واحد كده ايه درجة
2؟ سالب واحد سالب واحد ساعد 0.1 زائد 0.1 يعني ساوة
صفر صح؟ صح اتلا معناك مظبوط ال error الجديد ال
weight الجديدهذا الكلام الآن ايش اللي بيحصل ان
تدريجيا الأوزان هذه بدأت على ال initial weights
كانت 0.3 مع نقطة 0.1 تدريجيا تبدأ تتغير إلى أن في
الآخر تستقر عمليا بدأت تستقر من هنا بدأت تستقر
الأوزانIteration هو إترايش مابيحصل أي تغيير هدف حد
ذاته مؤشر على إن ال Perceptron بطل يعمل Errors صح
بقوله بقى بطل يعمل Errors أوزانه تبعته ثبتت و
دايما ال desired مطابق لل actual و إتر نقدر نقول
إن ال Perceptron اتعلم ال Perceptronاتعلم اتعلم
ايش اتعلم انه يعطيني ال output الصحيح ل ال end
function لما اعطيله two inputs بيعطيني ال end
تبعهم هذا مثال بسيط جدا انا مش محتاج اجيب
perceptron و اعلمه علشان احسب ال end gate او ال
end function صح ولا لأ if zero and zero بطلع ال
zeroF one and one بطلها one otherwise بطلها zero
كلها F statement واحد مظبوط بس احنا هذا الكلام
مشينا فيه عشان نوضح فكرة او نوضح قالية تعاملهم في
ال Perceptron القالية هذه هي اللي بنبنى عليها تبع
ال Perceptron هي اللي بنبنى عليهاالتعلم في الشبكة
شبكة من ال perceptrons اللي هي نور ال network يعني
نور ال network هي عبارة عن شبكة من ال perceptrons
هذه و بتشتغل بنفس القليل انه perceptron الواحد في
هذه الشبكة الشبكة ممكن تبقى زي هيك و هيك كل واحد
من الدلائل هذه هي عبارة عن perceptron فنسميه
neuron بالبسيط كل واحد منهم زي ما انت شايفبدخل
عليه مجموعة input و بطلع منه مجموعة output ال
output في واقع الأمر هم ال duplicates يعني هو نفس
ال output هو بطلع output واحد بس بتعمم يعني هذا ال
neuron بطلع منه نفس ال output بس بتعمم على مين على
كل ال neurons اللي في المرحلة اللي بعد اللي في
الطبقة اللي بعدهاكل واحد من هذول نسميهم layer هذي
الأخيرة بيسميها output layer لإن هي اللي بيطلع
فيها ال output و هذي بيسميها ال input layer و هذول
التانين اللي في المصدر بيسميهم hidden layers ال
input layer عمليا هذول المربعات دي ماهياش neurons
الدوية بس ال neurons ايش يعني مش neuronsالمقاربعات
يعني ما بتعملش summation ولا بتعمل activation ولا
بتعمل أي اشي بس مجرد نقطة تشعب ال input فيها بتوزع
على هم هدول الدوائر هم اللي بيعملوا ال weighted
sum وال activation ال calculation هنا ال
activation أصبحت عبارة عن مقارنة ال sum بال
thresholdبنطلع ال output بناء على هذا المقارنة
فالان بدأ ارجع انا قبل ما نفهم قالية عمل ال
network ككل بدأ ارجع على مفهوم ال activation
function احنا شوفنا ال step لما كنا بنقول بنقارن
بال zero كان هذا الكلام جاي
من هنا هذول الأربعةيعني بقى أربع أنواع من ال
activation functions ال activation functions بتاكل
X كابيتل هذا هو ال sum هو ال sum اي sum ال
weighted sum تبع حاصل جمع مضاريب ال inputs في
أوزانها صح الكلام حاصل جمع مضاريب ال inputs في
أوزانها بيطلع عندي ال weighted sum بالان على ال
sum هذا و بالان على ال thresholdالـ function بتطلع
هذه ال output هذه اسمها step function كيف ال
output تبعها اللي هو احنا شفناه أتابعه في المثال
إذا X X capital اللي هي ال weighted sum أكبر من أو
تساوي ال zero تعطيني one أقل تعطيني ال zero هذه ال
function اسمها ال sine function زي ال step زي ال
step بس ال output تبعها مش 01 سالب one و plus oneو
برضه نفس الشيء إذا كان ال X أكبر من أسفل 0
فبتعطيني plus one و إلا تعطيني negative one في
حاجة اسمها segment function segment function هذه
معادلة sum نحط السنة فوق الأبسلون فوق ال E و ال
output هنا الآن بيطلع رقم عشري مش عشري مش binary
هذوله binary ده صح هذوله binary ال output ال Y هنا
يا إما بيجي وانا zero يا إما بيجي plus one أو
minus one أنا 110 و ال linear نفس اللي بدخل عليها
بتطلعلي مقابله value إحنا الآن يا إما في الامترال
اللي قدام يا إما بتكون ال activation function step
أو sign أو sigmoid خليني
أنا أطلع على لو أنا عندي مش perceptron واحد عندي
network من ال من ال neurons
بالمثال هذا أعطيك فكرة لإيش ممكن تستخدم نور ال
network أو ال perceptron انت اتبر ان هدولة انكس
الان vectors
و ال vectors هذه عندي هنا في الحالة هذه X1 و X2
لكن تخيل ممكن تبقى خمسة X's X1, X2, X3, X4, X5 و
ال vectors هذه
رقم هنا إيه معنى إيه دلالة ال network اتعلمت إنها
لما تشوف فائدة تعطينا output هذا لما تشوف فائدة
تعطينا output هذا لما تشوف input هذا تعطينا output
هذاهذا ما نسميه classification انه يدخل عليها
input input vector وهي بتصنف ليه ينتمي إلى هذا
الفئة أو هذا الفئة جامعة ال zero او جامعة ال one
جامعة ال zero هيكون لهم دلالة معينة وجامعة ال one
لهم دلالة معينة اخرى فال neural network عادة
مستخدم في التصنيف نعطيها vectors و ال vectors هذه
لها معنى مثلا بنقول انه أنا مجموع من الأشخاص
الاشخاص هذا احنا عنا الخصائص تبعتهم، بقول مثلا طول
الشخص ووزن الشخص، عمر الشخص وما إلى ذلك، ونعطيها
ميت شخص كل واحد إله إيش الفئام تبعته، و هي بتتعلم
تصنيفهم، إن والله هدول الأشخاص ذكور، هدولها إنث،
بناء على التدريب اللي احنا بندربله، بنقولهم ..
بنقولها إنه .. كل شخص بنقولها إنه إيشهو ذاكر ولا
أنثى بعد ما تتدرب وتخلص نسألها عن أي شخص جديد فهي
بتعرف اذا كان التصنيف تبعه ذاكر ولا أنثى الان بدنا
نشوف اللي هو ال multi-layer Perceptron اللي هو
الكلام اللي طلعناه قبل قليل شوية وكيف قالية العمل
مثل هذا النوع من ال networks لاحظ انه
لحظ أنه لو أحنا مدنيين خلّيني أخد مثال أبسط منها
ده يعني ناخد مثال في network تحتوي على hidden
layer واحدة زي hidden hidden layer واحدة هذا input
layer وهذا hidden layer وهذا output layer الان لو
أنت جيت فكرت في هذا الكلام تلاقي أن في أحنا مشكلة
وهي إيشالـ neurons اللي هنا اللي على ال output
layer لما انا بده ادخل ال input هدخل معاه ال
desired output تمام
هدخل ال desired الـ desired YD 1 YD 2 YD K YD L
الان كل واحد من هدول ال neurons اللي هنا هتقدر
تحسب ال errorما بين ال output اللى طلعته وما بين
ال output ال actual صح ولا لأ كمان
حاصر الفرق ما بينهم هو ايش ال error المشكلة هنا
هذه ال node في ال hidden layerما عندهم أي فكرة عنه
كdesire يعني مانعرفش هو ييجي يحسب الفرق ما بين ال
output تبعه وما بين ال desire هو مش مسئول عن ال
desire ده ده اللي مسئول عن ال desire هو مسئول
مسئولية جزئية okay فاحنا الآن بنشوف كيف هدول ال
nodes يعني هدول ال nodes اللي هنا بيحسموا الفرق أو
ال error و بناء على ال error هم بيعدلوا أوزان مين
بعد الأوزان مين ال input اللي داخل عليه كل واحدة
بيسوي الكلام هذا بشكل مباشر بس الجماعة اللي هنا
ايش بيبيسويها أنا كده بشوفه بتفسيري لان هذا
عبارة عن ايش multi layer
بتفشر من ورا ال network طبعا
ال initialization لما نتعامل مع network هبنعمل
initialization برضه عشوائي لمن الأوزان تبع ال
inputs يعني كل واحدة من ال nodes هذه ال node هي ال
inputs تبعونها بنعملها كل واحد منهم ايش أوزان
فالأوزان هذه بتبقى بشكل عشوائيأو موزع بالتساوي كيف
يعني يعني عندي range هنا FI is the total number of
inputs of neuron I يعني عندي نيرون أنا هذا الرقم
واحد أكمل inputs عليه أربعة صح كلهم دولة واحد
اتنين تلاتة كلهم داخل عليهم أربعة inputs فالوزان
تبعتهم يقول two point four على أربعة يساوي ستة0.6
0.6 بالموجة و 0.6 بالسائق يعني تخلي الأرزان تبعتك
تتروح من بين 0.6 إلى 0.6 بتوزع هذا ال range هذا ال
range كده طوله 1.2 دسم ال 1.2 هذا بالتساوي إلى
أربع قيم متساوي
هذه اللي هو ال initialization لأن ال activation
تختار activation function عادة مش هتختار في مسألة
الامتحان هيقولك استخدم ال sigmoid او استخدم ال
step او استخدم ال sign function ايش معناه ذلك؟
معناه ذلك انه لما تحسب الصم اللي هو دايما الصم هذا
هو اقع عن حاصل جمع ash المضاري المضروب كل input
بال ashبالوزن تبعه هتحسبها و تقسم منهم ال theta ال
threshold تبعنا و ال output هذا و ال total هذا
تدخلوا على seed mode عشان تطلع ال Y ال Y تبع انهي
node تبع ال node اللي انت واقف عليه هنا Yj يعني
node من ال nodes تبع ال
الـ middle layer YK يعني node من الـ node سبعة الـ
output layer أضحك؟ لحظة إن هو .. إيش هنا .. إيش
قال؟ على طول أخد ال .. ال sum و طرح منه ال
threshold okay ال output .. الفرق ما بين ال .. ال
sum و ال threshold هو اللي مدخل على ال segment
okay طيب بعدين هذه .. هذه الخطوة مسمى activation
activation اللي بينتج عنهابينتج عنها هي ال
calculated output بعد ما نحسب ال calculated output
لان نود ايش بنسوي نشوف اذا في error ولا لأ صح okay
نشوف اذا في error ولا لأ اذا
في error معناه ذلك اننا نعمل update للأوزان مافيش
error مافيش update للأوزان updating الأوزان للالـ
output neurons مختلف
عن updating الأوزان لمين للـ hidden neurons تذكر
أن في عندي أحناير hidden layer هنا
output layer ال
output neurons
هو ايش اللي حاسب ال error و لا ال error اللي هو
عبارة عن ايش الفرق بين ال desire ناقص ال
attraction مظبوط هذا ال error بين حسب يدخل في حسبة
ال error gradient هذه ايش هذه الإشارة delta صح
small delta هذا delta capital وهذا delta small
خلاص بعد ذلك بقى اضربه في الـ alpha ثم في ال
output بيطلع معايا ايه
ال delta وهذا ال capital وهذا ال small تمامالان
حسبت انا small delta اللى هى ال error gradient
باخد ال error gradient باضربه فى ال output ال
actual مبروه فى ال learning rate ال alpha بطلع
معاى ال delta يعنى مقدار التغير اللى بيطرق على
الوزن هذا المقدار التغير بنضيفه على الوزن السابق
بنضيفه على الوزن السابق هذه مقدار التغيربنضيفه على
الوزن السابق و بطلع معاه الوزن الجديد و أضح
العملية تلات خطوات الآن عملية تغيير الأوزان عملية
تغيير الأوزان أولا بحسب ال error gradient ثم بحسب
ال error delta او ال weight delta اه بيظهر تغير في
الوزن ثم بضيفه على الوزن الحالي
خلّي بالك إنه لو مافيش قرر هيطلع هذا المقدار الـ 0
كله هذا هيطلع الـ 0 كله هذا الـ 0 كله هيطلع هذا
الـ 0 كله هيطلع هذا الـ 0 كله هيطلع هذا الـ 0 كله
هيطلع هذا الـ 0 كله هيطلع هذا الـ 0 كله هيطلع هذا
الـ 0 كله هيطلع هذا الـ 0 كله هيطلع هذا الـ 0 كله
هيطلع هذا الـ 0 كله هيطلع هذا الـ 0 كله هيطلع هذا
الـ 0 كله هيطلع هذا الـ 0 كله هيطلع
هذا الـ 0 كلههذا الأمر بالنسبة لـ output neurons
يعني الـ neurons لاحظ ال subscript الـ K هذه تتبع
مين زي ما في الرسم هنا الـ K اللي هم هدولة تفضل
اللي هو error gradient بعدين ال weight correction
اللي دلت ال weight و بعدين ال weight اللي جديدهذا
بالنسبة لـ L أما بالنسبة للـ Hidden Layer الوزن
الـ Delta K هذه تحتفظ فيها لأنها تدخل معنا في حسب
التعديل الأوزان على الـ Hidden كيف؟ يعني دي أنا
error gradient للـhidden
small delta g small delta g هو نفس الشيء إبراهن
output النوت نحن
الآن هنا
لأن الواحدة من هدولة لو ال input تبعها اتعمم على
مين على كل ال nodes اللي في ال layer اللي بقت يعني
بمعنى others هدول ال nodes كانوا أخطأوا كان عندهم
errors فهذا بفعل أوزانهم و بفعل ال input اللي
أجرهم من ورا يعني هدول ال nodes اللي هنا مسئولين
مسئولية جزئية عن الخطأ اللي بيحصل إذا حصل خطأ في
ال hidden صح؟وبالتالي احنا بدنا نرجع بعض المسئولية
عليهم هاي بعض المسئولية small delta k هدا هاد ال
node كل واحدة من هدولها حسبة ال small delta k
تبعها ولا لأ صح ولا لأ ارجع التاني ال error
gradient هدا احنا الان رجعنا على ال output مش كل
واحدة منهم تحسب ال small delta k تبعها small delta
k تبعها اللي هو ال error gradientالان بدى نضرب في
ال errors نضرب في الأوزان تبع كل ال inputs اللى
دخل عليها هذا لما انا اقول wjk ايش يعني يعني الوزن
اللى تبع ال input اللى طالع اللى رايح على k من j
يعني هى وزن و هى وزن و هى وزن و هى وزنكل واحد من
هؤلاء الأوزاد سينضرب في Delta K Delta K هي Error
Gradient تبع هذا ال node سينضرب في ماذا؟ في WJK
وينجمع الكلام هذا كله هذا الكلام يعني Error تبعها
جاء بسبب كل ال nodes اللي غذوها هذا الكلام ينضرب
لأن لما تحسب الـ delta J تبعتها تضرب ال output
تبعها مضم في واحد نقص output هذا يعني Y²-Y صح او
لأ انا بسطط اتخذ ال YJ مضم في واحد ومضم في YJ يعني
Y-YJ² صحهذا النقطة ينضرب في مجموعة الصميشن هذه
عشان نحصل على ال error gradient تبع هذا ال node
ونكرر الكلام هذا كله لل other nodes عندما حصلنا
على هذا كلام لل node نرجع تاني بنفس القالي اللي
حسبنا فيها الوزن جديد لل output node نعمل نفس
الشيء اللي هو باخد الالـ error gradient بضربه في
اللي دخل على ال node و بضربه في ال learning rate
بطلع ال delta w بجمع ال delta w على ال w الحالي
بطلع معايا ال ash الوزع الجديد هذا الكلام بينكرره
مرة مرتين تلاتة إلى ان ال node بتتعلم ال network
بتتعلم ايش يعني بتتعلم يعني ال error السابعة هتصبح
صفر هضرب جهة ان شاء اللهبنطلع على الكلام هذا بشكل
يعني مفصل بالأرقام خلاصة الأمر أنه احنا الأن بدنا
نفهم شغل أساسي وهي أنه لما يكون عندي perceptron
يعني نورون واحد قليل العمل تبعته أو ال learning ال
learning technique تبعته واحدة هي تعديل الأوزان
بناء على الفرق ما بين ال actual output و ال
desired outputبيبقى معطيله في أثناء عملية التدريب
وهذا المقصود بال learning أو supervised learning
supervised learning يعني نعطيه input و مع كل input
بنقوله ايش ال output الصحيح اللي المفروض يطلع و
بنشغل عملية ال iterations مرة و مرة عشان يضبط
الأوزان تبعته تدريجيا إلى أن تصبح الأوزان stable
stable يعني ما بقي تتمشي على تغييريا ما لا تمشي
عليها تغيير بالمرة، يا ما التغيير أصبح طفيف بالقدر
اللي نقدر نقنشه، يعني واحد في الألف مثلا، إجمالي
الـSum تبع كل الـErrors، تبع كل الـNodes، لما يبقى
عندي نورة Network، يعني زي هيك، ويبقى فيها Hidden
Layers، العملية بدأت تتحركعلى جزءين عملية تعديل
الأوزانة أو عملية ال learning بتتصير على جزءين جزء
الأول بتتعلق بتعديل انه ال output nodes للأوزان
تبعتها وهذا بعد ذلك يترحى العالمين على ال hidden
nodes اللي هم عدّوا الأوزان تبعتهم هذا اسمه ان ال
input signals تبشي في هذا الاتجاهو ال error of
signals ال input data بتمشي في هذا الاتجاه و ال
error of data بتمشي في هذا الاتجاه هذه بتروح ال
error of data اللي جابلها علشان قمامة اذا في layer
واحدة او اكتر في ال hidden علشان كل واحدة اتعدل
الأوزان تبعتها okay ستة مثال ان شاء الله المحاضرة
تجيبني نشوفهم و بعدين بنشوف كيف عمليت التعلم