السير الذاتية صفات التحليلات

وظيفة خطأ الشبكة العصبية. تدريب الشبكة - backpropagation

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

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

دعونا نفكر في تشغيل الخوارزمية بمزيد من التفصيل. لنفترض أننا بحاجة إلى تدريب الشبكة العصبية التالية باستخدام خوارزمية backpropagation:

في الشكل أدناه ، يتم استخدام الاصطلاحات التالية:

كدالة تنشيط في الإدراك متعدد الطبقات ، كقاعدة عامة ، يتم استخدام وظيفة التنشيط السيني ، على وجه الخصوص ، وظيفة لوجستية:

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

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

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

التالي:

  1. قم بتهيئة أوزان متشابكة بقيم عشوائية صغيرة.
  2. اختر زوج التدريب التالي من مجموعة التدريب ؛ تغذية متجه الإدخال إلى مدخلات الشبكة.
  3. احسب ناتج الشبكة.
  4. احسب الفرق بين خرج الشبكة والمخرج المطلوب (متجه هدف زوج التدريب).
  5. اضبط أوزان الشبكة لتقليل الخطأ (كما هو موضح أدناه).
  6. كرر الخطوات من 2 إلى 5 لكل متجه من مجموعة التدريب حتى يصل الخطأ في المجموعة بأكملها إلى مستوى مقبول.

تشبه العمليات التي يتم إجراؤها بواسطة الخطوتين 2 و 3 تلك التي يتم إجراؤها أثناء تشغيل شبكة مدربة بالفعل ، أي يتم تغذية ناقل المدخلات ويتم حساب المخرجات الناتجة. يتم تنفيذ الحسابات في طبقات. على التين. 1 ، أولاً ، يتم حساب مخرجات الخلايا العصبية للطبقة (الطبقة عبارة عن مدخلات ، مما يعني أنه لا توجد حسابات تجري فيها) ، ثم يتم استخدامها كمدخلات للطبقة ، ومخرجات الخلايا العصبية للطبقة هي محسوبة ، والتي تشكل متجه الإخراج للشبكة. تشكل الخطوتان 2 و 3 ما يعرف بالمرور الأمامي حيث تنتقل الإشارة عبر الشبكة من الإدخال إلى الإخراج.

تشكل الخطوتان 4 و 5 "الممر الخلفي" حيث تنتشر إشارة الخطأ المحسوبة مرة أخرى عبر الشبكة وتستخدم لضبط الأوزان.

دعنا نلقي نظرة فاحصة على الخطوة 5 - ضبط أوزان الشبكة. هناك حالتان ليتم تسليط الضوء عليها هنا.

الحالة 1. تعديل أوزان متشابكة طبقة الإخراج

على سبيل المثال ، لنموذج الشبكة العصبية في الشكل. 1 ، ستكون هذه أوزانًا لها التسميات التالية: و. دعنا نحدد أن الفهرس سوف يشير إلى الخلية العصبية التي يخرج منها الوزن المشبكي ، والخلايا العصبية التي يدخل إليها:

دعونا نقدم القيمة ، التي تساوي الفرق بين المخرجات المطلوبة والحقيقية ، مضروبة في مشتق وظيفة التنشيط اللوجستي (انظر أعلاه للحصول على صيغة وظيفة التنشيط اللوجستي):

بعد ذلك ، ستكون أوزان الطبقة الناتجة بعد التصحيح مساوية لـ:

فيما يلي مثال على حسابات الوزن المشبكي:

الحالة الثانية: ضبط الأوزان المشبكية للطبقة المخفية

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

برودنيكوف إيفان ألكسيفيتش
MIREA (MTU)

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

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

الجزء النظري

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

هندسة عامة

يوضح الشكل 1 شبكة عصبية متعددة الطبقات مع طبقة واحدة من الخلايا العصبية المخفية (عناصر Z).

