این نوشته بر اساس مقاله Greedy Layerwise Learning Can Scale to ImageNet نوشته شده است. هدف اینست که با آموزش با یکی شیوه های آموزش layerwised آشنا شویم، امکانپذیری و مزیتهای آن را دریابیم.
می دانیم که شبکه های عمیق در مسائل supervised به این صورت آموزش داده می شوند که برای لایه آخر خطایی بر اساس خروجی حاصل شده و خروجی دلخواه در نظر گرفته می شود سپس تمامی لایه ها و وزن ها بر اساس خطای به دست آمده تغییر می کند. به این شیوه از آموزش اصطلاح end to end training اطلاق می شود. اگرچه این شیوه از آموزش در عملکرد موثر اما از نظر تحلیل رفتاری شبکه حین آموزش دشوار است یعنی اولاً نمی توان ارتباط بین لایه ها را فهمید و یا اینکه فهمید هر لایه چه عملکردی از خود نشان می دهد. حال اگر مسئله، آموزش یک شبکه تک لایه بود، به دلیل وجود پشتوانه گسترده علمی میشد آنها را به خوبی تجزیه تحلیل کرد. یعنی میتوان فهمید که آن لایه چه رفتاری از خود نشان می دهند همچنین میتوان در مورد همگرایی آن اظهار نظر های قویتری انجام داد.
هدف این است که روشی پیشنهاد بشود که بتوان در عین اینکه شبکه هدف عمیق است، در حین طراحی از ابزارهای تحلیلی شبکه های کم بهره ببریم. برای این کار ابتدا این مشاهده را که در شبکه های دیده میشود را در نظر بگیرید داده ها در شبکه ها هر چی پیش می روند به صورت تدریجی کلاس های مختلف جداسازی بیشتر و کلاس های مشابه نزدیکی بیشتری از خود نشان خواهند داد (contraction & sepertaion). به شکل زیر توجه کنید در شکل ρ همان تابع تحریک ReLu و W نیز بلوک کانولوشنی هست.
این مشاهده در شبکههای عمیق کانولوشنی بسیار فراگیر است. بنابراین می توان گفت ظاهراً هر لایه وظیفه دارد روی داده ها عملیات separationرا انجام دهد.
حال میتوان ایده greedy layer wised training را مطرح کرد. این روش بیان می دارد که آموزش لایهای باشد. به این صورت که هر لایه وظیفه داشته باشد حداکثر جداسازی برای ورودی های خود را به وجود آورد. در این حال چون آموزش در هر بار برای یک لایه هست، می توان ابزار تحلیل شبکههای تک لایه را نیز برای آن در نظر گرفت.
حال چطور می توان لایه به لایه این شکل از آموزش را انجام داد. به شکل های زیر توجه کنید.
در این شبکه ابتدا لایهی مورد نظر با یکclassifier auxiliary آموزش می بیند. تابع هدف این گذاشته میشود که خروجی شاخه همان خروجی هدف (لیبل کلاسها) باشد (به همین دلیل از کلمه greedy در عنوان روش استفاده شده است). بعد از اتمام آموزش ضرایب بهدستآمده فریز می شود و لایه بعد به شبکه اضافه می شود. این لایه نیز با classifier auxiliary مربوط به خود آموزش میبیند. پس در هر مرحله تنها یک لایه آموزش می بیند که برای آن یک لایه ورودی، خروجی لایه قبل و خروجی لیبل های هر کلاس از داده است. در شکل DNN شبکه عمیق متناظر با classifier auxiliary و عمق شاخه auxiliary به صورت زیر تعریف شده است.
در این رابطه اگر k=1 باشد به معنای اینست که شاخه auxiliary تنها یک جداساز خطی هست. شکل زیر نمودار دیگری برای این شیوه از آموزش هست.
حال ممکن این سوال پیش آید که آیا آموزش layer wisedبرای عملکرد کل شبکه موثر است؟ به بیان دیگر آیا شبکه آموزش دیده شده توسط این روش classifier خوبی خواهد بود؟ نویسندگان مقاله به ازای قبول شرایطی خاص قضایای زیر را به صورت تحلیلی نشان دادند.
ادعاهای فوق اثبات نمیکند که شیوه آموزش به این روش بهینه است. اما چون شروط گذاشته شده برای درستی قضایای فوق چندان سختگیرانه نیست، میتوان گفت که احتمال اینکه شبکه رفتار ناپایدار از خود نشان دهد کم است.
این شیوه از آموزش هم بر روی دیتاست cifar10 تست شده و هم بر روی ImageNet. دو جدول زیر عملکرد شبکه روی این دیتاست ها را نشان می دهد. در جدول SimCNN شبکه مورد نظر است و شبکه به ازای عمقهای مختلفی از auxiliary classifier آموزش داده شده است (k=1,2,3).
دیده میشود شبکه به ازای k=3 از روی دیتاست cifar10 (با دقت 92.8) از دقت VGG (با دقت 92.5) فراتر رفته است. همچنین برای همین عمق از شبکه auxiliary عملکرد (با دقت 89.8) نسبت به vgg13 (با دقت 89.3) بر روی دیتاست ImageNet بهتر شده است. در جدول دیده می شود هرچه عمق شبکه auxiliary (k) افزایش پیدا کرده عملکرد بهبود مییابد. نمودار زیر این مطلب را دقیقتر نشان میدهد.
اول از همه باید گفته این پژوهش قوام این ایده که لایههای کانولشونی در CNNها باعث جداسازی تدریجی داده ها میشوند را تقویت کرد. و نشان داد که می توان از روش layer wised برای آموزش شبکههای عمیق بر روی دیتاستهای سخت مانند ImageNetاستفاده کرد. نتایج و تحلیلها این پژوهش نشان داد که این شیوه از آموزش، جدا از امکان تحلیل لایهای بهتر، استفادههای کاربردی نیز دارد:
مرجع:
[1] Belilovsky, Eugene, Michael Eickenberg, and Edouard Oyallon. "Greedy layerwise learning can scale to imagenet." International conference on machine learning. PMLR, 2019.