مدیکال‌برت (MedicalBERT): مدل جدید هوش مصنوعی که حرفای پزشکی رو از همه بهتر می‌فهمه!

Fall Back

حالا اگه اهل دنیای هوش مصنوعی و پردازش زبان (NLP یعنی همون تکنولوژی‌هایی که به کامپیوترها کمک می‌کنه متن ما آدما رو بفهمن) باشی، حتما اسمایی مثل BERT، RoBERTa، T5 یا GPT به گوشت خورده. اینا همون مدل‌های خیلی باهوشن که تو سالای اخیر کلی پیشرفت تو فهم متن داشتن. مثلاً GPT همون مدلیه که تو چت‌جی‌پی‌تی استفاده میشه. خب این مدل‌ها قشنگ می‌تونن متن پیچیده رو بفهمن و کلی کار خارق‌العاده باهاشون میشه کرد.

اما همین مدل‌ها وقتی با متنای پزشکی روبه‌رو میشن، داستان کمی فرق داره. چون دنیای پزشکی یه عالمه واژه عجیب و غریب و تخصصی داره که معمولاً تو حرفای روزمره رد و بدل نمیشه! مثلاً واژه‌هایی مثل ‘lymphadenopathy’ که واقعا کمتر کسی بیرون بیمارستان اونو استفاده می‌کنه! حالا جالب بدونی که مدلای قدیمی‌تر مثل Word2Vec یا Bi-LSTM (یعنی یه نوع شبکه عصبی که قراره جمله رو از دو طرف بخونه و بفهمه) نمی‌تونن این واژه‌های تخصصی رو درست هضم کنن.

حالا یه نکته مهم تو این مدلا هست. مثلاً GPT و T5 می‌تونن مفهوم جمله رو خوب بفهمن، اما تو بعضی کارا که باید متن رو از هر دو طرف نگاه کنن و همه جوانب رو بسنجن، مثل BERT نیستن. چون BERT مدل دوطرفه‌ست، یعنی هم اول جمله و هم آخرشو با هم می‌سنجه تا معنی دقیق‌ترشو دربیاره.

خب، بچه‌های این مقاله اومدن برای همین مشکل راه‌حل ساختن. یه مدل باحال طراحی کردن و اسمشم گذاشتن MedicalBERT. این مدل در اصل همون BERT خودمونه که از اول روی یه عالمه متن پزشکی آموزش دیده (Dataset یعنی همون حجم بزرگ داده‌هایی که مدل روش کار می‌کنه) و براش یه واژگان مخصوص پزشکی از اول چیدن! این کار باعث میشه MedicalBERT بتونه واژه‌ها و جمله‌های پزشکی رو هزار برابر بهتر بفهمه و دیگه تو تله واژه‌های تخصصی نیفته.

حالا برای اینکه مدلشون فقط رو کاغذ کار نکنه، MedicalBERT رو گرفتن و روش یه سری بهینه‌سازی‌های اضافی انجام دادن و واسه کارهای واقعی تو پزشکی فاین‌تیون (Fine-tune یعنی مدل رو برای یه کار خاص دوباره آموزش دادن تا دقیق‌تر بشه) کردن. مثلاً:

  • شناسایی موجودیت‌های خاص: مثلاً تو متن اسم یک بیماری یا دارو رو پیدا کنه (به این میگن Named Entity Recognition یا به اختصار NER).
  • استخراج رابطه‌ها (Relation Extraction): یعنی بفهمه چه چیزی به چی ربط داره، مثلا کدوم دارو برای کدوم بیماریه.
  • پاسخ دادن به سوالا (Question Answering).
  • سنجش شباهت جملات (Sentence Similarity): یعنی بفهمه دوتا جمله چقدر به هم شبیهن.
  • دسته‌بندی اسناد (Document Classification): یعنی تشخیص بده یه متن پزشکی مربوط به چه بخشیه.

برای اینکه بفهمن MedicalBERT واقعا باهوش‌تر شده یا نه، اومدن با مدلای مطرح دیگه مقایسه‌ش کردن. مثلاً:

  • BioBERT: یه مدل BERT که مخصوص علوم زیستی آموزش دیده.
  • SciBERT: مدلی که مخصوص کل علوم (نه فقط پزشکی) آموزش دیده.
  • ClinicalBERT: یه مدل مخصوص اطلاعات بالینی (همون پرونده‌های پزشکی بیمارستان).

نتیجه؟ MedicalBERT تو تقریباً همه آزمایشا از بقیه جلو زد! حتی نسبت به BERT عادی (یعنی اونی که آموزش تخصصی ندیده) تو کارای مرتبط با پزشکی، به طور میانگین ۵/۶۷٪ بهتر جواب داده! حالا این درصد زیاد به نظر نمیاد ولی تو حجم بزرگ داده‌ها واقعا تاثیر داره.

نکته جالبی که نویسنده‌های مقاله کلی روش تاکید کردن اینه که مدلای پیش‌آموزش‌دیده (pretrained keywords مثل BERT که قبل از استفاده تو یه کار خاص، کلی اطلاعات عمومی روشون ریخته شده) واقعاً می‌تونن تو پردازش زبان پزشکی معجزه کنن. بجای اینکه از صفر شروع کنیم، مدل رو روی کلی مقاله و نوشته پزشکی آموزش می‌دیم، بعد برای کارای مختلف کم کم سفارشی‌سازی (transfer learning یعنی همین انتقال یادگیری) می‌کنیم. اینطوری هم در زمان صرفه‌جویی میشه هم خروجی باکیفیت‌تر داریم.

پس اگه قراره هوش مصنوعیا آینده توی پزشکی بیشتر نقش داشته باشن – از تشخیص بیماری تا پیدا کردن داروهای جدید – مدل‌هایی مثل MedicalBERT می‌تونن حسابی مفید واقع بشن و شاید یه روز دکترای هوشمند دیجیتالی واقعا وارد بیمارستانا شن!

منبع: +