مفاهيم الشبكة العصبية العميقة

مكتمل

قبل استكشاف كيفية تدريب نموذج التعلم الآلي للشبكة العصبية العميقة (DNN)، دعونا ننظر فيما نحاول تحقيقه. ويهتم التعلم الآلي مع توقع تسمية على أساس بعض الميزات لملاحظة معينة. بعبارات بسيطة، يعد نموذج التعلم الآلي وظيفة تحسب y (التسمية) من x (الميزات): f(x)=y.

مثال تصنيف بسيط

على سبيل المثال، افترض أن ملاحظتك تتكون من بعض قياسات البطريق.

A penguin with a ruler and weighing scales

وبالتحديد، فإن القياسات هي:

  • طول منقار البطريق.
  • عرض منقار البطريق.
  • طول زعانف البطريق.
  • وزن البطريق.

في هذه الحالة، تكون الميزات (x) متجهاً من أربع قيم، وستكون من الناحية الرياضية x=[x1,x2,x3,x4].

لنفترض أن التسمية التي نحاول توقعها (y) هي أنواع البطريق، وأن هناك ثلاثة أنواع محتملة متواجدة:

  1. Adelie
  2. Gentoo
  3. Chinstrap

هذا مثال على مشكلة التصنيف، حيث يجب أن يتوقع نموذج التعلم الآلي بالفئة الأكثر احتمالاً التي تنتمي إليها الملاحظة. يقوم نموذج التصنيف بإنجاز ذلك عن طريق توقع تسمية تتكون من الاحتمال لكل فئة. بمعنى آخر، يعد y متجهاً لثلاث قيم احتمالية؛ واحد لكل من الفئات الممكنة: y=[P(0),P(1),P(2)].

يمكنك تدريب نموذج تعلم الآلة باستخدام الملاحظات التي تعرف بالفعل التسمية الحقيقية لها. على سبيل المثال، قد تكون لديك قياسات الميزات التالية لنموذج Adelie:

x=[37.3, 16.8, 19.2, 30.0]

أنت تعرف مسبقًا أن هذا مثال على Adelie (فئة 0)، لذلك يجب أن يخرج عن دالة تصنيف مثالية في تسمية تشير إلى احتمال 100٪ للفئة 0، واحتمال 0٪ للفئة 1 و2:

y=[1, 0, 0]

نموذج شبكة عصبية عميقة

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

A neural network with four neurons in an input layer, two hidden layers, and three neurons in an output layer

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

  • طبقة input بها خلية عصبية لكل قيمة إدخال متوقعة (x).
  • طبقتان باسم الطبقات الخفية، كل منهما يحتوي على خمس خلايا عصبية.
  • طبقة output تحتوي على ثلاث خلايا عصبية، قيمة واحدة لكل فئة احتمالية (y) يتوقعها النموذج.

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

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

التدريب على شبكة عصبية عميقة

عملية التدريب لشبكة عصبية عميقة تتكون من تكرارات متعددة، تسمى الفترات. بالنسبة للفترة الأولى، عليك أن تبدأ بتعيين قيم تهيئة عشوائية لقيم الوزن (w) والانحياز b. ثم تكون العملية كما يلي:

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

إشعار

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

نظرة فاحصة على دالات الفاقد والنشر الخلفي

وذكر الوصف السابق لعملية التدريب على التعلم العميق أن الفاقد من النموذج يتم حسابه واستخدامه لضبط الوزن وقيم الانحراف. كيف يعمل هذا بالضبط؟

حساب الفاقد

لنفترض أن إحدى العينات التي تم تمريرها من خلال عملية التدريب تحتوي على ميزات نموذج Adelie (فئة 0). سيكون الإخراج الصحيح من الشبكة هو [1، 0، 0]. الآن افترض أن الإخراج الذي تنتجه الشبكة هو [0.4، 0.3، 0.3]. وبمقارنة هذه العوامل، يمكننا حساب التباين المطلق لكل عنصر (بعبارة أخرى، إلى أي مدى تبعد كل قيمة عمّا ينبغي أن تكون عليه) كـ [0.6، 0.3، 0.3].

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

أدوات التحسين

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

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

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

A chart showing a loss function with the current weight and loss values plotted as a point

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

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

معدل التعلم

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

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