تقديم Fortuna: مكتبة لتقدير عدم اليقين ذكاء بيانات PlatoBlockchain. البحث العمودي. عاي.

تقديم Fortuna: مكتبة لتقدير عدم اليقين

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

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

مشكلة الثقة الزائدة في التعلم العميق

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

ع = [0.0001، 0.0002، ...، 0.9991، 0.0003، ...، 0.0001]

إذا كان هذا هو الحال بالنسبة لمعظم التوقعات ، فقد يكون نموذجك مفرط الثقة. من أجل تقييم صحة الاحتمالات التي يتم إرجاعها بواسطة المصنف ، قد نقوم بمقارنتها بالدقة الفعلية التي تم تحقيقها عبر مجموعة بيانات معلقة. في الواقع ، من الطبيعي أن نفترض أن نسبة نقاط البيانات المصنفة بشكل صحيح يجب أن تتطابق تقريبًا مع الاحتمالية المقدرة للفئة المتوقعة. يُعرف هذا المفهوم باسم معايرة [Guo C. et al.، 2017].

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

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

فورتونا: مكتبة لتقدير عدم اليقين

هناك العديد من التقنيات المنشورة لتقدير أو معايرة عدم اليقين في التنبؤات ، على سبيل المثال ، الاستدلال البايزي [Wilson AG، 2020]، مقياس درجة الحرارة [Guo C. et al.، 2017]، والتنبؤ المطابق [Angelopoulos AN وآخرون ، 2022] طُرق. ومع ذلك ، فإن الأدوات والمكتبات الحالية لتقدير عدم اليقين لها نطاق ضيق ولا تقدم مجموعة واسعة من التقنيات في مكان واحد. ينتج عن هذا نفقات عامة كبيرة ، مما يعيق اعتماد عدم اليقين في أنظمة الإنتاج.

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

على سبيل المثال ، افترض أن لديك تدريبًا ومعايرة واختبار برامج تحميل البيانات tensorflow.Tensor الشكل ، وهي train_data_loader, calib_data_loader و test_data_loader. علاوة على ذلك ، لديك نموذج تعلم عميق مكتوب فيه كتان، وهي النموذج. ثم يمكنك استخدام Fortuna من أجل:

  1. تناسب التوزيع اللاحق ؛
  2. معايرة مخرجات النموذج ؛
  3. عمل تنبؤات معايرة
  4. تقدير تقديرات عدم التيقن ؛
  5. قياس مقاييس التقييم.

الكود التالي يفعل كل هذا من أجلك.

from fortuna.data import DataLoader
from fortuna.prob_model.classification import ProbClassifier
from fortuna.metric.classification import expected_calibration_error

# convert data loaders
train_data_loader = DataLoader.from_tensorflow_data_loader(train_data_loader)
calib_data_loader = DataLoader.from_tensorflow_data_loader(calib_data_loader)
test_data_loader = DataLoader.from_tensorflow_data_loader(test_data_loader)

# define and train a probabilistic model
prob_model = ProbClassifier(model=model)
train_status = prob_model.train(train_data_loader=train_data_loader, calib_data_loader=calib_data_loader)

# make predictions and estimate uncertainty
test_inputs_loader = test_data_loader.to_inputs_loader()
test_means = prob_model.predictive.mean(inputs_loader=test_inputs_loader)
test_modes = prob_model.predictive.mode(inputs_loader=test_inputs_loader, means=test_means)

# compute the expected calibration error and plot a reliability diagram
test_targets = test_data_loader.to_array_targets()
ece = expected_calibration_error(preds=test_modes, probs=test_means, targets=test_targets)

يستخدم الكود أعلاه العديد من الخيارات الافتراضية ، بما في ذلك SWAG [مادوكس دبليو جيه وآخرون ، 2019] كطريقة استدلال خلفي ، مقياس درجة الحرارة [Guo C. et al.، 2017] لمعايرة مخرجات النموذج ، والتوزيع المسبق القياسي Gaussian ، بالإضافة إلى تكوين عمليات التركيب والمعايرة الخلفية. يمكنك بسهولة تكوين كل هذه المكونات ، ونحن نشجعك بشدة على القيام بذلك إذا كنت تبحث عن تكوين محدد أو إذا كنت تريد مقارنة عدة مكونات.

أوضاع الاستخدام

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

1 / البدء من تقديرات عدم التيقن

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

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

2 / بدءا من مخرجات النموذج

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

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

3 / ابتداء من موديلات الكتان

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

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

وفي الختام

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

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


عن المؤلفين

تقديم Fortuna: مكتبة لتقدير عدم اليقين ذكاء بيانات PlatoBlockchain. البحث العمودي. عاي.

 

جيانلوكا ديتوماسو هو عالم تطبيقي في AWS. يعمل حاليًا على تقدير عدم اليقين في التعلم العميق. في أوقات فراغه ، يحب Gianluca ممارسة الرياضة وتناول طعام رائع وتعلم مهارات جديدة.

تقديم Fortuna: مكتبة لتقدير عدم اليقين ذكاء بيانات PlatoBlockchain. البحث العمودي. عاي.ألبرتو جاسبارين هو عالم تطبيقي في Amazon Community Shopping منذ يوليو 2021. تشمل اهتماماته معالجة اللغة الطبيعية واسترجاع المعلومات وتقدير عدم اليقين. إنه متحمس للطعام والنبيذ.

تقديم Fortuna: مكتبة لتقدير عدم اليقين ذكاء بيانات PlatoBlockchain. البحث العمودي. عاي.ميشيل دونيني هو عالم تطبيقي كبير في AWS. يقود فريقًا من العلماء الذين يعملون على الذكاء الاصطناعي المسؤول وتركز اهتماماته البحثية على الإنصاف الخوارزمي والتعلم الآلي القابل للتفسير.

تقديم Fortuna: مكتبة لتقدير عدم اليقين ذكاء بيانات PlatoBlockchain. البحث العمودي. عاي.ماتياس سيجر هو عالم تطبيقي رئيسي في AWS.

تقديم Fortuna: مكتبة لتقدير عدم اليقين ذكاء بيانات PlatoBlockchain. البحث العمودي. عاي.سيدريك ارشامبو هو عالم تطبيقي رئيسي في AWS وزميل في المختبر الأوروبي للتعلم والأنظمة الذكية.

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

الطابع الزمني:

اكثر من التعلم الآلي من AWS