يمكن أن تكون الخلايا العصبية التي تمثل مخرجات الشبكة (المشار إليها بواسطة Y) والخلايا العصبية المخفية متحيزة (كما هو موضح في الصورة). يُشار إلى الإزاحة المقابلة للإخراج Y k بواسطة w ok ، العنصر المخفي لـ Z j - V oj. تعمل هذه التحيزات كأوزان على الاتصالات القادمة من الخلايا العصبية ، والتي يظهر ناتجها دائمًا 1 (في الشكل 1 تظهر ، ولكن عادةً لا يتم عرضها بشكل صريح ، ضمنيًا). بالإضافة إلى ذلك ، تظهر الأسهم في الشكل 1 حركة المعلومات أثناء مرحلة نشر البيانات من المدخلات إلى المخرجات. أثناء عملية التعلم ، تنتشر الإشارات في الاتجاه المعاكس.

وصف الخوارزمية

الخوارزمية المعروضة أدناه قابلة للتطبيق على شبكة عصبية ذات طبقة مخفية واحدة ، وهي حالة صالحة وكافية لمعظم التطبيقات. كما ذكرنا سابقًا ، يتضمن تدريب الشبكة ثلاث مراحل: توفير بيانات التدريب لمدخلات الشبكة ، والانتشار العكسي للخطأ ، وضبط الأوزان. خلال المرحلة الأولى ، تتلقى كل خلية عصبية إدخال X i إشارة وتبثها إلى كل من الخلايا العصبية المخفية Z 1 ، Z 2 ... ، Z p. ثم تقوم كل خلية عصبية مخفية بحساب نتيجة وظيفة التنشيط الخاصة بها (وظيفة الشبكة) وتبث الإشارة Z j إلى جميع الخلايا العصبية الناتجة. كل خلية عصبية ناتجة Y k ، بدورها ، تحسب نتيجة وظيفة التنشيط الخاصة بها Y k ، والتي هي ليست أكثر من إشارة خرج هذه الخلية العصبية لبيانات الإدخال المقابلة. أثناء عملية التعلم ، تقارن كل خلية عصبية في ناتج الشبكة قيمة Y k المحسوبة مع t k التي يوفرها المعلم (القيمة المستهدفة) ، مما يحدد قيمة الخطأ المناسبة لنمط الإدخال المحدد. بناءً على هذا الخطأ ، يتم حساب σ ك (ك = 1،2 ، ... م). يتم استخدام σ k عند نشر الخطأ من Y k إلى جميع عناصر الشبكة للطبقة السابقة (الخلايا العصبية المخفية المتصلة بـ Y k) ، وأيضًا في وقت لاحق عند تغيير أوزان الاتصالات بين الخلايا العصبية الناتجة والخفية. وبالمثل ، يتم حساب σj (j = 1،2 ، ... p) لكل خلية عصبية مخفية Z j. على الرغم من عدم وجود حاجة لنشر الخطأ إلى طبقة الإدخال ، يتم استخدام σj لتغيير أوزان الاتصالات بين الخلايا العصبية في الطبقة المخفية والخلايا العصبية المدخلة. بعد تحديد كل ، يتم تعديل أوزان جميع الروابط في وقت واحد.

التعيينات:

يتم استخدام الترميز التالي في خوارزمية التعلم الشبكي:

