یک شبکهی عصبی با ۸۰ هزار و ۶۰۸ پارامتر عددهای دستنویس رو با دقت ۹۹٫۳۴ درصد میخونه. پارامترها همون عددهاییان که شبکه موقع آموزش یاد میگیره و بعد باید یک جایی نگهشون داره، پس هرچه کمتر باشن مدل جای کمتری میگیره. ResNet18 که سالهاست یکی از خطکشهای استاندارد بینایی ماشینه، حدود ۱۳۹ برابر این شبکه پارامتر داره و وقتی از صفر روی همین داده آموزش میبینه به ۹۹٫۲۲ درصد میرسه.
طرح این شبکهی کوچک از چشم مگس میوه اومده. گروهی در دانشگاه کلمبیا اسم این شبکه رو FlyVision گذاشتن و همین ماه نشون دادن که میشه همین طرح رو بزرگ کرد و با اون روی عکسهای طبیعی و تصویرهای پزشکی هم کار کرد.
خب، یعنی مگس دستور بهتری برای ساختن چشم ماشین داره؟ جواب کوتاهش مثبته، به شرطی که دقیق بدونی مگس روی چی صرفهجویی کرده، چون اگه عددها رو تا آخر دنبال کنی میبینی همین شبکهی کمپارامتر روی تصویرهای بزرگ برای هر عکس چند برابر ResNet18 حساب میکنه.
نقشهای به اندازهی یک مغز
این طرح از کجا اومده؟ از یک نقشه. سال ۲۰۲۴ پروژهی FlyWire نقشهی سیمکشی کامل مغز یک مگس میوهی ماده (connectome) رو منتشر کرد، یعنی فهرستی که میگه کدوم نورون به کدوم نورون وصله. این نقشه ۱۳۹ هزار و ۲۵۵ نورون و حدود ۵۰ میلیون سیناپس رو در بر میگیره، و سیناپس همون جاییه که دو نورون به هم میرسن و پیام از یکی به دیگری رد میشه.
همون سال گروه دیگهای سوال سادهای پرسید که جوابش اصلا ساده نبود. اگه فقط بدونیم کی به کی وصله و از رفتار تکتک نورونها چیزی ندونیم، میشه فهمید این مدار چی کار میکنه؟ برای جواب دادن، شبکهای با ۴۵ هزار و ۶۶۹ نورون و حدود یک و نیم میلیون اتصال ساختن که سیمکشیش عینا از ۶۴ نوع سلول مسیر حرکت در چشم مگس برداشته شده بود. فقط چیزهایی رو که کسی اندازه نگرفته بود، مثل اینکه هر نورون چقدر سریع واکنش نشون میده، با روشهای یادگیری عمیق تنظیم کردن تا شبکه بتونه حرکت رو تشخیص بده. پیشبینیهای این شبکه با اندازهگیریهای واقعی در ۲۶ پژوهش جداگانه جور دراومد.
این کار علوم اعصاب بود و هدفش فهمیدن خود مگس بود؛ مقالهی تازهی کلمبیا سوال رو برعکس کرده و میپرسه چیزی که چشم مگس در طول فرگشت یاد گرفته، به درد چشم ماشین هم میخوره یا نه.
سه اصل از چشم مگس
شبکهی کلمبیا نقشه رو نورون به نورون کپی نکرده و فقط سه اصل کلی رو از چشم مگس برداشته.
اصل اول اینه که تصویر همون اول کار به دو راه جدا تقسیم میشه؛ یک راه به جاهایی حساسه که از اطرافشون روشنترن و راه دیگه به جاهایی که تاریکترن. چشم مگس هم همین جدایی رو داره، و شبکهی سال ۲۰۲۴ هم بدون اینکه کسی بهش بگه، همین دو راه روشن و تاریک رو از روی سیمکشی پیشبینی کرده بود.
اصل دوم تکراره (recurrence). در یک شبکهی معمولی هر لایه یک بار روی تصویر کار میکنه و نتیجه رو به لایهی بعد میده، ولی در این شبکه بعضی لایهها دو بار پشت سر هم و با همون وزنها روی نتیجهی خودشون کار میکنن، درست مثل کسی که یک عکس رو دوباره نگاه میکنه تا جزئیاتی رو ببینه که بار اول ندیده بود.
اصل سوم اینه که واحدهای هر لایه به چهار گروه تقسیم میشن که روی هم اثر میذارن، و این اثر میتونه گروه دیگه رو فعالتر یا آرومتر کنه، همونطور که در مغز بعضی نورونها نورون بعدی رو تحریک میکنن و بعضی مهارش میکنن.
نویسندهها با همین سه اصل شبکه رو در سه اندازه ساختن، از نسخهی کوچکی برای عددهای دستنویس تا یک نسخهی متوسط و یک نسخهی بزرگ برای تصویرهای ۲۲۴ در ۲۲۴ پیکسلی، و هر بار ساختار رو ثابت نگه داشتن و فقط تعداد کانالها رو بیشتر کردن. حالا وقتشه ببینیم این شبکه کنار رقیبش چطور میایسته.
عددها رو کنار هم بذار
نتیجه چی شد؟ اینجا باید با دقت نگاه کنی، چون شبکهی کلمبیا همهجا برنده نیست.
روی CIFAR-10 که مجموعهای از عکسهای کوچک ده دسته شیء مثل گربه و هواپیماست، شبکهی کوچک با ۸۱ هزار پارامتر به ۷۸٫۰۳ درصد رسید و مدل استاندارد به ۸۳٫۴۴ درصد، یعنی اینجا شبکهی بزرگتر بیش از پنج واحد درصد جلوتره. روی ImageNet که عکسهاش در هزار دسته تقسیم شدن، نسخهی بزرگ با ۳٫۷ میلیون پارامتر به ۶۶٫۲۵ درصد رسید و مدل استاندارد با ۱۱٫۷ میلیون پارامتر به ۶۹٫۲۵ درصد.
ولی در عکسهای قفسهی سینه ماجرا فرق کرد. اونجا شبکه باید بین چهار حالت سالم، کووید، کدورت ریه و ذاتالریهی ویروسی فرق میذاشت، و نسخهی متوسط با ۱٫۳۳ میلیون پارامتر به ۹۲٫۶۰ درصد رسید در حالی که ResNet18 با ۱۱٫۱۸ میلیون پارامتر به ۹۱٫۵۶ درصد رسید.
پس تصویر کلی اینه که شبکهی کلمبیا با سه تا هشت برابر پارامتر کمتر، بسته به کار، چند درصد عقبتر یا کمی جلوتر میایسته. تا اینجا قصهی آشنای «کوچکتر ولی تقریبا همونقدر خوب» رو شنیدی، ولی یک جدول دیگه در همین مقاله هست که قصه رو عوض میکنه.
خساست مگس کجاست
پارامتر کمتر لزوما یعنی شبکهی ارزونتر؟ عددهای خود مقاله جواب دیگهای میدن. شبکه برای هر تصویر باید تعداد زیادی ضرب و جمع انجام بده، و همین تعداده که تعیین میکنه جواب چقدر طول میکشه و چقدر باتری میخوره.
عددها رو دنبال کن. روی ImageNet، مدل استاندارد برای هر تصویر حدود ۳٫۶ میلیارد عملیات انجام میده. نسخهی متوسط شبکهی کلمبیا حدود ۶٫۶ میلیارد و نسخهی بزرگ حدود ۱۴٫۸ میلیارد. حالا تقسیم کن؛ نسخهی بزرگ حدود سه برابر کمتر از ResNet18 پارامتر داره، ولی برای هر تصویر حدود چهار برابر بیشتر حساب میکنه.
دلیلش همون اصل دومه؛ وقتی یک لایه با همون وزنها دو بار روی تصویر کار میکنه، وزنها یک بار ذخیره شدن ولی محاسبه دو بار انجام میشه. خود نویسندهها هم صریح نوشتن که کم بودن پارامتر و کم بودن محاسبه دو ویژگی جدان، و تکرار و اثر گروهها روی هم میتونه محاسبه رو بالا ببره بدون اینکه پارامتر به همون نسبت زیاد بشه.
حالا برگرد سراغ خود مگس. مغزی که باید توی سر یک مگس جا بشه برای هر سیم و هر سیناپس جای کمی داره، و نویسندهها هم یادآوری میکنن که مدار بینایی جانوران زیر فشار همزمان سیمکشی، انرژی، سرعت و پایداری شکل گرفته. پس مگس توی سیمکشی خسیسه و جای کمبودش رو با دوباره به کار گرفتن همون مدار پر میکنه، و شبکهای که از روی مگس ساخته شده همین خساست رو هم به ارث برده؛ حافظهی کم و حوصلهی زیاد.
یک جزء دیگه هم نشون میده این داد و ستد قابل تنظیمه. در آزمایش عکس قفسهی سینه همون شبکه رو با تکرار کمتر اجرا کردن و تصویر رو هم زودتر کوچک کردن، و اونجا نسخهی متوسط برای هر تصویر حدود ۱٫۳ میلیارد عملیات انجام داد در برابر ۳٫۶ میلیارد ResNet18. یعنی اینکه شبکه چند بار اجازه داره دوباره نگاه کنه، هزینهی محاسبه رو تعیین میکنه.
کمبود تو کدومه
این داد و ستد در عمل چه معنیای داره؟ جوابش بستگی داره به اینکه چی برات کمیابه.
وقتی یک مدل روی ساعت هوشمند یا هدست واقعیت مجازی اجرا میشه، دو منبع کمیاب داری. یکی حافظه و حجمیه که مدل باید باهاش روی دستگاه بشینه یا با هر بهروزرسانی از شبکه دانلود بشه، و دیگری باتری و زمانیه که برای هر جواب خرج میشه. پارامتر از اولی میخوره و محاسبه از دومی، و این دو تا معمولا همزمان به یک اندازه کم نیستن.
اگه چیزی که کم داری جاست و وقت داری، خساست مگس دقیقا به کارت میاد. مثلا مدلی که عکس پزشکی رو تحلیل میکنه و باید روی دستگاه یک بیمارستان بدون اینترنت جا بشه، میتونه چند ثانیه صبر کنه ولی نمیتونه حجیم باشه. ولی اگه چیزی که کم داری زمان و باتریه، مثل دنبال کردن دست در هدستی که هر کسری از ثانیه تاخیرش حس میشه، همون تکرارها برات گرون تموم میشن.
به نظر من درس اصلی این مقاله همینه که «کوچک» یک عدد نیست. هر بار که کسی میگه مدلش کوچکتره باید بپرسی کوچکتر از چه نظر، از نظر حجمی که روی دیسک میگیره یا کاری که برای هر جواب انجام میده.
کدوم اصل کار رو کرد
یک سوال هنوز بیجواب مونده و خود مقاله هم پنهانش نکرده؛ از این سه اصل، کدومش این نتیجه رو ساخته؟ ممکنه بیشتر سهم مال تکرار باشه که در شبکههای غیرزیستی هم سالهاست شناخته شدهست، و جدایی روشن و تاریک یا تقسیم به چهار گروه نقش کمی داشته باشن. نویسندهها نوشتن که قدم بعدی اینه که هر اصل رو جداگانه تغییر بدن و پارامتر و بودجهی آموزش رو ثابت نگه دارن تا سهم هرکدوم معلوم بشه.
یک نکتهی دیگه هم از کار ۲۰۲۴ هست که اینجا جا مونده. اون پژوهش نشون داد پیشبینی کار مدار از روی سیمکشی وقتی بیشتر جواب میده که اتصالها پراکنده باشن، یعنی هر نورون فقط به تعداد کمی از نورونهای دیگه وصل باشه، که در مغز همهی جانورها همینطوره. ولی تا جایی که از توضیح خود مقاله برمیاد، لایههای شبکهی کلمبیا از همون فیلترهای معمولی سه در سه ساخته شدن که هر واحد رو به همهی همسایههاش وصل میکنن، و خود نویسندهها هم پراکندگی رو جزو چیزهایی آوردن که هنوز باید جداگانه آزموده بشه. شاید مهمترین درس مگس هنوز به ماشین نرسیده باشه.
چیزی که از مگس قرض میگیری
طرحی که طبیعت ساخته جوابیه به بودجهی خود طبیعت. مگس مغز کوچکی داره و فرصت کافی برای دوباره نگاه کردن، و طرح چشمش هم برای همین وضع ساخته شده.
پس وقتی طرح مگس رو قرض میگیری بودجهاش رو هم قرض گرفتی، و این معامله فقط وقتی به نفعته که کمبود تو همون کمبود مگس باشه. ارزش واقعی کار کلمبیا هم به نظرم همینه که نقشهی سیمکشی مغز رو از یک کنجکاوی علمی به منبعی از فرضیههای مهندسی تبدیل کرده، فرضیههایی که میشه اندازهشون گرفت و نگهشون داشت یا کنارشون گذاشت.