معرفی فورتونا: کتابخانه ای برای تعیین کمیت عدم قطعیت هوش داده پلاتو بلاک چین. جستجوی عمودی Ai.

معرفی فورتونا: کتابخانه ای برای تعیین کمیت عدم قطعیت

برآورد صحیح عدم قطعیت پیش‌بینی‌کننده در کاربردهایی که شامل تصمیم‌های حیاتی می‌شوند، اساسی است. عدم قطعیت می‌تواند برای ارزیابی قابلیت اطمینان پیش‌بینی‌های مدل، ایجاد مداخله انسانی، یا تصمیم‌گیری در مورد اینکه آیا یک مدل می‌تواند به طور ایمن در طبیعت مستقر شود یا خیر، استفاده شود.

معرفی می کنیم فورتونا، یک کتابخانه منبع باز برای تعیین کمیت عدم قطعیت. فورتونا روش‌های کالیبراسیون مانند پیش‌بینی منسجم را ارائه می‌کند که می‌تواند برای هر شبکه عصبی آموزش‌دیده‌ای برای به دست آوردن تخمین‌های عدم قطعیت کالیبره شده اعمال شود. این کتابخانه همچنین تعدادی از روش‌های استنتاج بیزی را پشتیبانی می‌کند که می‌توانند در شبکه‌های عصبی عمیق نوشته شده در آن اعمال شوند پارچه کتان. این کتابخانه اجرای معیارها را آسان می‌کند و متخصصان را قادر می‌سازد تا با بهره‌گیری از تکنیک‌های پیشرفته کمی‌سازی عدم قطعیت، راه‌حل‌های هوش مصنوعی قوی و قابل اعتماد بسازند.

مشکل اعتماد بیش از حد در یادگیری عمیق

اگر تا به حال به احتمالات کلاسی که توسط یک طبقه‌بندی‌کننده شبکه عصبی عمیق آموزش‌دیده برگردانده شده‌اند نگاه کرده باشید، ممکن است مشاهده کرده باشید که احتمال یک کلاس بسیار بزرگ‌تر از سایرین است. یه چیزی مثل این مثلا:

p = [0.0001، 0.0002، …، 0.9991، 0.0003، …، 0.0001]

اگر این مورد برای اکثر پیش بینی ها باشد، مدل شما ممکن است بیش از حد مطمئن باشد. به منظور ارزیابی اعتبار احتمالات برگردانده شده توسط طبقه‌بندی‌کننده، ممکن است آنها را با دقت واقعی به‌دست‌آمده در مجموعه داده‌های نگهدارنده مقایسه کنیم. در واقع، طبیعی است که فرض کنیم نسبت نقاط داده به درستی طبقه بندی شده باید تقریباً با احتمال تخمین زده شده کلاس پیش بینی شده مطابقت داشته باشد. این مفهوم به عنوان شناخته شده است کالیبراسیون [Guo C. و همکاران، 2017].

متأسفانه، بسیاری از شبکه‌های عصبی عمیق آموزش‌دیده به اشتباه کالیبره شده‌اند، به این معنی که احتمال تخمینی کلاس پیش‌بینی‌شده بسیار بیشتر از نسبت نقاط داده ورودی به‌درستی طبقه‌بندی شده است. به عبارت دیگر، طبقه بندی کننده بیش از حد مطمئن است.

اعتماد به نفس بیش از حد ممکن است در عمل مشکل ساز باشد. ممکن است پزشک آزمایش‌های اضافی مربوطه را در نتیجه تشخیص سالم بیش از حد مطمئن که توسط هوش مصنوعی ایجاد می‌شود، سفارش ندهد. یک خودروی خودران ممکن است تصمیم بگیرد که ترمز نکند زیرا با اطمینان ارزیابی کرده است که جسم جلویی یک شخص نیست. یک فرماندار ممکن است تصمیم به تخلیه یک شهر بگیرد زیرا احتمال وقوع یک فاجعه طبیعی برجسته که توسط هوش مصنوعی تخمین زده شده است بسیار زیاد است. در این و بسیاری از کاربردهای دیگر، تخمین‌های عدم قطعیت کالیبره‌شده برای ارزیابی قابلیت اطمینان پیش‌بینی‌های مدل، بازگشت به تصمیم‌گیرنده انسانی، یا تصمیم‌گیری در مورد اینکه آیا یک مدل می‌تواند به طور ایمن به کار گرفته شود، حیاتی است.

فورتونا: کتابخانه ای برای کمی سازی عدم قطعیت

