مصورسازی سوگیری دادهها با استفاده از نمایشگر تعبیه
در این مقاله، ابزاری به نام نمایشگر تعبیه Embedding Projector را معرفی میکنیم که به ما اجازه میدهد دادههای ابعادبالا را به راحتی مصورسازی کرده و بدین ترتیب آنچه مدل میآموزد را درک کنیم.
قبل از دیباگ کردن مدل، دادهها را دیباگ کنید! مدلهای یادگیری ماشینی قبل از اجرا، تحت ارزیابی قرار میگیرند. با این حال، تنها عملکرد مدل نیست که باید ارزیابی شود، بلکه آنچه مدل آموخته نیز اهمیت زیادی دارد. به عبارتی، باید اطمینان حاصل کرد آنچه مدل آموخته است سوگیرانه و تبعیضآمیز نباشد.
یک راه برای انجام این کار، مصورسازی دادههاست. با به تصویر درآوردن نحوه گروهبندی دادهها توسط مدل، میتوان دریافت مدل چه نمونههایی را مشابه یا متفاوت میداند. مصورسازی به درک اینکه مدل چطور پیشبینی خاصی را انجام میدهد و همچنین به شناخت دادههایی که به الگوریتم تغذیه میشوند، کمک میکند.
مقدمه
تعبیه یک فضای ابعادپایین است که میتوان یک بردار ابعادبالا را به آن منتقل کرد. طی این انتقال، در فضای تعبیه، ورودی های مشابه نزدیک هم قرار میگیرند و بدین طریق روابط معنایی حفظ میشوند. برای درک بهتر این موضوع از چند مثال کمک میگیریم.
کلمات را میتوان به صورت تعبیه بازنمایی کرد. در این مثال، یک تعبیه 300 بُعدی داریم که کلمات را به بردارهای اعداد حقیقی Vectors of real numbers مرتبط میکند. نکتهای که باید به آن توجه داشت این است که خود ابعاد به تنهایی اطلاعات چندانی در اختیار ما قرار نخواهند داد. الگوهای کلی از فاصله و موقعیت بین بردارهای گوناگون هستند که به یادگیری ماشینی کمک میکنند.
مزایای تعبیهها
فضای چندبُعدی باعث میشود بتوانیم آیتمهایی که از نظر معنایی به هم ارتباط دارند را با هم و آیتمهای غیرمشابه را جدا از هم گروهبندی کنیم. این امر در مسائل یادگیری ماشین بسیار مفید است. به عنوان مثال این مصورسازی از تعبیههای حقیقی را در نظر بگیرید:
این تعبیهها روابط معنایی بین کلماتی از قبیل حالت فعل، روابط بین کشورها و پایتختهایشان و شباهتهای جنسیتی را ثبت کردهاند.
کاربرد نمایشگر تعبیه
نمایشگر تعبیه یک ابزار مبتنی بر وب است که به صورت تعاملی تعبیهها را مصورسازی میکند؛ بدین منظور آنها را از روی مدل خوانده و در یک فضای دو یا سه بُعدی ترسیم میکند. در تصویر پایین، مصورسازی 10هزار تصویر از دیتاست MNIST را مشاهده میکنید که براساس برچسبهایشان رنگگذاری شدهاند.
نحوه استفاده
نمایشگر تعبیه ابزاری متن باز است و به صورت ادغام شده در پلتفرم تنسورفلو یا به عنوان یک ابزار مستقل در سایت projector.tensorflow.org قابل به کارگیری است. نسخه مستقل این ابزار را میتوان بدون نیاز به نصب و اجرای تنسورفلو استفاده کرد.
ساختار
تصویر بالا نمای اصلی نرمافزار نسخهوب را نشان میدهد که از 5 پنل تشکیل شده است:
- پنل داده Data panel: در این پنل میتوانیم دیتاستی که قرار است بررسی شود را انتخاب کنیم. وبسایت نمایشگر تعبیه چندین دیتاست دارد که برای تمرین میتوان از آنها استفاده کرد؛ علاوه بر این میتوانید دیتاستهای خود را هم در این فضا بارگذاری کنید. امکان انتشار و به اشتراکگذاری تعبیهها با سایر افراد وجود دارد، بدین منظور کافیست روی دکمه «publish» کلیک کنید.
- پنل بازنماییها Projections panel: اینجا میتوانیم نوع بازنمایی را مشخص کنیم.
- پنل بازرسی Inspector panel: اینجا میتوانیم نقاط خاصی را جستجو کرده و لیستی از نزدیکترین همسایههای آن نقاط مشاهده کنیم.
- پنل نشانهگذاری Bookmarks panel: این پنل ما را قادر میسازد حالت کنونی (شامل مختصات هر کدام از بازنماییها) را به عنوان یک فایل کوچک که قابلیت به اشتراکگذاری هم دارد، ذخیره کنیم.
- پنل مصورسازی Visualization panel: داده ها در این قسمت به نمایش گذاشته میشوند.
نمایشگرها
نمایشگر تعبیه شامل 4 تکنیک معروف کاهش ابعاد Dimensionality reduction میباشد. هر کدام از این روشها را میتوان به منظور ایجاد یک بازنمایی دو یا سه بُعدی به کار برد و بر اساس آنها، در مراحل بعدی، اکتشاف داده انجام داد.
- تحلیل مؤلفه اصلیPrincipal Component Analysis (PCA) :PCA تکنیکی است که یک مجموعه متغیر جدید به نام مؤلفههای اصلی(Principal Components) از دادههای موجود استخراج میکند. این مؤلفههای اصلی ترکیبی خطی از ویژگیهای اصلی هستند و سعی میکنند به همان اندازه اطلاعات از دیتاست اصلی استخراج کنند. نمایشگر تعبیه ده مؤلفه اصلی برتر را برای دادهها محاسبه میکند؛ ما میتوانیم از این ده مؤلفه، دو یا سه مورد را انتخاب کرده و به نمایش بگذاریم. برای مثال در بازنمایی که به روش PCA از 10000 نمونهی دیتاست MNIST ترسیم شده مشاهده میکنیم که هر تصویر، 784 پیکسل دارد و در بازنمایی، هر پیکسل به عنوان یک بُعد در نظر گرفته میشود.
- T-SNE: t-SNE یا تعبیه T همسایه توزیعشده تصادفی T-distributed stochastic neighbour، به منظور مصورسازی دادههای ابعادبالا، به همه نمونهها موقعیتی در یک نگاشت دو یا سه بُعدی اختصاص میدهد. این تکنیک از طریق خوشهسازی در دادهها، روابط معنایی آنها را حفظ میکند. بازنمایی T-SNE از دیتاست MNIST به وضوح نشان میدهد که ارقام مشابه با یکدیگر در یک خوشه قرار گرفتهاند.
- Custom: بازنمایی Custom نوعی بازنمایی خطی در دو محور افقی و عمودی است که توسط برچسبهای دادهها تعریف میشوند. این بازنماییها کمک میکنند «جهتهای» معنادار موجود در دیتاستها را رمزگشایی کنیم.
- UMAP : UMAP مخفف «بازنمایی و برآورد چندتایی یکسان برای کاهش ابعاد Uniform Manifold Approximation and Projection for Dimension Reduction » است. t-SNE تکنیک بسیار خوبی برای مصورسازی دیتاستهای ابعادبالاست، اما معایبی هم دارد؛ برای مثال، محاسباتی زمانبر دارد و اطلاعات مقیاسبزرگ را از دست میدهد. UMAP با حل این مشکلات، میتواند دیتاستهای بسیار بزرگ را به خوبی مدیریت کرده و در عین حال، ساختار محلی و سراسری آنها را حفظ کند.
اکتشاف
در این قسمت، نحوه گروهبندی معانی کلمات توسط مدل Word2Vec را بررسی خواهیم کرد که برای کار با دادههای متنی آموزش دیده است. این گروهبندی اطلاعات زیادی در مورد روابط بین کلمات در اختیار ما قرار میدهد. دیتاست Word2Vec در ابزار نمایشگر تعبیه موجود است.
ویکیپدیا دیتاست Word2vec را به عنوان گروهی از مدلهای مرتبط توصیف میکند که برای تولید تعبیههای کلمات استفاده میشوند. ورودی Word2VEc یک بدنه متن بزرگ و خروجی آن، یک فضای برداری است که معمولاً صدها بُعد دارد؛ هر کدام از کلمات داخل بدنه به یک بردار از این فضا اختصاص داده میشوند.
اینجا میخواهیم با دیتاست 10 هزارتایی Word2Vec کار کنیم. هر نقطه نشاندهنده یک کلمه است و هر کلمه 200 بُعد دارد. مراحل ایجاد این بازنماییها بدین قرار است:
- دیتاست مدنظر خود را از پنل دادهها انتخاب کنید. همه نمونهها از مدلی به دست آمدهاند که روی مقالات ویکیپدیا آموزش دیده است.
- سپس همسایگیها را تجزیه و تحلیل کنید. بدین منظور به نزدیکترین همسایههای یک مجموعه نقاط از پیش تعریف شده نگاه میکنیم. این کار میتواند اطلاعات قابل قبولی از روابطی که مدل آموخته است در اختیار ما قرار دهد.
- در پنل بازرسی، کلمه «apple» را تایپ کنید.
- مدل کلماتی که با کلمه جستجوشده انطباق دارند را پیشنهاد میدهد. با کلیک روی «apple»، یک لیست از نزدیکترین نقاط موجود در فضای بردار دریافت میکنید که شامل کلماتی مشابه apple هستند.
- برای رفع نویز، نمونههای مربوطه را ایزوله کنید؛ بدین منظور روی دکمه خاکستریرنگ isolate 101 points کلیک کنید. این 101 نقطه شامل نقطه منتخب و 100 همسایه نزدیک آن میباشد.
- امکان چرخاندن تصویر، جابجایی آن در جهات مختلف و همچنین زوم کردن روی آن وجود دارد.
اگر توجه کنید میبینید که کلمات juice ،wine و fruit با یکدیگر گروهبندی شدهاند و Macintosh ،technology و microprocessor هم در یک گروه دیگر (در قسمت بالا) قرار گرفتهاند. توجه داشته باشید که مدل معنای کلمات را نمیداند، بلکه صرفاً میلیونها جمله به عنوان نمونههایی از کاربرد کلمات مشاهده کرده است.
اینجا چند نمونه دیگر مشاهده میکنیم تا مطالب گفته شده را بهتر درک کنیم:
سمت چپ، خوشهای از کلمات مرتبط با کلمه Sound را مشاهده میکنید. شکل وسط نشاندهنده کلمات مشابه silver است و شکل سمت راست، کلمات مربوط به Soccer را نشان میدهد.
کشف سوگیری در زبان
کاربرد مدل یادگیری ماشین برای تصمیمگیری در حوزههای انسانی، همواره نگرانیهایی به همراه داشته است. دلیل و منشأ این نگرانیها و دغدغهها به این پرسش اساسی برمیگردد: «مدلها چه میآموزند؟» در این قسمت از آزمایش خود، از تمام بدنه Word2Vec استفاده میکنیم. کلمه engineer را جستجو میکنیم تا نزدیکترین همسایههای آن را پیدا کنیم. در نمایشگر تعبیه، این امکان را داریم تا از جهات مختلف به تصویر نگاه کرده و تحلیل پیچیدهتری انجام دهیم؛ با استفاده از زبانه بازنمایی Custom میتوانیم جهت تصویر را تغییر دهیم.
اینجا محوری تنظیم کردهایم که در یک سر آن man و در سر دیگرش، woman قرار دارد؛ به نحوی که کلمات نزدیک به man در سمت چپ و کلمات نزدیک به woman در سمت راست این محور قرار گیرند. حال همسایههای کلمه لنگر Anchor word یعنی engineer را با توجه به محوری که بالا تعریف کردیم، بررسی میکنیم:
به نظر میرسد کلمه engineer به سمت man این محور نزدیکتر است. کلمات نزدیک به man با رنگ نارنجی مشخص شدهاند و شامل کلماتی از قبیل astronomer ،physicist و mathematician هستند. کلمات نزدیک به woman با رنگ سبز مشخص شدهاند و کلماتی از قبیل dancer ،Songwriter و teacher را در خود جای میدهند.
حال میخواهیم ببینیم اگر کلمه لنگر را به math تغییر دهیم، نتایج تغییر میکنند یا خیر.
کلماتی همچون computational ،geometry و arithmetic نزدیک به man قرار گرفتهاند؛ در حالیکه نزدیکترین کلمات به سمت woman محور، music ،teaching ،philosophy و … هستند.
فرض کنید یک الگوریتم یادگیری ماشینی که روی این دیتاست آموزش دیده، قرار است عملکرد افراد را در یک شغل هنری یا مهندسی پیشبینی کند. یا اینکه شرکتی برای استخدام مهندس از این الگوریتم استفاده کند. در چنین شرایطی، مدل به اشتباه باور خواهد داشت که جنسیت بر شایستگی متقاضی تأثیر میگذارد و بر همین اساس، با سوگیری تصمیمگیری خواهد کرد.
جمعبندی
در مورد وجود سوگیری در مدلهای یادگیری ماشینی، نگرانیهایی وجود دارد. باید توجه داشته باشیم که بیشتر اوقات، سوگیری در دادههای آموزشی در مدل انعکاس یافته و منجر به سوگیری آن میشود. بنابراین میتوان گفت با اینکه ساخت مدلهایی دقیق از اهمیت بالایی برخوردار است، نباید از اهمیت دیباگ کردن دادههای آموزشی به منظور حذف سوگیریها و ناهنجاریها، غافل شد.