X متجه بيانات تدريب الإدخال X = (X 1، X 2، ...، X i، ...، X n).
t متجه للمخرجات المستهدفة التي يوفرها المعلم t = (t 1، t 2، ...، t k، ...، t m)
σ ك عنصر تعديل أوزان الوصلات w jk ، المقابلة لخطأ العصبون الناتج Y k ؛ أيضًا ، معلومات حول خطأ الخلية العصبية Y k ، والتي يتم توزيعها على تلك الخلايا العصبية للطبقة المخفية المرتبطة بـ Y k.
σ j مكون ضبط أوزان الوصلات v ij ، المقابلة لمعلومات الخطأ المنتشرة من طبقة الإخراج إلى العصبون المخفي Z j.
معدل التعلم.
X i إدخال الخلايا العصبية مع الفهرس i. بالنسبة للخلايا العصبية المدخلة ، تكون إشارات الإدخال والإخراج هي نفسها - X i.
v oj إزاحة الخلايا العصبية المخفية j.
Z ي الخلايا العصبية المخفية j ؛ يتم الإشارة إلى القيمة الإجمالية المقدمة لإدخال العنصر المخفي Z j بواسطة Z_in j: Z_in j = v oj + ∑x i * v ij
يتم الإشارة إلى الإشارة عند الإخراج Z j (نتيجة تطبيق وظيفة التنشيط على Z_in j) بواسطة Z j: Z j = f (Z_in j)
w موافق إخراج الخلايا العصبية.
Y k إخراج الخلايا العصبية تحت الفهرس k ؛ يتم الإشارة إلى القيمة الإجمالية المقدمة لمدخلات عنصر المخرجات Y k بواسطة Y_in k: Y_in k = w ok + Z j * w jk. يتم الإشارة إلى إشارة الخرج Y k (نتيجة تطبيق وظيفة التنشيط على Y_in k) بواسطة Y k:

وظيفة التنشيط

يجب أن يكون لوظيفة التنشيط في خوارزمية الانتشار العكسي العديد من الخصائص المهمة: الاستمرارية ، والتفاضل ، وأن تكون غير متناقصة بشكل رتيب. علاوة على ذلك ، من أجل الكفاءة الحسابية ، من المستحسن أن يتم العثور على مشتقها بسهولة. غالبًا ما تكون وظيفة التنشيط أيضًا وظيفة تشبع. واحدة من وظائف التنشيط الأكثر شيوعًا هي وظيفة السيني الثنائية بنطاق (0 ، 1) ويتم تعريفها على النحو التالي:

وظيفة التنشيط الأخرى المستخدمة على نطاق واسع هي السيني ثنائي القطب مع النطاق (-1 ، 1) ويتم تعريفه على النحو التالي:


خوارزمية التعلم

تبدو خوارزمية التعلم كما يلي:

تهيئة الأوزان (يتم تهيئة أوزان جميع الروابط بقيم صغيرة عشوائية).

طالما أن شرط إنهاء الخوارزمية خاطئ ، يتم تنفيذ الخطوات من 2 إلى 9.

لكل زوج (البيانات ، القيمة المستهدفة) ، يتم تنفيذ الخطوات من 3 إلى 8.

انتشار البيانات من المدخلات إلى المخرجات:

الخطوه 3
ترسل كل خلية عصبية إدخال (X i ، i = 1،2 ، ... ، n) الإشارة المستلمة X i إلى جميع الخلايا العصبية في الطبقة التالية (المخفية).

كل خلية عصبية مخفية (Z j ، j = 1،2 ، ... ، p) تجمع الإشارات الواردة الموزونة: z_in j = v oj + ∑ x i * v ij وتطبق وظيفة التنشيط: z j = f (z_in j) ثم يرسل النتيجة إلى جميع عناصر الطبقة التالية (الإخراج).

كل خلية عصبية ناتجة (Y k، k = 1،2، ... m) تلخص إشارات الإدخال الموزونة: Y_in k = w ok + ∑ Z j * w jk وتطبق وظيفة تنشيط ، تحسب إشارة الخرج: Y k = و (Y_in ك).

التكاثر العكسي:

تتلقى كل خلية عصبية ناتجة (Y k ، k = 1،2 ، ... m) القيمة المستهدفة - قيمة الإخراج الصحيحة لإشارة الإدخال المحددة ، وتحسب الخطأ: σ k = (t k - y k) * f "(y_in k) يحسب أيضًا المقدار الذي سيتغير به وزن الاتصال w jk: Δw jk = a * σ k * z j بالإضافة إلى ذلك ، فإنه يحسب قيمة ضبط الإزاحة: Δw ok = a * σ k ويرسل σ ك إلى الخلايا العصبية في الطبقة السابقة.

