یادگیری ماشین به عنوان حوزه هنری برای تجزیه و تحلیل مجموعه داده های سطح بالا و برون یابی اطلاعات پنهان تبدیل شده است. مدل ها به دلایل مختلف مانند طبقه بندی یا کارهای پیش بینی در یادگیری ماشین ایجاد می شوند. به طور خاص ، شبکه های عصبی Convolution (CNN) ، پتانسیل بسیار خوبی در تجزیه و تحلیل تصویر و استخراج ویژگی ها نشان داده اند. یکی از مشکلات آموزش مدل های یادگیری ماشین در تصاویر ، استفاده از مجموعه داده هایی است که کوچک هستند و فاقد تنوع هستند ، منجر به مدل های ناکارآمد و نادرست می شود. برای غلبه بر این مشکل ، تقویت تصاویر در یک مجموعه داده کوچک می تواند برای افزایش اندازه مجموعه داده ها و ایجاد یک مدل کارآمدتر برای انجام کار انجام شود.
تکنیک های مختلف تقویت داده ها برای ایجاد نمونه های جدید برای افزایش اندازه یک مجموعه داده تصویر وجود دارد. برخی از این تکنیک ها شامل کشت ، اضافه کردن سر و صدا ، تغییر اندازه ، چرخش ، چرخش و تغییر رنگ یک تصویر است. یکی از سقوط ها در استفاده از این تکنیک ها این است که هیچ معرفی داده های "جدید" به مدل وجود ندارد. این مدل قبلاً این نمونه ها را در حالت دیگری مشاهده کرده است (برای مثال: چرخش یک تصویر 45 درجه یک مدل را نشان می دهد که همان تصویر را فقط یک حالت متفاوت نشان می دهد که در آن زاویه تصویر است). در حالی که مهم است که یک مدل بتواند همان نمونه را در حالت های مختلف طبقه بندی کند ، با استفاده از همان داده ها ممکن است تأثیر زیادی در تعمیم پذیری مدل نداشته باشد. تعمیم پذیری توانایی مدل در شناسایی صحیح و درک نمونه های داده های بدون نظارت است [1].
شبکه های مخالف تولید کننده (GANS) یک روش تقویت داده ها هستند که نمونه های جدید داده ها را تولید می کنند. GAN ها از یک فضای نهفته سر و صدای تصادفی می گیرند و تصاویر منحصر به فردی را تولید می کنند که از توزیع ویژگی مجموعه داده اصلی تقلید می کند. یک GAN شامل دو شبکه مختلف در معماری خود است که برای دستیابی به تعادل NASH رقابت می کنند (بیشتر در مورد تئوری بازی و تعادل Nash در اینجا می توان در اینجا یافت). برای این تحقیق ، شبکه های GAN از DCGAN و WGAN مدل شده اند که از شبکه های عصبی Convolutional به عنوان چارچوبی برای دو مدل رقیب خود استفاده می کنند. یک WGAN از ساختار مشابهی با DCGAN استفاده می کند اما فاصله Wasserstein-1 را برای عملکرد از دست دادن خود اتخاذ می کند ، و تبعیض آمیز را به "منتقد" تبدیل می کند که پیش بینی می کند که یک نمونه از مجموعه داده های اصلی چقدر است.
"تمایز کننده" در یک GAN تنها هدف آن تجزیه و تحلیل نمونه های تقلبی و واقعی است، و هر نمونه را "جعلی" یا "واقعی" برچسب گذاری می کند. دسته ای از نمونه های واقعی از مجموعه داده اصلی به تشخیص دهنده داده می شوند، در حالی که نمونه های جعلی از Generator می آیند."Generator" همانطور که از نامش مشخص است، هدف از آن دریافت نویز تصادفی از یک فضای پنهان به عنوان ورودی و تولید داده های "جعلی" است تا به متمایز کننده داده شود. هدف مولد ایجاد تصاویری است که به قدری واقع بینانه باشد که متمایز کننده تصور کند آنها واقعی هستند. از طریق استفاده از پس انتشار برای به روز رسانی وزن ها و سوگیری های این مدل ها در طول زمان، مولد به آرامی یاد می گیرد که نمونه هایی ایجاد کند که توزیع فیزیکی و ریاضی مجموعه داده اصلی را تقلید کند.
در حالی که ریاضیات زیادی در پیاده سازی GAN ها دخیل است، من فقط می خواستم چارچوب اصلی را ارائه دهم (نکته! مقاله آینده در مورد GAN ها برای بررسی بیشتر در این ریاضیات!) توابع کلی ضرر برای یک GAN توسط تشریح شده است. گودفلو و همکاران[3] در سال 2014.
عملکرد تلفات شبکه عبارت است از:
جایی که تمایز کننده می خواهد مقدار تابع را به حداکثر برساند و مولد می خواهد مقدار تابع را به حداقل برساند. D(x) احتمال "واقعی" یک نمونه و D(G(z)) احتمال "جعلی" بودن نمونه است.
تابع ضرر Discriminator است:
تابع تلفات ژنراتور عبارت است از:
و بعدا به :
گودفلو بعداً عملکرد تلفات ژنراتور را برای پایداری و غلبه بر مشکلات اشباع تغییر داد. در حالی که آموزش GAN ها به دلیل ناپایداری تا حدودی دشوار است (در اینجا اطلاعات بیشتری در مورد ناپایداری GAN وجود دارد)، اگر بتوانید یک GAN با داده های داده شده خود آموزش دهید، می توانید داده هایی را که نسبت به مجموعه داده اصلی واقعی تر است و هرگز دیده نشده است، تقویت کنید. توسط مدل طبقه بندی که برای افزایش تعمیم پذیری یک مدل ضروری است. این استدلال برای استفاده از GAN ها نسبت به سایر تکنیک های افزایش داده است. ما می توانیم نمونه های جدید را با موفقیت برای داده ها بدون نیاز به بیرون رفتن و دریافت آن ها خودمان ایجاد کنیم و می توانیم مطمئن باشیم که داده های افزوده شده از توزیع احتمال مشابهی از داده های اصلی پیروی می کنند، اگر به درستی آموزش داده شوند.
مجموعه داده
مجموعه داده مورد استفاده برای این تجزیه و تحلیل ، مجموعه داده MNIST از شماره های دست نوشته بود. برای این تجزیه و تحلیل ، از دو اندازه متفاوت از مجموعه داده استفاده شد. یک مجموعه داده به نام "مجموعه داده اصلی" اندازه اصلی MNIST با 60،000 نمونه برای آموزش و 10،000 نمونه برای آزمایش بود. مجموعه داده دوم به نام "مجموعه داده های پایین" ، انتخاب تصادفی از MNIST از 3000 تصویر برای مجموعه داده های آموزشی با 10،000 تصویر برای مجموعه داده های آزمایش بود.
پیش پردازش
از آنجا که این تجزیه و تحلیل با استفاده از API Keras انجام شد ، Greyscale ، 28x28 تصاویر ابتدا باید به آرایه های Numpy تبدیل شوند. این آرایه ها سپس به فرمت "float32" تبدیل شدند و برای این مقیاس پیکسل 255 تقسیم شدند.
مدل های طبقه بندی CNN
دو مدل مختلف ایجاد شد ، یکی برای مجموعه داده های اصلی و دیگری برای مجموعه داده های کوچک شده. همانطور که در بالا نشان داده شده است ، مدل ها از نظر معماری بسیار مشابه بودند به جز تعداد نورون های موجود در لایه حلقوی. این مدل ها بین این دو آزمایش تغییر نکرده اند تا ببینند چگونه داده های افزوده از GAN بر معماری موجود تأثیر می گذارد.
شبکه های مخالف مولد
بیشتر یادگیری GAN من از کتابهای مولد ژیسون براون در پایتون آمده است.(بسیار توصیه می شود! فوق العاده مفید!). من همچنین از طریق دوره تخصصی شبکه های مخالف در Coursera کار کردم که واقعاً یک شیرجه عمیق را برای درک تئوری و اجرای GAN ها انجام می دهد.
دو نوع مختلف GAN ایجاد شد. اولین GAN ایجاد شده یک GAN مشروط (CGAN) و نوع دوم GAN ایجاد شده Wasserstein Gan (WGAN) بود. در حالی که ریاضیات در پشت نحوه تدوین این شبکه ها فراتر از محدوده این پست است ، من می خواهم چند تفاوت کلی بین دو چارچوب GAN را در بر بگیرم. هر دو GAN های مورد استفاده در برچسب های کلاس (9-9) شرط شدند.
فاصله آغازین Fréchet
یک مشکل در داده های افزوده ارزیابی کیفیت داده ها است."کیفیت" در اینجا به این معنی است که داده های مصنوعی به مجموعه داده های اصلی چقدر مشابه هستند ، و همچنین توزیع احتمال مجموعه داده اصلی در مقایسه با مجموعه داده های افزوده چقدر مشابه است. یک ارزیابی اندازه گیری برای تعیین کمیت "کیفیت" تصاویر ، متریک نمره فاصله از راه دور Fréchet است.
نمره FID میانگین و کواریانس فعال سازی مجموعه دو تصویر را که از مدل V3 آغاز می شود ، مقایسه می کند. یکی از احتیاط ها برای استفاده از این متریک این است که تعداد کمتری از تصاویر در مقایسه می توانند منجر به نمرات مهمات مهم برای مجموعه داده ها از توزیع مشابه یا مشابه شوند.
آزمایش
دو آزمایش برای تجزیه و تحلیل چگونگی تأثیر عملکرد یک مدل با استفاده از GAN برای افزایش داده های تصویر انجام شد.
آزمایش 1: آموزش CNN با استفاده از دو مجموعه داده با اندازه متفاوت و بدون داده افزوده.
در حالی که می توان مدل های بهتری را برای MNIST ایجاد کرد ، هدف این بود که دو مدل را که از مشکلات بیش از حد/زیربنایی که در آموزش مدل یادگیری ماشینی رخ می دهد ، بدست آوریم. همانطور که مشاهده می کنید ، دقت 99. 26 ٪ برای مجموعه داده های اصلی MNIST حاصل شد و دقت 92. 63 ٪ برای مجموعه داده های کوچکتر حاصل شد. مجموعه داده های کوچکتر نیز ضرر بسیار بیشتری داشت که انتظار می رفت از آنجا که به طور کلی آموزش مدل ها با مقادیر محدود داده بسیار دشوارتر است (از این رو یکی از دلایلی که ما از تکنیک های تقویت داده استفاده می کنیم!)
آزمایش 2: آموزش CNN با استفاده از دو مجموعه داده با اندازه متفاوت و بدون داده افزوده.
داده های افزوده
داده ها با دو نوع GAN مختلف همانطور که قبلاً ذکر شد ، افزوده شد. پس از افزودن داده ها ، تصاویر و برچسب ها به مجموعه داده های اصلی اضافه شدند. داده های CGAN و WGAN هرگز در طول این تحقیق در هیچ یک از مجموعه داده ها ترکیب نشده اند. در زیر دو نمونه مصنوعی از کلاس "0" وجود دارد که توسط هر یک از GAN ها تولید شده است.
من توانستم با موفقیت 100 دوره CGAN را آموزش دهم ، با این حال ، من نتوانستم WGAN خود را به طور کامل آموزش دهم تا فضای GPU محدود را در Google Colab انجام دهم (من از آن زمان در یک حساب حرفه ای مشترک شده ام!).
نمرات فاصله از راه دور Fréchet
با توجه به RAM محدود در Google Colab ، من فقط می توانم نمرات FID تصاویر را از دو GANSS مختلف تا 5000 تصویر تجزیه و تحلیل کنم. هدف من این بود که ببینم آیا روند کاهش نمرات از 100 تصویر در مقایسه با 5000 تصویر در مقایسه وجود دارد (نمرات پایین تر بهتر است).
همانطور که مشاهده می کنید ، نمرات FID با گذشت زمان از 100 به 5000 تصویر کاهش می یابد. در حالی که نمرات FID تا حدودی زیاد است ، با دیدن این روند در حال کاهش ، زیرا تصاویر بیشتری را اضافه می کنیم توجیه می کند که تصاویر برای استفاده از آنها در بازآموزی مدل های CNN مورد استفاده برای طبقه بندی داده های MNIST مناسب هستند ، به خصوص هنگامی که 10،000 تصویر اضافه می شوند.
آموزش مدل
با cGAN، هیچ تغییری برای مجموعه داده اصلی از نظر دقت آن وجود نداشت (افزایش 0. 19٪). ضرر نیز به سختی تحت تأثیر قرار گرفت (کاهش 1. 23٪ برای آموزش و 1. 96٪ برای اعتبار). آنچه مهم است این است که استفاده از GAN از عملکرد مدل کم نکرده است. استفاده از GAN بهبودهای عظیمی را برای مجموعه داده کوچک نشان داد. این مدل به دقت 97. 72٪ (افزایش 5. 09٪) دست یافت و پیشرفت های زیادی را در معیارهای ضرر نشان داد (13. 16٪ کاهش در از دست دادن آموزش و 15. 19٪ در از دست دادن اعتبار).
برای WGAN، مدل اصلی واقعاً تغییر نکرده است (مشابه آنچه با استفاده از داده های تقویت شده از cGAN رخ داد). هنوز مقداری کاهش در معیارهای ضرر برای مدل وجود داشت، اما دقت راکد بود و بهبود کمی را نشان داد. برای مدل داده کوچک شده، دقت به دست آمده 98. 00٪ (5. 37٪ افزایش) بود در حالی که تلفات هر دو دوباره کاهش یافت (14. 48٪ کاهش برای از دست دادن آموزش و 10. 72٪ کاهش برای از دست دادن اعتبار).
نتایج حاصل از استفاده از داده های تولید شده توسط دو GAN مختلف و سپس اضافه شدن به مجموعه داده ها نشان می دهد که GAN ها در دستیابی به افزایش گسترده در عملکرد مدل کمک می کنند! همانطور که می بینید، مجموعه داده های کوچکتر به افزایش اندازه خود حساس تر هستند و مدل های آنها بیشترین تأثیر مثبت را از استفاده از GAN در آموزش CNN به دست می آورند.
تجزیه و تحلیل k-Folds
پس از بازآموزی مدل ها، تحلیل k-Folds برای مشاهده عملکرد مدل های تازه آموزش دیده در مقایسه با یکدیگر در سطوح مختلف چین ها انجام شد. برای این تجزیه و تحلیل، من 5 برابر را انتخاب کردم، با این حال، روش های زیادی برای یافتن تعداد بهینه مقادیر k وجود دارد.(به طور کلی استاندارد صنعت 5 یا 10 است). نتایج این بود که k-Folds بسیار شگفت انگیز بود و در واقع افزایش بیشتری در دقت و کاهش از دست دادن مدل برای مجموعه داده های مخلوط با داده های cGAN نشان داد.
تجزیه و تحلیل k-Folds مشاهدات قبلی را منعکس می کند که تصاویر تقویت شده تأثیر زیادی بر مجموعه داده اندازه اصلی نداشته اند. برای مجموعه های آموزشی کوچک تر، k-Folds پیشرفت های عمده ای در دقت و از دست دادن مجموعه داده ها همراه با داده های افزوده نشان داد.
نتیجه
شبکه های مخالف تولید کننده یک روش تقویت داده قوی هستند که منجر به مدل های قوی با تعمیم پذیری پیشرفته می شوند. CGAN نشان داد که مجموعه داده بزرگتر را به طور مؤثرتر از WGAN بهبود می بخشد. دلایل کارآیی CGAN می تواند این باشد که یک مجموعه تصویری متنوع تر ایجاد کرده و قادر به آموزش 100 دوره کامل است. WGAN برای آموزش مجموعه داده های کوچکتر در آزمایشات اولیه تحقیق کارآمدتر بود اما از طریق تجزیه و تحلیل Folds نشان داده شد که تأثیر کمتری در مدل ها نسبت به CGAN دارد. این مشاهدات اهمیت را توضیح می دهد که GAN ها به طور کلی تصاویر با کیفیت بالاتری را با دوره های بیشتر در فرایند آموزش خود تولید می کنند. افزایش داده ها با GANS نشان داده شده است که باعث افزایش دقت مدل و کاهش از دست دادن مدل ضمن غلبه بر بیش از حد و زیربنایی می شود و از استفاده آنها برای افزایش قابلیت تعمیم مدل پشتیبانی می کند.
لطفاً مرا در LinkedIn اضافه کنید یا برای دستیابی به آن احساس راحتی کنید!
منابع اضافی
- بشرGoodfellow ، Y. Bengio و A. Courville ، Deep Leaing. Mitpress ، 2016
- Szegedy ، Christian ، et al."تجدید نظر در معماری شروع برای دید رایانه."مجموعه مقالات کنفرانس IEEE در مورد چشم انداز رایانه و تشخیص الگوی. 2016.
- ایان گودفلور ، ژان پوگت-ابادی ، مهدی میرزا ، بینگ زو ، دیوید وارده-فارلی ، شرجیل اوزیر ، آرون کورویل و یوشوا بنگیو. Generalnalnets. Advances در سیستم های پردازش اطلاعات عصبی ، 27 ، 2014
سیگنال های تجاری...
ما را در سایت سیگنال های تجاری دنبال می کنید
برچسب :
نویسنده : عبدالله بوتیمار
بازدید : <-PostHit->
تاريخ : دوشنبه
9 مرداد
1402 ساعت: 15:52