یه مدل خفن برای وصل کردن موجودیت‌ها با اطلاعات چندرسانه‌ای: با مدل «چند سطحی از متخصص‌ها» آشنا شو!

Fall Back

تا حالا شده با متن یا عکس‌هایی رو برو بشی که توش یه اسمی هست و دقیق نمی‌دونی منظور چیه، بعد بخوای بفهمی اون واژه دقیقاً به کدوم شخص یا چیز اشاره داره؟ به این کار تو دنیای هوش مصنوعی میگن «Entity Linking» یا همون «وصل کردن موجودیت‌ها». حالا اگه این قضیه با متن و تصویر با هم (یعنی چندرسانه‌ای) باشه، اسمش میشه «Multimodal Entity Linking» یا همون MEL. خلاصه‌اش: MEL می‌خواد بفهمه مثلاً وقتی تو یه مطلب هم متن هست هم عکس، اون اسمی که اومده دقیقاً مربوط به کدوم موجودیت تو دیتابیس (بانک اطلاعاتی) بزرگ مثل ویکی‌داده است.

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

اما این راه‌ها هنوز با دو چالش اساسی روبه‌رو بودن:
۱. ابهام در اشاره‌ها: گاهی متن‌هایی که ازش استفاده می‌کنیم خیلی خلاصه یا ناقصن، پس مدل نمی‌فهمه دقیقاً منظور از اون اسمه چیه و کی یا چی باید باشه. مثلاً تو متن فقط نوشته «دراکولا» و نه هیچ اطلاعات دیگه‌ای! خب دراکولا فیلمه، شخصیته، یا یه کتابه؟
۲. اهمیت قسمت‌های مختلف اطلاعات: مثلاً شاید تو یه عکس بخش خاصی مهم باشه، یا یه جمله خاص توی متن مهم‌تر باشه تا بقیه. مدل‌های قبلی خیلی نمی‌تونستن درجا تشخیص بدن کدوم قسمت‌ها ارزش بیشتری دارن و باید بهشون بیشتر توجه کنن.

اینجا سازنده‌های این مقاله یه مدل باحال پیشنهاد دادن به اسم MMoE یعنی Multi-level Mixture of Experts. معنی اسمش اینه: ترکیب چندتا متخصص توی چند سطح مختلف. منظور از Expert تو هوش مصنوعی یعنی یه مدل یا شبکه کوچیک‌تر که یه کار خاص خیلی خوب بلده انجام بده و تو ترکیب Experts اینطوریه که مدل‌ها (همون متخصص‌ها) هر کدوم رو اطلاعات خودشون نظر میدن و مدل اصلی خودش انتخاب می‌کنه الان باید به کدوم بیشتر گوش بده.

مدل MMoE چهار تا بخش اصلی داره:
۱. ماژول «تقویت اشاره با توضیحات»: این قسمت با کمک مدل‌های زبانی بزرگ (مثلاً همون ChatGPT خودمون!) میاد و می‌گرده توی ویکی‌داده و توصیف مناسب برای اون mention رو پیدا می‌کنه. یعنی اگه تو متنت نوشتن «تسلا»، مدل اول سعی می‌کنه دقیق‌تر بفهمه منظور تسلا آدمه یا ماشین یا شرکت.

۲. ماژول استخراج ویژگی چندرسانه‌ای: خب این یکی یعنی مدل بتونه هم ویژگی‌های متنی (یعنی همون embedding متنی که خلاصه اطلاعات جمله‌هاست) و هم ویژگی‌های تصویری رو از اشاره‌ها و همینطور موجودیت‌ها بگیره. این embedding هم معنیش اینه که اطلاعات پیچیده مثل تصویر یا متن، تبدیل می‌شن به عدد، طوری که مدل بفهمه و با هم مقایسه کنه.

۳ و ۴. دو تا ماژول ترکیب متخصص‌ها: حالا این بخش‌ها اسمشون intra-level و inter-level mixture of experts هست. یعنی اول از بین چندتا متخصص هر کدوم تو سطح خودش بهترین رو انتخاب می‌کنه (مثلاً تو بخش متنی یا بخش تصویری)، بعدش بین این سطوح هم یه انتخاب دیگه انجام میده که تو جمع کی حرف آخر رو بزنه! اینطور مدل دقیقاً متناسب با داده‌ای که بهش دادن تصمیم می‌گیره اطلاعات کدوم جا مهم‌تره.

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

نویسنده‌ها کلی تست کردن و نشون دادن که مدل MMoE نتایجش خیلی بهتر از روش‌های قبلیه و تو دیتاست‌های مختلف عالی کار می‌کنه. حتی کد مدل رو هم گذاشتن تو گیت‌هاب تا هر کسی دوست داشت بتونه خودش امتحان کنه یا توسعه بده: https://github.com/zhiweihu1103/MEL-MMoE

پس اگه دنبال یه راه پیشرفته واسه Entity Linking چندرسانه‌ای هستی، این مدل MMoE با اون ایده ترکیب متخصص‌ها حسابی به کارت میاد! هم چندسطحیه، هم هوشمند انتخاب می‌کنه، هم کلی خلاقیت پشتشه.

منبع: +