اگه تا حالا اسم مدلهای آنومالی دیتکشن یا همون پیدا کردن اختلال تو دادهها رو شنیدی، میدونی که اکثراً تو صنعت جواب میدن، ولی وقتی پای عکسای پزشکی – مخصوصاً MRI مغز سهبعدی – وسط میاد، خیلیاشون کم میارن! چون ببین، توی عکسهای واقعی و پزشکی، دقیقاً مشخص نیست چی «عادی» یا «غیرعادی» حساب میشه؛ واسه همینه که مدلها کلی گیج میشن و حتی بهتریناشون هم مشکلات دارن.
حالا بیا یه نگاه بندازیم به داستان تشخیص اختلال توی عکسهای MRI سهبعدی مغز. مدلهایی که تا الان وجود داشتن تقریباً همهشون بر اساس بازسازی تصویر (یا Reconstruction-based) کار میکنن، و معمولاً هم از شبکههای عصبی کانولوشنی سهبعدی (3D CNN) استفاده میکنن. فقط این وسط چند تا مشکل اساسی داریم: این مدلها هم کلی رم (حافظه) مصرف میکنن، هم کُند عمل میکنن، و تازه نتیجۀ خروجیشون هم پر از نویزه و باید کلی دستکاریِ بعدی روی نتایج انجام بدی!
حالا Zeduo Zhang و یلدا محسنساده اومدن با یه راه حل خلاقانه به اسم SimpleSliceNet این ماجرا رو برعکس کنن! SimpleSliceNet یه چهارچوب (Framework) جدیده که به جای سهبعدی فکر کردن، میاد و عکسهای MRI رو «حلقه به حلقه» یعنی به صورت دوبعدی تحلیل میکنه. (تو MRI مغز هر دفعه چندتا برش دوبعدی از مغز میگیرن، که وقتی کنار هم بذاریشون، میشه مغز سهبعدی!)
حالا این SimpleSliceNet از یه مدل از پیش آموزشدیده روی ImageNet (که یه پایگاه داده بزرگ عکسه و مدلها حسابی تصویر دیدن و یاد گرفتن چطور عکس هارو بفهمن) استفاده میکنه. بعدش با کمی تنظیم و آموزش دوباره روی یک دیتاست MRI جداگانه، مدل رو به یه استخراجکننده ویژگی (feature extractor یعنی مدلی که اطلاعات مهم عکس رو برمیداره) برای این عکسهای حلقهای تبدیل میکنن. اینجوری هم کلی سرعت میگیرن، هم مصرف رم (حافظه) و زمان کم میشه، چون کارش سهبعدی سنگین نیست!
مختصر بخوام بگم، SimpleSliceNet اینطوری کار میکنه:
– اول کلی ویژگی از هر حلقۀ دو بعدی مغز بیرون میکشه.
– بعد این ویژگیارو جمع میکنه و باهاشون سراغ تشخیص آنومالی (یعنی پیدا کردن ناهنجاری توی کل حجم سهبعدی مغز) میره.
– برای اینکه قویتر و دقیقتر بشه، از یه مدل conditional normalizing flow هم کمک میگیره (این مدلا کاری میکنن که بتونی احتمال و عجیبیِ ویژگیها رو محاسبه کنی – یعنی مثلاً بفهمی یه نقطه چقدر «غیرعادی» است).
– بعد هم از یه concept به اسم contrastive loss استفاده میکنه. Contrastive loss یعنی مدلو اینجوری تربیت کنی که فرق بین چیزای عادی و غیرعادی رو بهتر یاد بگیره!
اگه بخوای بدونی نتایج چی بودن باید بگم که عالی بودن! این مدل هم دقتش بالاتر از بقیه مدلا شد، هم حافظه کمتری مصرف کرد، و هم کلی عمل پردازشش سریعتر بود. یعنی خلاصه هم تو سرعت، هم تو دقت و هم تو مصرف منابع از مدلهای قبلی چه دوبعدی چه سهبعدی جلو زد.
خلاصه اگر دنبال یه راه حل ساده، سریع و بهینه واسه بررسی MRIهای سهبعدی مغز میگردی یا کنجکاوی کدشو ببینی، حتماً بهش یه سر بزن! سورس کدش هم کاملاً رایگانه و میتونی از این آدرس برداری: https://github.com/Jarvisarmy/SimpleSliceNet
پس دیگه دوره مدلای سنگین و سخته برای MRI مغز تموم شد – با SimpleSliceNet هم سریعتر و هم ارزونتر میشه اختلالات مغز رو تو عکسای پزشکی کشف کرد! همین دیگه، اگر دوست داشتی بیشتر بدونی حتماً یه نگاهی به کد و مقالهشون بنداز 😉
منبع: +