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



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

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

التعلم العميق من البداية إلى النهاية



الفصل 47. نمو التعلم من البداية إلى النهاية



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

  • "هذا ممسحة رائعة!"

وفيما يلي سلبي للغاية:

  • "هذا الممسحة هو من نوعية رديئة ، آسف على الشراء"

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

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

    • هذا هو ممسحة كبيرة!

    1 في الواقع ، يشرح المحلل اللغوي النص أكثر ثراءً من الوصف ، لكن هذا الوصف المبسط سيكون كافياً لشرح التعلم العميق الشامل.

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

يمكننا تصور خط الأنابيب هذا من مكونين كما يلي:



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



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

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


الفصل 48. أمثلة أخرى للتعلم الشامل



تخيل أنك تريد إنشاء نظام التعرف على الكلام. يمكنك بناء نظام من ثلاثة مكونات:



مكونات العمل على النحو التالي:

  1. وظائف الحوسبة: استرداد الميزات المصممة يدويًا ، مثل MFCC ( معاملات cepstrum Mel-frequency ) ، التي تحاول التقاط محتويات الجملة مع تجاهل الخصائص الأقل أهمية مثل درجة الانحدار في الديناميات.
  2. التعرف على الصوتيات: يعتقد بعض اللغويين أن هناك وحدات صوتية أساسية تسمى "الصوتيات". على سبيل المثال ، الصوت الأولي "k" في "keep" هو نفس الصوت مثل الصوت "c" في "cake". يحاول هذا النظام التعرف على الأصوات الفردية في التسجيلات الصوتية.
  3. أداة التعرف على النهاية: تأخذ سلسلة من الصوتيات المعترف بها وتحاول ربطها معًا في سجل الإخراج.

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



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



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

لن يتم تدريب كل عنصر في خط الأنابيب هذا. على سبيل المثال ، تصف الأدبيات الخاصة بـ "التخطيط لحركة الروبوتات" العديد من الخوارزميات لحسابها النهائي لمسار السيارة. العديد من هذه الخوارزميات لا تتطلب التدريب.

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



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


الفصل 49. التدريب الشامل: إيجابيات وسلبيات



النظر في المثال السابق من خط أنابيب التعرف على الكلام:



تم تصميم العديد من أجزائه "يدويًا":

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

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

غالبًا ما يسمح وجود المزيد من المكونات المصممة يدويًا لنظام التعرف على الكلام بالتعلم من البيانات الأقل. المعرفة التي تم الحصول عليها "يدويًا" باستخدام MFCC و phonemes "تكمل" المعرفة التي تحصل عليها الخوارزمية من البيانات. عندما يكون لدينا القليل من البيانات ، تكون هذه المعرفة مفيدة.

الآن فكر في النظام الشامل:



لا يحتوي هذا النظام على معرفة كافية تم الحصول عليها "يدويًا". لذلك ، عندما تكون مجموعة التدريب صغيرة ، قد يعمل هذا النظام بشكل أسوأ من ناقل مصمم يدويًا.

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

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

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

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


الفصل 50. اختيار مكون خطوط الأنابيب: توفر البيانات



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

على سبيل المثال ، ضع في اعتبارك بنية القيادة المستقلة هذه:



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

على العكس من ذلك ، فكر في نظام نظيف شامل:



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

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

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


الفصل 51. اختيار مكونات الناقل: بساطة المهمة



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



النظر في مهام التعلم الآلي التالية ، المدرجة في ترتيب متزايد من التعقيد:

  1. يتم تعريض التعريف للصورة المقدمة (كما في المثال أعلاه).
  2. تحديد ما إذا كان يتم التقاط صورة في الداخل أو في الهواء الطلق.
  3. تحديد ما إذا كان هناك قطة في الصورة.
  4. تحديد ما إذا كان هناك قطة في الصورة مع فرو أبيض وأسود.
  5. تحديد ما إذا كان هناك قطة سيامية في الصورة (أي سلالة معينة من القطط).

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

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

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



تخيل أنك تقوم بتصميم جهاز كشف القطط السيامي. فيما يلي بنية نظيفة شاملة:



على العكس من ذلك ، يمكنك استخدام ناقل مكونين:



في الخطوة الأولى (كاشف القط) ، سيتم التعرف على جميع القطط في الصورة.



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



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

والمثال الأخير ، دعنا نذكر خط الأنابيب لمهمة القيادة المستقلة مرة أخرى:



باستخدام هذا الناقل ، تخبر الخوارزمية أن هناك ثلاث خطوات أساسية في قيادة السيارة:

  • التعرف على السيارات الأخرى.
  • التعرف على المشاة.
  • خطة اتجاه مزيد من الحركة.

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

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


الفصل 52. التعلم بمعلومات غامرة



تأخذ خوارزمية تصنيف الصورة صورة إدخال X وتنتج عددًا صحيحًا ، وهو تسمية لفئة الكائن. هل يمكن للخوارزمية إخراج جملة كاملة تصف الصورة؟

على سبيل المثال:



Y = "الحافلة الصفراء تسير على الطريق وسط الأشجار والعشب الأخضر."

يتضمن التطبيق التقليدي للتدريس مع المعلم وجود وظيفة مدربة h: X → Y ، حيث يتم تمثيل المخرجات (ص) عادةً بعدد صحيح أو عدد طبيعي. على سبيل المثال:

مهمةXY
مكافحة البريد التطفليالبريد الإلكترونيالبريد المزعج / غير المرغوب فيه (0/1)
التعرف على الصورصورةتسمية عدد صحيح
توقعات أسعار العقاراتخصائص المنزلالسعر بالدولار
توصية المنتجمواصفات المنتج والعملاءاحتمال الشراء


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

فيما يلي بعض الأمثلة:

مهمةXYاقتبس من العمل
وصف الصورصورةنصماو وآخرون ، 2014
الترجمة الآليةالنص الانكليزيالنص الفرنسيSuskever وغيرها ، 2014
إجابات على الأسئلةزوج (نص + سؤال)أجب على السؤالبوردز وآخرون ، 2015
التعرف على الكلامسمعينسخحنون وآخرون ، 2015
تحويل النص إلى كلامنص العلاماتسمعيفان دير اورد وآخرون ، 2016


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

تحليل خطأ جزئي


الفصل 53. تحليل الأخطاء في أجزاء



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

دعنا نستخدم مثال المصنف القطط السيامي لدينا:



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

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



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



هذا يعني أن مصنِّف سلالات القطط سيتلقى هذه الصورة:



. , : = 0. , , , = 0. , .

, :



, , - .

, 100 , 90 , 10 . , .

, 90 , . 90
, , .

, , : , , . . .


54.



:



, :



, , , y = 0, .. .



. . , , ? .

, . , :

  1. .
  2. . , . , .

, . 2 :

  1. y = 0. .
  2. y = 1. , , . , .

, . , , , , , .


55.



. , A, B C, A B, B C.



, :

  1. A “” (.. “” ) B, C . , , A , . , A. 2.
  2. B “” . , B. 3.
  3. C.

:



. ?

:

  • A. .
  • B. .
  • C. .

, , . . :

  1. A ( ) «» (.. ). B C , C ( ) «» A. , , A , . A. 2.
  2. B ( ) «» . , B. 3.
  3. C.

(DAG), , , . ,
A→B→C DAG, .

, :

  • A. ( )
  • B. ( )
  • C.

, .


56.



ML , . , , .

, , -. - . , , , . «» , , . «» . ML, .

, (, , ) , , , , .



, , :

  1. ?
  2. ?
  3. ? , , ( ). , « » , ?

, , .

, -, , , . . ML, , , .

, — , , , .


57. ML



, ML , ? , . , .



: ? — . :

  1. , , () .
  2. , , () .
  3. , , , , , ( ).

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

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

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


4 , , . «Task simplicity», 51, , . « » — , / .

, , , (, , , ), .

استنتاج


58. ,



مبروك على استكمال هذا الكتاب!
في الفصل الثاني ، تحدثنا عن كيف يمكن لهذا الكتاب مساعدتك في أن تصبح بطلًا خارقًا في فريقك.


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

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


All Articles