اململكة العربية السعودية وزارة التعليم العالي جامعة طيبة كلية العلوم (ختصص إحصاء) العينات فصل مسألة باستخدام الشبكات العصبية بحث مقدم الستكمال متطلبات الحصول على درجة الماجستير في تخصص إحصاء الطالبة إعداد : شيخه عاقل السهلي واصل بإشراف : الدكتور أمحد ساهر سلطان 344/44 م
بسملة
اإلهداء إلى من زرعت في داخلي الطموح واألمل, إلى الحنان واألمان, إلى والدتي الحبيبة اليوجد في العالم وسادة أنعم من حضنك, وال وردة أجمل من ثغرك, أطال هللا في عمرك على طاعته. إلى الغائب الحاضر, إلى قطعة من قلبي فارقتني, إلى والدي الحبيب,رحمك هللا رحمة واسعة فقد كنت بنا رحيما. إلى من شاركني الحزن والفرح, إلى من أشعر بالسعادة وهم حولي,إلى من كان سندا وعونا لي في دراستي, إلى إخوتي األعزاء. إلى من جعله هللا قرة عيني وبسمة شفاهي, إلى موطني و سكني, إلى شريك حياتيإلى زوجي الحبيب إلى من أحمله بين أحشائي, إلى من ذاق معي حالوة األمل, ومرارة الصبر, إلى من أنتظر قدومه ألحمله بين يدي واستنشق عبير عطره وروحه. إلى فلذة كبدي... شيخه عاقل السهلي
كلمة شكر الحمدهلل والصالة والسالم على نبيه محمد صلى هللا عليه وسلم وآله وصحبه وبعد, فإنه ليسرني أن أتقدم بعظيم الشكر ووافر االمتنان إلى الدكتور أحمد ساهر سلطان, المشرف على مشروع البحث, لما أبداه من أراء وتوجيهات علمية فجزاه هللا خير الجزاء. كما و أتقدم بجزيل الشكر واالمتنان إلى أمي العزيزة التي أستمد منها القوة واإلصرار على مواصلة دراستي, وإلى زوجي الذي ساند وصبر من أجل دراستي, وإلى اخوتي فلهم شكري وتقديري. كما وأشكر أساتذتي الكرام على مابذلوه من جهد في سبيل العلم والدراسة, كما وأشكر زميالت الدراسة لتشجيعهم وأرائهم أثناء فترة دراستي, وكل من كان له يد العون في إتمام بحثي, وباهلل التوفيق وعليه التكالن.
المقدمة: الحمدهلل الذي علم بالقلم, علم اإلنسان مالم يعلم, والصالة والسالم على نبي الهدى وخير الورى, وعلى آله وأصحابه, ومن بأثره اقتفى, وبعد لقد أنعم هللا - عز وجل - علينا بنعم عظيمة سخ رها لنا لنعرفه ونعظمه, ونعبده ونوحده, محققين الغاية التي من أجلها خلقنا, { و م ا خ ل ق ت ال ج ن و اإلنس إال ل ي ع ب د ون } ]الذاريات: 65[ وإن من أعظم هذه النعم نعمة العقل الذي هو آلة التفكير, وأنها نعمة ربانية عظيمة اختص هللا بها اإلنسان, ومي زه بها عن غيره من بين سائر الجمادات, ومن هنا ظهر مجال الذكاء االصطناعي الذي يهتم بالذكاء اإلنساني ودراسة قدراته العقلية, ومن أهم أقسام الذكاء االصطناعي ظهرت الشبكات العصبية اإلصطناعية التي تعتمد على طريقة التفكير البشري وكيفية معالجة المعلومات من خالل أسلوب يحاكي الشبكات العصبية الحيوية. وأنا أضع بين أيديكم بحثي هذا والذي يهدف إلى دراسة مسألة تصنيف العينات بإستخدام الشبكات العصبية اإلصطناعية, وابراز أهميتها في نمذجة بعض العمليات المنطقية, وذلك بعد إلقاء الضوء على مفهوم الشبكات العصبية اإلصطناعية, وابراز كيفية عملها مقارنة بالخاليا العصبية الطبيعية, ودراسة مكوناتها وخصائصها, وتوضيح كيفية بناء معماريات لها, وكيفية التغلب على األخطاء الناتجة باإلعتماد على خوارزمية االنتشار الخلفي, وأخيرا اإلشارة إلى برمجة الشبكات العصبية وفوائدها.
فهرس احملتويات اإلهداء... 4 كلمةشكر... 6 المقدمة:... 5 فهرسالمحتويات... 7 فهرسالرسومواألشكال... 8 الفصالألول : نظرةعامةعلىالشبكاتالعصبية... 2 )-( تمهيد... 3 )2-( تاريختطورالشبكاتالعصبية:... 3 4... ) Biological Neural Networks ( 5... ) )3-( الشبكاتالعصبيةالطبيعية )4-( الشبكاتالعصبيةاإلصطناعية Networks( Artificial Neural )-4-( مكوناتالشبكاتالعصبيةاالصطناعية:... 7 )2-4-( النمذجةالرياضيةلطريقةعماللخليةالعصبيةاإلصطناعية :... 8 ميكانيكيةالتعلمفيالنيروناتالبسيطة:... الخصائصالعامةللشبكاتالعصبيةاإلصطناعية... )3-4-( )6-( الفصاللثاني : توظيفالشبكاتالعصبيةفيفصاللعيناتونمذجةبعضالعملياتالمنطقية... 7 )-2( مقدمة:... 8 )2-2( تمهيد... 8 )3-2( الجبرالبوليوتوظيفالشبكاتالعصبيةفينمذجةالعملياتالمنطقية...: )4-2( وضعالحللمشكلةالدائرةالمنطقية ( أو المانعة )... 24 )6-2( الشبكاتالعصبيةالمراقبة ( Networks ) Supervised Neural... 25 )5-2( خوارزميةالتدريبللشبكاتالعصبيةاإلصطناعية... 2 )-5-2( نموذجاإلنتشارالمرتد ( Propagation ) Back... 2 )2-5-2( التعليمالموجهللشبكاتالعصبيةاإلصطناعية ( ANNs ) Supervised Learning of... 2 )7-2( خطواتتدريبالشبكةالعصبيةاإلصطناعية... 32 )8-2( برمجةالشبكاتالعصبية... 44 النتائجوالتوصيات :... 45 المراجع... 48
فهرس الرسوم واألشكال 6... )-( 7... )-2(... )-3( 2... )-4( شكل شكل شكل شكل شكل خالياعصبيةاصطناعيةمتعددةالطبقات... 2 4... )-6( خليةعصبيةإصطناعيةوحيدةالطبقة... 4 4... )-5( مثاللشبكةوحيدةالطبقة... 4 24... )2-( تعريفالعملياتالبوليةاألساسيةAND... OR, 24 23... )2-2( نموذجقابلللفصاللخطي... 23 24... )2-3( 26... )2-4( نموذجغيرقابلللفصاللخطي... 26 25... )2-6( شكل شكل شكل شكل شكل شكل شكل نموذجقابلللفصلغيرالخطي... 25 27... )2-5( شكل )2-7(... 28 شكل مثاللشبكاتمتعددةالطبقات... 28 32... )2-( شكل الرموزالمستخدمةفيتدريبشبكةذاتثالثطبقات... 32 36... )2-4( شكل الشبكةالمعدةللتدريب... 36 44... )2-( برنامجبلغة( C )يوضحعماللشبكةمتعددةالطبقات... 44
الفصل األول نظرة عامة على الشبكات العصبية الفصل األول : نظرة عامة على الشبكات العصبية ===================================
الفصل األول : نظرة عامة على الشبكات العصبية المحتويات تمهيد تاريخ تطور الشبكات العصبية الشبكات العصبية الطبيعية -4-3 -4 التركيب المبسط للوحدة العصبية النيرون السمات العامة للنيرون - -3 - الشبكات العصبية اإلصطناعية - مكونات الشبكات العصبية اإلصطناعية 2- النمذجة الرياضية لطريقة عمل الخلية العصبية اإلصطناعية) نموذج ماك كلوشوبتس ) الرياضي 3- ميكانيكية التعلم في النيرونات البسيطة 4- الخصائص العامة للشبكات العصبية اإلصطناعية 2 الفصل األول : نظرة عامة على الشبكات العصبية ===================================
تمهيد ======== مسألة فصل العينات باستخدام الشبكات العصبية ============ )4-4( سنتحدث في هذا الفصل عن المفهوم العام للشبكات العصبية االصطناعية من ناحية دراسة تاريخها ومكوناتها وخصائصها ومقارنتها بالشبكات العصبية الطبيعية. وتوضيح كيفية عملها من خالل دراسة النمذجة الرياضية للشبكات العصبية االصطناعية. فالخلية العصبية هي الوحدة األساسية لبناء الجهاز العصبي في الكائنات الحية, وتنتشر مليارات الخاليا العصبية في جسم الكائن الحي و تتفرع إلى زوائد تعمل على نقل الشعور باإلحساس و ردود األفعال من و إلى الدماغ. و يعد التعلم و اكتساب و تخزين المعرفة, من الوظائف األساسية للخاليا العصبية بجانب جمع و معالجة و توزيع اإلشارات الكهربائية, التي تمثل السيالت العصبية. و تكمن قابلية الدماغ لمعالجة المعلومات, في حقيقة وجود شبكات مكونة من هذه الخاليا. ومن أهم الصعوبات التي تواجه الباحثين في مجال الذكاء االصطناعي, هو التوصل إلى صنع آله أو جهاز قادر على التعلم و اكتساب معرفة تساعده على حل المشاكل التي يواجهها في المستقبل. لذا فقد سعى بعض العلماء في محاولة محاكاة الجهاز العصبي و باألخص الخاليا العصبية في الكائنات الحية, و ذلك من خالل بناء نماذج لخاليا عصبية اصطناعية لها خواص مشابهه للخاليا العصبية الحية. )3-4( تاريخ تطورالشبكات العصبية: في عام 44 بدأت المحاوالت لبناء تصميم نظام يفكر, يمكنه إستخدام المنطق في عملياته بدال من فكرة العالقة الثابتة بين الرموز و ردود األفعال. و تمخضت هذه المحاوالت عن إبتكار الشبكات العصبية لمحاولة محاكاة شكل و ترتيب و طريقة عمل الخاليا في الجهاز العصبي لإلنسان. إنبعثت البحوث في هذا المجال من العمل الريادي للعالمين) نوربرت فينز. و وارن مكالك( في األربعينات. والخلية العصبية تتركب من جسم يحتوي على نوى و يمتد منه ساق طويلة و تتصل الخاليا العصبية ببعضها عن طريق هذه السيقان بإفراز كيماوي يعمل كموصل فينقل اإلشارات بين الخاليا. و لذلك فالتواصل في الجهاز العصبي عملية كهروكيميائية. 3 الفصل األول : نظرة عامة على الشبكات العصبية ===================================
وتحاول الشبكات العصبية تقليد هذا النموذج الطبيعي بتقسيم الشبكات إلى وحدات تمثل كل منها نموذجا لخلية عصبية شديدة التبسيط. و في عام 44 تمكن عالمان هما) ماكلوشوبيتس( من تصميم شبكات إلكترونية بسيطة تحاكي الخاليا العصبية بصورة بدائية و تستطيع القيام بالحسابات المنطقية باستخدام الجبر البولي كطريقة للتعبير عن المفاهيم الرياضية بصيغة منطقية. في الخمسينات بدأ علماء الذكاء االصطناعي محاولة بناء آلة ذكية تحاول تقليد المخ البشري و كان من أهم المحاوالت في ذلك الشأن المحاولة التي قام بها) روزنبالت( عام 67 لبناء نموذج مبسط لشبكية العين أكثر تعقيدا, والتي تعتبراألب الشرعي للشبكات العصبية الحديثة بفضل إحتوائها على مكبرات كان بإمكانها تمييز األنماط, وهو التعرف على أشكال أو صيغ اإلشارات ليمكن تصنيفها أو تمييزها أو تجميعها. و قد أمكن تعليم هذا النموذج من التعرف على بعض األشكال المحدودة. و لكن إمكانياته المحدودة جدا جعلت اإلهتمام يقل ببحوث الشبكات العصبية. و ال يقلل هذا من دور) مينسكى( و آلته البسيطة التي صممها في عام. 6 بعد عقد واحد من الزمان ظهرت شبكات أكثر تطورا و تقيدا و عاد معها الحماس لمواصلة أبحاث الشبكات العصبية إلى أن اشتد اإلهتمام بها مرة أخرى في الثمانينات بصورة متطورة. ( بسيوني, 4, ص.) 2 ) )4-4( الشبكات العصبية الطبيعية) Biological Neural Networks يتكون مخ االنسان من مجموعة من الخاليا العصبية Neurons( في مجموعات تسمى شبكات )Networks(. وكل مجموعة تحتوي على عدة اآلف ). وتنتشر هذه الخاليا من الخاليا العصبية شديدة التداخل )Interconnected( ولذلك ينظر لها على أنها تجمع من الشبكات العصبية. ويتحكم بالذكاء. المخ والجهاز العصبي المركزي في عمليات التفكير )Thinking( والسلوك المتسم ومن المعروف أن الجهاز البشري للمعالجة يقوم أساسا على الخاليا العصبية في المخ والتي تعتمد على الخلية العصبية النيرون كوحدة بنائية لها. )طلبه, وآخرون, 4, ص ) 387 4 الفصل األول : نظرة عامة على الشبكات العصبية ===================================
)4-4-4( التركيب المبسط للوحدة العصبية النيرون Neuron( )Simple Structure Of التركيب المبسط للوحدة العصبية النيرون والتي تتكون من اآلتي : جسم خلية النيرون والمعروف باسم السوما )Soma( والذي يحتوي على نواة عصبية ( Nucleus ) في المنتصف. األلياف العصبية المتصلة بجسم النيرون عند المدخل والتي تعرف بالنهايات العصبية Dendrites( ) وهي المسئولة عن المدخالت ( )Inputs للخلية. حيث تحمل االشارات من المخارج لخاليا عصبية اخرى الى مداخل هذه الخلية عن طريق مشابك) Synapes ( للتوصيل أو مايعرف بنقطة المرور وهي خاملة من الناحية الكهربائية. يتصل بجسم الخلية ليفة عصبية واحدة عند المخرج تعرف بالليفة العصبية للمخرج) Axon ( أو الموصل الطرفي وهو المسئول عن المخرجات )Outputs( والذي يحمل النبضة الخارجة من الخلية إلى خاليا أخرى متعددة وهي نشطة من الناحية الكهربائية. تنتهي الليفة العصبية للمخرج بمشبك للتوصيل Synapse( ) والذي يربط بين الليفة العصبية للمخرج مع الليفة العصبية للمدخل لنيرون آخر باستخدام الترابط الكيميائي. يقوم المشبك باطالق المرسالت العصبية التي تنتشر كيمائيا من خالل الفجوة بينه وبين الليفة العصبية لمدخل نيرون آخر. يقوم جسم الخلية بعمل عملية كيميائية معقدة يمكن اعتبارها من الناحية الكهربائية المجموع الكلي لقيم النبضات عند في الشكل )-( المدخل.) طلبه واخرون, 5 الشرقاوي, (. كما 5 : - -2-3 -4-6 -5 شكل )4-4( 6 الفصل األول : نظرة عامة على الشبكات العصبية ===================================
)3-4-4( السمات العامة للنيرون ( Neuron )General Features Of يعتبر المخ االنساني من أعقد الموضوعات التي لم يتم كشف أدق أسرارها ودراستها بالتفصيل إلى اآلن وذلك بالرغم من معرفة الكثير من التركيب والصفات, ويحتوي المخ على : ) وحدة خلية عصبية تسمى النيرون.)Neuron( 4 - عشرة بليون ( 4 2- يتصل كل نيرون بما يقارب من عشرة آالف أخرين. 3- يعتبر النيرون الوحدة االساسية للمخ وحدة معالجة تماثلية منطقية مستقلة. )Stand Alone Logical Processing Unite( 4- تتصل كل خلية عصبية بكثير من األلياف العصبية التي تمثل المداخل المتعددة للخلية ( Many. )One Output( وليفة عصبية واحدة عند المخرج ) Inputs -6 اللحظي يظل النيرون خامال )Inactive( أي ال توجد نبضة عند المخرج إذا كان مجموع النبضات عند المدخل ال تصل الى مستوى حدي معين )Thershold( إلثارته ويعطي النيرون نبضة عند المخرج ويصبح نشطا Active( ) المعين.)طلبه وآخرون,4 الشرقاوي, 5 ) إذا زاد المجموع عند المدخل عن المستوى الحدي )-4( الشبكات العصبية اإلصطناعية Networks( )Artificial Neural الشبكة العصبية اإلصطناعية هي نموذج يحاكي الشبكة العصبية الطبيعية.ويستخدم عددا محددا من الطرق األساسية المستخدمة في النظم العصبية الطبيعية بمساعدة برمجيات المحاكاة ( Simulations )Software وأسلوب المعالجة المتوازية. وتشمل طرق المعالجة المتوازية عناصر معالجة Elements( )Processing تسمى خاليا عصبية إصطناعية Neurons( )Artificial متصلة في شبكة معمارية. وهذه الخاليا اإلصطناعية تناظر الخاليا العصبية الطبيعية حيث تستقبل المدخالت التي تناظر النبضات الكهروكيميائية Impulses( )Electrochemical التي تستقبلها النهايات العصبية في الخلية الطبيعية من خاليا أخرى. والمخرجات من الخلية اإلصطناعية تناظر اإلشارات الخارجة من الخلية الطبيعية عن طريق الموصل الطرفي ( )Axon وهذه المخرجات تكون عبارة عن إشارات 5 الفصل األول : نظرة عامة على الشبكات العصبية ===================================
صناعية يمكن تغييرها بطريقة تشابه تلك التي تحدث في وآخرون, 4, ص 387 ص- نقطة المرور )Synapse(.)طلبه ) 34 )4--4( مكونات الشبكات العصبية االصطناعية: تتكون الشبكة العصبية من مجموعة من عناصر المعالجة Elements( )Processing تركب بطرق مختلفة. وكل عنصر معالجة يستقبل أي عدد من المدخالت ويعطي إشارة خارجة واحدة. كما في الشكل )-2(: شكل )4-3( والمدخالت يمكن أن تكون على صورة بيانات خام Data( )Raw أو تكون هي المخرجات من عناصر معالجة أخرى.واإلشارة الخارجة يمكن أن تكون النتيجة بإستخدام النهائية للمشكلة المطلوب حلها الشبكة أو تكون مدخال لعنصر معالجة آخر. ويتم تجميع عناصر المعالجة في مجموعات موزعة في طبقات )Layers( لتكوين الشبكة. )طلبه وآخرون, 4, ص 38 ) 7 الفصل األول : نظرة عامة على الشبكات العصبية ===================================
)3--4( ======== مسألة فصل العينات باستخدام الشبكات العصبية ============ النمذجة الرياضية لطريقة عمل الخلية العصبية نموذج ( ماك كلوشوبتس ) الرياضي اإلصطناعية: )McCulloch & Pitts Mathematical Model ( بمجرد االنتهاء من تنفيذ الشبكة العصبية تبدأ عملية معالجة المعلومات ويمكن وضع نموذج رياضي لطريقة عمل الخلية العصبية وهو مايعرف بنموذج )ماك كلوشوبتس (الرياضي والذي يشمل علىاآلتي : -4 المدخالت )Inputs( كل مدخل يمثل صفة مميزة واحدة ) Attribute (فمثال إذا كانت المشكلة هي اقرار الحصول على قرض )Loan( أو عدم اقراره فإن الصفات المميزة يمكن أن تكون مستوى دخل الفرد أو عمره أو أمالكه من عقارات وأطيان وماشابه ذلك وقيم الصفات المميزه )Values( هي المدخالت للشبكة. نفرض أن قيم مخارج النيرونات السابقة للنيرون الحالي هي القيم ( n ) x x, 2 x,.., حيث تقوم المشابك بنقل نسبة من هذه القيم إلى الليف العصبي للمدخل من خالل الفجوات بحيث تختلف هذه النسب من فجوة إلى أخرى اعتمادا على طبيعة كل فجوة, ويمثل ذلك رياضيا بفرض أنها أوزان والتي تأخذ الشكل )n w( w, w,.,2 وبذلك يكون الجزء المنقول إلى المدخل في كل فرع هو. ) wx ( -3 المخرجات )Outputs( تمثل المخرجات حل المشكلة فمثال في المثال السابق يمكن أن تكون المخرجات هي نعم للحصول على قرض أو ال لعدم الحصول عليه. وتعطى الشبكة قيما عددية للمخرجات مثل ) +(في حالة نعم و ( ) في حالة ال, أي أن المخرج للنموذج الرياضي اما الواحد أو الصفر. -4 األوزان )Weights( يعتبر الوزن )Weight( هو العنصر الرئيسي Element( )Key في الشبكات العصبية اإلصطناعية ANN( (. ويعبر الوزن عن القوة النسبية Strength( ) Relative أو القيمة الحسابية للبيانات المبدئية المدخلة أو الروابط المختلفة التي تنقل البيانات من طبقة إلى طبقة. 8 الفصل األول : نظرة عامة على الشبكات العصبية ===================================
وبمعنى آخر يعبرالوزن عن األهمية النسبية Importance( Relative (لكل مدخل إلى عنصر المعالجة. ويمثل ذلك رياضيا بفرض أنها أوزان والتي تأخذ الشكل )n w( w, w,.,2. - دالة الجمع Function( )Summation يقوم جسم الخلية )عنصر المعالجة ) بحساب دالة الجمع حيث تقوم هذه الدالة بحساب الوزن x i المتوسط لكل المدخالت إلى عنصر المعالجة وذلك بضرب كل قيمة مدخلة ( ( i )w فيتم إيجاد المجموع ( y ) كاآلتي : ) في وزنها ) وألكثر من خلية عصبية ( j ويتم مقارنة هذا المجموع بقيمة حدية لدالة في شكل عتبة ( Function ) Step والمعروفة بدالة هيفيسيد ( Heaviside ),كما في الشكل )-3(, فإذا كان المجموع للمداخل الموزنة أكبر من أو تساوي الدالة العتبية فإن الخرج سوف يكون ) (وإذا كان المجموع أقل من قيمة الدالة العتبية فإن ناتج الخرج يصبح )صفرا ). شكل )4-4( الفصل األول : نظرة عامة على الشبكات العصبية ===================================
-5 دالة االنتقال Function( )Transfer كل خلية عصبية لها مستوى استثارة Level( )Activation وتقوم دالة الجمع بحساب هذا المستوى فيما يعرف بالمحاكاة الداخلية Simulation( ) Internal. وبناء على هذا المستوى يكون هناك قيمة خارجة من الخلية أو ال يكون. والعالقة بين مستوى التفاعل الداخلي والقيمة الخارجة يمكن أن تكون خطية Linear( ) أو غير خطية Linear( ) Non وهذه العالقة تمثل باستخدام دالة إنتقال. ودوال االنتقال أنواعها عديدة واختيار أحد هذه االنواع يتحكم في عمل الشبكة ومن الدوال غير الخطية الشائعة االستخدام دالة االستثارة المنطقية ( Function )Logical Activation وصورتها كاآلتي : حيث يرمز للقيمة المحولة )Transformed( للمجموع بالرمز ( t ) y وتسمى أيضا القيمة ( t y( بالقيمة المعدلة )Normalized(. وتهدف عملية التحويل إلى تحسين مستويات المخرجات إلى قيمة معقولة بين ) (و ( ) ألن قيم المخرجات يمكن أن تكون كبيرة جدا وذلك عند وجود أكثر من طبقة. وعملية التعديل يمكن أن تتم على القيمة الخارجة من كل عنصر معالجة أو تتم على القيمة النهائية الناتجة من الشبكة.) طلبه وآخرون,, ص 4 32-34 الشرقاوي, 5, ص 273 ) 274 ص الفصل األول : نظرة عامة على الشبكات العصبية =================================== 4
: التعلم ميكانيكية في النيرونات البسيطة )4--4( )Learning Mechanism In Simple Neurons( تتعلم الشبكة العصبية اإلصطناعية من أخطائها, وتبدأ المعالجة بوضع قيم عشوائية لألوزان حسب قيمة اإلنحراف وهو الفرق بين المخرجات الحقيقية )y ) والمخرجات المطلوبة )z ). وبتعديل قيم األوزان تصل قيمة اإلنحراف إلى الصفر وعندها تكون المخرجات الحقيقية هي نفسها المخرجات المطلوبة. وأثناء مرحلة التعلم تتغير األوزان المتداخلة حسب بيانات التدريب المقدمة للنظام. وتختلف الشبكات العصبية اإلصطناعية في طرق حساب الخطأ )Error( وذلك بناء على خوارزم التعلم Algorithm( Learning (المستخدم وهناك العديد من هذه الخوارزميات التي تناسب الظروف المختلفة. ( طلبهوآخرون, 4, ص 33 ص ) 34 )5-4( الخصائص العامة للشبكات العصبية اإلصطناعية يمكن تصنيف الشبكات العصبية اإلصطناعية طبقا للخصائص اآلتية : - تضاريس أو طوبولوجية الشبكة. 2- طبيعة عملية تذكر المعلومات. 3- طبيعة المدخالت. 4- طبيعة إنتشاراإلستثارة من تلك الوحدات والروابط. ) -4 طوبولوجية الشبكة ( Topology Network يتألف معمار الشبكة العصبية االصطناعية من مجموعة طبقات ( Layers ) متتالية من عناصر المعالجة والترابطات. وأبسط تركيب ممكن لشبكة عصبية هو التركيب الذي يتكون من طبقة واحدة من العناصر تربط ربطا مباشرا مدخالت الشبكة مع مخرجاتها. ونتيجة القصور في أداء هذا التركيب ظهرت معماريات أخرى للشبكات تحتوي تراكيبها على أكثر من طبقة من عناصر المعالجة ومن الترابطات وهي التي تعرف بالشبكات متعددة الطبقات ( Multi-Layer الفصل األول : نظرة عامة على الشبكات العصبية ===================================
Networks ======== مسألة فصل العينات باستخدام الشبكات العصبية ============ ) حيث تخصص إحدى الطبقات الستقبال مدخالت الشبكة ( ) Input Layer وتخصص طبقة أخرى لبث مخرجاتها ( Layer ) Output بينما يطلق على باقي الطبقات إسم الطبقات الخفية Layers( ) Hidden (. السيد,.)2444 والشبكة العصبية االصطناعية. كما أوضحنا سابقا هي نظام ترابطي يتكون من عناصر المعالجة العصبية األولية والتي تمثل الخاليا العصبية اإلصطناعية. وهذه العناصر تترابط مع بعضها البعض لتأخذ شكال معماريا محددا ويعبر عن شدة الترابط بين عنصري معالجة كمية قياسية تعرف بشدة الترابط أو الوزن ( Weight ) ويرمز لها بالرمز ( و 2 W 2 بداللة ). كما يتميز كل عنصر بكمية قياسية أخرى هي طاقة النشاط أو طاقة اإلستثارة ( Energy ) Activation وهي أدنى قدر من الطاقة يلزم لتنشيط العنصر. حيث يتم تمثيل المعلومات واختزانها في الشبكة العصبية اإلصطناعية بداللة أوزان الترابط بين عناصرها وبمقدار طاقات إستثارتها. )طلبه وآخرون, 4, ص )37 شكل )4-( خاليا عصبية اصطناعية متعددة الطبقات و بالنظر للشكل )-4(, يمكن أن نتخيل كل دائره في الشكل عباره عن خلية عصبية صناعيه Neuron و التي بإستخدامها نبني الشبكة العصبية اإلصطناعية. الفصل األول : نظرة عامة على الشبكات العصبية =================================== 2
3- طبيعة عملية تذكر المعلومات: تتوقف عملية تذكر الشبكة العصبية اإلصطناعية للمعلومات أو المعارف المختزنة بها أو التي تعلمتها على طبيعة الدالة الرياضية المستخدمة في تمثيل كيفية إستثارة عنصر المعالجة. وتتكون هذه الدالة من قاعدة إستثارة العنصر ومن شكل الدالة العتبية ( Function ) Threshold أو دالة اإلخراج المستخدمة. وأبسط قواعد اإلستثارة التي يمكن استخدامها تنص على أنه يمكن تمثيل التأثير المجمع للعناصر المكونة للشبكة على عنصر منفرد من عناصرها هو العنصر ( j ) بواسطة كمية قياسية هي ( Zj ) تمثل التأثير المدخل الكلي للعنصر المعنى ويتم حساب هذه الكمية بالجمع الموزون ألوضاع إستثارة كافة العناصر األخرى المرتبطة بالعنصر المعنى أي أن : حيث ( ) هي وضعإسثارة العنصر ( i ) أو مخرجه, ( ) هي وزن الترابط بين العنصرين )i ) j (, ). أما ( ) فهي عتبة اإلستثارة أو دالة اإلخراج للعنصر ( j ) أو أقل قدر من الطاقة مطلوب إلستثارته. وهناك العديد من الدوال العتبية التي يمكن استخدامها مثل دالة الحد الفاصل ودالة السيجمويد والدالة الشبه الخطية. 4- طبيعة المدخالت تتحدد طبيعة المدخالت طبقا لنوع القيم العددية المستخدمة في تمثيل مدخالت الشبكة فهي قد تكون ثنائية ( Binary ) أو تكون متصلة ( Continuous ). - طبيعة إنتشاراإلستثارة يمكن تصنيف الشبكات طبقا لنوع اإلستثارة إلى نوعين رئيسيين وهما نموذج اإلنتشار المرتد ( Propagation ) Back ونموذج اإلنتشار العكسي ( Propagation ) Counter وسوف نكتفي هنا بشرح نموذج اإلنتشار المرتد فقط في األجزاء القادمة 4, ص.) طلبه وآخرون, ص 37 ويتضح ) 442 مما سبق انه باالمكان تبسيط مكونات الخلية واالكتفاء مبدئيا ببعض وظائفها واستعمال عدد صغير منها ومن ثم تمثيلها رياضيا للحصول على خاليا عصبية اصطناعية. الفصل األول : نظرة عامة على الشبكات العصبية =================================== 3
ويوضح الشكل )-6( أبسط تمثيل للخلية العصبية اإلصطناعية وهو عبارة عن وحدة معالجة Processing Unit ( ) أطلق عليها اسم المدرك ( إصطناعية وحيدة الطبقة. كما هو واضح في الشكل )-6( )Perceptron وهي خلية عصبية شكل )4-5( خلية عصبية إصطناعية وحيدة الطبقة { حيث أن : وباستعمال هذا التمثيل المبسط يمكن حل هذا المثال : مثال : كما هو واضح في الشكل )4-6( شكل )4-6( مثال لشبكة وحيدة الطبقة الفصل األول : نظرة عامة على الشبكات العصبية =================================== 4
الحل : Summation Function Transformation Function الفصل األول : نظرة عامة على الشبكات العصبية =================================== 6
الفصل الثاني توظيف الشبكات العصبية في فصل العينات ونمذجة بعض العمليات المنطقية 5
الفصل الثاني : العمليات المنطقية ======== مسألة فصل العينات باستخدام الشبكات العصبية ============ توظيف الشبكات العصبية في فصل العينات ونمذجة بعض المحتويات 4- تمهيد 3- الجبر البولي وتوظيف الشبكات العصبية في نمذجة العمليات المنطقية 4- قاعدة Perceptron في التعلم - وضع الحل لمشكلة الدائرة المنطقية ( أو المانعة ) 5- الشبكات العصبية المراقبة 6- خوارزمية التدريب للشبكات العصبية اإلصطناعية نموذج االنتشار المرتد ( Propagation ) Back التعليم الموجه للشبكات العصبية اإلصطناعية -4-3 7- خطوات تدريب الشبكة العصبية اإلصطناعية مثال على فصل العينات باستخدام الشبكات العصبية االصطناعية 8- برمجة الشبكات العصبية 4- تطبيق مثال عملي على شبكة Perceptronباستخدام الحاسب 9- النتائج والتوصيات 7
)4-3( مقدمة: ======== مسألة فصل العينات باستخدام الشبكات العصبية ============ سنتحدث في هذا الفصل عن الجبر البولي وتوظيف الشبكات العصبية االصطناعية في نمذجة العمليات المنطقية من خالل استخدام قاعدة (Perceptron) في التعليم لتدريب الشبكات وحيدة الطبقة في حل المشكالت المتعلقة بالفصل الخطي. واستخدام خوارزمية االنتشار المرتد في تدريب الشبكات متعددة الطبقات غير القابلة للفصل الخطي ومن ثم اإلشارة إلى برمجة الشبكات العصبية وفوائدها وأخيرا وضع النتائج والتوصيات التي تم التوصل ليها في هذا البحث. )3-3( تمهيد تعتبر مسائل تصنيف العينات من المهام السهلة التي يمكن أن ندرب عليها الشبكات العصبية إلظهار قدراتها ومعالجتها للمعلومات. في هذا النوع من المشاكل يكون شعاع الدخل المقدم للشبكة إما ينتمي أو ال ينتمي لصنف خاص أو ميزة خاصة. كان العمل األول لتطبيقات مسائل تصنيف العينات في عام 993 من قبل العالم Specht( )Donald حيث قام بإستخدام نوعا من الشبكات العصبية لتحديد إضطرابات القلب بإستخدام أصناف من المخططات القلبية ( EKG ) والتي تم تمثيلها كمعطيات دخل للشبكة وكان عدد هذه العينات )46 ) نموذج تدريب لتخطيطات قلب مختلفة. في هذه الشبكة تكون استجابة الخرج ( on ) إذا كانت حالة القلب طبيعية, وتكون االستجابة ( off ) إذا كانت حالة القلب غير طبيعية. وقد طبقت هذه الشبكة فعليا من قبل مجموعة من العلماء ( Caudill Butler &. )&Specht واستخدمت أنواع أخرى من الشبكات لحل أنواع أخرى من مسائل تصنيف العينات, ففي عام 96 قام العالمان Minsky&Papert( ) بمحاولة لمعالجة مسألة تصنيف عينات الدخل بحيث يكون الخطأ أصغريا أي مقعرا أو الخطأ أعظميا محدبا وقد طبقت هذه الشبكات فعليا في عام (. 988 عيسى, 2444, ص 6 62 ) 8
)4-3( الجبر البولي وتوظيف الشبكات العصبية في نمذجة العمليات المنطقية : يعتبر الجبر البولي أحد المرتكزات األساسية المستخدمة في تصميم وتركيب الحاسوب. ويعود الفضل في وضع األسس النظرية للجبر البولي, والذي يسمى أيض ا بالجبر المنطقي, إلى العالم الرياضي اإلنجليزي المشهور جورج بول. وقد نشر هذا العالم نظرياته في منتصف القرن التاسع عشر لتصبح فيما بعد األساس في تصميم الدوائر المنطقية التي يتكون منها الحاسوب. يسمى المتغير بوليا )أو منطقيا ( إذا اتخذ دائما إحدى الحالتين التاليتين: - الحالة الصحيحة) True ( 2- الحالة الخاطئة) False ( و يمكن استخدام أرقام نظام العد الثنائي لتمثيل حاالت المتغير البولي, حيث يمثل الرقم الحالة الصحيحة والرقم الحالة الخاطئة.وتقسم العمليات البولية )المنطقية() Operations Logic (إلى العمليات البوولية األساسية. العمليات البوولية المشتقة. - -2 ومن العمليات البوولية األساسية, عملية "و" Operation( )AND, و عملية "أو" ( OR.)Operation هذا ويمكن وصف العمليتين ( و ), ( أو ) بأكثر من متغيرين ولكننا في معظم الحاالت سنتكلم عنهما مستخدمين فقط متغيرين للتسهيل ليس إال. وبالتعبير عن هذه العمليات بالنظام الثنائي, باعتبار أن الرقم ( ) يمثل الحالة الصحيحة و الرقم ) ) يمثل الحالة الخاطئة.) ياغي, ) 2442, فيمكن تعريف هذه العمليات كما يلي في الشكل )2-(.
شكل )3-4( تعريف العمليات البولية األساسية OR, AND وسنشرح اآلن طريقة لتدريب الشبكات العصبية العينات وهي قاعدة Perceptron في التعلم. وحيدة الطبقة والمناسبة لحل مسائل تصنيف )-3( قاعدة Perceptron في التعلم تعد شبكة االدراك) Perceptron (من أوائل الشبكات التي تم دراستها في منتصف 64 وهي شبكة وحيدة الطبقة وذات تغذية أمامية وهي من الشبكات التي تتعلم باشراف, كما أن خوارزمية التعليم لها اكتشفها العالم ( Rosenblatt ) Frank عام 68. وفي عام 5 برهن ( and ) PapertMinsky أن الشبكة تستطيع تعليم الدوال القابلة للفصل الخطي فقط مثل الدوال المنطقية. ( المجلة العراقية للعلوم اإلحصائية, 244 ) وبالتالي فإنه يمكن لوحدة المدرك ( وحدة المعالجة ) أن تنمذج معظم العمليات المنطقية كعمليات : ), ال أو ( XOR ) أو ( OR ), و ( AND ), ال و XAND( وللوصول الى ذلك تحتاج وحدة المدرك الى تدريب. التدريب هو اعطاء الوحدة بعض المدخالت وبعض المخرجات المرغوبة لتتمكن من تعديل األوزان حسب القاعدة( I ) التالية : 24
حيث أن األوزان المخرج ======== مسألة فصل العينات باستخدام الشبكات العصبية ============ : = = المدخل = سرعة التعلم = المخرج الفعلي = المخرج المطلوب = الخطأ = كمثال على ذلك لنفترض أننا نود تدريب وحدة المدرك لنمذجة العملية المنطقية ( أو ) ( OR (. والمدخالت والمخرجات كما في الجدول : لنبدأ عشوائيا باختيار األوزان لتكون صفرا في البداية وتكون قيمة سرعة التعلم. وفي هذه الحالة يمكن كتابة المعادلة ( I )على الشكل التالي : لتدريب الوحدة تطبق المعادلة على كل المدخالت مع تكرار العملية حتى تستقر األوزان عند قيم محددة ال تتغير بعدها. 2
ويوضح الجدول التالي خطوات التدريب : X X 2 W W 2 O O Error W W 2 old old desired new new ولنأخذ الصف األول حيث أن المعطيات X =, X 2 =, o = نقوم بحساب المخرج الفعلي o ونقوم بحساب الخطأ Error = = ونطبق القاعدة ( I )للحصول على األوزان الجديدة 22
وهكذا مع بقية الصفوف حتى تستقر األوزان عند قيمة معينة. ومن خالل الجدول نالحظ أن األوزان النهائية هي : ونستنتج من ذلك أن األوزان استقرت عند القيمة ( ). لقد أظهرت وحدة المدرك نجاح في حل هذه المشكالت البسيطة والتي تعنى بالتصنيف. ) Separation ( والفصل ) Classification ( فعملية ( أو ) هي عبارة عن وضع حد فاصل ( Boundary ) بين مجموعتين مفصولتين أصال. وعملية التدريب ال تتعدى البحث عن هذا الخط الفاصل عن طريق اختيار أوزان الترابط. عبد النور, 2446 ) كما في الشكل )2-2( : شكل )3-3( نموذج قابل للفصل الخطي من الواضح أن النموذج الحسابي لعنصر االدراك المبين سابقا يمكنه الفصل بين مجموعتين منفصلتين فعال وذلك بوجود حل يفصل بينهما في شكل خط مستقيم. 23
ويفشل النموذج في وضع الحل إذا كانت المجموعتين غير منفصلتين بخط مستقيم وذلك واضح في مشكلة الدائرة المنطقية ( أو- المانعة ) )XOR(. وهي من العمليات البولية المشتقةوقد سميت هكذا ألنها اشتقت من العمليات البولية األساسية, Operation( )XOR وقد أخذت التسمية من OR( )Exclusive ( ياغي, 2442 ). )-3( وضع الحل لمشكلة الدائرة المنطقية ( أو المانعة ) نفرض حالة الدائرة المنطقية ( أو- المانعة ) وتسمى أيضا ( أو- المقصورة ) والتي تشمل على ( الحالة الصحيحة ) عند المخرج مدخلين ( )x 2 (, ) x والمخرج ( O ) والتي تعطي واحدا ( الحالة ) في حالة أن يكون المدخلين مختلفين ( ) ) or وتعطي صفرا ( ) إذا كان المدخلين متشابهين. وعند تمثيل هذه الدائرة بإستخدام الخاطئة( عند المخرج (,ورسم قيم الخرج ( O ) على نفس الرسم فإننا نرى أن هناك اإلحداثيات الثنائية ( 2 ( x, x ) والتي تنشأ من مدخالت متشابهة, والثانية والتي مجموعتين, األولى والتي تمثل ( ) والتي تنشأ من مدخالت مختلفة, ومن الواضح أنه ال يمكن فصل المجموعتين تمثل ( بخط واحد.)السيد, 2444, ص ) 282 كما في الشكل )2-3( : شكل )3-4( 24
وذلك بسبب وجود خطين متعامدين حيث يربط كل خط بين المجموعتين المتشابهتين كما في الشكل )2-4( : شكل )3-( نموذج غير قابل للفصل الخطي وهذا يعني أن هناك بعض الوحدات غير قادرة على نمذجة عملية ( XOR قابلة للفصل الخطي. ) فهذه العملية غير وبعد مواصلة البحث في الميدان تم التوصل الى أنه باالمكان فصل عملية ( أو المقصورة ) بطريقة ال خطية. وبذلك ظهرت فكرة استعمال أكثر.)عبد النور, 2446 ) من خلية عصبية واحدة لتكوين شبكة متكاملة من هذه الخاليا 26
كما في الشكل )2-6( : شكل )3-5( نموذج قابل للفصل غير الخطي ) Supervised Neural Networks )5-3( الشبكات العصبية المراقبة ( تسمى هذه الشبكات بالشبكات العصبية المراقبة ألنها تحتاج أثناء عملية التدريب إلى مراقب ليبين لها المخرج المطلوب لكل من المدخالت, مع مقارنة المخرج الفعلي مع المخرج المطلوب تحاول الشبكات تحديث األوزان لتصل في النهاية إلى النتيجة الصحيحة والتي ال تحتاج بعدها إلى تدريب أو إشراف خارجي. وتتم هذه العملية بإستعمال العديد من الطرق والخوارزميات أهمها طريقة إنتشار الخطأ اإلرتدادي. وتستعمل هذه الطريقة التدريبية مع الشبكات ذات التغذية األمامية, وحتى تتمكن الشبكات المراقبة من نمذجة المشكالت الالخطية والمعقدة البد من تطوير الطريقة التي تعالج بها الخلية البيانات. 25
فعوضا عن دالة العتبة والتي يكون مخرجها واحدا أو صفرا تحتاج خاليا هذه الشبكات إلى دالة أكثر مالئمة. وأهم المواصفات التي يجب توفرها في هذه الدالة هي : - أن ال تكون ثنائية القيمة لتكون قادرة على النمذجةالالخطية. ) وهذا شرط أساسي تفرضه طريقة 2- أن تكون قابلة للتفاضل ( Differentiation اإلنتشاراإلرتدادي للتدريب. وألهمية هذه الدالة في معالجة البيانات, سميت بالدالة التنشيطية أو الدالة التفعيلية) Activation ) Function ألنها تمثل ( رياضيا ) وصفا لفعل الخلية ( فعل منع أو تحريض ). وتوجد أنواع مختلفة من داالت التنشيط منها : الدالة الخطية : وتستعمل عادة في خاليا طبقة المخرجات, الدالة السجماوية : وتستعمل في الطبقات األخرى. ( عبد النور, 2446 ) كما هو واضح في الشكل )2-5( شكل )3-6( أنواع مختلفة من داالت التنشيط 27
مثال : كما في الشكل )3-7( شكل )3-7( الحل : مثال لشبكات متعددة الطبقات وبالتالي فإن : 28
خوارزمية التدريب للشبكات العصبية اإلصطناعية )6-3( هناك عدد كبير من الخوارزميات أكثرها استعماال هي خوارزميات اإلنتشاراإلرتدادي ( Back ) Propagation, وهي في األصل اشتقاقا من العملية المعروفة والمسماة متوسط المربعات األدنى ( Squares ) Least Mean وبالتالي فهي تسعى لتقليل مربع الخطأ عند التدريب.)عبد النور, ) 2446 ) )4-6-3( نموذج اإلنتشار المرتد ( Propagation Back تعتبر الشبكات العصبية االصطناعية القائمة على أساس االنتشار المرتد أو الخلفي للخطأ ( Back - Error Propagation ) من أكثر أنواع الشبكات العصبية استخداما فتطبيقاتها تغطى العديد من المجاالت مثل تمييز األشكال, التشخيص الطبي, التعرف على الكالم, الروبوتات. وشبكة االنتشار المرتد هي شبكة عصبية إصطناعية متعددة الطبقات أي أنها تحتوي على طبقات من الخاليا العصبية المختلفة باإلضافة إلى طبقتي اإلدخال و اإلخراج.وتعليم الشبكات االنتشار المرتد هو تعليم موجه.) طلبه وآخرون, 4, ص 443 ) 444 ص ويمكن تصنيف أساليب التعلم المختلفة للشبكات العصبية اإلصطناعية إلى فئتين رئيسيتين وهما : - فئة التعليم الموجه. 2- فئة التعليم الذاتي ( غير الموجه ). وسوف نكتفي بشرح التعليم الموجه الستخدامه في تدريب نموذج االنتشار المرتد. )3-6-3( التعليم الموجه للشبكات العصبية اإلصطناعية) Supervised Learning of ) ANNs تقوم كل طرق التعليم أو التدريب الموجه للشبكات العصبية اإلصطناعية على فكرة عرض البيانات التدريبية أمام الشبكة على هيئة زوج من األشكال وهما الشكل المدخل والشكل المستهدف وتستخدم الشبكة الفرق بين الشكلين في حساب دالة الخطأ التي تستخدمها بعد ذلك في تعديل قيم 2
األوزان بهدف تقليل هذا الفارق. وتتم عملية تعديل األوزان باستخدام دالة أخرى تعرف بدالة تحديث األوزان ( Weight Updating Function ) أو دالة التعليم ( Learning. ) Function ويعتبر التعليم بطريقة اإلنتشار المرتد للخطأ ( Propagation Back - Error ) من اهم طرق التعليم الموجه للشبكات العصبية وأكثرها شيوعا, ويتم تنفيذ خوارزم تعليم شبكات اإلنتشار المرتد من خالل مرحلتين رئيسيتين هما مرحلة اإلنتشار المتقدم Forward-Propagation( ) ومرحلة اإلنتشار المتقهقر ( )Backward-Propagation. -4 مرحلة اإلنتشار المتقدم ( Forward-Propagation ) تبدأ هذه المرحلة بعرض الشكل المدخل للشبكة,حيث تخصص كل عنصر معالجة من طبقة عناصر اإلدخال ألحد مكونات المتجه ( Vector ) الذي يمثل الشكل المدخل. وتسبب قيم مكونات متجه الشكل المدخل إستثارة لوحدات طبقة اإلدخال, ويعقب ذلك انتشار متقدم لتلك اإلستثارة عبر بقية طبقات الشبكة. ويتم هذا باستخدام دالة إستثارة تتكون من : - قاعدة إستثارة لحساب المدخل الكلي لكل وحدة ( j Y( ) أو مخرجها. ) هو وضع إستثارة الوحدة ( i x i حيث ( 2- دالة اخراج سيجمويد وينبغي هنا اإلشارة إلى أن عناصر طبقة اإلدخال تمثل حالة خاصة إذ ال تنطبق دالة اإلستثارة السابقة عليها, فأوضاع إستثارة وحدات تلك الطبقة تحددها مكونات الشكل المدخل. 34
-3 ومرحلة اإلنتشار المتقهقر ( Backward-Propagation ) تتم مرحلة اإلنتشار المتقدم بإنتاج الشبكة لشكل مخرج مقابل للشكل المدخل وذلك من خالل طبقة اإلخراج. وهنا تبدأ مرحلة اإلنتشار المتقهقر بحساب الفرق الذي يمثل خطأ الشبكة في عملية المقابلة بين الشكلين, وتستخدم تلك القيم في تعديل أوزان الترابط بين عناصر طبقة اإلخراج والطبقات الخفية لتقوم هذه الطبقة بتعديل أوزان ترابطات الطبقات التالية من الترابطات. وتأخذ قاعدة تعلم شبكات اإلنتشار المرتد للخطأ الصورة العامة التالية : حيث ( jk w( هو مقدار التغير في وزن الربط بين العنصرين ( j( ) )k, و ( j O( هو مخرج العنصر) j( و ( e ) هو قيمة الخطأ المحسوب للوحدة ( k ) واخيرا )η( هو ثابت يحدد معدل تعلم الشبكة.) طلبه وآخرون, 4, ص 445 ) 448 ص سنفترض أن الخاليا العصبية االصطناعية تستعمل الدالة السجماوية كدالة تنشيط ألنه من السهل جدا إشتقاقها كما هو موضح في المعادلة التالية : وتتمتع عملية اإلنتشاراإلرتدادي بميزات عدة أهمها : ضمان الحد األدنى لمتوسط مربع الخطأ. قابليتها للتعامل مع البيانات المشوشة. قدرتها على التعامل مع األنظمة والداالت الالخطية وغير القابلة للفصل الخطي. - - - وتتكون هذه العملية من ست خطوات أساسية وهي : اعطاء أوزان عشوائية للترابط بين خاليا الشبكة. مد الشبكة بإحدى المدخالت المعدة للتدريب. - -2 3- تطبيق عملية اإلنتشار األمامي لتحديد مخرجات الشبكة. 3
4- مقارنة المخرجات الفعلية مع المخرجات المطلوبة وتحديد قيمة الخطأ. 6- التراجع بالخطأ عبر الشبكة وتصحيح األوزان في اإلتجاه الذي يضمن تصغير قيمة الخطأ ومن هنا جاءت تسمية اإلنتشاراإلرتدادي. 5- تصغير إجمالي الخطأ لكل المدخالت المستعملة في التدريب.) عبد النور, 2446 ) )7-3( خطوات تدريب الشبكة العصبية اإلصطناعية الرموز المستخدمة في تدريب شبكة ذات ثالث طبقات, كما في الشكل )2-( شكل )3-9( الرموز المستخدمة في تدريب شبكة ذات ثالث طبقات الخطوة األولى : تبدأ هذه الخطوة عند طبقة المخرجات وفيها نحدد مجموع اإلشارات التي تدخل على كل من خالياها 32
بعد مرور هذه القيمة على الخلية والممثلة في الدالة التنشيطية السجماوية يكون مخرج كل خلية في طبقة المخرجات الخطوة الثانية في هذه الخطوة يتم تحديد مقدار الخطأ )e( على النحو التالي : ويمكن تبسيط المعادلة لتصبح وبالحصول على هذه القيمة يمكن أن نصحح كل األوزان التي تربط الطبقة الخفية بطبقة المخرجات وبالسرعة المطلوبة حسب سرعة التعلم. η على النحو التالي : الخطوة الثالثة وصلنا للخاليا العصبية في الطبقة الخفية لنعيد تقريبا نفس العمليات السابقة وأولها الخطأ في هذه الطبقة تحديد قيمة ( ) وبالتالي يتم تحديد األوزان الجديدة بين طبقة المدخالت والطبقة الخفية باستعمال ويتم تطبيق هذه الخطوات على كل المدخالت المعدة للتدريب ولمرات عديدة حتى تصل الشبكة إلى أقل نسبة خطأ ممكنة وعندها تصبح الشبكة جاهزة لالستعمال.) عبد النور, 2446 ) 33
مثال على فصل العينات باستخدام الشبكات العصبية اإلصطناعية يكون االنطباع األولي عن عملية تدريب الشبكات خالل مثال مبسط توضيح أنها ليست بالصعوبة التي يظنها الكثير. بأنها عملية صعبة ومعقدة, لهذا سنحاول من سنختار سرعة التدريب η لتكون فقط لتسهيل العمليات الحسابية. 34
الشبكة المعدة للتدريب شكل )3-4( الشبكة المعدة للتدريب المدخالت والمخرجات المستعملة للتدريب X X 2 Target (t) علما بأن الرموز المستخدمة في تدريب شبكة ذات ثالث طبقات هي : t ( Target ) O (Output ) f ( Activ.Func.) η (Learning Rate ) W ( Weight ) e ( Error Signal ) 36
وذلك حسب الطبقة التي تنتمي إليها الخلية العصبية. في البداية سنفترض أوزانا عشوائية ونبدأ بإستعمال الصف األول من جدول المدخالت والمخرجات كما هو مبين في الجدول T بعد ذلك يتم تمرير المدخالت على الشبكة للوصول إلى المخرجات وهنا سنستخدم المصطلحات التالية : h i h i2 مجموع المدخالت للخلية االولى في الطبقة الخفية = مجموع المدخالت للخلية الثانية في الطبقة الخفية = h h 2 مخرج مخرج الخلية األولى في الطبقة الخفية = الخلية الثانية في الطبقة الخفية = مجموع المدخالت لخلية طبقة المخرجات = N المخرج الفعلي للشبكة = O وبالتالي نحصل على القيم التالية : = ( ) ( ) + ( ) ( ) = = ( ) ( ) + ( ) ( ) = 35
=.5 =.5 يمكننا اآلن الحصول على مجموع اإلشارات التي تدخل على خلية طبقة المخرجات = وبهذا يكون المخرج الفعلي للشبكة =.736 هذه النتيجة األولية بعيدة عن النتيجة المطلوبة ولذلك نحتاج لتعديل األوزان لالقتراب من الهدف, و لتحديد مقدار الخطأ في النتيجة سنستخدم القاعدة : = (.736 ) (.736 ) (.736 ) = -. 4373 37
وباستخدام هذه القيمة يمكننا اآلن تعديل األوزان التي تربط بين الطبقة الخفية وطبقة المخرجات باستخدام المعادلة التالية : = + ( ) ( -.4373 ) (.5 ) =.9283 = + ( ) ( -.4373 ) (.5 ) =.9283 عند هذه النقطة نكون قد تراجعنا من مستوى طبقة المخرجات إلى الطبقة الخفية. وسنواصل على نفس النهج في إتجاه طبقة المدخالت. يمكننا اآلن تحديد قيمة الخطأ : = (.5 ) ( -.5 ) (.9283 ) ( -.4373 ) = -.3335 = (.5 ) ( -.5 ) (.9283 ) ( -.4373 ) = -.3335 ويمكن اآلن تعديل األوزان الباقية كالتالي : = + ( ) ( -.3335 ) ( ) = 38
= + ( ) ( -.3335 ) ( ) = = + ( ) ( -.3335 ) ( ) = = + ( ) ( -.3335 ) ( ) = نالحظ هنا أن األوزان لم تتغير وهذا طبيعي ألن المدخالت كلها تساوي صفر. ولكن سيتغير الوضع مع المدخالت األخرى. نتائج المرور األول في عملية التدريب T.9283.9283 سنأخذ اآلن الصف الثاني من المعطيات ونعيد تدريب الشبكة بنفس الطريقة السابقة وباتباع نفس الخطوات. اذا البيانات التي سنستخدمها في التدريب هي : 3
باستخدام هذه القيم واألوزان التي حصلنا عليها في المرحلة السابقة تكون نتائج التدريب كالتالي : نتائج المرور الثاني في التدريب T.54.838.953.9656 تقتضي عملية التدريب أن نعيد نفس الخطوات مرات عديدة لنحصل على أقل قيمة للخطأ. يوضح الجدول التالي األوزان بعد اعادة العمليات السابقة قرابة االلف مرة. وكما نرى في الجدول أصبحت النتائج الفعلية قريبة جدا من النتائج المطلوبة. جدول األوزان النهائية - 3.542 4.244-3.5248 4.584 -.93 4.694 مقارنة بين النتائج الفعلية والمطلوبة بعد اتمام عملية التدريب Target (t) Output (o).264.9867.9863.998 ونستنتج من ذلك أن النتائج الفعلية قريبة جدا من النتائج المطلوبة.) عبد النور, 2446 ) ويمكن استخدام الحاسوب في عملية تدريب الشبكات العصبية اإلصطناعية. )8-3( برمجة الشبكات العصبية تتم عملية برمجة الشبكات العصبية اإلصطناعية اما باستخدام لغة برمجة مثل لغة )C( أو باستخدام أداة ( Tool ) مثل الجداول االلكترونية أو باالثنين معا, والجزء األكبر من عملية البرمجة يتناول خوارزميات التدريب ودوال االنتقال أو التحويل ودوال الجمع, لذلك كان من الطبيعي استخدام أدوات تطوير يمكن بواسطتها برمجة هذه العملية الحسابية القياسية.) السويلم,,2444 ص ) 263 44
تطبيق مثال عملي على شبكة Perceptronباستخدام الحاسب لنفرض أن لدينا شبكة من النوع Perceptron ونريد تعليمها كيف تطبق الدالة المنطقية,AND و هذه الدالة تعطي القيمة إذا كانت كال من قيمة المدخلين مساوية للواحد, و في الحاالت األخرى. وإليك مجموعة األمثلة التالية لتدريب الشبكة I. I 2. t...... و I حيث ترمز للمدخالت, بينما t ترمز للمخرج أو النتيجة الهدف )المرغوب بها(. I 2 وقاعدة التحويل هي: 4
وسنفرض معدل التعلم بالقيمة.5=C. لتمثيل هذه الشبكة فإننا نحتاج لوحدتي إدخال ألن هناك مدخلين, ووحدة معالجة واحدة ألن هناك مخرج واحد وسنفرض لها قيم أوزان مختلفة على أن تكون في المدى من.5 إلى.5 سنبدأ اآلن بالمدخل األول ونطبق أول عملية وهي عملية الجمع: S=. *. +.3 *. S=. وحيث أن وحدة المعالجة هذه هي آخر وحدة معالجة فيجب تطبيق قاعدة التحويل: S=.<=. X= وبعد ذلك سنطبق عملية ضبط األوزان, ولكن أوال نتحقق مما إذا كان هناك حاجة لضبط األوزان أم ال. الناتج الهدف للمدخل األول هو والناتج الذي أخرجته الشبكة هو الناتجين هو, وهذا يدل على أن أوزان الشبكة ليست بحاجة إلى تعديل. وحاصل طرح هذين لننتقل إلى المدخل الثاني مستخدمين نفس األوزان السابقة ألنه لم يتم تعديلها لعدم الحاجة لذلك نبدأ من جديد بتطبيق عملية الجمع: S=. *. +.3 *. S=.3 42
ثم قاعدة التحويل: ======== مسألة فصل العينات باستخدام الشبكات العصبية ============ وبعد ذلك عملية ضبط األوزان S=.3>. X= الناتج الهدف للمدخل الثاني هو أيضا, والناتج الذي توصلت له الشبكة هو من الناتج الهدف يعطي القيمة - بطرح ناتج الشبكة وهي غير مساوية للصفر لذا ال بد من ضبط جميع أوزان الشبكة وبذلك نكون قد انتهينا من المدخل الثاني وهكذا لبقية المداخل للشبكة, ونستنتج أن الشبكة لم تتعلم بعد وتحتاج لمحاوالت أخرى بنفس الطريقة, حتى تستطيع إعطاء إجابات صحيحة لكل األمثلة, حينها نقول أن الشبكة تعلمت. 43
وهنا أحد البرامج الذي يوضح عمل الشبكات متعددة الطبقات في الحاسب كما هو واضح في الشكل )3-44( وهو برنامج بلغة (C). شكل )3-44( برنامج بلغة (C) يوضح عمل الشبكة متعددة الطبقات أسباب عدم تعلم الشبكة: قد يتم تصميم الشبكة وتدريبها, ولكنها بالنهاية تفشل, و أسباب فشلها في الواقع متعددة منها: نوعية الشبكة ال تناسب التطبيق الذي تم تدريبها عليه. عدد وحدات المعالجة غير مناسب. األوزان التي تبدأ بها الشبكة غير مناسبة. معدل التعلم غير مناسب. فئة التدريب لم يتم اختيارها بعناية. قاعدة التحويل غير مناسبة. 44
تعتبر تقنية الشبكات العصبية من الفوائد الحقيقية واالضافات الهامة في عالم الحاسبات وذلك لقدرتها على التعرف على األشكال والتعلم والتصنيف والتعميم واالختصار ومعالجة المعلومات المنقوصة والمشوشة.) ويكيبيديا( 46
النتائج والتوصيات : ======== مسألة فصل العينات باستخدام الشبكات العصبية ============ النتائج من خالل األمثلة السابقة نستنتج أن : وحدة اإلدراك أظهرت نجاح في حل المشكالت البسيطة المتعلقة بالتصنيف والفصل, ولكن عدم قدرتها على حل المشكالت الغير قابلة للفصل الخطي أدى إلى ظهور شبكات متعددة الطبقات. ومازالت أكثر الطرق إستعماال في إختيار حجم الشبكة هي أقدم الطرق وأسهلها وهي طريقة المحاولة والخطأ. خوارزمية اإلنتشار االرتدادي تسعى لتقليل مربع الخطأ عند التدريب. - -2 3- صعوبة تدريب الشبكة ال تكمن في فهمه ولكن في المجهود الذي يتطلبه خصوصا مع تكرار العمليات أحيانا آلآلف المرات, وقد يتبادر إلى الذهن أن هذه الطريقة تستغرق وقتا طويال في التدريب, لذلك يمكن استخدام الحاسب في التدريب. 4- سرعة التعلم هي التي تحدد سرعة تحديث األوزان والوصول إلى األوزان النهائية, فإذا كانت صغيرة يكون التحديث بطيئا وتستغرق عملية التدريب وقتا طويال, وإذا كانت كبيرة قد تتذبذب األوزان وتصل إلى حالة عدم استقرار. 45
التوصيات ======== مسألة فصل العينات باستخدام الشبكات العصبية ============ عند إختيار حجم الشبكة بإمكان المصمم أن يبدأ بشبكة بسيطة ويزيد في حجمها شيئا فشيئا بإضافة خاليا أو طبقات إلى أن يصل إلى نتائج مقبولة, وهذه اإلختيارات يجب أن تتم قبل البداية في التدريب, وبدون شك فإن اإلختيار غير الموفق لحجم الشبكة يؤدي إلى نتائج غير مقبولة. يمكن للمصمم أن يرسم مقدار الخطأ حسب قيم األوزان أثناء التدريب ويحصل بذلك على مساحة تسمى مساحة الخطأ. لتالفي صعوبة تدريب الشبكة أصبحت هذه العملية تتم باستخدام الحاسوب, و قد أدى توفر الوصول إلى نتائج ممتازة في وقت إلى البرمجيات الكثيرة كبرنامج ال MATLAB معقول. على المصمم أن يختار سرعة التعلم عشوائيا ويغيرها شيئا فشيئا ليصل إلى إختيار مناسب يجمع بين سرعة التدريب والمحافظة على إستقراره. إذا كانت البيانات المعدة لتدريب الشبكة ذات قيم عالية, فإنه ينصح بمعايرة المدخالت والمخرجات بحيث تكون قيمها متقاربة وبالتالي ال يطغى مدخل على أخر, واألحسن أن تكون القيم المعيرة بين و - مما يجعل التدريب سريعا. وللقيام بمعايرة البيانات يمكن أن تقسم بيانات متغير ما على أكبر قيمة فيه, وبالتالي تصبح القيمة القصوى بعد المعايرة مساوية لواحد. - -2-3 -4-6 47
المراجع ). الذكاء اإلصطناعي, سلسلة العلم والحياة, القاهرة. -4 السويلم, محمد نبهان, ( 3 ). أصول الذكاء الصناعي,الطبعة الثالثة, مكتبة الرشد, 3-3 السيد, خالد ناصر, ( الرياض. 4- الشرقاوي, محمد علي, ( 4996 ). الذكاء اإلصطناعي والشبكات العصبية, الكتاب األول ضمن سلسلة علوم وتكنولوجيا حاسبات المستقبل, مركز الذكاء اإلصطناعي للحاسبات, مكتبة اإلسكندرية, مطابع المكتب المصري الحديث. - بسيوني, عبد الحميد, ( 499 ). مقدمة الذكاء اإلصطناعي للكمبيوتر ومقدمة برولوج, الطبعة األولى, دار النشر للجامعات المصرية, مكتبة الوفاء. ). أساسيات الذكاء اإلصطناعي, ط 4, دار الفيصل الثقافية, -5 عبد النور, عادل, ( 35 الرياض. عيسى, عالم زكي, 3( ). " الشبكات العصبية, البنية الهندسية, الخوارزميات, التطبيقات ", ط, 4 شعاع للنشر والعلوم, حلب, سوريا. -6 7- ياغي, سامر عبد الرؤوف, ( 33 ). مقدمة في الحاسب اآللي. طلبه, وآخرون, ( 499 ). الحاسب والذكاء اإلصطناعي, مجموعة كتب دلتا, مكتبة اإلسكندرية, مطابع المكتب المصري الحديث. -8 34 9 -مطر, ظافر رمضان والياس, انتصار ابراهيم, ( الزمنية لتدفق المياه الداخلة إلى مدينة الموصل, جامعة الموصل, العدد ( 48 ). ), تحليل ونمذجة السلسلة المجلة العراقية للعلوم اإلحصائية, 4- ويكيبيديا, الموسوعة الحرة, من موقع Ar.wikipedia.org 48 المراجع ================================================