من یه ادعایی کردم مبنی بر اینکه داده هایی که ارتباط به کار ما ندارن بیشتر باعث فهم میشن تا داده های مرتبط. مثال گاو و اسب و اینا رو زدم به عنوان داده های مرتبط و مثالی زدم از اینکه در ریاضیات یه چیزهایی بی ربطی رو به هم ربط میدیم و اینا.

حالا می خوام یه مقاله ای رو بررسی کنیم البته بررسی که نه فقط می خوام اثبات هاش رو نشون بدم. در مقاله این لینک با نام 

How transferable are features in deep neural networks?

که سال 2014 انتشار پیدا کرده و 1292 تا هم سایتیشن خورده. این موضوع بررسی شده. حالا دقیق تر ببرسی کنیم:

شبکه اول ینی همون A روی یه دیتا آموزش داده شده شما فک کنید مثلا حیوانات و شبکه دوم ینی B روی یه دیتای دگ آموزش داده شده مثلا شما فک کنید انواع گیاهان. پس رنگ سبز مربوط به حیوانات و رنگ بنفش مربوط به گیاهان. حالا می خوایم یه شبکه دومی رو جداگانه و به یه مدل دگ آموزش بدیم. مجموعا 4 شبکه جدید آموزش میدیم که به این صورت هست:

B3B: اینجا شبکه B رو آموزش میدیم به صورتی که 3 لایه ای لایه های شبکه B ای که قبلا آموزش دادیم رو استفاده می کنیم. ینی یه اطلاعاتی از شبکه ی B ای که آموزش داده بودیم به شبکه جدید می دیم و دوباره آموزش میدیم. اما در نظر داشته باشید اطلاعاتی که از شبکه B به این شبکه میاریم در حین آموزش تغییری پیدا نمی کنه و یا به اصطلاح freeze میشه.

B3B+: این شبکه دقیقا مث همون شبکه بالاییه با این تفاوت که اطلاعاتی که اول میدیم freeze نمیشه و در طی آموزش دوباره می تونه تغییر کنه.

A3B: این شبکه اطلاعات برای آموزش شبکه B که مربوط به گیاهان بود از لایه های شبکه A که مربوط به حیوانات بود استفاده می کنه و می دونیم که این لایه ها freeze میشن و تغییری نمی  کنن و صرفا لایه های بعدی تغییر می کنن.

A3B+: این دوباره داستانش مث بالاست با این تفاوت که اون 3 لایه ای که از شبکه A برای آموزش شبکه B استفاده می کنیم رو هم در حین آموزش می تونیم تغییر بدیم و یا به عبارتی می تونی fine tune  کنیم.

همچنین یه سوال کلی تر وجود داره. اینکه اگه ما تعداد لایه هایی که به شبکه های جدید میاریم بیشتر باشه یا به زبان ساده تر اطلاعات بیشری و البته سطح بالاتری از شبکه های اولی به شبکه جدید بیاریم وضعیت چطور میشه؟

حالا ما که نه البته مقاله می خواد 5 شبکه ای که روی داده ی گیاهان آموزش داده شده رو تست کنه و بگه کدوم بیشتر می فهمه یا به عبارتی کدوم صحت بیشتری در تشخیص داره. پس اون 5 تا شبکه هم شدن:

1- خود شبکه B رو از اول آموزش بدیم. (B)

2- شبکه B رو آموزش بدیم به شرطی که یه سری اطلاعات از شبکه B ای که قبلا آموزش دادیم استفاده کنیم. و اون اطلاعات رو تنظیم دقیق نکنیم.(BnB)

3- شبکه B رو آموزش بدیم به شرطی که یه سری اطلاعات از شبکه B ای که قبلا آموزش دادیم استفاده کنیم. و اون اطلاعات رو تنظیم دقیق کنیم.(BnB+)

4- شبکه B رو آموزش بدیم به شرطی که یه سری اطلاعات از شبکه A ای که قبلا آموزش دادیم استفاده کنیم. و اون اطلاعات رو تنظیم دقیق نکنیم.(AnB)

شبکه B رو آموزش بدیم به شرطی که یه سری اطلاعات از شبکه A ای که قبلا آموزش دادیم استفاده کنیم. و اون اطلاعات رو تنظیم دقیق کنیم. (AnB+)

و نتایج به صورت زیره:

بررسی کنیم ببینیم چی شده:

بی رنگ که همون B خالی هستش که یه درصدی برای صحت داده کاری نداریم و یه تایمی هم داره که بازم کاری نداریم ولی مقایسه می کنیم هاااا

نکات مهم نمودار: اول اینکه می بینیم بهترین نتیجه رو AnB+ داشته و هرچه تعداد لایه ها یا همون داده هایی که از حیوانات به گیاهان منتقل شده بیشتر شده نتیجه هم بهتر شده البته بدونیم که ما گیاهان بهش یاد میدادیم و نمی گفتیم که مثلا حیوانات دم دارن و دم گیاهان اینجاست. ما اینجا یه سری اطلاعات بهش میدیم که قراره تعمیم پیدا کنن و کردن که باب میل ماست و این دقیقا همون چیزیه که من در پست قبل اشاره کردم. یکی از نکات بد اینکه که اگه یه سری اطلاعات از شبکه حیوانات به شبکه گیاهان منتقل کنیم و نخوایم اونا رو دست بزنیم هرچی این اطلاعات بیشتر بشه اوضاع رو بدتر می کنه ینی رنگ قرمز. و یادمون باشه که بهترین نتیجه مال داده ها نامرتبط بود نه مرتبط! در انتقال داده های مرتبط که به رنگ آبی و آبی با + نشان داده شده خیلی بهبودی در صحت نمی بینیم ولی خب زمان آموزش ما کمتر میشه که نشان داده نشده اینجا. ولی موضوع ما فهم بیشتره اینجا نه سرعت بیشتر.

بگذریم اگه شبکه می دونید حتما یه سری به این مقاله بزنید.

چی فهمیدیم بالاخره از این مقاله؟ که آقا اطلاعات نامرتبط به یه موضوعی می تونه فهم ما رو در یه موضوع دگ بیشتر کنه اگه بتونیم fine tune یا به عبارتی این ارتباط ها رو بفهمیم. می خوام بگم که نگید من رمان نمی خونم به چه دردم می خورده. نگید انتگرال مشتق کجای زندگیمون به درد می خوره و کلی از این دست حرفا. بهتره سعی کنیم همه چیزو بخونیم این باعث میشه قدرت مغز ما در موارد مختلف بهتر و بهتر بشه این در حالیه که ممکنه به این موضوع پی نبریم که چجوری تاثیر می ذاره.

همه چیزو یاد بگیریم همیشه و همه جا