كل خلية عصبية مخفية (z j ، j = 1،2 ، ... p) تجمع الأخطاء الواردة (من الخلايا العصبية في الطبقة التالية) σ_in j = ∑ σ k * w jk وتحسب قيمة الخطأ بضرب القيمة الناتجة في مشتق من وظيفة التنشيط: σ j = σ_in j * f "(z_in j) ، يحسب أيضًا المقدار الذي سيتغير به وزن الرابط vij: Δv ij = a * σ j * x i. بالإضافة إلى ذلك ، يحسب مقدار تعديل الإزاحة : v oj = a * σ j

الخطوة 8. تغيير الأوزان.

كل خلية عصبية ناتجة (y k، k = 1،2، ...، m) تغير أوزان اتصالاتها مع عنصر التحيز والخلايا العصبية المخفية: w jk (new) = w jk (old) + Δw jk
كل خلية عصبية مخفية (z j ، j = 1،2 ، ... p) تغير أوزان اتصالاتها مع عنصر التحيز وخرج الخلايا العصبية: v ij (جديد) = v ij (قديم) + v ij

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

لتدريب شبكة متعددة الطبقات في عام 1986 ، اقترح Rummelhart و Hinton (Rummelhart D.E.، Hinton GE، Williams R.J.، 1986) خوارزمية الانتشار العكسي للخطأ. أكدت العديد من المنشورات حول التطبيقات الصناعية للشبكات متعددة الطبقات باستخدام خوارزمية التعلم هذه أداءها الأساسي في الممارسة العملية.

في البداية ، يظهر سؤال معقول - لماذا يستحيل تطبيق قاعدة Rosenblatt  المعروفة بالفعل (انظر المحاضرة 4) لتدريب مدرك متعدد الطبقات؟ الجواب هو أنه من أجل تطبيق طريقة روزنبلات ، من الضروري معرفة ليس فقط المخرجات الحالية للخلايا العصبية y ، ولكن أيضًا المطلوب صحيحالقيم ص. في حالة وجود شبكة متعددة الطبقات ، تتوفر هذه القيم الصحيحة للخلايا العصبية فقط عطلة نهاية الاسبوعطبقة. قيم الإخراج المطلوبة للخلايا العصبية للطبقة المخفية غير معروفة ، مما يحد من تطبيق القاعدة .

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

دعونا نلقي نظرة فاحصة على هذه الخوارزمية. لتبسيط التدوين ، نقيد أنفسنا بالحالة التي تحتوي فيها الشبكة على طبقة مخفية واحدة فقط. نشير إلى مصفوفة معاملات الوزن من المدخلات إلى الطبقة المخفية بواسطة W ، ومصفوفة الأوزان التي تربط الطبقات المخفية والمخرجة كـ V. بالنسبة للمؤشرات ، سنستخدم الترميز التالي: سنقوم بترقيم المدخلات فقط بواسطة الفهرس i ، وعناصر الطبقة المخفية بواسطة الفهرس j ، والمخرجات ، على التوالي ، بواسطة الفهرس k.

دع الشبكة يتم تدريبها على العينة (X، Y)،  = 1..p. سيتم الإشارة إلى أنشطة الخلايا العصبية بأحرف صغيرة y مع الفهرس المقابل ، وسيتم الإشارة إلى إجمالي المدخلات الموزونة للخلايا العصبية بأحرف صغيرة x.

يشبه الهيكل العام للخوارزمية تلك التي تمت مناقشتها في المحاضرة 4 ، مع تعقيد معادلات ضبط الوزن.

الجدول 6.1. خوارزمية الانتشار العكسي.

يُفترض أن تكون القيم الأولية لأوزان جميع الخلايا العصبية لجميع الطبقات V (t = 0) و W (t = 0) أرقامًا عشوائية.

يتم تقديم الشبكة مع صورة إدخال X ، ونتيجة لذلك ، يتم تكوين صورة الإخراج yY. في هذه الحالة ، تعمل الخلايا العصبية بالتسلسل من طبقة إلى أخرى وفقًا للصيغ التالية:

