موضوع مقاله: تقطیر دانش | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # تقطیر دانش | مقدمه: تقطیر دانش یکی از روش‌های مرسوم برای انتقال اطلاعات بین مدل‌ها است که در چند سال گذشته بسیار مورد بررسی قرار گرفته‌است. | ## بخش 1: تقطیر دانش | در دنیای یادگیری ماشین، به فرایند انتقال دانش از یک مدل نسبتاً بزرگ به یک مدل کوچک تقطیر دانش گفته می‌شود. مدل‌های بزرگ مثل شبکه‌های عصبی ژرف یا مدل‌های یادگیری ماشین جمعی ظرفیت دانش و یادگیری بیشتری در مقایسه با مدل‌های کوچک‌تر دارند اما از لحاظ محاسباتی بسیار سنگین‌تر هستند. تقطیر دانش، این دانش را از مدل‌های پیچیده به مدل‌های ساده‌تر و کوچک‌تر منتفل می‌کند و تلاش می‌کند که این کار را با کمترین میزان هدررفت دانش انجام دهد. به‌طور معمول در دنیای یادگیری ماشین، ما از مدل‌های مشابه برای آموزش و استنتاج استفاده می‌کنیم اما نکتهٔ قابل توجه این است که نیازمندی‌های این دو قسمت با هم متفاوت است. برای این کار می‌توان زمان بسیار زیادی را صرف کرد و مسیرهای مختلف زیادی را امتحان کرد. همچنین می‌توان از تکنیک‌های مختلفی استفاده کرد؛ مثلاً عمق شبکه را بیشتر کنیم یا از داده‌های بیشتری کمک بگیریم یا برای تنظیم مدل از حذف تصادفی استفاده کنیم. در مرحله استنتاج مهم‌ترین نیازها دقت بالای مدل و زمان مصرفی برای پیش‌بینی کردن است. این روش، فرایندی برای آموزش یک مدل ساده است، به طوری که دانش مدل پیچیده را تا حد امکان به آن انتقال دهیم. مدل معلم به‌طور معمول مدلی است که پارامترهای بسیار زیادی دارد یا یک مجموعه از چندین مدل است و نمی‌توان از آن‌ها به راحتی در جاهای مختلف که توانایی محاسباتی بسیار زیادی نداریم، استفاده کرد. اگر مدل معلم مجموعه‌ای از مدل‌های ساده باشد آن‌گاه می‌توان از میانگین حسابی یا هندسی توزیع‌های خروجی به عنوان اهداف نرم استفاده کرد. در واقع در این‌جا به جای آموزش مستقیم مدل دانش آموز روی داده‌های خام، مدل سعی می‌کند تا خروجی شبکهٔ معلم را تقلید کند. اگر آنتروپی اهداف نرم زیاد باشد، اطلاعات بسیار زیادی را با واریانس کمتر در مقایسه با اهداف سخت متناظر، در دل خود دارند. از روی همین می‌توان فهمید که مدل دانش‌آموز در مقایسه با مدلی که به صورت عادی بخواهد آموزش ببیند، می‌تواند با حجم دادهٔ بسیار کمتر آموزش ببیند و حتی دچار مشکل بیش‌برازش نشود. در مواردی حتی دیده شده‌است که دقت مدل دانش‌آموز از معلم به دلیل این که تعمیم‌سازی بهتری و بیش‌برازش کمتری دارد، بیشتر است. | ## بخش 2: تقطیر دانش | در بسیاری از کاربردها، شبکه‌های معلم و دانش‌آموز به‌طور مستقیم بر روی دادهٔ خام نمی‌توانند آموزش ببینند؛ بنابراین یک سری تبدیلات بر روی داده‌ها ممکن است نیاز شود. در مرحله بعدی که طراحی مدل معلم است، ساختار مدل بر اساس اهداف و مسئله تعیین می‌گردد. همچنین تعداد معلم‌ها (اگر قرار است چند شبکه معلم داشته باشیم که هر یک روی بخشی از داده کار کنند) و نحوهٔ ارتباط آن‌ها با همدیگر تعیین می‌گردد. این که از اهداف سخت یا اهداف نرم یا هر دو استفاده کنیم و تقطیر تنها از انتهای مدل معلم یا لایه‌های میانی صورت گیرد نیز در این قسمت معلوم می‌شوند. در نهایت در مرحلهٔ طراحی مدل دانش‌آموز، ساختار این شبکه و این که چطور اطلاعات را از معلم دریافت کند، مورد بررسی قرار می‌گیرد. نکتهٔ قابل توجه این است که این بخش به صورت مستقیم به داده و هدف متصل است، زیرا مدل دانش‌آموز بر اساس نوع مسئله و داده‌های مورد بررسی طراحی می‌شود. پیاده‌سازی تقطیر دانش شبکه‌های عصبی معمولاً توزیع احتمال دسته‌ها در لایه آخر را به کمک تابع پیشینه هموار محاسبه می‌کنند. اگر ورودی ام لایه آخر (ورودی پیشینه هموار) باشند، احتمال را با مقایسه با دیگر ورودی‌های این لایه، حساب می‌کند. هر چه‌قدر بیشتر باشد، توزیع ما هموارتر می‌شود و هرچه قدر کمتر باشد اهمیت ها بیشتر می‌شود و توزیع ناهموارتر می‌شود. به تعبیر دیگر هر چه قدر که بیشتر می‌شود، احتمال دستهٔ محتمل‌تر به سمت یک میل می‌کند ولی هر چه قدر که کمتر می‌شود، احتمال رده‌ها به سمت یکنواخت شدن حرکت می‌کنند. در حالت ساده و ابتدایی، تابع هدف را می‌توان آنتروپی متقاطع با اهداف نرم در نظر گرفت. در واقع پس از آموزش دادن مدل معلم در دمای بالا، اهداف نرم به‌دست می‌آیند و مدل دانش‌آموز به کمک آن‌ها در همان دمای بالا آموزش می‌بیند. اگر برچسب‌های درست برای تمام یا بعضی از داده‌ها در مجموعه انتقال (مجموعه داده‌ای که از آن برای آموزش مدل دانش‌آموز استفاده می‌کنیم) موجود باشد، می‌توان روش را بسیار بهبود بخشید. یک روش این است که از این برچسب‌های درست استفاده کرد تا در اهداف نرم اصلاحاتی اعمال کنیم اما روش کارآمدتر این است که تابع هدف را میانگین وزن‌دار آنتروپی متقاطع با اهداف نرم و آنتروپی متقاطع با اهداف سخت در نظر بگیریم. | ## بخش 3: تقطیر دانش | دقت شود که در آنتروپی متقاطع با اهداف نرم دما در هر دو بالا و یکسان در نظر گرفته می‌شود در حالی که در آنتروپی متقاطع با اهداف سخت، دمای مدل دانش‌آموز همان‌طور که در بالا گفتیم برابر ۱ است. به‌طور تجربی این نتیجه به دست آمده که اگر ضریب جملهٔ دوم به طرز قابل توجهی کم باشد و تأثیر اهداف نرم در تابع هدف ما بیشتر باشد، نتیجه به دست آمده بهتر است. حال طبق تقطیر دانش هدف کمینه کردن اتلاف نوشته شده در فرمول زیر است: در فرمول بالا، همان آنتروپی متقاطع اهداف سخت است که بر روی برچسب‌های پیش‌بینی شده توسط مدل دانش‌آموز و برچسب‌های واقعی داده‌ها در دمای ۱ محاسبه می‌گردد. همان اتلاف تقطیر است که در واقع آنتروپی متقاطع اهداف نرم می‌باشد که از خروجی‌های لایه پیشینه هموار معلم و دانش‌آموز در دمای محاسبه می‌شود؛ بنابراین، خروجی لایهٔ پیشینه هموار دانش‌آموز و خروجی لایهٔ پیشینه هموار معلم را نشان می‌دهند. هم فراپارامتری است که میزان تأثیر هر یک از این اتلاف‌ها را در مدل نهایی کنترل می‌کند. بسیاری از مدل‌های امروزی در این حوزه بر پایهٔ یادگیری ژرف می‌باشند و در نتیجه معمولاً با مدل‌های سنگینی سر و کار داریم. در مسائل زیادی همچون کلاس‌بندی عکس‌ها یا تشخیص چهره و جاهای دیگر از این تکنیک کمک گرفته می‌شود. پردازش زبان‌های طبیعی مدل‌های مبتنی بر یادگیری ژرف که در این حوزه وجود دارند، معمولاً بسیار بزرگ و پیچیده هستند و میلیون‌ها پارامتر دارند. در نتیجه در این حوزه به خصوص از آن‌جا که تسک‌های مربوطه بیشتر در سیستم‌های سبک باید استفاده شوند، تقطیر دانش بسیار محبوب است. تلاش می‌شود تا به مدل‌های سبک و سریع‌تری که تنها تقاوت دقت ناچیزی با مدل‌های پیچیدهٔ اصلی دارند، برسیم. بازشناسی گفتار مدل‌های امروزه و مطرح این حوزه نیز بیشتر بر پایهٔ شبکه‌های عصبی و یادگیری ژرف می‌باشند. اما همان‌طور که می‌دانید از آن‌ها معمولاً بر روی سیستم‌های نهفته یا سیستم‌های کم منبع دیگری همچون تلفن همراه استفاده می‌باشد. | ## جمع‌بندی | در نتیجه در مرحلهٔ توسعه و استنتاج مهم است که مدل‌های ما تا حد ممکن سبک و سریع باشند.