یه روش جدید برای سبک‌سازی شبکه عصبی: خداحافظی با «هرچی بزرگ‌تر بهتر!»

Fall Back

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

تا الان، بیشتر آدم‌ها برای این کار میان سراغ فیلترها یا وزن‌هایی که مقدارشون خیلی کمه و راحت حذفشون می‌کنن. یعنی هر چی وزن بزرگ‌تر باشه، فکر می‌کنن حتماً مهم‌تره و نباید حذفش کنن. به این رویکرد میگن Magnitude-based pruning، که یعنی همه‌چیو فقط بر اساس اندازه پارامترها تصمیم می‌گیرن.

اما نویسنده‌های این مقاله گفتن: «بسه دیگه، چرا فقط اندازه؟!» چون خیلی وقت‌ها ممکنه یه فیلتری مقدارش بزرگ باشه، اما واقعاً هیچ تاثیر خاصی تو نتیجه نداره و فقط یه زامبی بیخود تو مدل مونده! حالا چیزی که این مقاله معرفی کرده، یه روش جدیده به اسم IPPRO! این اسم هم از وسط عبارت بلندشون گرفته شده: Importance-based Pruning with PRojective Offset.

حالا این IPPRO دقیقا چیکار میکنه؟ مهم‌ترین خلاقیتش اینه که فقط اندازه فیلترها براش مهم نیست. نویسنده‌ها اومدن و هر فیلتر رو تو یه فضای جدید به اسم فضای پروژکتیو یا projective space بررسی کردن (فضای پروژکتیو یعنی فضایی که توش فقط جهت و همسویی و نزدیکی مهمه، نه اندازه و طول دقیق بردارها. به عبارت ساده، رفتار نسبی مهمه، نه عدد مطلق).

اینجا یه حرکت باحال دیگه هم زدن! اومدن اول فیلترها رو ریختن تو این فضای پروژکتیو، بعد با تکنیک معروف و پرکاربرد Gradient Descent (که یه جور روش حرکت برای کم کردن خطا تو یادگیری ماشین هست) بررسی کردن که فیلترها دارن به سمت مبدأ حرکت می‌کنن یا نه. اگه فیلترها خودشون دارن ضعیف و ضعیف‌تر می‌شن و می‌خوان محو بشن، پس احتمالاً حذف‌شدنشون هم به مدل آسیبی نمی‌زنه.

بر اساس این رفتار، یه نمره جدید برای اهمیت هر فیلتر ساختن به اسم PROscore (خلاصه Projective Offset score)، که با این روش پارامترها رو منصفانه‌تر قضاوت میکنه. اسم کامل روش جدیدشون میشه IPPRO، یعنی حذف ساختاری مبتنی بر اهمیت به همراه بی‌توجهی به اندازه فیلتر.

نتیجه چی شد؟ خلاصه‌ش اینه که این روش تونسته مدل‌ها رو حسابی سبک کنه، بدون اینکه کارایی خیلی کاهش پیدا کنه (یعنی almost lossless pruning). حتی بعد از مرحله Fine-tuning (که آخر کار یه دستی به مدل می‌کشن تا بهترین بازدهی رو بده)، نتایجش هم خیلی امیدبخش بوده.

یکی از مهم‌ترین ادعاها و یافته‌های این مقاله اینه که «اندازه فقط یه افسانه‌ست!» یا همون «size-matters» افسانه‌ای که نشون دادن واقعاً همیشه درست نیست و میشه با نگاه دقیق‌تر، کلی وزن بی‌خود با اندازه بالا رو بیرون انداخت، بدون اینکه اوضاع مدلت به هم بریزه.

در کل، IPPRO نشون داده هم از لحاظ تئوری (یعنی نظری) و هم تو دنیای واقعی (یعنی عملی)، استفاده از فضای پروژکتیو و نمره دادن به فیلترها بر اساس رفتارشون تو مسیر آموزشی، روش موثرتری برای سبک‌سازی شبکه عصبی هست و دیگه مجبور نیستیم فقط با خط‌کش اندازه‌ها، فیلترها رو حذف کنیم.

پس دفعه بعدی که خواستید یه مدل یادگیری ماشین رو کوچیک کنید، یاد IPPRO بیفتید و بدونید که: «هرچی بزرگ‌تر، لزوماً بهتر نیست!» 😄

منبع: +