طبقة مخفية

طبقة الإخراج

هنا f (x) هي دالة سينية محددة بالصيغة (6.1)

الوظيفة الوظيفية للخطأ التربيعي للشبكة لصورة إدخال معينة لها الشكل:

يجب تصغير هذه الوظيفة. تتكون طريقة تحسين التدرج الكلاسيكي من التحسين التكراري للحجة وفقًا للصيغة:

لا تعتمد دالة الخطأ صراحةً على الوزن V jk ، لذلك نستخدم الصيغ للتمايز الضمني لوظيفة معقدة:

هنا ، يتم أخذ خاصية مفيدة للدالة السينية f (x) في الاعتبار: يتم التعبير عن مشتقها فقط من خلال قيمة الوظيفة نفسها ، f '(x) = f (1-f). وبالتالي ، تم الحصول على جميع القيم اللازمة لضبط أوزان الطبقة الناتجة V.

تقوم هذه الخطوة بضبط أوزان الطبقة المخفية. لا تزال طريقة التدرج تعطي:

تُحسب المشتقات باستخدام نفس الصيغ ، باستثناء بعض التعقيدات في صيغة الخطأ j.

عند حساب  j ، تم تطبيق مبدأ الانتشار العكسي للخطأ هنا: يتم أخذ المشتقات الجزئية فقط فيما يتعلق بالمتغيرات لاحقطبقة. وفقًا للصيغ التي تم الحصول عليها ، يتم تعديل أوزان الخلايا العصبية في الطبقة المخفية. إذا كانت هناك عدة طبقات مخفية في الشبكة العصبية ، فسيتم تطبيق إجراء backpropagation بالتسلسل لكل منها ، بدءًا من الطبقة التي تسبق طبقة الإخراج والاستمرار في الطبقة التي تلي طبقة الإدخال. في هذه الحالة ، تحتفظ الصيغ بشكلها مع استبدال عناصر طبقة الإخراج بعناصر الطبقة المخفية المقابلة.

يتم تكرار الخطوات من 1 إلى 3 لجميع نواقل التدريب. ينتهي التدريب عند الوصول إلى خطأ إجمالي صغير أو الحد الأقصى المسموح به من التكرارات ، كما هو الحال في طريقة تدريب Rosenblatt.

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

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

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

في نهاية المحاضرة ، سنقوم بإبداء ملاحظة بخصوص تعديل عتبات الخلايا العصبية. من السهل أن نرى أن عتبة الخلية العصبية يمكن أن تكون مكافئة للوزن الزائد المتصل بالمدخل الوهمي ، والذي يساوي -1. في الواقع ، باختيار W 0 =  ، x 0 = -1 وبدء الجمع من الصفر ، يمكننا اعتبار خلية عصبية ذات حد صفر ومدخل إضافي واحد:

يتم عرض مدخلات الخلايا العصبية الإضافية المقابلة للعتبات في الشكل. 6.1 مع المربعات الداكنة. مع وضع هذه الملاحظة في الاعتبار ، يبدأ كل جمع معادلات الإدخال المقدمة في خوارزمية backpropagation من صفر فهرس.

خوارزمية الانتشار العكسي

المرادفات: خوارزمية BackProp ، خوارزمية الانتشار الخلفي ، BackProp

تسجيل الدخول: الشبكة العصبية (التصنيف) (المعالج) ، الشبكة العصبية (الانحدار) (المعالج)

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

تعتمد فكرة الخوارزمية على استخدام خطأ خرج الشبكة العصبية:

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

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

أين هو وزن الوصلة i للخلايا العصبية j ؛

بالنظر إلى أن مجموع ناتج الخلية العصبية j يساوي

يمكن إثبات ذلك

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

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

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