تکنیک های منتشر شده زیادی برای تخمین یا کالیبره کردن عدم قطعیت پیش بینی ها وجود دارد، به عنوان مثال، استنتاج بیزی [Wilson AG، 2020]، مقیاس بندی دما [Guo C. و همکاران، 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 استفاده می‌کند [Maddox WJ و همکاران، 2019] به عنوان یک روش استنتاج پسین، مقیاس بندی دما [Guo C. و همکاران، 2017] برای کالیبره کردن خروجی های مدل، و یک توزیع قبلی گاوسی استاندارد، و همچنین پیکربندی فرآیندهای برازش و کالیبراسیون خلفی. شما به راحتی می توانید همه این مؤلفه ها را پیکربندی کنید، و اگر به دنبال پیکربندی خاصی هستید یا می خواهید چندین مورد را با هم مقایسه کنید، بسیار تشویق می شوید که این کار را انجام دهید.

حالت های استفاده

Fortuna سه حالت استفاده را ارائه می دهد: 1/ شروع از مدل های کتان، 2 / شروع از خروجی های مدلو 3/ شروع از برآورد عدم قطعیت. خطوط لوله آنها در شکل زیر نشان داده شده است که هر کدام از یکی از پانل های سبز شروع می شوند. قطعه کد بالا نمونه ای از استفاده از Fortuna است که از مدل های Flax شروع می شود، که امکان آموزش یک مدل با استفاده از روش های استنتاج بیزی را فراهم می کند. متناوبا، می‌توانید با خروجی‌های مدل یا مستقیماً از تخمین‌های عدم قطعیت خود شروع کنید. هر دو این حالت های اخیر هستند چارچوب مستقل و به شما کمک می کند تا تخمین های عدم قطعیت کالیبره شده را از a شروع کنید مدل آموزش دیده.

1/ شروع از برآورد عدم قطعیت

شروع از تخمین عدم قطعیت حداقل نیازهای سازگاری را دارد و سریعترین سطح تعامل با کتابخانه است. این حالت استفاده روش‌های پیش‌بینی منسجم را برای طبقه‌بندی و رگرسیون ارائه می‌دهد. اینها برآوردهای عدم قطعیت را در بر می گیرند numpy.ndarray قالب‌بندی کرده و مجموعه‌های دقیقی از پیش‌بینی‌ها را برمی‌گرداند که سطح احتمال داده‌شده توسط کاربر را حفظ می‌کنند. در وظایف رگرسیون یک بعدی، مجموعه‌های منسجم ممکن است به عنوان نسخه‌های کالیبره‌شده اطمینان یا فواصل معتبر در نظر گرفته شوند.

به خاطر داشته باشید که اگر تخمین‌های عدم قطعیتی که در ورودی‌ها ارائه می‌دهید نادرست باشد، مجموعه‌های منسجم ممکن است بزرگ و غیرقابل استفاده باشند. به همین دلیل، اگر درخواست شما اجازه می دهد، لطفاً به آن توجه کنید شروع از خروجی های مدل و شروع از مدل های کتان حالت های استفاده در زیر شرح داده شده است.

2/ شروع از خروجی های مدل

این حالت فرض می‌کند که شما قبلاً یک مدل را در چارچوبی آموزش داده‌اید و با خروجی‌های مدل به Fortuna می‌رسید. numpy.ndarray قالب برای هر نقطه داده ورودی این حالت استفاده به شما امکان می دهد خروجی های مدل خود را کالیبره کنید، عدم قطعیت را تخمین بزنید، معیارها را محاسبه کنید و مجموعه های منسجم را به دست آورید.

در مقایسه با شروع از برآورد عدم قطعیت حالت استفاده، شروع از خروجی های مدل کنترل بهتری را فراهم می کند، زیرا می تواند اطمینان حاصل کند که برآوردهای عدم قطعیت به درستی کالیبره شده اند. با این حال، اگر مدل با روش‌های کلاسیک آموزش داده شده بود، ممکن است کمی‌سازی حاصل از عدم قطعیت مدل (معروف به معرفتی) ضعیف باشد. برای کاهش این مشکل، لطفا در نظر بگیرید شروع از مدل های کتان حالت استفاده

3/ شروع از مدل های کتان

شروع از مدل‌های Flax نیازهای سازگاری بالاتری نسبت به مدل‌های دارد شروع از برآورد عدم قطعیت و شروع از خروجی های مدل حالت‌های استفاده، زیرا به مدل‌های یادگیری عمیق نوشته شده در آن نیاز دارد پارچه کتان. با این حال، شما را قادر می‌سازد تا آموزش مدل استاندارد را با روش‌های استنتاج بیزی مقیاس‌پذیر جایگزین کنید، که ممکن است به طور قابل توجهی کمی کردن عدم قطعیت پیش‌بینی را بهبود بخشد.

روش های بیزی با نشان دادن عدم قطعیت در مورد اینکه کدام راه حل صحیح است، با توجه به اطلاعات محدود، از طریق عدم قطعیت در پارامترهای مدل کار می کنند. این نوع عدم قطعیت، عدم قطعیت معرفتی نامیده می شود. از آنجایی که شبکه‌های عصبی می‌توانند راه‌حل‌های متفاوتی را نشان دهند که مربوط به تنظیمات مختلف پارامترهایشان است، روش‌های بیزی می‌توانند به‌ویژه در یادگیری عمیق تأثیرگذار باشند. ما بسیاری از روش‌های استنتاج بیزی مقیاس‌پذیر را ارائه می‌کنیم، که اغلب می‌توانند برای ارائه تخمین‌های عدم قطعیت، و همچنین دقت و کالیبراسیون بهبود یافته، بدون سربار زمان آموزشی مورد استفاده قرار گیرند.

نتیجه

ما در دسترس بودن عمومی Fortuna را اعلام کردیم، کتابخانه ای برای تعیین کمیت عدم قطعیت در یادگیری عمیق. Fortuna روش‌های برجسته را در سراسر ادبیات گرد هم می‌آورد، به عنوان مثال، روش‌های منسجم، مقیاس‌بندی دما، و استنتاج بیزی، و آنها را با یک رابط استاندارد و بصری در دسترس کاربران قرار می‌دهد. برای شروع کار با Fortuna، می توانید از منابع زیر استفاده کنید:

Fortuna را امتحان کنید و نظر خود را با ما در میان بگذارید! تشویق می‌شوید که به کتابخانه کمک کنید یا پیشنهادات و مشارکت‌های خود را بگذارید—فقط یک کتاب ایجاد کنید موضوع یا باز کنید درخواست را بکشید. از طرف خود، ما به بهبود Fortuna ادامه می‌دهیم، پوشش روش‌های کمی‌سازی عدم قطعیت را افزایش می‌دهیم و مثال‌های بیشتری اضافه می‌کنیم که سودمندی آن را در چندین سناریو نشان می‌دهد.


درباره نویسندگان

معرفی فورتونا: کتابخانه ای برای تعیین کمیت عدم قطعیت هوش داده پلاتو بلاک چین. جستجوی عمودی Ai.

 

جیانلوکا دتوماسو دانشمند کاربردی در AWS است. او در حال حاضر روی کمی سازی عدم قطعیت در یادگیری عمیق کار می کند. جیانلوکا در اوقات فراغت خود دوست دارد ورزش کند، غذای عالی بخورد و مهارت های جدید بیاموزد.

معرفی فورتونا: کتابخانه ای برای تعیین کمیت عدم قطعیت هوش داده پلاتو بلاک چین. جستجوی عمودی Ai.آلبرتو گاسپارین از ژوئیه 2021 یک دانشمند کاربردی در انجمن خرید آمازون است. علایق او شامل پردازش زبان طبیعی، بازیابی اطلاعات و تعیین کمیت عدم قطعیت است. او از علاقه مندان به غذا و شراب است.

معرفی فورتونا: کتابخانه ای برای تعیین کمیت عدم قطعیت هوش داده پلاتو بلاک چین. جستجوی عمودی Ai.میشل دونینی دانشمند کاربردی Sr در AWS است. او تیمی از دانشمندان را رهبری می‌کند که روی هوش مصنوعی مسئولیت‌پذیر کار می‌کنند و علایق تحقیقاتی او انصاف الگوریتمی و یادگیری ماشینی قابل توضیح است.

معرفی فورتونا: کتابخانه ای برای تعیین کمیت عدم قطعیت هوش داده پلاتو بلاک چین. جستجوی عمودی Ai.ماتیاس سیگر یک دانشمند کاربردی اصلی در AWS است.

معرفی فورتونا: کتابخانه ای برای تعیین کمیت عدم قطعیت هوش داده پلاتو بلاک چین. جستجوی عمودی Ai.سدریک آرچامبو دانشمند کاربردی اصلی در AWS و عضو آزمایشگاه اروپایی برای یادگیری و سیستم های هوشمند است.

معرفی فورتونا: کتابخانه ای برای تعیین کمیت عدم قطعیت هوش داده پلاتو بلاک چین. جستجوی عمودی Ai.اندرو گوردون ویلسون دانشیار مؤسسه علوم ریاضی کورانت و مرکز علوم داده در دانشگاه نیویورک و یک آکادمیک مهمان آمازون در AWS است. او به ویژه در ساخت روش‌هایی برای یادگیری عمیق بیزی و احتمالی، فرآیندهای گاوسی مقیاس‌پذیر، بهینه‌سازی بیزی و یادگیری ماشینی الهام گرفته از فیزیک مشغول است.

تمبر زمان:

بیشتر از آموزش ماشین AWS