أندرو يون "شغف التعلم الآلي". ترجمة الفصول 36-46

لقد مرت ثلاث سنوات منذ نشر الفصول الأولى من التعلم عن طريق آلة أندرو نغ. إذا كنت مشتركًا في لوحة التحكم "Machine Learning" ، فلا داعي لتعريفك بمؤلفها ، وعلى الأرجح أنك قرأت بالفعل الكتاب نفسه منذ فترة طويلة بلغة المصدر الأصلي. تمت ترجمة النصف الأول من الكتاب إلى اللغة الروسية بواسطة alexey_nichnikov ، وبحلول هذه اللحظة تم نشره على Habré في سلسلة من المقالات .


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

سوف تركز المقالة الأولى على التدريب والاختبار على توزيعات مختلفة ، وكذلك تصحيح خوارزميات الإخراج.

التدريب والاختبار على توزيعات مختلفة



الفصل 36. متى يجب التدريب والاختبار على توزيعات مختلفة



حمّل مستخدمو تطبيق Cat Photo الخاص بك 10000 صورة وصفتها يدويًا بأنها تحتوي على قطط أو لا تحتوي عليها. لديك أيضًا مجموعة أكبر من 200000 صورة قمت بتنزيلها من الإنترنت. كيفية تحديد التدريب (مجموعة القطار) ، والتحقق من الصحة (مجموعة ديف) واختيار الاختبار (مجموعة الاختبار)؟

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

بدلاً من تقسيم بياناتنا إلى عينات للتدريب والتحقق والاختبار ، يمكننا أن نأخذ جميع الصور المتاحة والبالغة 210،000 صورة وننقلها بشكل عشوائي إلى عينات للتدريب والتحقق من الصحة واختبارها. في هذه الحالة ، تأتي جميع البيانات بنفس التوزيع. لكنني لا أوصي باستخدام هذه الطريقة ، لأن حوالي 97.6٪ (205،000 / 210،000) من عينات التحقق والاختبار ستتألف من صور تم تنزيلها من الإنترنت لا تعكس التوزيع الفعلي الذي تريد أن تنجح فيه.

توصية لتعريف التحقق من الصحة وعينات الاختبار:

  • حدد التحقق من الصحة واختبار العينات لتعكس البيانات التي تتوقع تلقيها في المستقبل والتي تريد العمل معها بنجاح.

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

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

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

لنلقِ نظرة على المثال الثاني. افترض أنك تقوم ببناء نظام التعرف على الكلام من أجل نسخ العناوين للتطبيق الصوتي Navigator. لديك 20.000 مثال ، في كل منها يسمي المستخدم بعض العناوين. لكن لديك أيضًا 500،000 تسجيل صوتي آخر يتحدث فيه المستخدمون عن مواضيع مجانية. يمكنك أخذ 10000 مثال مع عناوين للتحقق من صحة وعينات الاختبار ، والأمثلة المتبقية 10000 بالإضافة إلى 500000 أمثلة إضافية ليتم تضمينها في مجموعة التدريب.

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


الفصل 37. كيفية تحديد ما إذا كنت تريد استخدام جميع البيانات الخاصة بك أو جزء فقط



لنفترض أن عينة التدريب الخاصة بكاشف Cat تشتمل على 10000 صورة قام المستخدم بتحميلها. دع هذه البيانات لها نفس التوزيع كما هو الحال في عينات التحقق من الصحة واختبارها ، وهذا التوزيع الذي ترغب في تحقيقه هو النتيجة القصوى. لديك أيضًا 20.000 صورة إضافية تم تنزيلها من الإنترنت. هل من الضروري تضمين كل 20،000 + 10،000 = 30000 صورة في مجموعة التدريب ، أم أنه من الأفضل إسقاط 20،000 صورة على الإنترنت خوفًا من إدخال الأخطاء في خوارزمية التعلم الخاصة بك؟

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

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

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

إضافة 20000 صورة إنترنت إضافية سيكون لها التأثيرات التالية:

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

لشرح التأثير الثاني وبعبارة أخرى ، يمكننا أن نتحول إلى شخصية خيالية ، شيرلوك هولمز ، الذي يقول إن عقلك يشبه العلية التي تحتوي على مساحة محدودة. يقول "مع كل إضافة للمعرفة تنسى ما عرفته من قبل. لذلك ، من المهم للغاية عدم السماح للحقائق عديمة الفائدة أن تحل محل الحقائق المفيدة ". 2
2 "Etude in Scarlet" ، آرثر كونان دويل ، 1887

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

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

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



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


