English  Español  Português  Français  Italiano  Deutsch  Nederlands  Svenska  Dansk  Suomi  Norsk  Русский  Polski  Română  Български  Hrvatski  Česky  中国  中國  日本語  한국어  Ελληνική  हिन्दी  العربية 
الشبكه العصبيه
مع التعلم عن طريق الخطأ الى الوراء اكثار
Colin Fahey
neuron_group01.jpg
الشبكه العصبيه البيولوجية

1. البرامج

NeuralNetwork20080614.zip
شبكة الخلايا العصبيه شفره المصدر (C#)
21971 بايت
MD5: 94443565716e1101a3326dc2ffd558fd

2. مقدمة

وتصف هذه الوثيقة كيفية تنفيذ شبكة عصبية اصطناعيه قادرة على ان يجري تدريب التعرف على الأنماط.
وتصف هذه الوثيقة نموذجا من العصبيه أن يتعلم عن طريق شبكة خوارزميه التي تستخدم "الدعايه خطا الى الوراء."
وتتضمن هذه الوثيقة الاساسية للتعلم عن طريق المظاهرات "الى الوراء خطأ أكثار."  هذه الوثيقة قد وصله لقانون الكمبيوتر.  الكمبيوتر وتتضمن المدونه المظاهرات.  قانون الكمبيوتر يمكن استعمالها لانشاء الشبكات العصبيه المعقده.  ومع ذلك ، فإن قانون الكمبيوتر هو فقط لاغراض ايضاحيه.  تنفيذ بديل يمكن ان تقلل من استخدام الذاكرة ويمكن ان يزيد من سرعة.

3. التعلم عن طريق بديل لاكثار خطا الى الوراء

وتصف هذه الوثيقة نموذجا من العصبيه التي يتعلم عن طريق شبكة خوارزميه "نشر" اسمه "خطا الى الوراء."  خوارزميه هذا يمكن ان يتطلب وقتا طويلا جدا لتعلم الدروس المختلفة.  كما ان هذا يمكن ان خوارزميه بشكل عشوائي لا تعلم الدروس المختلفة نظرا لعشواءيه الاولية مركز للتدريب قبل أن الشبكه العصبيه.
التعلم عن طريق "اشراك النشطه المدخلات" بديلا هاما التعلم عن طريق "الخطأ الى الوراء أكثار."  التعلم النشط المدخلات عن طريق اشراك شركاء ببساطة المدخلات التي هي نشطة في وقت واحد.  هذا التعلم يمكن ان تكون سريعه وموثوق بها.  غير انه بالنسبة لكثير من الناحية العملية ، لا توجد طريقة واضحة لاستخدام الشبكه العصبيه ان يتعلم من قبل الرابطه ، في حين ان هناك طريقة واضحة لاستخدام شبكة ان يتعلم عن طريق الخطأ الى الوراء أكثار.
بعض الشبكات العصبيه البيولوجية لمعرفة معروفة من قبل رابطة نشطة المدخلات.  خطا الى الوراء اكثار لم يحترم اي في الشبكه العصبيه البيولوجية.
وتصف هذه الوثيقة للاهتمام لاستخدامات الشبكه العصبيه أن يتعلم عن طريق الخطأ الى الوراء أكثار.  ومع ذلك ، التعلم عن طريق رابطة هو في غاية الاهميه خوارزميه بديلة للتعلم.  تصميم الشبكه العصبيه ان يتعلم من قبل الرابطه لحل مشكلة خاصة قد تكون أكثر صعوبة إن desgining بديل الشبكه العصبيه أن يتعلم عن طريق الخطأ الى الوراء اكثار ، ولكن أعرف ان النظم البيولوجية من قبل الرابطه ، وقدرتهم على التعلم من النظم البيولوجية واضح.

4. الخلايا العصبيه البيولوجية

4.1 الخلايا العصبيه خلية

neuron_1umeter01.jpg
الخلايا العصبيه البيولوجية (نوع "متعدد الاقطاب" ، ~4 um خلية الهيءه)
ا النوع من الخلايا العصبيه هي الخلية التي يملك القدرة على تلقي وارسال الاشارات العصبيه.
الخلايا العصبيه هي اساس نظم الاعصاب ، وجدت في الحيوانات والطيور والأسماك والحشرات.
عقل مع الذاكرة والمنطق ، ونظم بسيطة رد الفعل ، وكلاهما يقوم على اساس ترتيبات من الخلايا العصبيه.
كما تستخدم الخلايا العصبيه لنقل الاشارات لمسافات طويلة في جسد مخلوق ، من مثل أجهزة الاستشعار الى الدماغ ، أو من المخ الى العضلات.
سلوك الخلايا العصبيه البيولوجية معقدة للغاية ، ولكنه التالية وصف مبسط يجسد المبدأ الاساسي :
يتراكم الخلايا العصبيه فإن الاشارات الواردة من الخلايا العصبيه الاخرى ، واذا كان مجموع اشارة تراكم يتجاوز عتبة ، ويحيل الخلايا العصبيه الخاصة بها اشارات الى الخلايا العصبيه الاخرى.

4.2 أجزاء الخلايا العصبيه

neuron_labels01.jpg
اجزاء من الخلايا العصبيه البيولوجية
الجسم
هيئة الخلية من الخلايا العصبيه
Dendrites
الألياف مع المستقبلات الكيمياءيه (المدخلات) التي تمتد من خلايا الجسم من الخلايا العصبيه.  ا عادة العديد من الخلايا العصبيه dendrites ، وdendrites لها فروع كثيرة في كثير من الاحيان.
محور عصبي
أ بواعث الالياف مع المواد الكيمياءيه (النواتج) في دورته التي تمتد من نقطة نهاية الخلية الهيءه من الخلايا العصبيه.  أ الخلايا العصبيه وقد محور عصبي واحد ، ومحور عصبي عاده عدد قليل جدا من الفروع.
الوصله العصبيه
أ تشكيل محور عصبي ان هذه واحدة من الخلايا العصبيه وdendrites آخر من الخلايا العصبيه وتفصل فجوه صغيرة جدا.  في مثل هذا التكوين ، والمواد الكيمياءيه المنبعثة من وجود الخلايا العصبيه من محور عصبي عبور الوصله العصبيه وردت به dendrites من الخلايا العصبيه الاخرى.  وهذه هي الطريقة التي تؤثر على الخلايا العصبيه من الخلايا العصبيه الاخرى.

4.3 الخلايا العصبيه اطلاق النار

أ يتراكم الخلايا العصبيه اشارات كيمياءيه من dendrites ، واذا كان مجموع تراكم المواد الكيمياءيه يتجاوز عتبة فى غضون فترة من الزمن ، فإن الخلايا العصبيه "والحرائق وارسال" اشارة خاصة بها عن طريق محور عصبي.
بعض الخلايا العصبيه قادرة على اطلاق النار والبقول وبناء على امر من 100 Hz.
الاشارات تمر عبر تراكمات من الخلايا العصبيه اشراك (Na) الصوديوم ، البوتاسيوم (K) ، و(Cl) ايونات الكلور ، مما ادى الى وكهرباءيه المحتملة (أي الجهد).
استراحه (-70 mV) الجهد والجهد (+30 mV) اطلاق النار يمكن ان تقاس او حتى تتأثر الدوائر الكهرباءيه التقليديه.
فيما يلى مجموعة من الجهد تسجيل الجرذ في اطلاق النار على الخلايا العصبيه بنسبة تقريبا عندما 100 Hz واحد هو الخط الطولى وتطرق الى عقد دورتها استراحه المركز :
neuron_spikes_whisker01.jpg
أ الجرذ الخلايا العصبيه نتيجة لاطلاق النار (100 Hz) عقد الشارب.
فيما يلى نفس الاشارة على النحو الذي يتبدى في الصوت : neuron_spikes_whisker01.wav
ورغم ان الحافز المستمر ، والخلايا العصبيه لاشارة سريعه النبض.

4.4 الشبكه العصبيه

العقل البشري 10^11 ما يقرب من (100 بليون دولار) من الخلايا العصبيه.
كل الخلايا العصبيه في المخيخ ويتلقى مساهمات من عدد 10^4 (10000) الوصلات العصبيه.
وعلى الرغم من محور عصبي dendrites من الخلايا العصبيه في كثير من الاحيان توسيع قليلة فقط الميكرومترات بعيدا عن خلية الهيءه ، هي بعض محاور عصبية بناء على امر من متر طولا.
وقد الخلايا العصبيه في المخ مع مجموعات محاور عصبية قصيرة نسبيا في المناطق او مجموعات.
في المخ كما أن الخلايا العصبيه للحزم مع محاور عصبية طويلة نسبيا لربط المناطق التي تفصل بين سنتيمترات.
وهكذا الهرمي تجهيز شبكة من عناصر تشكيلها.

4.5 مركز الشبكه العصبيه

مركز شبكة من الخلايا العصبيه على حد سواء هو الطريقة التى ترتبط الخلايا العصبيه والاشارات على جميع من الوصلات العصبيه.
ومن غير الواضح الى اى مدى مركز المعلومات سوف تضيع اذا كان هدا في الدماغ الى اجمالي الخمول لاي مبلغ من الوقت.
يمكن للمرء أن يتصور سوى معلومات مستمرة عن طريق نقل الاشارات من خلال الشبكه ، وليس عن طريق الاتصال بالشبكه نفسها ، شأنها في ذلك شأن الخليوي الباردون Conway's "Game of Life" مثل المحاكاه ، بسيطة Dynamic Random Access Memory (DRAM) الرقائق ، واصداء في القاعه.

4.6 الشبكه العصبيه للتعلم

التعلم يحدث عندما التقليديه خصائص dendrites تغيير في الوصله العصبيه على ان تصبح اكثر او اقل كفاءه في تلقي اشارات كيمياءيه من محور عصبي.
الأسباب وراء هذه التغييرات المعقده ، ولكن النتيجة هي ان الخلايا العصبيه ويتطلب مجموعة مختلفة من المدخلات الوصله العصبيه لاطلاق اشارة الناتج.

5. الخلايا العصبيه الاصطناعيه

5.1 تعريف

"مصطنع الخلايا العصبيه" هي خوارزميه او الماديه من اجل ان تنفذ مستوحاة من نموذج رياضي الاساسية للسلوك الخلايا العصبيه البيولوجية.
أ يتراكم الخلايا العصبيه الاشارات الواردة من الخلايا العصبيه او غيرها من المدخلات (على سبيل المثال ، اجهزة الاستشعار) ، واذا كان مجموع اشارة تراكم يتجاوز عتبة ، والخلايا العصبيه ويحيل اشارة الى الخلايا العصبيه أو النواتج الاخرى (على سبيل المثال ، المستجيبات).
أي نموذج رياضي يتضمن فكرة تراكم متعددة المدخلات والمخرجات للاستسلام واحد (ان يبرز الكثافة النسبيه للمساهمه النسبيه لبعض المستوى الاسمي) يمكن استخدامها لنمط الاعتراف.
هذه النماذج يمكن ان تشكل اساسا من الخلايا العصبيه الاصطناعيه.
وإذا كان تأثير كل المدخلات يمكن تعديله ، ثم يمكن لنموذج دعم التعلم.

5.2 تنشيط وظيفة

"تفعيل وظيفة" رياضية وظيفة القيم التي تحول دون مساهمه قيمة معينة الى انخفاض نسبي في قيمة الناتج ، وتحويل القيم اعلاه مساهمه قيمة معينة الى الارتفاع النسبي في قيمة الناتج.
"تفعيل وظيفة" تستخدم لتحويل مبلغ من المرجح مساهمه القيم من الخلايا العصبيه الى ان يمثل قيمة الناتج من الخلايا العصبيه.
أ "sigmoid" وظيفة عامة من الدرجة السلس للمهام بشكل مقارب ان الاقتراب من الحد الادنى للمساهمه تقترب من القيم السلبيه لانهايه ، وبشكل مقارب نهج حد اقصى للمساهمه تقترب من القيم الايجابية لانهايه.
sigmoid وظيفة واحدة محددة هي "logistic sigmoid" الوظيفة :
logistic_sigmoid_function.jpg
فإن وظيفة "Logistic Sigmoid" : 1 / ( 1 + Exp( -x ) )
"logistic sigmoid" فإن وظيفة يمكن ان تستخدم "لتفعيل وظيفة" نموذج رياضي من الخلايا العصبيه.
الرياضية المشتقه من "logistic sigmoid" يمكن ان يكون محسوبا حتى صيغة ، مما يجعل من السهل لحساب منتسبا الى صيغة التعلم.

5.3 العصبيه شبكة المدخلات

أ "العصبيه شبكة المدخلات" ويمثل مدخلا الى شبكة العصبيه.
neural_network_input.jpg
العصبيه شبكة المدخلات
"Input" هو القيمه العدديه للمدخلات.

5.4 الشبكه العصبيه الناتج

أ "الشبكه العصبيه الناتج" يمثل الناتج من الشبكه العصبيه.
neural_network_output.jpg
الشبكه العصبيه الناتج
"Output" هو قيمة رقمية من الناتج.
"Error" هو قيمة رقمية ان يمثل الفرق بين قيمة الناتج و"Desired" القيمه :
Error = (Output - Desired);  // Derived from: Output = Desired + Error;
"Desired" فان القيمه تمثل القيمه المرجوة ، أو قيمة مثاليه ، او القيمه الصحيحه ، ان الشبكه العصبيه كما ينبغي ان ينتج الناتج ردا على مدخلات محددة.
الخطأ ويتم حساب القيمه المسنده الى جانب التدريب "Error" خوارزميه.
الخطأ هو قيمة التغذيه المرتده الى الشبكه العصبيه.
فان الشبكه العصبيه يمكن ان تتكيف مع تقليص الفارق بين المخرجات والقيم المرغوب فيها ، أي ، الشبكه العصبيه يمكن ان يتعلم ، وبذلك يمكن تقليل الاخطاء في المستقبل.

5.5 الهيءه الخلايا العصبيه

أ "الخلايا العصبيه هيئة" تمثل الهيءه من الخلايا العصبيه ، التي يتراكم مساهمه الاشتراكات ، ويضيف التحيز ، وتحول من القيمه مما ادى الى "تنشيط وظيفة" لانتاج قيمة الناتج.
neuron_body.jpg
الهيءه الخلايا العصبيه
"InputAccumulator" هو القيمه التي تمثل مدخلات من الخلايا العصبيه التي تراكمت وصلات النواتج التي ترتبط الهيءه الى الخلايا العصبيه.
"Bias" هو تعديل القيمه وهذا هو الجمع بين المتراكمه مساهمه قيمة.
"Output" هو قيمة رقمية تمثل قيمة الناتج من الخلايا العصبيه.
الناتج هو القيمه باستخدام الصيغة التالية :
Output = ActivationFunction( Bias + InputAccumulator );
"ErrorAccumulator" هو قيمة رقمية تمثل خطا المتراكمه.
ونظرا لقيمة الناتج محدد من الخلايا العصبيه الهيءه ، ونظرا لخطأ ناتج محدد القيمه ، والقيمه المتراكمه ليتم تعديل الخطأ وفقا للمعادلة التالية :
ErrorAccumulator += Output * (1 - Output) * OutputError;
"Rate" هي القيمه التي تؤثر على كيفية "Bias" قيمة التغييرات استجابة ل"ErrorAccumulator" القيمه :
Bias += (-1) * Rate * ErrorAccumulator;

5.6 الخلايا العصبيه وصلة

أ "الخلايا العصبيه وصلة" يمثل حلقة وصل بين :
(1) مدخلا للشبكة العصبيه ومدخلا للهيئة الخلايا العصبيه ؛
او ،
(2) الناتج من الخلايا العصبيه والهيءه مدخلا آخر من الخلايا العصبيه من الجسم.
او ،
(3) الناتج من الخلايا العصبيه والناتج هيئة للشبكة العصبيه.
neuron_link.jpg
الخلايا العصبيه وصلة
"Input" هو مخبأ للمساهمه في الارتباط.
"Weight" هو تعديل القيمه التي تؤثر على القيم وكيفية اشارة خطأ في نشر القيم عن طريق وصله.
"Output" هو مخبأ للناتج الصلة.
القيمه باستخدام الصيغة التالية :
Output = Weight * Input;
"Error" هو مخبأ للخطأ للربط.
"WeightedError" هو مخبأ للخطأ ، للصلة ، مرجحه حسب الوزن عامل :
WeightedError = Weight * Error;
"Rate" هي القيمه التي تؤثر على كيفية "Weight" قيمة التغييرات استجابة ل"Error" القيمه والقيمه "Input".
وخلال الشبكه العصبيه للتعلم ، "Weight" القيمه في المعدل على النحو التالي :
Weight += (-1) * Rate * Input * Error;

5.7 الشبكه العصبيه

أ "العصبيه" وتتضمن "شبكة" المدخلات والمخرجات ، والخلايا العصبيه وهيئات وروابط.
الصورة التالية يصور بسيطة الشبكه العصبيه ، مع اثنين من المدخلات ، واثنين من الهيئات الخلايا العصبيه في الطبقة الاولى ، واحدة الخلايا العصبيه في طبقة ثانية ، وناتج واحد.
neuron_network_drawing.jpg
مثال للشبكة العصبيه
وخلال محاكاه للشبكة العصبيه ، ونشر قيم المدخلات الى الامام من خلال الروابط والهيئات الخلايا العصبيه ، والتوصل الى النواتج في نهاية المطاف.
neuron_network_forward_propagation.jpg
مثال الدعايه الى الامام في الشبكه العصبيه
وخلال التدريب ، وتقدم القيم خطأ في النواتج ، ونشر هذه الاخطاء الى الوراء من خلال الشبكه العصبيه ، مما ادى الى تعديل الاوزان والتحيزات في الخلايا العصبيه والهيئات والروابط.
neuron_network_backward_propagation.jpg
مثال الدعايه الى الوراء خطأ في الشبكه العصبيه

5.8 العصبيه شبكة المحاكاه

التعريف :
"شبكة المحاكاه" هي الاجراءات المستخدمة لنشر شبكة المدخلات عن طريق الروابط والهيئات الخلايا العصبيه حتى الوصول الى شبكة النواتج.
شبكة ينطوي على محاكاه محاكاه المكونة من جميع الروابط والهيئات الخلايا العصبيه.
التكرار او المحاكاه دون الوقت :
وهناك العديد من التشكيلات المحتملة التي تنطوي على شبكة الحلقات.
وهناك العديد من النماذج الخلايا العصبيه التي تعتمد على الوقت.
ولكن بعض من اكثر التطبيقات من الخلايا العصبيه الاصطناعيه لا تنطوي على الحلقات ولا مرة.
فيما يلى نموذج رياضي من الخلايا العصبيه الهيءه :
Output = ActivationFunction( Bias + InputAccumulator );
الخلايا العصبيه مع هذا النموذج ، وشبكة دون "الحلقات" ، فاننا ببساطة ان نبدأ من المدخلات الخارجية ، واحتساب نتائج اول طبقة من الخلايا العصبيه ، وامداد تلك النواتج كمدخلات لطبقة المقبل ، احسب ان النتائج لطبقة ، وتواصل من خلال طبقات الخلايا العصبيه حتى تحسب على النتائج النهائية.
الحلقات :
شبكة الاتصالات يمكن ان يكون في شكل حلقات (أو "دورات)."
فعلى سبيل المثال ، الناتج من الخلايا العصبيه يمكن ان تكون مرتبطة مباشرة الى مدخلا من نفس الخلايا العصبيه ، مما تسبب في "ردود الفعل."
وهناك مثال أخر هو ناتج # 1 الخلايا العصبيه التي ترتبط مدخلات # 2 الخلايا العصبيه ، والناتج من الخلايا العصبيه # 2 علاقة لمدخلات # 1 الخلايا العصبيه.
اذا كنت تستطيع ان تبدأ من نقطة ما في شبكة وتعقب طريق وصلات من خلال الخلايا العصبيه ، وطاعة في اتجاه واحد تدفق الاشارات ، والتوصل في نهاية المطاف ان نفس نقطة البداية ، ثم الطريق هي حلقة.
الحلقات يعرض للاهتمام امكانيه الاشارات المتدفقه في جميع انحاء الشبكه لفترات من الزمن.
بعض نماذج بسيطة نفترض ان يأخذ مبلغ محدد من الوقت لاشارات المرور من خلال الخلايا العصبيه الفرديه.
في مثل هذه النماذج وتعميم الإشارات من خلال حلقات قليلة من الخلايا العصبيه اسرع من تعميم هذه الاشارات من خلال العديد من الحلقات مع الخلايا العصبيه.
أ تتصل الخلايا العصبيه الى حد ذاته سيكون اسرع معدل التداول اشارة.
اذا الخلايا العصبيه قد مدخلا X ، W الوزن ، وجود تحيز B ، وغير السلبي الناتج Y (على سبيل المثال ، 0.0 -> 1.0) ، ثم يمكننا تشكيل المذبذب ببساطة عن طريق تحديد W = (-8) وB = +4 وربط Y الى X ؛
في كل مرة نقوم فيها محاكاه الخلايا العصبيه ، وسيتم الاشارة الى عكس ذلك toggled الدولة.
شبكة مع الحلقات يمكن ان تكون في ذروه النشاط وحتى عندما لا يقبل اشارات الخارجية (محفزات) كمدخلات.
الخليوي الباردون قواعد Conway's "Game of Life" يمكن تنفيذها في الشبكه العصبيه ، التي تمنحك صغيرة تلميح الى تنوع الانشطه التي يمكن ان تحدث في الحلقات مع الشبكه العصبيه.
- آلات محدود الدولة (FSM) ، المذبذبات ، متقلبه الذاكرة (على النقيض من انماط التعلم عن طريق تغيير الاوزان) ، بفضل looping.
إذا شبكة الحلقات ، ونحن لا يمكن تحديث أي نواتج حتى ونحن احتساب جميع النواتج ، ومن ثم ، نحن بحاجة الى مؤقت لتخزين الاحتياطي النواتج محسوبا حتى ونحن احتساب جميع النواتج ، وبعد ذلك يمكننا ان الالتزام الجديد الناتج القيم الى الخلايا العصبيه في الشبكه.
اي ان يستكمل طريقه في النواتج الفعليه للشبكة في الطريقة التدريجيه ، بدلا من ان جميع الاطراف - مرة واحدة في الطريق ، يقدم طلب تعسفيه في الوقت الذي يؤدي الى الفوضى.
الفيزياء المحاكاه التي تنطوي على جانب الكيانات ، مثل الكواكب التي تدور حول نجم مع قوى الجاذبية المتبادله بين جميع الهيئات الحكوميه ، تحتاج الى نفس النوع من النهج : احتساب صافي على القوات قبل جميع الهيئات وسرعة استكمال اي موقف.
الوقت - الاعتماد :
شبكة محاكاه بسيطة وعادة ما ينطوي على التسبب في المدخلات المخرجات المنشوده بعد خطوة واحدة محاكاه الوقت.
في مثل هذه المحاكاه ، ونحن نعتقد "من" حيث "عدد التكرار" بدلا من "مرة في ثانية."
لا توجد حاجة الى اي مراسلات بين التكرار والوقت واسع.
نظام قد تكون تهدف الى شبكة المحاكاه (تكرار) الا عندما تتوفر المدخلات الجديدة ، التي يمكن ان تحدث على فترات غير منتظمة من الزمن.
ومع ذلك ، النظر في نموذج رياضي من الخلايا العصبيه الى ان محاولات لمحاكاه النبض الناتج جانب من الخلايا العصبيه البيولوجية.
فان النبض يمكن ان يوصف من حيث الوقت ، مثل النبض في وتيرة معينة او بعد ان منحني البقول التي تمتد على مبلغ معين من الزمن.
ويمكن ان يكون لنا مرة اخرى تعتمد على عناصر في نموذج رياضي من الخلايا العصبيه ، مثل مساهمه في ذاكرة الأرقام التي تحصل على قيمة المساهمات المقدمة من المدخلات ولكن قد تسرب يتناسب مع القيمه الحالية.
في العام ، يمكننا ان نجد داءره كهرباءيه قياسا لبعض العناصر التي تطيع المعادلات الرياضية ، وذلك الصدد ، يمكن للمرء ان الخلايا العصبيه بوصفها الدائرة مع مقاومات ، مكثفات ، وغير خطي مكبر للصوت.
وكما ان المعرض يمكن ان الدائرة المعقده المعتمدة على الزمن السلوك ، ناتج من الخلايا العصبيه ويمكن اعتبار أن وظيفة يعتمد على المدخلات والوقت في طريقة معقدة.

5.9 خطا الى الوراء اكثار

التعريف :
"خطا الى الوراء اكثار" رياضي هو الاجراء الذي يبدأ في الخطأ الناتج من الشبكه العصبيه ويكاثر هذا الخطأ الى الوراء من خلال شبكة تؤدي الى الخطأ الناتج القيم لجميع الخلايا العصبيه في الشبكه.
خطا الى الوراء اكثار الصيغ :
الخطأ القيم في الشبكه العصبيه النواتج باستخدام الصيغة التالية :
Error = (Output - Desired);  // Derived from: Output = Desired + Error;
الخطأ تراكم الخلايا العصبيه في الجسم وتعدل وفقا لالناتج من الخلايا العصبيه الجسم والناتج خطأ (من جانب وصلات محددة تتصل الخلايا العصبيه الى الهيءه).
كل خطأ في قيمة الناتج يساهم في الخطأ في ذاكرة الارقام على النحو التالي :
ErrorAccumulator += Output * (1 - Output) * OutputError;
في عام ، فإن جميع من الناتج اخطاء في الاجتماع المقبل للطبقة تسرب الى الوراء من خلال مساهمه الاوزان وتتراكم في الناتج من الخلايا العصبيه في طبقة السابقة.
هذا هو تراكم قيمة مضروبا في قيمة أكبر عندما يكون الناتج الحالي من الخلايا العصبيه اكثر حياديه "(غير المستقرين على" الاكثر) واقل عندما الناتج من الخلايا العصبيه هي الاكثر تطرفا (للغاية "معينة)."
الوزن تغيير التحيز وتغيير المعادلات :
واستنادا الى التعلم هو تعديل الاوزان والقيم الانحياز في محاولة للحد من الناتج الاخطاء في المستقبل.
"معدل" التعلم هو ان القيمه العدديه اساسا يشير الى مدى الخلايا العصبيه على وجه السرعه بتعديل القيم وزنا والتحيز وفقا لقيم الخطأ.
للمعادلة التالية تشير الى كيفية تغيير الاوزان من الخلايا العصبيه مع مجموعة معينة من القيم ومدخلات الانتاج خطأ القيمه :
Weight += (-1) * Rate * Input * Error;
للمعادلة التالية تشير الى كيفية تغيير التحيز من الخلايا العصبيه الناتج الحالي نظرا لخطأ في الخلايا العصبيه :
Bias += (-1) * Rate * Error;

6. تدريب الشبكه العصبيه

6.1 اجراءات التدريب

يمكن للمرء ان يبدأ مدرب شبكة ومواصلة خفض الانتاج خطا مع مزيد من التدريب ، ولكنه كثيرا ما يبدأ مع شبكة غير مدربين.
قبل التدريب ، واختيار عشوائي القيم لجميع الاوزان من جميع الخلايا العصبيه في الشبكه.
لاحظت مشاكل عندما اختيرت عشوائيا القيم في الفترة [ -1.0, +1.0 ] ، وأنا لم يكن لدي مشاكل عندما القيم التي اخترتها عشوائيا من الفترة [ +0.1, +1.0 ].
انني أذكر هذه الملاحظات ، ولكنها قد يكون راجعا الى بلدي الاخطاء.
والغرض من الاوزان هو عشوائي للتخفيف من أي امكانيه للحالات المرضيه في الشبكه.
اذا كانت جميع الخلايا العصبيه في شبكة بدأت مع الاوزان نفسها ، ومن شأن هذه الشبكه ان لا أساس لها من اجل زيادة التمايز بين الخلايا العصبيه.
لقد لاحظت ان وضع جميع القيم الانحياز الى الصفر (0.0) مقبولة.
دورة تدريبية تشمل تدريب تمر مجموعة مرات عديدة ، وربما مئات أو آلاف المرات.
لتمر من خلال كل مجموعة التدريب ، ونحن نعتبر كل بند في مجموعة التدريب.
تدريب مجموعة البند مجموعة من المدخلات ، ومجموعة من النتائج المرجوة.
نحن محاكاه الشبكه ، وذلك باستخدام مجموعة من المدخلات التي يحددها البند التدريب.
المحاكاه المحاصيل الناتج القيم.
نشر الاخطاء ونحن الى الوراء ورأى الشبكه العصبيه لحساب الناتج الاخطاء بالنسبة لجميع الخلايا العصبيه.
ونحن تحديث جميع الأوزان والانحيازات.
تحذير : ان النص واحد الاكاديميه ناقش الشبكات العصبيه التي يمر بها تدعو الى تدريب كامل والا مجموعة وتلخيصا للتغيرات الوزن والتحيز.
بعد ان تمر من خلال تدريب مجموعة بأكملها لدينا مجموعة من المبالغ من الوزن التغييرات وتغييرات التحيز.
ونغتنم هذه المبالغ واستكمال جميع الأوزان والانحيازات.
ان هذه المبالغ يمكن ان تكون ضخمة لتدريب مجموعات كبيرة -- واذهب في الوزن مما ادى الى الفضاء ستكون كبيرة بشكل غير معقول.
لذلك اعتقد ان التقسيم من قبل عدد من البنود والتدريب ، للحصول على متوسط وزن المتوسط تغيير القيم وتغيير القيم الانحياز ، سيكون من المعقول.
ثمة ما هو مناشده الحوسبه واحد عن الوزن تغيير ناقل ان يتخذ على نحو كامل في مجموعة التدريب على النظر.
ولا ادري ما اذا كان ببساطة انني اخطأت في تنفيذ الفكره ، ولكني ما يقرب من تخلى تماما عن الشبكات العصبيه بسبب كيف كانت الامور سيئة وانتقل.
بعد ذلك ، وحين حاولت ان البديل فإن من السذاجه ، الا وهو جعل كل التحديثات والتدريب على هذا البند ، الاشياء عملت على أكمل وجه.
النظر في كامل مجموعة التدريب قبل القيام بذلك استكمال بعض المزايا والعيوب :
الميزه :
وأحد البنود التدريب في التدريب مع مجموعة متطرفه خطأ (اي سوء التدريب البند (لن يقدم مساهمه كبيرة الى التحديث ، لأنها ستكون غارقه في التأثير من البيانات "الجيدة" ؛
العيب :
اذا N هو عدد من البنود في مجموعة التدريب الخاص بك ، يا معدل التقدم الى الوزن الامثل لمكافحة ناقلات سيتم تقسيمه N.
او ، لمسافه معينة سيكون لكم سوى جزء ضئيل من تلميحات الاتجاه على طول الطريق بالقياس الى نهج من السذاجه ؛
ولعل هذا الاسلوب سوف تعمل من أجلك ، ولكن من السذاجه جرب نهج امامكم التخلي عن الشبكات العصبيه في لفظ الاحباط!

6.2 فشل للحد من الخطأ

قد تفشل في التدريب للحد من الخطأ الكلي لتدريب مجموعة.
ومن المهم للكشف عن فشل للحد من الخطأ.
القائمة التالية وصفا للاسباب الفشل في الحد من الخطأ ، والحلول الممكنة لها.
في البنود المدرجه اسماؤهم في القائمة من اجل تقارب احتمالات ، مع البند الاول في انهم اكثر احتمالا.
(1) وزن الجمع بين المحلية قد وصلت الى الحد الادنى من الخطأ السطحيه ، "وتمسك" ؛
الحل : بداية جديدة مع محاكاه اوزان جديدة عشواءيه.
(2) الشبكه عدد قليل جدا من الخلايا العصبيه او تشفير جميع الطبقات الى انماط من التدريب الخاص بك في مجموعة ؛
الحل : بحذر للنظر في امكانيه اضافة طبقات او الخلايا العصبيه.
(3) واحد أو أكثر من البنود الخاصة بك في التدريب او مجموعة يتناقض بشكل فاضح لا تتفق مع البنود الاخرى الخاصة بك التدريب ؛
الحل : تحقق مجموعة من البيانات الخاصة بك لمخالفات.
العثور على اختبار البنود التي تدر اكثر خطأ لتدريب الشبكه الخاصة بك.
لننظر في الوزن المتوسط لتقنيات التغيرات التي طرأت على مر مجموعة البيانات بالكامل الى الحد من تأثير سيء على أي الحالات.
(4) التعلم معدل مرتفع جدا (اكثر من اي شيء وربما الافراط في 1.0) ، وتحديثات دائما اوفيرشوت الهدف ؛
الحل : تخفيض معدل التعلم.
(5) التعلم معدل منخفض جدا (اقل من اي شيء 0.01 قد تكون صغيرة جدا) ، وهذه الشبكه هي حقيقة تتلاقى على الوزن المثالي الجمع -- ولكنه بطيء للغاية ؛
الحل : زيادة معدل التعلم.
التدريب من طبقتين ، ثلاثة شبكة الخلايا العصبيه لمباراة الحصري - (xor) او وظيفة ، يمكن ، على الرغم من بساطة وظيفة ، لا تلتقي.
هذا يمكن ان يثير الدهشه والاحباط.
ومع ذلك ، فان الحل هو ببساطة وضع جميع الخلايا العصبيه وصلة جديدة لاوزان عشواءيه بعد ذلك القيم ومحاولة لتدريب الشبكه مرة اخرى.
في حالة التدريب لشبكة المباراة الحصري - (xor) او وظيفة ، عشواءيه ايجابية الاوزان ويبدو ان تؤدي الى نجاح عملية التعلم في كل مرة ، في حين ان بعض مجموعات من ايجابية وسلبية في بعض الأحيان تتسبب في اوزان التدريب للفشل الى حد كبير.
الحاجة الى اختيار عشوائي الاولى اوزان جديدة للتعافي من عدم تلتقي امر مؤسف للمزيج من التعلم الاجراء.
التعلم الاجراء هو اساسا البحث عن الحد الادنى العالمي من قبل أشد النسب على السطح ، واحتمال وجود "محلي" في "الحد الادنى" الذي يمكن ان يصبح البحث المحاصرين.

6.3 خطأ في التدريب الشامل

عموما الخطأ من شبكة يمكن ان توصف به مربع الجذر ، من متوسط مربع من الاخطاء ، أو - "يعني" - "الجذر" (RMS) "مربع."
الخطأ في أي شبكة محددة الناتج الذي تقدمه للمعادلة التالية :
Error = (Output - Desired);
مجموع مربع اخطاء لحظة واحدة في التدريب هو البند الذي توليه للمعادلة التالية :
double squaredError = 0.0;
foreach (NeuralNetworkOutput output in ListOfOutputs)
{
    squaredError += (output.Error * output.Error);
}
مجموع الاخطاء مربع لكامل مجموعة من البنود في تدريب مجموعة هي مجموع الاخطاء مربع للعناصر الفرديه.  التوليف التالي يبين كيف ان اخطاء مربع لكامل مجموعة من البنود التدريب يمكن ان تكون محسوبا :
double squaredError = 0.0;
for
    (
    int trainingItemIndex = 0;
    trainingItemIndex < totalTrainingItems;
    trainingItemIndex++
    )
{
    trainingSet.SetAllInputNodeValues( trainingItemIndex );
    Simulate( propagationIterations );
    trainingSet.SetAllOutputNodeErrorValues( trainingItemIndex );
    PropagateErrors( propagationIterations );
    UpdateWeightsAndBiases();

    foreach (NeuralNetworkOutput output in ListOfOutputs)
    {
        squaredError += (output.Error * output.Error);
    }
}
عموما - الجذر يعني (RMS) مساحة للخطأ ، هو الذي توليه مربع الجذر من متوسط مربع من الاخطاء :
double rmsError = Math.Sqrt( squaredError / (double)totalTrainingItems );
وهذه القيمه هي احدى الطرق لوصف الخطأ الكلي من شبكة التدريب النظر في جميع الحالات.

7. التعلم

التعلم يحدث عندما ثقل والتحيز للقيم الخلايا العصبيه والخلايا العصبيه وصلات الهيئات ويجري تعديل في الشبكه المحدد وفقا للمدخلات والمخرجات خطأ القيم.
النظر في الشبكه العصبيه مع اثنين من المدخلات (x1 وx2) ، واثنين من وصلات (مع الاوزان w1 وw2) ، وهيئة واحدة الخلايا العصبيه ، وناتج واحد (y).
neuron_network_single_neuron.jpg
الشبكه العصبيه مع اثنين من المدخلات ، وهيئة واحدة الخلايا العصبيه ، وناتج واحد
نقوم بتدريب هذه الخلايا العصبيه عن طريق توريد المدخلات ، والحوسبه الناتج ، والحوسبه الخطأ ، والحوسبه وزنا والتحيز التغييرات ، وتحديث الاوزان والتحيز ، وصولا الى ( w1', w2' ) اوزان جديدة.
وهناك طريقة مثيرة جدا للاهتمام لمشاهدة هذه العملية.
يمكننا اعتبار ان مجموعة من الاوزان واسطة كما في متعدد الابعاد والفضاء.  فعلى سبيل المثال ، الوزنتين لدينا في مكافحة ناقلات W = (w1, w2) ثنائي الابعاد "الوزن الفضاء."
وعندما يجري تعديل الاوزان ، لدينا لمكافحة ناقلات جديدة W' = (w1',w2') الوزن.
يمكننا تصور ذلك باعتباره نقطة W الانتقال الى نقطة جديدة W' كجزء من عملية تقليل الى أدنى حد من الناتج خطأ.
عادة لا احد يحسب الخطأ الناتج عن كل ما يمكن من المجموعات الوزن ، لأن الأمل هو ان عملية التكيف الوزن بكفاءه وسوف أتجه نحو افضل مجموعة.
ومع ذلك ، اسمحوا لنا ان المءامره على السطح اساسا يدل على مدى الخلايا العصبيه بالاضافة الى وضع يرضي جميع البنود في تدريب مجموعة بوصفها وظيفة من الوزنتين :
neuron_weight_space03.jpg
من الأخطاء مربع مبلغ محدد لتدريب مجموعة كوظيفه من وظائف الوزنتين (w1, w2)
في الأساس ، فإن الهدف من التعلم هو ان تنحدر الى ادنى مستوى هذا السطح ، حيث الخطأ الى ادنى حد ممكن.
مرة واحدة ونحن نجد ان نقطة W = (w1, w2) ان الحد الأدنى لقيمة المحاصيل على هذا السطح ، والتعلم قد انتهت ، وبعد ذلك يمكننا بكل بساطة استخدام تدريب الخلايا العصبيه.
يظهر الرسم البياني التالي ناتج مدربه الخلايا العصبيه بوصفها وظيفة من كل ما يمكن من مدخلات X = (x1, x2) :
neuron_input_space02.jpg
الخلايا العصبيه الناتج بوصفها دالة على اثنين من المدخلات (x1, x2) الوزن لأنه يقلل من الجمع بين مربع خطأ
على الرغم من المرجح لهذا المبلغ لاثنين من المدخلات هو ببساطة (w1*x1 + w2*x2) الخلايا العصبيه ، وتفعيل وظيفة بسيطة ينتقل بالتناوب في الطائرة الى المنحدر.
هذا السطح قد الناتج القيم الصحيحه لجميع مدخلات (x1, x2) مجموعات محددة من قبل مجموعة تدريبنا.
ولكن يمكنك أن تتخيل كيف ناقلات المدخلات X = (x1, x2) مماثلة للتدريب القيم من شأنه ان يؤدي ايضا الى قيم الانتاج السليم ؛ هذه الميزه من الشبكات العصبيه ويسمى "التعميم" هو القيمه الرئيسية للالشبكات العصبيه.
ونحن نحاول "ينحدر" سطح مربع خطأ ، ويجب علينا ان "ننظر الى قفزة قبل!"
ونحن تحديث الوزن ومكافحة ناقلات التحيز ، وبعد ذلك نقوم بتقييم "ارتفاع" سطح الارض في الموقع الجديد.
واحدى النتائج المترتبة على هذا هو اننا قد ننتقل الى نقطة مع خطا اكثر تطرفا.
هناك نتيجة اخرى هي ان الامر سيستغرق بعض الوقت ينحدر الى العودة الى عمق المكان السابق.
امكانيه "القفز" الى اكثر تطرفا من القمم والوديان الخطأ سطح تتصل مباشرة الى "معدل التعلم" ، لان التعلم معدل يحدد كيفية خطأ قدر كبير من التأثير على القيم وزنا والتحيز لدينا التغييرات.
الرسم التالي يبين كيفية زيادة نسبة التعلم وصولنا يعجل في المواضع المنخفضه على سطح مربع خطأ ، والخطأ فيها الى ادنى حد ممكن.
ويبين الرسم البياني ايضا ان زيادة معدل التعلم يدخل ايضا في امكانيه اصدار سيئة الخطوات التالية :
neuron_training_error1512_zoom.jpg
الاتجاه على المدى القصير من الجذر - يعني - خطأ (RMS) مربع لكامل مجموعة التدريب والتدريب على مدى عدة التكرار ، للتعلم معدلات 0.1 ، 0.5 ، 1.0 ، و2.0.
هنا هو الرسم البياني للجذور - يعني - من الخطأ الناتج مربع متعددة مع طبقة الشبكه للتدريب مع مجموعة 19386 البنود السيءه التي تعرضت لكثير من الخطوات على طريق ناقلات افضل الوزن :
neuron_training_error_spikes.jpg
لقاءات تدريبية في بعض الاحيان المسامير في الجذر - يعني - مربع (RMS) خطأ ، خطأ عندما زيادات لبعض التكرار قبل معاوده التناقص.
في بعض الاحيان الاتجاه هو مجرد السلس الى التقارب المنشود مجموعة من الاوزان :
neuron_training_error1512.jpg
الاتجاه من الجذر - يعني - خطأ (RMS) مربع لكامل مجموعة التدريب والتدريب على مدى عدة التكرار ، للتعلم معدلات 0.1 ، 0.5 ، 1.0 ، و2.0.

8. مثال : - الحصري او (xor)

"الحصري او" (xor) "-" هو أن يقبل وظيفة اثنين البوليه والمدخلات وغلة واحدة وفقا لالبوليه الناتج الجدول التالي :
X1
X2
Y = xor (X1 ، X2)
0
0
0
0
1
1
1
0
1
1
1
0
وبصفة عامة ، وقد واحد المدخلات {x1, x2, ...} الخلايا العصبيه ، التي تدخل عن طريق وصلات مع الاوزان {w1, w2, ...}.
فان الخلايا العصبيه وسيط يحسب كمية d = bias + (w1*x1 + w2*x2 + ...) ، الذي يمكن اعتباره تحديد الطائرة التي ، لا حصر لها في مجموعة من طائرات موازية ، ويتضمن وجهة محددة تنسق مع {x1, x2, ...}.
فان الخلايا العصبيه يحسب قيمة الناتج ، y = ActivationFunction( d ) ، مما يؤدي الى تقسيم بلا حدود مجموعة من طائرات موازية لفي مجموعتين ، مجموعة واحدة مع انخفاض الانتاج المنتجة للقيم ، والمجموعة الاخرى المنتجة للقيم عالية الانتاج.
وهكذا ، واحد الخلايا العصبيه انشقاقات متعددة الابعاد فى الفضاء الى منطقتين يفصل بينهما bias + w1*x1 + w2*x2 + ...  = 0 الطائرة ، ويوكل الى انخفاض الناتج القيم نقاط في المنطقة على جانب واحد من الطائرة ، ويوكل الى ارتفاع الناتج القيم نقاط في المنطقة على الجانب المقابل من الطائرة.
وهكذا ، اذا مجموعتين من نقاط متعددة الابعاد فى الفضاء متميزه والتصنيفات ويمكن ان تفصل تماما طائرة ، ثم واحد ويمكن استخدام الخلايا العصبيه لنقاط صحيحة عن تلك التي تصنف على انها تنتمي الى مجموعات مجموعة واحدة أو اخرى.
الحصري - او (xor) يصنف نقاط مهمة في الفضاء ثنائي الابعاد (ينسق مع (x1, x2)) ان مثل هذه النقاط في مجموعة { (0,0), (1,1) } تصنف على انها من انتاج الناتج "0" ، والنقاط الواردة في مجموعة { (0,1), (1,0) } تصنف على انها من انتاج الناتج "1."
ليس هناك "طائرة" واحدة (في هذه الحاله ، خط) يمكن ان منفصلة في هذه النقاط الاربع الى مجموعتين.
ولذلك ، فإن الخلايا العصبيه واحدة لا يمكن ان تستخدم لتصنيف النقاط وفقا لالحصري - (xor) او وظيفة.
واحد لا يمكن الا ان الخلايا العصبيه تقسيم الفضاء من النقاط في لهاتين المنطقتين.
الحصري - (xor) او وظيفة في النقاط ويصنف على نحو اساسا يقسم ثنائي الأبعاد في الفضاء الى ثلاث مناطق (او بدلا من ذلك ، من الاقاليم الاربعة).
ويمكن تقسيم الخلايا العصبيه اثنين ثنائي الأبعاد في الفضاء الى ثلاث مناطق (على سبيل المثال ، من قبل اثنين من الخطوط المتوازيه متميزه) ، وهكذا يمكن استخدام لتصنيف النقاط وفقا لالحصري - (xor) او وظيفة.
ثالث يمكن ان تستخدم الخلايا العصبيه الى الجمع بين نواتج اثنين من الخلايا العصبيه الأخرى في الناتج الى واحد.
التالية الشبكه العصبيه ، مع اثنين من المدخلات ، واثنين من الهيئات الخلايا العصبيه في الطبقة الاولى ، واحدة الخلايا العصبيه في طبقة ثانية ، والناتج واحد ، يمكن ان تستخدم لتصنيف النقاط وفقا لالحصري - (xor) او وظيفة.
التالية يمكن ان تصل اليه الشبكه العصبيه اما ان يكون تدريب لحساب الحصري - (xor) او وظيفة ، او الشبكه العصبيه يمكن ببساطة ان لها وزنا والتحيز القيم المسنده وبطريقة تنتج السلوك المرغوب فيه.
neuron_network_drawing.jpg
أ العصبيه شبكة قادرة على النقاط وفقا لتصنيف الحصري - او (xor)
قانون الكمبيوتر المرتبطه هذه الوثيقة يدل على تدريب الشبكه