جفتسازی 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 Counterfactual را اندازه گیری کنم؟
اگر مدل یادگیری ماشین خود را ارزیابی کردهاید و تشخیص دادهاید که تغییرات در پیشبینیها به دلیل تغییر در ویژگیهای حساس خاص مضر است، باید میزان شیوع این موضوع را اندازهگیری کنید. در مورد یک طبقهبندیکننده باینری یا چند کلاسه، یک تلنگر به عنوان طبقهبندیکنندهای تعریف میشود که تصمیم متفاوتی (مانند تغییر یک پیشبینی از سمی به غیرسمی) میدهد، وقتی ویژگی حساس اشارهشده در مثال تغییر میکند. هنگام ارزیابی شیوع تلنگرها ، می توانید به تعداد و نرخ تلنگر نگاه کنید. با در نظر گرفتن آسیب احتمالی کاربر ناشی از تلنگر و فرکانس رخ دادن ورقها، میتوانید تعیین کنید که آیا این مشکلی است که باید با اعمال CLP برطرف شود. برای اطلاعات بیشتر در مورد این معیارها، به راهنمای نشانگرهای انصاف مراجعه کنید.
در چه مدلهایی میتوانم جفتسازی Logit Counterfactual را اعمال کنم؟
این تکنیک را می توان با طبقه بندی کننده های باینری و چند کلاسه انواع مختلف داده مانند متن، تصویر و ویدئو استفاده کرد.
چه زمانی جفت سازی Logit Counterfactual برای من مناسب نیست؟
CLP روش مناسبی برای همه شرایط نیست. برای مثال، اگر وجود یا عدم وجود یک اصطلاح هویتی به طور قانونی پیشبینی طبقهبندیکننده را تغییر دهد، مهم نیست. این ممکن است در صورتی اتفاق بیفتد که هدف طبقه بندی کننده تعیین اینکه آیا این ویژگی به یک گروه هویت خاص ارجاع می دهد یا خیر. اگر همبستگی ناخواسته بین نتیجه طبقهبندی کننده و گروه هویت هیچ عواقب منفی بر روی کاربر نداشته باشد، این روش نیز تأثیرگذاری کمتری دارد.
CLP برای آزمایش اینکه آیا یک مدل زبان یا طبقهبندی کننده سمیت خروجی خود را به روشی ناعادلانه تغییر میدهد مفید است (به عنوان مثال طبقهبندی یک متن به عنوان سمی) صرفاً به این دلیل که عباراتی مانند «سیاه»، «گی»، «مسلمان» وجود دارد. متن CLP برای پیشبینی در مورد افراد، برای مثال با دستکاری هویت یک فرد، در نظر گرفته نشده است. برای بحث مفصل تر به این مقاله مراجعه کنید.
مهم است که به خاطر داشته باشید که CLP یکی از تکنیکها در جعبه ابزار هوش مصنوعی مسئول است که به طور خاص برای رسیدگی به موقعیتی طراحی شده است که ویژگیهای حساس ارجاعشده در ویژگیها، پیشبینی را تغییر میدهند. بسته به مدل و مورد استفاده شما، ممکن است در نظر گرفتن اینکه آیا شکاف های عملکردی برای گروه های به حاشیه رانده شده تاریخی وجود دارد یا خیر، مهم باشد، به خصوص که CLP ممکن است بر عملکرد گروه تأثیر بگذارد. این را می توان با Fairness Indicators ارزیابی کرد و توسط MinDiff که در کتابخانه اصلاح مدل TensorFlow نیز وجود دارد، به آن پرداخت.
همچنین باید در نظر بگیرید که آیا محصول شما اصلاً کاربرد مناسبی برای یادگیری ماشینی دارد یا خیر. اگر اینطور است، گردش کار یادگیری ماشین شما باید بر اساس روش های توصیه شده شناخته شده مانند داشتن یک کار مدل به خوبی تعریف شده و نیازهای واضح محصول طراحی شود.
Counterfactual Logit Pairing چگونه کار می کند؟
CLP یک ضرر را به مدل اصلی اضافه می کند که با جفت کردن logit یک مثال اصلی و خلاف واقع از یک مجموعه داده ارائه می شود. با محاسبه تفاوت بین دو مقدار، تفاوت عبارات حساسی را که باعث تغییر پیشبینی طبقهبندی کننده شما میشوند جریمه میکنید. این کار بر اساس تحقیق در مورد جفت سازی لاجیت متخاصم و جفت سازی لاجیت خلاف واقع است.