الفصل 38. كيفية تحديد ما إذا كنت تريد تضمين بيانات متعارضة



لنفترض أنك تريد معرفة كيفية التنبؤ بأسعار المساكن في نيويورك. نظرًا لحجم المنزل (الإدخال x ) ، فأنت تريد التنبؤ بالسعر (العلامة المستهدفة y ).

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

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

كيف يختلف هذا المثال مع السكن في نيويورك وديترويت عن مثالنا مع صور الإنترنت للقطط والصور من تطبيق الهاتف المحمول؟

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


الفصل 39. وزن البيانات



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

ولكن من الناحية العملية ، فإن الحصول على 40 مرة من صور الإنترنت يفوق عدد الصور الموجودة في أحد تطبيقات الهاتف المحمول ، قد تحتاج إلى إنفاق 40 مرة من موارد الحوسبة مقارنة بما قمت بتدريبه على 5000 صورة فقط.

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

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

عرض $$ $ \ min_θ \ sum _ {(x، y) ∈MobileImg} (h_θ (x) -y) ^ 2 + \ sum _ {(x، y) ∈InternetImg} (h_θ (x) -y) ^ 2 عرض $$ $


المبلغ الأول أعلاه هو الخطأ الكلي لـ 5000 صورة متحركة ، والمبلغ الثاني هو الخطأ الكلي لـ 200،000 صورة إنترنت. بدلاً من ذلك ، يمكنك التحسين باستخدام معلمة إضافية  beta:

عرض $$ $$ \ min_θ \ sum _ {(x، y) ∈MobileImg} (h_θ (x) -y) ^ 2 + \ beta \ sum _ {(x، y) ∈InternetImg} (h_θ (x) -y) ^ 2 $$ عرض $$


إذا قمت بتثبيت  beta= 1/40 ، ستعطي الخوارزمية وزناً مساوياً لـ 5000 صورة متحركة و 200000 صورة إنترنت. يمكنك أيضا تعيين المعلمة  betaالقيم الأخرى ، وربما تعديله لعينة التحقق من الصحة.

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


الفصل 40. تعميم عينة التدريب على عينة التحقق من الصحة



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

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

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

  • 1 ٪ من الأخطاء في عينة التدريب
  • أخطاء بنسبة 1.5٪ على بيانات جديدة (لم تُعرض سابقًا للخوارزمية) لها نفس التوزيع مثل عينة التدريب
  • 10 ٪ من الأخطاء في عينة التحقق من الصحة

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

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

, 4 :

  • (training set). , ( , - + ). , (/ ).
  • - (“training dev” set). , ( - + ). , , .
  • (dev set). , , ( , ).
  • (test set). , ( , ).

:

  • (training error), .
  • , , , - .
  • , () .

, 5-7 , - .


41. ,



, ( ≈0%) , , , 0%.

, :

  • 1%
  • 5% -
  • 5%

? , (variance). , , .

:

  • 10%
  • 11% -
  • 12%

, (avoidable bias) . أي , .

(avoidable bias) (variance). , . على سبيل المثال:

  • 10%
  • 11% -
  • 20%

(avoidable bias) (data mismatch) .

, , , :


, , X ( ). Y : , , , , . , .

: (« »), - . , ( ) , . . , ( A ) .

, , , , .


42.



, , - . : . ?

: (i) , ; (ii) , , . 4
4 « » (domain adaptation) — . , , .

, , : 100 , . , , , . . , , . , .

- , , . «» , «» - , , «» . , , / . «» / .

, . , , , .


43.



, , . , : .

, / . . , , , . «» / , , , , . , , , .

, , , . . , , , , , . - , .

, : , , , . , , 1000 , 1 . , 1000 , , . , , , — , , 1 . , , .

, , 1000 , 10 . 10 . , .


, , . , , , , . , . , ( ), , . 20 . 3D- , , , , , , , -. أي . , , / — 20 . , 100,000 20 , , / , .

, , . ,
, , 20 , 1 . .

, , . , , .


44.



, . , A, Score A (S) S. , Score A (S) = P(S|A), .. , S, , A.

Score A (S), , :

Output=argmaxSScoreA(S)


«arg max» ? 50,000 , (50,000) N N. , .

, , S, () Score A (S). « » (beam search), K . ( .) S, Score A (S).

, - « ». « ». , :

  1. . (beam search) S, Score A (S).
  2. . Score A (S) = P(S|A) . Score A (S) « ».

, - . , , Score A (S).

, , Score A (S). , . ?