حاليًا ، تم تطوير العديد من التعديلات على خوارزمية backpropagation. على سبيل المثال ، لا يتم استخدام التعلم "بالخطوات" ، عندما يتم حساب خطأ الإخراج وتصحيح الأوزان لكل مثال ، ولكن "حسب العصور" في وضع عدم الاتصال ، عندما يتم تغيير الأوزان بعد كل أمثلة التدريب set إلى إدخال الشبكة ، ويتم حساب متوسط ​​الخطأ لجميع الأمثلة.

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

تشمل مزايا خوارزمية الانتشار العكسي سهولة التنفيذ ومقاومة الانحرافات والقيم المتطرفة في البيانات. تشمل العيوب ما يلي:

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

تم وصف الخوارزمية لأول مرة في عام 1974.

تناول الجزء الأول: الهيكل ، والطوبولوجيا ، ووظائف التنشيط ومجموعة التدريب. سأحاول في هذا الجزء شرح كيفية تدريب الشبكة العصبية التلافيفية.

تدريب شبكة عصبية تلافيفية

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

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

خوارزمية الانتشار العكسي

لتدريب الشبكة العصبية الموصوفة ، تم استخدام خوارزمية الانتشار العكسي. تسمى هذه الطريقة لتدريب شبكة عصبية متعددة الطبقات بقاعدة دلتا المعممة. تم اقتراح هذه الطريقة في عام 1986 بواسطة Rumelhart و McClelland و Williams. كان هذا بمثابة عودة ظهور الاهتمام بالشبكات العصبية ، والتي بدأت تتلاشى في أوائل السبعينيات. هذه الخوارزمية هي الأولى والرئيسية القابلة للتطبيق عمليًا لتدريب الشبكات العصبية متعددة الطبقات.

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

يتم الحصول على الارتباطات الرئيسية لطريقة الانتشار العكسي للخطأ بالتدوين التالي:

يتم تحديد قيمة الخطأ بواسطة الصيغة 2.8 الجذر يعني الخطأ التربيعي:

تتم كتابة الحالة المعطلة لكل خلية عصبية j للصورة p كمجموع مرجح وفقًا للصيغة 2.9:

ناتج كل خلية عصبية j هو قيمة وظيفة التنشيط

مما يضع العصبون في حالة تنشيط. يمكن استخدام أي وظيفة رتيبة قابلة للتفاضل باستمرار كوظيفة تنشيط. يتم حساب حالة تنشيط الخلايا العصبية بالصيغة 2.10:

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

التدرج اللوني لدالة الخسارة هو متجه للمشتقات الجزئية ، محسوبًا بالصيغة 2.11:

يمكن كتابة مشتق دالة الخطأ فيما يتعلق بصورة معينة وفقًا لقاعدة السلسلة ، الصيغة 2.12:

عادة ما يتم كتابة خطأ الخلية العصبية كرمز δ (دلتا). بالنسبة لطبقة المخرجات ، يتم تحديد الخطأ صراحةً ، إذا أخذنا مشتق الصيغة 2.8 ، فسنحصل عليها رناقص ذ، أي الفرق بين الناتج المطلوب والمخرج الذي تم الحصول عليه. ولكن كيف تحسب الخطأ للطبقات المخفية؟ لحل هذه المشكلة ، تم اختراع خوارزمية الانتشار الخلفي فقط. يكمن جوهرها في الحساب المتسلسل لأخطاء الطبقات المخفية باستخدام قيم الخطأ لطبقة المخرجات ، أي تنتشر قيم الخطأ عبر الشبكة في الاتجاه العكسي من الإخراج إلى الإدخال.

يتم حساب الخطأ δ للطبقة المخفية باستخدام الصيغة 2.13:

يتم تقليل خوارزمية انتشار الخطأ إلى الخطوات التالية:

  • التوزيع المباشر للإشارة عبر الشبكة ، وحساب حالة الخلايا العصبية ؛
  • حساب قيمة الخطأ δ لطبقة الإخراج ؛
  • backpropagation: بالتسلسل من النهاية إلى البداية لجميع الطبقات المخفية ، نحسب δ باستخدام الصيغة 2.13 ؛
  • تحديث أوزان الشبكة للخطأ المحسوب مسبقًا δ.
