جفتسازی Logit Counterfactual (CLP) تکنیکی در کتابخانه اصلاح مدل TensorFlow است که به دنبال اطمینان از عدم تغییر پیشبینی یک مدل زمانی است که یک ویژگی حساس ارجاعشده در یک مثال حذف یا جایگزین شود. برای مثال، در یک طبقهبندی سمیت، مثالهایی مانند «من یک مرد هستم» و «من یک لزبین هستم» نباید پیشبینی متفاوتی از سمیت داشته باشند.
برای بحث عمیق در مورد این موضوع، به تحقیق در مورد انصاف خلاف واقع ، جفت سازی لاجیت متخاصم و جفت سازی لاجیت خلاف واقع مراجعه کنید.
چه زمانی باید از جفت سازی Counterfactual Logit استفاده کنید؟
CLP به سناریویی می پردازد که در آن تغییر در یک ویژگی حساس که در یک ویژگی ارجاع شده است، پیش بینی را تغییر می دهد (زمانی که پیش بینی نباید تغییر می کرد). در انجام این کار، تلاش می شود به این سوال پاسخ دهد: آیا این مدل مستعد تغییر پیش بینی خود صرفاً بر اساس وجود یک ویژگی هویتی است؟ برای جزئیات بیشتر در مورد انصاف خلاف واقع، مقاله تحقیقاتی را ببینید.
این مشکل در Perspective API ، یک ابزار ML که توسط توسعه دهندگان و ناشران برای تجزیه و تحلیل محتوای نظرات برای متن بالقوه توهین آمیز یا سمی استفاده می شود، مشاهده شد. Perspective API متن نظر را به عنوان ورودی می گیرد و امتیازی از 0 تا 1 را به عنوان نشانه ای از احتمال سمی بودن نظر برمی گرداند. به عنوان مثال، نظری مانند «شما یک احمق هستید» ممکن است امتیاز احتمالی 0.8 را برای سمیت دریافت کند، که نشان می دهد چقدر احتمال دارد که خواننده آن نظر را سمی درک کند.
پس از راهاندازی اولیه Perspective API، کاربران خارجی یک همبستگی مثبت بین اصطلاحات هویت حاوی اطلاعات نژاد یا گرایش جنسی و امتیاز سمیت پیشبینیشده را کشف کردند. به عنوان مثال، عبارت "من یک لزبین هستم" امتیاز 0.51 را دریافت کرده است، در حالی که "من یک مرد هستم" نمره کمتری 0.2 دریافت کرده است. در این مورد، اصطلاحات هویت به صورت تحقیرآمیز به کار نمیرفتند، بنابراین نباید چنین تفاوت معنیداری در امتیاز وجود داشته باشد. برای اطلاعات بیشتر در مورد Perspective API، به پست وبلاگ در مورد تعصب ناخواسته و شرایط هویت مراجعه کنید.
چگونه می توانم تأثیر جفت سازی Logit Contactual را اندازه گیری کنم؟
اگر مدل یادگیری ماشین خود را ارزیابی کردهاید و تشخیص دادهاید که تغییرات در پیشبینیها به دلیل تغییر در ویژگیهای حساس خاص مضر است، پس باید میزان شیوع این موضوع را اندازهگیری کنید. در مورد یک طبقهبندیکننده باینری یا چند کلاسه، یک تلنگر به عنوان طبقهبندیکنندهای تعریف میشود که تصمیم متفاوتی (مانند تغییر یک پیشبینی از سمی به غیر سمی) میدهد، زمانی که ویژگی حساس اشارهشده در مثال تغییر میکند. هنگام ارزیابی شیوع تلنگرها ، می توانید به تعداد و نرخ تلنگر نگاه کنید. با در نظر گرفتن آسیب احتمالی کاربر ناشی از تلنگر و فرکانس رخ دادن ورقها، میتوانید تعیین کنید که آیا این مشکلی است که باید با اعمال CLP برطرف شود. برای اطلاعات بیشتر در مورد این معیارها، به راهنمای نشانگرهای انصاف مراجعه کنید.
در چه مدلهایی میتوانم جفتسازی Logit Counterfactual را اعمال کنم؟
این تکنیک را می توان با طبقه بندی کننده های باینری و چند کلاسه انواع مختلف داده مانند متن، تصویر و ویدئو استفاده کرد.
چه زمانی جفت سازی Logit Counterfactual برای من مناسب نیست؟
CLP روش مناسبی برای همه شرایط نیست. به عنوان مثال، اگر وجود یا عدم وجود یک اصطلاح هویتی به طور قانونی پیش بینی طبقه بندی کننده را تغییر دهد، مهم نیست. اگر هدف طبقهبندیکننده تعیین این باشد که آیا این ویژگی به یک گروه هویتی خاص ارجاع میدهد یا خیر، ممکن است چنین باشد. اگر همبستگی ناخواسته بین نتیجه طبقهبندیکننده و گروه هویت هیچ عواقب منفی بر روی کاربر نداشته باشد، این روش تأثیر کمتری دارد.
CLP برای آزمایش اینکه آیا یک مدل زبان یا طبقهبندی کننده سمیت خروجی خود را به روشی ناعادلانه تغییر میدهد مفید است (برای مثال طبقهبندی یک متن به عنوان سمی) صرفاً به این دلیل که عباراتی مانند «سیاه»، «گی»، «مسلمان» در متن CLP برای پیشبینی در مورد افراد، به عنوان مثال با دستکاری هویت یک فرد، در نظر گرفته نشده است. برای بحث مفصل تر به این مقاله مراجعه کنید.
مهم است که به خاطر داشته باشید که CLP یکی از تکنیکهای مجموعه ابزار هوش مصنوعی مسئول است که به طور خاص برای رسیدگی به وضعیتی طراحی شده است که ویژگیهای حساس اشارهشده در ویژگیها، پیشبینی را تغییر میدهند. بسته به مدل و مورد استفاده شما، ممکن است در نظر گرفتن اینکه آیا شکاف های عملکردی برای گروه های به حاشیه رانده شده تاریخی وجود دارد یا خیر، مهم باشد، به خصوص که CLP ممکن است بر عملکرد گروه تأثیر بگذارد. این را می توان با Fairness Indicators ارزیابی کرد و توسط MinDiff که در کتابخانه اصلاح مدل TensorFlow نیز وجود دارد، به آن پرداخت.
همچنین باید در نظر داشته باشید که آیا محصول شما اصلاً کاربرد مناسبی برای یادگیری ماشینی دارد یا خیر. اگر اینطور است، گردش کار یادگیری ماشین شما باید مطابق با روش های توصیه شده شناخته شده مانند داشتن یک وظیفه مدل به خوبی تعریف شده و نیازهای واضح محصول طراحی شود.
Counterfactual Logit Pairing چگونه کار می کند؟
CLP یک ضرر را به مدل اصلی اضافه می کند که با جفت کردن logit یک مثال اصلی و خلاف واقع از یک مجموعه داده ارائه می شود. با محاسبه تفاوت بین دو مقدار، تفاوت عبارت های حساسی را که باعث تغییر پیش بینی طبقه بندی کننده شما می شود جریمه می کنید. این کار بر اساس تحقیق در مورد جفت سازی لاجیت متخاصم و جفت سازی لاجیت خلاف واقع است.