۵ ابزار برای تشخیص و حذف بایاس(انحراف) در مدل‌های یادگیری ماشینی شما

شکل ۱: ابزار تشخیص و شناسایی بایاس
شکل ۱: ابزار تشخیص و شناسایی بایاس


منتشر‌شده در: towardsdatascience به تاریخ ۲ مارچ ۲۰۲۱
لینک منبع: 5 Tools to Detect and Eliminate Bias in Your Machine Learning Models

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

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

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

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

مطالعه مقاله ۱۰ وب‌سایت رایگان برای یادگیری برنامه‌نویسی توصیه می‌شود.

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

شماره یک:‌ What-If

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

همانطور که ممکن است تجربه کرده باشید، یا تصور کنید، پاسخ دادن به چنین سوالاتی اصلا کار آسانی نیست. این کار می‌تواند بسیار زمان‌بر و مصرف‌کننده منابع باشد زیرا شما باید سناریوهای مختلف کد را بنویسید و تست کنید تا فقط یک بایاس را تشخیص دهید. خوشبختانه، در سال ۲۰۱۸، گوگل ابزاری به نام «What-If» را راه‌اندازی کرد تا به این کار کمک کند.

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

گوگل همچنین مواد زیادی را ارائه می‌دهد که شما می‌توانید از آن‌ها استفاده کنید تا بدانید چگونه به اطراف What-If بروید و به طور موثر از آن استفاده کنید.

شماره دو: AI Fairness 360

ابزار What-If به شما کمک می‌کند وجود انحراف را در مدل یادگیری ماشینی خود تشخیص دهید، اما به شما راه مستقیمی برای حذف آن بایاس نمی‌دهد. از بین بردن انحراف از مدل شما می‌تواند به اندازه تشخیص وجود یکی از آن‌ها چالش برانگیز باشد.

شرکت IBM یک جعبه‌ابزار منبع باز و جامع یعنی AI Fairness 360 را برای تشخیص و حذف انحراف در مدل‌های یادگیری ماشینی ارائه می‌دهد. AI Fairness 360 شامل بیش از ۷۰ معیار انصاف است که به شما کمک می‌کنند تا انحراف در مدل‌های خود، مانند منهتن و اقلیدسی را شناسایی کنید.

این ابزار همچنین شامل بیش از ۱۰ الگوریتم است که به شما کمک می‌کند انحرافات را حذف کنید اگر یکی از آن‌ها را پیدا کردید. این الگوریتم‌های کاهش بایاس شامل بهینه‌سازی مرحله پیش‌پردازش، حذف انحراف، و نظم و غیره هستند. علاوه بر این، شما می‌توانید از این ابزار برای توسعه و ساخت معیارهای خود و الگوریتم‌های کاهش استفاده کنید.

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

شماره سه: Crowdsourcing

ابزارهای What-If و AI Fairness 360 ابزارهای کلی هستند که می‌توانند برای شناسایی و کاهش بایاس در هر مدل یادگیری ماشینی استفاده شوند. اما گاهی اوقات شما به ابزارهایی برای کاربردهای خاص نیاز دارید. مایکروسافت و محققان دانشگاه مریلند ازCrowdsourcing برای تشخیص دقیق انحراف در کاربردهای پردازش زبان طبیعی استفاده کردند.

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

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

ممکن است به مطالعه مقاله بهترین سیستم‌عامل برای برنامه‌نویسی علاقمند باشید.

شماره چهار: مدل تعاملی محلی-توضیح لاادریگران (Local Interpretable Model-Agnostic Explanations (LIME))

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

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

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

شماره پنج: FairML

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

توانایی تست عملکرد مدل شما به راحتی با استفاده از مجموعه داده‌های ورودی مختلف می‌تواند منجر به تشخیص وجود بایاس در مدل شما شود. FairML یک ابزارend-to-end ارائه می‌دهد که به شما اجازه می‌دهد تا عملکرد مدل خود را با کمی کردن اهمیت نسبی ورودی‌های خاص تست کنید.

سخن‌پایانی

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

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

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

زمان پول است، و اگر ابزاری وجود دارد که می‌تواند به شما کمک کند پروژه بعدی خود را سریع‌تر و موثرتر توسعه دهید، پس چرا از آن استفاده نکنید و به خودتان در ساخت پروژه‌های بیشتر و کسب تجربیات بیشتر کمک نکنید؟

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

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