يتم عرض خوارزمية الخطأ backpropagation في منظور متعدد الطبقات أدناه:


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

حساب الخطأ في طبقة العينة الفرعية

يتم تقديم حساب الخطأ في طبقة العينة الفرعية بعدة طرق. الحالة الأولى ، عندما تكون طبقة العينة الفرعية أمام الطبقة المتصلة بالكامل ، فإنها تحتوي على خلايا عصبية ووصلات من نفس النوع كما في الطبقة المتصلة بالكامل ، على التوالي ، لا يختلف حساب الخطأ عن حساب من الطبقة المخفية. الحالة الثانية ، عندما تكون طبقة الاعتيان الفرعية أمام الطبقة التلافيفية ، يحدث حساب δ عن طريق الالتواء العكسي. لفهم الالتواء العكسي ، يجب عليك أولاً فهم الالتواء العادي وحقيقة أن النافذة المنزلقة على خريطة المعالم (أثناء انتشار الإشارة إلى الأمام) يمكن تفسيرها على أنها طبقة مخفية عادية لها وصلات بين الخلايا العصبية ، ولكن الاختلاف الرئيسي هو أن هذه الاتصالات هي يمكن فصلها ، أي أن عدة أزواج من الخلايا العصبية يمكن أن يكون لها اتصال واحد بقيمة وزن محددة ، وليس واحدة فقط. تفسير عملية الالتواء بالشكل المعتاد متعدد الطبقات وفقًا للشكل 2.8.


الشكل 2.8 - تفسير عملية الالتواء في عرض متعدد الطبقات ، حيث يكون للروابط ذات اللون نفسه نفس الوزن. تم تمييز خريطة العينة الفرعية باللون الأزرق ، والنواة المشبكية متعددة الألوان ، والتفاف الناتج باللون البرتقالي

الآن بعد أن تم تقديم عملية الالتفاف في شكل طبقات مألوف ، يمكن للمرء أن يفهم بشكل بديهي أن حساب دلتا يحدث بنفس الطريقة كما هو الحال في الطبقة المخفية لشبكة متصلة بالكامل. وفقًا لذلك ، بعد حساب دلتا الطبقة التلافيفية مسبقًا ، من الممكن حساب دلتا للعينة الفرعية ، وفقًا للشكل 2.9.


الشكل 2.9 - حساب طبقة الاعتيان الفرعية بسبب الطبقة التلافيفية والنواة

عكس الالتواءهي نفس الطريقة لحساب الدلتا ، فقط بطريقة معقدة بعض الشيء ، والتي تتمثل في تدوير النواة بمقدار 180 درجة وتحريك عملية مسح الخريطة التلافيفية لدلتا بتأثيرات حواف معدلة. بكلمات بسيطة ، نحتاج إلى أخذ جوهر خريطة الالتفاف (باتباع طبقة العينة الفرعية) ، وتدويرها 180 درجة وإجراء التفاف عادي باستخدام دلتا المحسوبة مسبقًا لخريطة الالتفاف ، ولكن بحيث تمتد نافذة المسح إلى ما بعد الخريطة . نتيجة عملية deconvolution وفقًا للشكل 2.10 ، دورة مرور deconvolution وفقًا للشكل 2.11.


الشكل 2.10 - نتيجة عملية الالتواء العكسي


الشكل 2.11 - يقوم قلب مستدير 180 درجة بمسح خريطة الالتواء

حساب الخطأ في الطبقة التلافيفية

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

استنتاج

عند تمثيل عملية الالتواء في الشكل المعتاد متعدد الطبقات (الشكل 2.8) ، يمكن للمرء أن يفهم بشكل بديهي أن حساب دلتا يحدث بنفس الطريقة كما هو الحال في الطبقة المخفية لشبكة متصلة بالكامل.