S out (« »). S* (« »). , (Optimization Verification test): Score A (S*) Score A (S out ). , . :

  1. Score A (S*) > Score A (S out ), .. ().

    S*. S out . , S, Score A (S). , . , (beam search).
  2. Score A (S*) ≤ Score A (S out ), .. ().

    , Score A (.): S out . . Score A (S) S.

. . , () () , .. Score A (S*) > Score A (S out ). , , . , , - Score A (.).

, , 95% Score A (.), 5% . , , 5% . Score A (.).


45.



يمكنك تطبيق معيار التحسين عند الحصول على بعض x كمدخل ، أنت تعرف كيفية حساب النتيجة X (y) ، والتي تشير إلى مدى توافق المخرجات y مع المعطى x عند الإدخال. بالإضافة إلى ذلك ، تستخدم خوارزمية البحث التقريبية للعثور على arg max Y Score X (y) ، لكنك تشتبه في أن خوارزمية البحث مخطئة في العثور على الحد الأقصى. في المثال السابق ، باستخدام نظام التعرف على الكلام ، كان x = A تسجيلًا صوتيًا ، وكان y = S نسخة مخرجات.

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

دعنا ننظر إلى مثال آخر. افترض أنك تقوم بإنشاء نظام ترجمة آلي من الصينية إلى الإنجليزية. يعمل نظامك من خلال تلقي جملة C ، ويحسب النتيجة C (E) لكل نسخة ممكنة من الترجمة E. على سبيل المثال ، يمكنك استخدام النتيجة C (E) = P (E | C) ، أي احتمال أن يكون النقل هو E ، بالنظر إلى أن الجملة C قد قدمت.

يحاول محرك الترجمة الآلية حساب:

Output=arg maxEScoreC(E)



ومع ذلك ، فإن مجموعة جميع جمل E الممكنة باللغة الإنجليزية كبيرة جدًا بحيث يجب عليك الاعتماد على خوارزمية البحث التجريبي.

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

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


الفصل 46. تعزيز التعلم مثال




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

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

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

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

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

نحن نطبق اختبار التحكم الأمثل. دع T human يكون المسار الذي يتبعه الطيار ، ويكون T out هو المسار الذي اختاره الخوارزمية. باتباع الوصف أعلاه ، نوافق على أن مسار T human أفضل من T out ، ثم سيكون السؤال الرئيسي للاختبار هو ما إذا كان R (T human )> R (T out ) يتوافق مع الواقع.

الخيار 1: إذا استمر عدم المساواة هذا ، فإن دالة المكافأة R (.) تقدر بشكل صحيح المسار T البشري . لكن خوارزمية التعلم التعزيزية اختارت المسار الأسوأ تصنيفًا T. هذا يعني أن الأمر يستحق العمل لتحسين خوارزمية تعلم التعزيز.

الخيار 2: عدم المساواة هذا لا يتم الحفاظ عليه ، أي R (T الإنسان ) ≤ R (T خارج ). هذا يعني أن دالة المكافأة R (.) تم تعيينها لأسوأ نتيجة لـ T human ، على الرغم من أنها أفضل مسار. يجب أن تعمل على تحسين R (.) للعثور على أفضل نسبة للعوامل التي تتوافق مع نوبة جيدة.

تحتوي العديد من تطبيقات التعلم الآلي على هذا "القالب" لتحسين وظيفة Score x (.) ، باستخدام خوارزمية البحث التقريبية. في بعض الأحيان ، ليس لدينا المدخلات المحددة x بالضبط ، لذلك يتم تقليل التحسين فقط إلى درجة دالة التقييم (.). في المثال أعلاه ، كانت دالة المكافأة هي نقاط المكافأة Score (T) = R (T) ، وكانت خوارزمية التحسين عبارة عن خوارزمية تعلم معززة تحاول حساب مسار جيد T.

الفرق الوحيد بين هذا المثال والمثال السابق هو أنه بدلاً من المقارنة مع الناتج "الأمثل" ، فإننا نقارنه بالكفاءة البشرية لـ T human . نحن نفترض أن مسار T البشري هو جيد بشكل معقول ، حتى لو لم يكن الأمثل. بشكل عام ، طالما أن لديك بعض y * (في هذا المثال ، T human ) ، وهو أفضل مخرجات من حيث الكفاءة لخوارزمية التعلم الحالية (حتى لو لم تكن "مثالية") ، فإن اختبار التحكم في التحسين يمكن أن يوضح ما إذا كان سيكون هناك المزيد واعدة لتحسين خوارزمية التحسين أو وظيفة التقييم.


[ تابع ]

Source: https://habr.com/ru/post/ar485070/


All Articles