Top Banner
200

یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

May 22, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای
Page 2: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

ای یادگیری عمیق، کراس و رقابت هkaggle

عمیقدرس یادگیری آقای دکتر امیرخانی

دانشگاه قم97اردیبهشت

2

Page 3: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

?0 1 0 1 0

1 0 1 1 1

0 1 0 1 1

0 0 0 1 1

1 0 1 0 1

K

Page 4: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

زینب آرزومند

kaggleیادگیری عمیق، کراس و رقابت های 4

Competitions: Fashion MNIST

Kernel: CNN with Keras

Page 5: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

Fashion MNIST

•An MNIST-like dataset of 70,000 28x28 labeled fashion images

•Fashion-MNISTتصاویرازایمجموعهfashionاست.

نمونه10،000باتستمجموعهیکواینمونه60،000آموزشمجموعهیکازمتشکلکه•.است

.استکالس10ازبرچسبیکباهمراه،28در28ابعادباسفیدوسیاهتصویریکنمونههر•

kaggleیادگیری عمیق، کراس و رقابت های 5

Page 6: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

Fashion MNIST …

(پیکسل784مجموعدر).داردعرضدرپیکسل28وارتفاعدرپیکسل28تصویرهر•

ریکیتایاروشنیمیزاندهندهنشانکهداردوجودآنبامرتبطمقداریکپیکسلهربرای•.استپیکسلآن

.است255و0بینصحیحعددیکمقداراین•

.داردستونtest785وtrainهایدادهمجموعه•

.استلباسنوعدهندهنشانوکالسهایبرچسبشاملاولستون•

.استمربوطهتصویرهایپیکسلمقادیرحاویهاستونبقیه•

kaggleیادگیری عمیق، کراس و رقابت های 6

Page 7: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

برچسب ها

:به یکی از برچسب های زیر اختصاص داده می شودtestو trainهر مثال •تی شرت/ تاپ0شلوار1پلیور2لباس3کت4صندل5پیراهن6کفش کتانی7کیف/ کیسه8بوت تا مچ پا9

kaggleیادگیری عمیق، کراس و رقابت های 7

Page 8: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

اطالعات مختصر

درشدهتوصیفهایدستورالعملباKerasازاستفادهباCNNبندیطبقهیککار،ایندر•Learning Deepزبانباpythonدادخواهیمآموزش.

استفادهvalidationعنوانبه(دادهردیف12000)trainاطالعات٪20ازاستراتژیاین•.کردخواهد

شدهندیدههرگزکههاییدادهرویبرمدلصحتارزیابیمنظوربهتستهایدادهحالیکهدر•.شودمینگهداریاست،

kaggleیادگیری عمیق، کراس و رقابت های 8

Page 9: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

kaggleیادگیری عمیق، کراس و رقابت های 9

Page 10: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

عه تعیین مجموارزیابی و

آزمون

kaggleیادگیری عمیق، کراس و رقابت های 10

Page 11: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

عه تعیین مجموارزیابی و

آزمون

kaggleیادگیری عمیق، کراس و رقابت های 11

Page 12: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

ایجاد مدل

kaggleیادگیری عمیق، کراس و رقابت های 12

Page 13: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

خالصه مدل

kaggleیادگیری عمیق، کراس و رقابت های 13

Page 14: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

خالصه مدل

kaggleیادگیری عمیق، کراس و رقابت های 14

Page 15: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

نتایج

یک)استشدهگزارشزیرسایتدرکهاستایbaselineازمابندیطبقهرسدمینظربه•.استبهتر(است0.897متوسطدقتباSVMبندیطبقه

kaggleیادگیری عمیق، کراس و رقابت های 15

Page 16: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

نتایج

kaggleیادگیری عمیق، کراس و رقابت های 16

Page 17: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

نتایج

kaggleیادگیری عمیق، کراس و رقابت های 17

Page 18: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

نتایج

ه شده در اینجا یک زیر مجموعه از کالس هایی که به درستی پیش بینی شده اند نشان داد•:است

kaggleیادگیری عمیق، کراس و رقابت های 18

Page 19: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

نتایج

اده شده در اینجا یک زیر مجموعه از کالس هایی که به نادرستی پیش بینی شده اند نشان د•:است

kaggleیادگیری عمیق، کراس و رقابت های 19

Page 20: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

منابع

• https://www.kaggle.com/zalando-research/fashionmnist

kaggleیادگیری عمیق، کراس و رقابت های 20

Page 21: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

آزاده امیرک9614163003

kaggleیادگیری عمیق، کراس و رقابت های 21

Competition: Cdiscount’s Image Classification

Challenge

Kernel:Keras generator for reading directly from

BSON

Page 22: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

Introduction

• Cdiscount generated nearly 3 billion euros last year, making it France’s largest non-food e-commerce company. While the company already sells everything from TVs to trampolines, the list of products is still rapidly growing. By the end of this year, Cdiscount.com will have over 30 million products up for sale. Ensuring that so many products are well classified is a challenging task.

• Currently, Cdiscount.com applies machine learning algorithms to the text description of the products in order to automatically predict their category. As these methods now seem close to their maximum potential, Cdiscount.com believes that the next quantitative improvement will be driven by the application of data science techniques to images.

kaggleیادگیری عمیق، کراس و رقابت های 22

Page 23: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

Introduction …

• In this challenge you will be building a model that automatically classifies the products based on their images. As a quick tour of Cdiscount.com's website can confirm, one product can have one or several images. The data set Cdiscount.com is making available is unique and characterized by superlative numbers in several ways:

• Almost 9 million products: half of the current catalogue

• More than 15 million images at 180x180 resolution

• More than 5000 categories: yes this is quite an extreme

• multi-class classification!

kaggleیادگیری عمیق، کراس و رقابت های 23

Page 24: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

Kernel introduction

This notebook contains a generator class for Keras called BSONIteratorthat can read directly from the BSON data. You can use it in combination with ImageDataGenerator for doing data augmentation.

This notebook has 4 main parts:

1. Create lookup tables

2. The generator

3. Training

4. Test set predictions

⁂ What is BSON?

MongoDB represents JSON documents in binary-encoded format called BSON behind the scenes.

BSON extends the JSON model to provide additional data types, orderedfields, and to be efficient for encoding and decoding within differentlanguages.

kaggleیادگیری عمیق، کراس و رقابت های 24

Page 25: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

Part 1: Create lookup tables

• The generator uses several lookup tables that describe the layout of the BSON file, which products and images are part of the training/validation sets, and so on.

• You only need to generate these tables once, as they get saved to CSV files.

kaggleیادگیری عمیق، کراس و رقابت های 25

Page 26: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

Part 1: Create lookup tables...

** Read the BSON files

kaggleیادگیری عمیق، کراس و رقابت های 26

Page 27: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

Part 1: Create lookup tables...

Create a random train/validation split

We split on products, not on individual images. Since some of the categories only have a few products, we do the split separately for each category.

This creates two new tables, one for the training images and one for the validation images. There is a row for every single image, so if a product has more than one image it occurs more than once in the table.

kaggleیادگیری عمیق، کراس و رقابت های 27

Page 28: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

Part 1: Create lookup tables...

Create a 80/20 split. Also drop 90% of all products to make the dataset more manageable.

kaggleیادگیری عمیق، کراس و رقابت های 28

Page 29: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

Part 2: The generator

The Keras generator is implemented by the BSONIterator class.

It creates batches of images (and their one-hot encoded labels) directly from the

BSON file.

It can be used with multiple workers.

Create a generator for training and a generator for validation.

kaggleیادگیری عمیق، کراس و رقابت های 29

Page 30: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

Part 2: The generator ...

Does it really output images and one-hot encoded class labels? Note that the

images are pre-processed (and augmented) and therefore may look weird.

kaggleیادگیری عمیق، کراس و رقابت های 30

Page 31: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

Part 3: Training

Create a very simple Keras model and train it, to test that the generators work.

kaggleیادگیری عمیق، کراس و رقابت های 31

Page 32: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

Part 3: Training …

kaggleیادگیری عمیق، کراس و رقابت های 32

Page 33: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

Part 3: Training …

kaggleیادگیری عمیق، کراس و رقابت های 33

Page 34: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

Part 3: Training …

kaggleیادگیری عمیق، کراس و رقابت های 34

Page 35: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

منابع

• https://www.kaggle.com/humananalog/keras-generator-for-reading-directly-from-bson

kaggleیادگیری عمیق، کراس و رقابت های 35

Page 36: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

Zohreh pourjafari

kaggleیادگیری عمیق، کراس و رقابت های 36

Competition: Dog Breed Identification

Page 37: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

ه شناخت مسالو جمع آوری

داده

تشخیص نژاد سگ از روی تصویر: مسئله

تصاویر سگ: ورودی

نوع نژاد سگ: خروجی

نوع مسئله :multiclass classification

Stanford Dogs Dataset

120نژاد

20580تصویر

kaggleیادگیری عمیق، کراس و رقابت های 37

Page 38: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

یمعیار ارزیاب

معیار ارزیابی

فرمت فایل ارسالی

پروتکل ارزیابی

از روشhold-out 912بوده که 1141استفاده کرده است و تعداد کل تصاویر.برداشته استvalidationو بقیه رو برای trainتا برای

kaggleیادگیری عمیق، کراس و رقابت های 38

Page 39: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

پیش پردازشداده

کاهش تعداد کالس هابارگذاری داده

پیش پردازش داده

Hold-out

Data augmentation

kaggleیادگیری عمیق، کراس و رقابت های 39

Page 40: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

همعماری شبک

kaggleیادگیری عمیق، کراس و رقابت های 40

Page 41: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

Inception-v3

• https://becominghuman.ai/transfer-learning-retraining-inception-v3-for-custom-image-classification-2820f653c557

kaggleیادگیری عمیق، کراس و رقابت های 41

Page 42: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

خالصه مدل

kaggleیادگیری عمیق، کراس و رقابت های 42

Page 43: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

خالصه مدل ...

kaggleیادگیری عمیق، کراس و رقابت های 43

Page 44: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

kaggleیادگیری عمیق، کراس و رقابت های 44

Page 45: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

منابع

https://www.kaggle.com/methindor/keras-starter-kernel

kaggleیادگیری عمیق، کراس و رقابت های 45

Page 46: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

زهراچگنی

kaggleیادگیری عمیق، کراس و رقابت های 46

- IEEE's Signal Processing Society: رقابت

Camera Model Identification

Keras:کرنل Simple CNN Starter

Page 47: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

معرفی رقابت

.تاسگرفتهقرارمطالعهموردجهانسراسردرمحققچندینتوسطفعالطوربهمسئلهاین•هایتخمین:اندشدهارائهگذشتهدرماشینیادگیریپیشنهادیهایحلراهازبسیاریاهایخطهمپوشانیبندی،طبقههایویژگیعنوانبهدوربینرنگتخریبمربعاتکمترین

بندیطبقهترپیچیدههایبندیطبقهبهکههاییویژگیعنوانبهپیکسلارزشبینیپیشاینحال،اینباشناساییهایویژگیدوربینمدلیادگیریبرایهاCNNازاستفادهوشده

.استنشدهحلکافیاندازهبههنوزمشکل

کهکندمیدعوتالگوریتمیساختبهراشماIEEEسیگنالپردازشانجمنرقابت،اینبرای•مییشناسایردیابیازاستفادهباراعکسیکدوربین،هایمدلازیککدامکندمیمشخص

.کند

kaggleیادگیری عمیق، کراس و رقابت های 47

Page 48: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

هدف رقابت

ودهیمبتشخیصفیلمداخلازرامجرمردپایاینکهبرایفیلمطریقازمجرمردپایتشخیص•واقعییااستساختگیفیلمکهکنیمتعیینهمچنین

kaggleیادگیری عمیق، کراس و رقابت های 48

Page 49: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

هدف رقابت

kaggleیادگیری عمیق، کراس و رقابت های 49

Page 50: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

ارزیابی

.شودمیارزیابیوزنیبندیطبقهدقتاساسبررقابتاین•

kaggleیادگیری عمیق، کراس و رقابت های 50

Page 51: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

همعماری شبک

kaggleیادگیری عمیق، کراس و رقابت های 51

Page 52: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

هخالصه شبک

kaggleیادگیری عمیق، کراس و رقابت های 52

Page 53: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

ه خالصه شبک...

kaggleیادگیری عمیق، کراس و رقابت های 53

Page 54: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

منابع

https://www.kaggle.com/c/sp-society-camera-model-identification

kaggleیادگیری عمیق، کراس و رقابت های 54

Page 55: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

رقیه دوست پرور

kaggleیادگیری عمیق، کراس و رقابت های 55

Food Images (Food-101): رقابت

Simple CNN: کرنل

Page 56: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

همعرفی مسئل

مجموعهاین.استfood-101دادهمختلفهایزیرمجموعهازتعدادیشاملدادهمجموعه•آموزشکهاستاینایده.باشدمیغذاانواعازدسته101درغذاداربرچسبتصاویرشاملستردهگهاینسخهشاملهادادهدلیلهمینبه.شودایجادتصویرتحلیلبرایتریسادههای

طوربهوHDF5صورتبههاداده.استسریعهایتستایجادبرایتصاویرازشدهضعیفKerasخاص HDF5Matrixخواندراآنهاتوانمیراحتیبهکهاندشدهاصالح.

ازتفادهاسباراناشناختهتصویریکخودکارطوربهبتوانیمکهاستاینرقابتایندرهدف•تصاویر1000وآموزشیتصاویر10099شاملمجموعهاین.کنیمبندیطبقههادادهمجموعه

.است(32*32)تست

kaggleیادگیری عمیق، کراس و رقابت های 56

Page 57: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

همعرفی مسئل

kaggleیادگیری عمیق، کراس و رقابت های 57

Page 58: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

مجموعه داده Food-101

داده ها از منبع اصلی موجود در •https://www.vision.ee.ethz.ch/datasets_extra/food-101 /بسته بندی شده اند.

250برای هر کالس، . شدهتصویر ارائه 000'101دسته غذا، با 101شاملیک مجموعه داده •.تصویر آموزشی ارائه شده است750دستی تست شده و همچنین ر تصاوی

kaggleیادگیری عمیق، کراس و رقابت های 58

Page 59: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

همعماری شبک

ینسخهاسکریپتازاستفادهباتصاویربندیطبقهبرایاساسیبسیارعصبیشبکهیک•کوچکهایدادهمجموعهبرایمناسبوسریعآموزشبرایشبکهاین.Kerasنمایشی.اندشدهاضافهoverfittingازجلوگیریبرایDropoutهایالیه.شودمیاستفاده

kaggleیادگیری عمیق، کراس و رقابت های 59

Page 60: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

همعماری شبک

kaggleیادگیری عمیق، کراس و رقابت های 60

Page 61: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

ارزیابی

بهآموزشیدادهمنحنی.دهدمینشانآموزشیدورهطولدرراAccوLossارزیابی،تابع•.استقرمزرنگبهارزیابیدادهوآبیرنگ

kaggleیادگیری عمیق، کراس و رقابت های 61

Page 62: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

تجسم نتایج

ش بینی ها در اینجا نتایج یک نمونه کوچک از تصاویر معتبر را نشان می دهد تا ببینیم که پی•.چگونه با داده ها مطابقت دارند

kaggleیادگیری عمیق، کراس و رقابت های 62

Page 63: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

منابع

• https://www.kaggle.com/kmader/simple-cnn/notebook

• https://www.vision.ee.ethz.ch/datasets_extra/food-101/

kaggleیادگیری عمیق، کراس و رقابت های 63

Page 64: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

مریم طالب وند

kaggleیادگیری عمیق، کراس و رقابت های 64

Competetion: TensorFlow Speech

Recognition Challenge

kernel: keras Directory Iterator - (LB 0.72)

Page 65: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

همعرفی مسئل

کند؟درکراسادهگفتاریهایفرمانکهکنیدایجادالگوریتمیکتوانیدمیآیا•

Speechگروهیهایدستورالعملازاستفادهبرایشمارقابت،ایندر• Datasetمیچالش.کنددرکراگفتاریسادهدستوراتکهکنیدایجادراالگوریتمیتاکنید

kaggleیادگیری عمیق، کراس و رقابت های 65

Page 66: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

داده ها

مجموعه داده ای طراحی شده است که به شما اجازه می دهد رابط های صوتی اساسی اما مفید •نجانده ، ارقام و دستورالعمل های گ"نه"، "بله"برای برنامه های کاربردی را با کلمات رایج مانند

.شده ایجاد کنید

•train.7z :ی پوشه صوت. شامل چند فایل اطالعاتی و یک پوشه از فایل های صوتی می باشد( تیبرچسب از کلیپ صو)ثانیه از فرامین صوتی با نام پوشه 1حاوی زیرپوشه ها با کلیپ های

.می باشد

• ، بلی، نه، باال، پایین، چپ، راست: برچسب هایی که باید در تست پیش بینی کنید عبارتند از.و هر چیز دیگری مثل ناشناخته یا سکوت باید در نظر گرفته شود . روشن، خاموش، توقف، رفتن

kaggleیادگیری عمیق، کراس و رقابت های 66

Page 67: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

ارزیابی

مشاهدات فایل های ارسالی بر روی دقت چند طبقه ای ارزیابی می شوند، که به سادگی میانگین.با برچسب صحیح است

، بله، نه، باال، پایین، چپ، راست: برچسب ممکن برای مجموعه تست وجود دارد12فقط •.روشن، خاموش، توقف، رفتن، سکوت، ناشناخته است

عدد اول یا سکوت 10برچسب ناشناخته باید برای یک دستور استفاده شود که یکی از •.نیست

برای کلیپ صوتی در مجموعه تست، شما باید برچسب صحیح را پیش بینی کنید.

فایل ارسال باید شامل یک هدر و قالب باشد.

kaggleیادگیری عمیق، کراس و رقابت های 67

Page 68: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

kaggleیادگیری عمیق، کراس و رقابت های 68

Page 69: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

مدل

kaggleیادگیری عمیق، کراس و رقابت های 69

Page 70: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

خالصه مدل

kaggleیادگیری عمیق، کراس و رقابت های 70

Page 71: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

نتایج

kaggleیادگیری عمیق، کراس و رقابت های 71

Page 72: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

نتایج

kaggleیادگیری عمیق، کراس و رقابت های 72

Page 73: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

نتایج

kaggleیادگیری عمیق، کراس و رقابت های 73

Page 74: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

منابع

• https://www.kaggle.com/voglinio/keras-directory-iterator-lb-0-72

• https://www.kaggle.com/c/tensorflow-speech-recognition-challenge/kernels?sortBy=hotness&group=everyone&pageSize=20&competitionld=7634&kerneIType=Notebook

kaggleیادگیری عمیق، کراس و رقابت های 74

Page 75: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

Zahra zinaty

kaggleیادگیری عمیق، کراس و رقابت های 75

Competition: Invasive Species Monitoring

Identify images of invasive hydrangea

Kernel: Visualization using CV2 and Keras

Starter

Page 76: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

kaggleیادگیری عمیق، کراس و رقابت های 76

invasive species can have damaging effects on the environment, the

economy, and even human health. Despite widespread impact, efforts to track

the location and spread of invasive species are so costly that they’re difficult

to undertake at scale.

Because scientists cannot sample a large quantity of areas, some machine

learning algorithms are used in order to predict the presence or absence of

invasive species in areas that have not been sampled.

In this playground competition,

Kaggles are challenged to develop

algorithms to more accurately identify

whether images of forests and foliage

contain invasive hydrangea or not.

Introduction

of the

problem

Page 77: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

Data Description

kaggleیادگیری عمیق، کراس و رقابت های 77

The data set contains pictures taken in a Brazilian national forest. In some of the

pictures there is Hydrangea, a beautiful invasive species original of Asia.

File Descriptions

train.7z - the training set (contains 2295 images).

train_labels.csv - the correct labels for the training set.

test.7z - the testing set (contains 1531 images), ready to be labeled by your

algorithm.

sample_submission.csv - a sample submission file in the correct format.

Data fields

name - name of the sample picture file (numbers)

invasive - probability of the picture containing an invasive species. A

probability of 1 means the species is present.

Page 78: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

Kernel

description

kaggleیادگیری عمیق، کراس و رقابت های 78

Section 1: Image Visualization

In this section , we show some images on the training images,

as well provide some filters using cv2.

78

Page 79: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

Kernel description

kaggleیادگیری عمیق، کراس و رقابت های 7979

Page 80: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

80

Kernel description

80

An image that is

zero padded

Why we use of zero padding in convolutional networks ?

if the filter size is large relative to the input image size,

then without zero padding the output image will be much

smaller, and after a few layers you will be left with just a

few pixels. So to maintain a reasonably sized output, you

need zero-padding .

2. Network Architecture

kaggleیادگیری عمیق، کراس و رقابت های

Page 81: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

kaggleیادگیری عمیق، کراس و رقابت های 8181

No parameter

3*3*64*64+64 = 36928

3*3*128*64+128 = 73856

3*3*128*128+128 = 147584

3*3*256*128+256 = 255168

3*3*64*3+64= 1792

ATTENTION

Kernel description

Page 82: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

kaggleیادگیری عمیق، کراس و رقابت های 828282

18*18*256 = 82944

82944*256+256

256*1+1

No parameter

Kernel description

Page 83: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

Evaluation

kaggleیادگیری عمیق، کراس و رقابت های 83

Submissions are evaluated between the predicted probability and the observed target.

Submission File:

For each image in the test set, you must predict a probability for the target variable on whether the image contains invasive species or not. The file should contain a header and have the following format:

Page 84: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

Evaluation

kaggleیادگیری عمیق، کراس و رقابت های 84

Page 85: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

https://www.kaggle.com/netzone/visualization-using-cv2-and-keras-

starter

References

kaggleیادگیری عمیق، کراس و رقابت های 12

Page 86: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

Mohaddeseh Alikhani

9614163019

kaggleیادگیری عمیق، کراس و رقابت های 86

10 monkey speciesMonkey Classifier CNN (Xception ~0.90 acc)

Page 87: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

Introduction

kaggleیادگیری عمیق، کراس و رقابت های 87

• The dataset consists of two files, training and validation.

• Each folder contains 10 subforders labeled as n0~n9.

• Each corresponding a species form Wikipedia’s monkey cladogram.

• Images are 400x300 px or larger and JPEG format (almost 1400 images).

Page 88: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

Xception

kaggleیادگیری عمیق، کراس و رقابت های 88

Deep Learning with Depthwise Separable Convolutions

base_model = Xception(weights=weights,

include_top=False,

input_shape=(height, width, channels))

Page 89: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

Xception

kaggleیادگیری عمیق، کراس و رقابت های 89

Page 90: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

Xception

kaggleیادگیری عمیق، کراس و رقابت های 90

Page 91: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

Main Model

kaggleیادگیری عمیق، کراس و رقابت های 91

train_features, train_labels = extract_features(1097, train_generator)

test_features, test_labels = extract_features(272, test_generator)

history = model.fit(train_features,

train_labels,

epochs=30,

batch_size=batch_size,

shuffle=True,

validation_split=0.1,

callbacks=callbacks)

Page 92: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

Validation

kaggleیادگیری عمیق، کراس و رقابت های 92

Page 93: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

Validation

kaggleیادگیری عمیق، کراس و رقابت های 93

Page 94: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

https://www.kaggle.com/crawford/monkey-classifier-cnn-xception-0-90-

acc

References

kaggleیادگیری عمیق، کراس و رقابت های 12

Page 95: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

عارفه ساالری

kaggleیادگیری عمیق، کراس و رقابت های 95

Kernel : Use keras to classify Sea Lions

Page 96: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

همعرفی مسئل

سال گذشته به شدت رو به کاهش 30جمعیت شیرهای دریایی در غرب اقیانوس اطلس درطول •اهش فهمیدن دالیل ک. بوده است، و موجب شده که این گونه در خطر جدی انقراض قرار بگیرند

رشد جمعیت، به منظور جلوگیری ازین واقعه، امری ضروری و مهم است، که مستلزم شمارش.ساالنه تعداد اسب های آبی است

حلی تعدادی محقق در شیالت آالسکا بر روی این موضوع در حال تحقیق اند، آنها به دنبال راه•.ی کنندآبی منطقه را شناسایهستند که بتوانند از روی عکس های هوایی تعداد دقیق اسب های

.نتایج این شمارش بسیار برای نجات این جمعیت حساس هستند•

.هدف این رقابت شمردن تعداد گونه های مختلف اسب های آبی است•

.در کرنل انتخابی ما از یک روش ساده مدل سازی در کراس استفاده شده است•

kaggleیادگیری عمیق، کراس و رقابت های 96

Page 97: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

داده ها

kaggleیادگیری عمیق، کراس و رقابت های 97

Page 98: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

داده ها

kaggleیادگیری عمیق، کراس و رقابت های 98

Page 99: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

داده ها

kaggleیادگیری عمیق، کراس و رقابت های 99

Page 100: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

داده ها

kaggleیادگیری عمیق، کراس و رقابت های 100

Page 101: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

One hot

encoding

kaggleیادگیری عمیق، کراس و رقابت های 101

Page 102: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

ارزیابی

kaggleیادگیری عمیق، کراس و رقابت های 102

Page 103: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

ارزیابی

kaggleیادگیری عمیق، کراس و رقابت های 103

Page 104: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

منابع

• https://www.kaggle.com/radustoicescu/use-keras-to-classify-sea-lions-0-91-accuracy

kaggleیادگیری عمیق، کراس و رقابت های 104

Page 105: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

سعیده شیخ علیشاهی

kaggleیادگیری عمیق، کراس و رقابت های 105

Competition: Fruits Classification

Page 106: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

معرفی مجموعه داده

هاFruits 360

dataset

:ازعبارتندکهمحبوبمیوهنوع60حاویتصاویرازباالکیفیتباایمجموعه•

یز،رآووکادوآووکادو،زردآلو،،(دیگرنوعدووقرمزقرمز،-طالییطالیی،:مختلفانواع)سیب•فروتگریپ،(صورتی،سفید)انگورفرنگی،توتخرما،گیالس،،(قرمر،زرد)موزتمشک،

.رهغیوپرتغال،(مختلفانواع)گالبیانار،لیمو،آناناس،کیوی،نارنگی،،(صورتی،سفید)

kaggleیادگیری عمیق، کراس و رقابت های 106

Page 107: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

ایجاد مجموعهداده ها

Logitchیک دوربین • C920یکی از بهترین وب کم .برای فیلمبرداری از میوه ها استفاده شدولی با پشت میوه ها یک برگ کاغذ سفید به عنوان پس زمینه قرار گرفته شد.های موجود است

اختصاصی از توجه به تغییرات در شرایط نور،پس زمینه یکنواخت نبود بنابراین از یک الگوریتم.استفاده شد که میوه را از پس زمینه استخراج کنندflood fillنوع

Fruit recognitionدر مقاله ای با عنوان 2017/12/2این مجموعه داده ها در تاریخ •from images using deep learningمطرح شد.

.جمع آوری و ایجاد شد2018/2/8تا تاریخ 2017/2/25این مجموعه داده ها از تاریخ •

kaggleیادگیری عمیق، کراس و رقابت های 107

Page 108: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

•Fruits 360 dataset

تصویر38409:تعداد مجموعه داده ها•

تصویر28736:تعداد مجموعه داده های آموزشی•

تصویر9673:تعداد مجموعه داده های ارزیابی•

(میوه ها)60:تعداد کالس ها•

پیکسل100*100:اندازه تصویر•

بعضی از آنها به واسطه. حاوی تصاویر با میوه های مختلف استmultiple fruitsتست پوشه •.این یک آزمایش عالی برای تشخیص واقعی است. میوه های دیگر پوشیده شده اند

.ستبا برچسب های مختلف نشان داده شده ا( به عنوان مثال سیب)انواع مختلفی از همان میوه •

kaggleیادگیری عمیق، کراس و رقابت های 108

Page 109: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

kaggleیادگیری عمیق، کراس و رقابت های 109

Page 110: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

بررسی kernel …

. ذخیره شده استRGBکانال برای 3پیکسل با 45*45تمام تصاویر با اندازه kernelدر این

استفاده از یک شبکه عصبی با دو الیهDense(128 ،نرون64نرون)

(256،128،128،128،128)استفاده از یک شبکه عصبی عمیق تر با پنج الیه پنهان

استفاده از شبکه عصبی کانولوشنCNN

kaggleیادگیری عمیق، کراس و رقابت های 110

Page 111: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

بررسی kernel

(نرون64نرون و 128)Denseاستفاده از یک شبکه عصبی با دو الیه •

kaggleیادگیری عمیق، کراس و رقابت های 111

Page 112: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

بررسی kernel…

(256،128،128،128،128)استفاده از یک شبکه عصبی عمیق تر با پنج الیه پنهان•

kaggleیادگیری عمیق، کراس و رقابت های 112

Page 113: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

بررسی kernel…

CNNاستفاده از شبکه عصبی کانولوشن •

kaggleیادگیری عمیق، کراس و رقابت های 113

Page 114: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

بررسی kernel

. ذخیره شده استRGBکانال برای 3پیکسل با 64*64تمام تصاویر با اندازه kernelدر این •

kaggleیادگیری عمیق، کراس و رقابت های 114

Page 115: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

بررسی kernel…

CNNاستفاده از شبکه عصبی کانولوشن •

kaggleیادگیری عمیق، کراس و رقابت های 115

Page 116: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

بررسی kernel…

CNNاستفاده از شبکه عصبی کانولوشن •

kaggleیادگیری عمیق، کراس و رقابت های 116

Page 117: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

بررسی kernel…

CNNاستفاده از شبکه عصبی کانولوشن •

kaggleیادگیری عمیق، کراس و رقابت های 117

Page 118: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

منابع

• https://www.kaggle.com/mcbean/fruit-classification-w-nn

• https://www.kaggle.com/naveenc131/cnn-with-accuracy-of-98

kaggleیادگیری عمیق، کراس و رقابت های 118

Page 119: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

شناسایی نهنگ کوهان دار: رقابت(Humpback Whale Identification)

Data augmentation with keras: کرنل into CNN

قیاسیراضیه

kaggleیادگیری عمیق، کراس و رقابت های 119

Page 120: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

لهمعرفی مسئ

نشدگرمدلیلبههانهنگجمعیتحفظوبازیابینهنگ،رویهبیصیدهاقرنازبعد•.استشدهسختبسیارغذا،صنعتبرایماهیگیریصنعترقابتوهااقیانوس

فعالیتبررسیبرایتصویرینظارتهایسیستمازهانهنگنجاتبهکمکبرایدانشمندان•.کنندمیاستفادههااقیانوس(تغییرات)

گونهاتکنندمیاستفادهتصاویردرآنهامنحصربفردهایویژگیوهانهنگدمشکلازآنها•.کنندشناساییراهانهنگمختلفهای

.شدمیانجامدستیصورتبهمراحلاینپیشسال40تا•

.استنهنگمختلفهایگونهشناساییبرایهاییالگوریتمارائهرقابتاینهدف•

kaggleیادگیری عمیق، کراس و رقابت های 120

Page 121: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

خالصه ای از رقابت

kaggleیادگیری عمیق، کراس و رقابت های 121

2018ژانویه 10تاریخ شروع رقابت

2018ژوئیه 10تاریخ پایان

در حال فعالیت وضعیت رقابت

220تعداد تیم های شرکت کننده

238کنندگانتعداد رقابت

21تعداد کرنل های معرفی شده

Data augmentation with kerasبا بیشترین امتیازکرنل into CNN

Page 122: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

مجموعه داده

Happyاستفادهمورددادهمجموعه• whale databaseهمینباسایتیتوسطکهاست.استشدهفراهمعنوان

•https://happywhale.com/home

.گرددیمشناساییتصویرپردازشهایالگوریتمتوسطنهنگنوعسایتدرتصویرورودبا•

مفراهعمومیمشارکتوتحقیقاتیموسساتتوسطکهاست25460شاملدادهمجموعهاین•.استشده

ازتستهایدادهتعدادموردایندر)تستبرایتصویر15610آموزشبرایتصویر9850•(استبیشترآموزش

کالس4251شامل•

کالسباقیهاست،نمونهبیشترینشاملکالسیک)استنامتوانهاکالسدرهادادهتوزیع•(.دارندنمونهیکتقریباها

.استمتغیرتصاویراندازه•

kaggleیادگیری عمیق، کراس و رقابت های 122

Page 123: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

داده

kaggleیادگیری عمیق، کراس و رقابت های 123

Page 124: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

...داده

kaggleیادگیری عمیق، کراس و رقابت های 124

Page 125: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

فرایند کرنلتغییر اندازه تصویر

One hot encoding

متوازن سازی داده ها

ایجاد مدل

ارزیابی

kaggleیادگیری عمیق، کراس و رقابت های 125

Page 126: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

ه تغییر اندازتصویر

64* 64تغییر اندازه تصاویر به •

kaggleیادگیری عمیق، کراس و رقابت های 126

985015610

Page 127: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

On hot encoding

OneHotEncoderو LabelEncoderاستفاده از ترکیبی از •

kaggleیادگیری عمیق، کراس و رقابت های 127

985015610

ویژگیشناسه

سیب1

موز2

پرتقال3

سیب4

ویژگیشناسه

11

22

33

41

پرتقالموزسیبشناسه

1100

2010

3001

4100

Lable encodind

One hot encodind

Page 128: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

On hot encoding

kaggleیادگیری عمیق، کراس و رقابت های 128

985015610

Page 129: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

متوازن سازیداده

kaggleیادگیری عمیق، کراس و رقابت های 129

( 1: برای حل مشکل متوازن سازی داده ها از دو روش در این کرنل استفاده شده است•(در کراسclass_weightتنظیم )یادگیری بیشتر از کالس اقلیت

Page 130: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

متوازن سازی...داده

اضافه کردن داده ها( 2

kaggleیادگیری عمیق، کراس و رقابت های 130

985015610

جا به جایی چرخش تصویرنرمال سازیتصویر

چرخش افقی تصویر

Page 131: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

ایجاد مدلCNN

kaggleیادگیری عمیق، کراس و رقابت های 131

3*3 c

onv

48

3*3 c

onv

48

Max

pool/

2

5*5 c

onv

48

Max

pool/

3

dro

pout

(0.3

3)

Fla

tten

Den

se

36

dro

pout

(0.3

3)

Den

se

36

Den

se

4251

Rel

u

Sig

moid

Sig

moid

Sig

moid

Sig

moid

Soft

max

Page 132: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

خالصه مدل ...

kaggleیادگیری عمیق، کراس و رقابت های 132

Page 133: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

یمعیار ارزیاب

. استMean Average precision(MAP@5 )معیار ارزیابی این رقابت •

MAP@5 =1

𝑈

𝑢=1

𝑈

𝑘=1

min(𝑛,5)

𝑝(𝑘)

U :تعداد تصاویر

𝑝 𝑘 : دقت در بخشk

n :تعداد پیش بینی ها برای هر تصویر

: اما معیار ارزیابی مورد استفاده کرنل•Accuracy

Categorical cross entropy

kaggleیادگیری عمیق، کراس و رقابت های 133

Page 134: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

ی معیار ارزیاب...

kaggleیادگیری عمیق، کراس و رقابت های 134

Page 135: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

منابع

• http://www.stephacking.com/encode-categorical-data-labelencoder-onehotencoder-python/

• https://www.kaggle.com/gimunu/data-augmentation-with-keras-into-cnn/notebook

kaggleیادگیری عمیق، کراس و رقابت های 135

Page 136: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

زینب کوه کن

kaggleیادگیری عمیق، کراس و رقابت های 136

Iceberg Classifier Challenge: رقابت

Page 137: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

kaggleیادگیری عمیق، کراس و رقابت های 137

Page 138: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

شرکت های طراح مسئله

kaggleیادگیری عمیق، کراس و رقابت های 138

Page 139: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

مسئله؟

kaggleیادگیری عمیق، کراس و رقابت های 139

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

کشتی؟

Page 140: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

ئلهفرضیات مس

یکدرراتصویرمنطقهکهاستمعنیبدانکهاستجانبیراداریکSentinel-1ماهواره•.بیندمی(inc_angle)بدنهمرکزیخطوبالریشهوتربینزاویه

•Sentinel-1کننددریافتوانتقالعمودیوافقیسطحدرتوانندمی.

.گویندمیbackscatterیابازتابندهراشودمیمنعکسماهوارهسمتبهجسمازکهانرژی•

.استمتفاوتمختلفاجسامازدریافتیانرژی•

بتوانتا،گیردقرارتحلیلمورداندازهروشنایی،شکل،مانندخاصیهایمشخصهطبقبایدشی•.یافتراآن

kaggleیادگیری عمیق، کراس و رقابت های 140

Page 141: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

ئلهفرضیات مس

:ببینیدکانالدوباراهادادهمسابقه،اینبرای•

kaggleیادگیری عمیق، کراس و رقابت های 141

HH

HV

به صورت انرژیدریافت/ انتقال افقی

انرژی افقی و دریافتانرژیانتقالعمودی

Page 142: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

داده ها

. برچسب ها توسط کارشناسان انسانی و دانش جغرافیایی در مورد هدف ارائه شده است•

.با دو باند است75*75همه تصاویر •

.ارائه شده اندjsonدر قالب ( test.json, train.json)اطالعات •

.دیک سری ویژگی وجود دارفایل ها شامل یک لیست از تصاویر هستند و برای هر تصویر •

kaggleیادگیری عمیق، کراس و رقابت های 142

Page 143: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

ویژگی-دادههر تصویر

kaggleیادگیری عمیق، کراس و رقابت های 143

idشناسه تصویر

band_1

,

band_2

پیکسل در لیست است، بنابراین 75*75هر گروه دارای . شده اندflatداده های تصویر .هستندdBو floatمقادیر . عنصر است5625لیست دارای

inc_a

ngleدر naداده های است، ازnaاین فیلد دارای داده های .که تصویر گرفته شده استزاویه ای

. داده آموزشی برای جلوگیری از نشت استفاده می شود

is_ice

berg

باشد، آن یک کشتی است و هرچه به 0باشد، شی یک کوه یخ است و اگر 1متغیر هدف، اگر train.jsonاین فیلد فقط در . یک نزدیک تر باشد احتمال کوه یخ بودن آن بیشتر است

.وجود دارد

Page 144: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

داده خروجی

0ینبعددیک)یخکوهیکحاویتصویراینکهاحتمالبایدآزمون،مجموعهدرشناسههربرای•.کنیدبینیپیشباشد،(1و

kaggleیادگیری عمیق، کراس و رقابت های 144

Page 145: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

پیش پردازش

کهRGBمعادلتادیگر،کانالیککردناضافهبرایآنهامیانگینگرفتنوبانددواستخراج•.کنیمایجادراباشدمیکانالسهدارای

kaggleیادگیری عمیق، کراس و رقابت های 145

Page 146: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

همعماری شبک

kaggleیادگیری عمیق، کراس و رقابت های 146

Page 147: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

همعماری شبک

kaggleیادگیری عمیق، کراس و رقابت های 147

Page 148: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

CNN ModelC

onv

blo

ck 1

Co

nv

blo

ck 2

Co

nv

blo

ck 3

Co

nv

blo

ck 4

Cla

ssif

ier

Den

se

con

v2

D

con

v2

D

con

v2

D

con

v2

D

Max

Poo

l

Max

Poo

l

Max

Poo

l

Max

Poo

l

Dro

pO

ut

Dro

pO

ut

Dro

pO

ut

Dro

pO

ut

Den

se

Fla

tten

Den

se

(75,75,3)

relue relue relue relue relue

(36,36,64) (17,17,128) (7,7,128) (2,2,64)

Sigmoid

kaggleیادگیری عمیق، کراس و رقابت های 148

Page 149: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

هخالصه شبک

kaggleیادگیری عمیق، کراس و رقابت های 149

Page 150: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

هخالصه شبک

kaggleیادگیری عمیق، کراس و رقابت های 150

Page 151: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

ارزیابی

kaggleیادگیری عمیق، کراس و رقابت های 151

Page 152: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

منابع

• https://www.kaggle.com/c/statoil-iceberg-classifier-challenge

• https://www.kaggle.com/devm2024/keras-model-for-beginners-0-210-on-lb-eda-r-d

kaggleیادگیری عمیق، کراس و رقابت های 152

Page 153: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

پگاه گازری

kaggleیادگیری عمیق، کراس و رقابت های 153

Competition:

Understanding the Amazon from Space

Page 154: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

بیناززمینیکرهسراسرهایجنگلازفوتبالزمین48یاندازهبهمساحتیدقیقه،هردر•کاهشموجبزداییجنگل.دارندبیشتریسهمآمازونهایجنگلمیانایندرورودمی

میدیگرویرانگراثراتوهواییوآبتغییراتحیوانات،زیستگاهرفتنبیناززیستی،تنوعمیهاجنگلدرانساندستکاریوزداییجنگلمحلمورددراطالعاتآوریجمعلذا.گردد.کننداقدامراستاایندرمؤثرتروترسریعتاکندکمکذینفعانوهادولتبهتواند

وآمازونبارانیهایجنگلازشدهتهیهایماهوارهتصاویربهزدنبرچسبرقابتاینهدف•.استگرفتهصورتزداییجنگلچراوچگونهکجا،کهاستموضوعایندرکوتشخیص

Multilabelنوعازوکامپیوتربینایییدرحوزهمسئلهاین• Classificationاست.

پارنترو(زمینازتصویربرداریهایماهوارهترینبزرگیسازندهوطراح)Planetشرکت•شرایطدرکهایماهوارهتصاویربهزدنبرچسببرایرارقابتاینSCCONاشبرزیلی.اندکردهایجاداست،شدهتهیهزمینمختلفهایپوششومختلفجوی

له معرفی مسئو هدف آن

kaggleیادگیری عمیق، کراس و رقابت های 12

Page 155: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

kaggleیادگیری عمیق، کراس و رقابت های 155155155

د تصاویر موراستفاده

اصلیتصویرازکوچکقسمتی).شودمیگفتهChipیکمسئلهاینبرایاستفادهموردتصاویرازیکهربه•المللیبینایستگاهمدارو(SSO)خورشیدباهماهنگمداردورویبرPlanetهایماهوارهتوسطشدهتهیه

((ISS)فضاییوRed،Green،Blueکانالچهاردارایو(جغرافیاییاطالعاتحاوی)TIFFGeoفرمتبهاصلیتصاویر•

Near Infraredاست.ازاستفادهبا).اندشدهتبدیلJPGفرمتبهوپردازشPlanetتوسطرقابتاینبرایتصاویرهایچیپ•

Visual Product Processor)برزیل،مانند)آمازونیحوضهکشور8ازو2017فوریه1الی2016ژانویه1زمانییبازهدرتصاویراین•

.استشدهتهیه(...وونزوئالکلمبیا،

Page 156: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

kaggleیادگیری عمیق، کراس و رقابت های 156156156

ورودی و خروجی های

مسئله

میتقسیمValidationوTrainبخشدوبه)آموزشییداده40479:مسئلهورودیهایداده•(شوند

مرتبطهایبرچسبازلیستیک،Testهایدادهدرموجودتصاویرازیکهربرای:مسئلهخروجی•.اندشدهجداهمازSpaceباکهن،فراواگیاهیهایپوششجوی،شرایط)طبیعیهایپدیدهنامازایزیرمجموعه:تصاویربرچسب•

.اندشدهایجادPlanetتیمتوسطکهاستآمازونهایجنگلیحوضهدر(کمیابگیاهیهایپوشش

Agriculture

Artisinal_Mine

Blooming

Blow_Down ClearCloudy

Conventional_Mine

Cultivation

Habitation

Haze

Partly_Cloudy

Road

Bare_Ground

Selective_Logging

Slash_Burn

Water

Page 157: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

kaggleیادگیری عمیق، کراس و رقابت های 157157157

ورودی و خروجی های

مسئله

Page 158: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

kaggleیادگیری عمیق، کراس و رقابت های 158158158

معیار موفقیت و پروتکل ارزیابی

تصاویربهشدهدادهاختصاصهایبرچسبتوزیعآوردندستبه:سیستمنهاییهدف•

(Scikit-LearnیکتابخانهازBeta=2باFBeta_Score)F2_Score:موفقیتمعیار•

1و0بینمقداریدارایوRecallوPrecisionازوزنیهارمونیکمیانگینیکمعیاراین•برایمعیارهاییمجموعدرهاF-Sore.استتربهینهباشدترنزدیکیکبهچههرکهاست

.هستندتستصحتارزیابی

بهScikit-LearnیکتابخانهازمتدیکمکباTrain(40479)هایداده:ارزیابیپروتکل•دادهتعداد.گرددمیتقسیمValidation(8096)وTrain(32383)بخشدوبهتصادفیطور.استمورد40669نیزTestهای

Page 159: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

پیش پردازشداده ها

:ValidationوTrainبخشدوبهTrainهایدادهتقسیم•

One-Hotعملیات• Encodingتابعازاستفادهبدونودستیصورتبهto_categoricalبرای.استشدهانجامهابرچسب

اتریسم+هابرچسبتعداد=ستونتعدادوآموزشیهایدادهکل=سطرتعدادباصفرماتریسیکایجادهابرچسبحاوی

train_labels, valid_labels = train_test_split(labels_df, test_size = 0.2)

Scikit-Learnمتدی از کتابخانه ی

column_df = pd.DataFrame(np.zeros((labels_df.shape[0],17)), columns = label_names)labels_df = pd.concat([labels_df,column_df],axis = 1, join = 'inner')

Validationدرصد برای 20

kaggleیادگیری عمیق، کراس و رقابت های 159

Page 160: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

پیش پردازش...داده ها

•Rescale255برتقسیمباهاپیکسلمقادیرکردن.(کالسکمکباImageDataGenerator)

بهClass_Modeو128*128تصاویرابعاد،Generaorشئازflow_from_direcoryمتددر•Multilabelمانمسئلهنوعآنکهدلیل ClassificationفرمبهاستSparse(تعدادبردار؛یک

.بودخواهد(هابرچسب=هاستون

DataتکنیکازOverfittingبروزازجلوگیریمنظوربه• AugmentationهایدادهرویبرTrain(متدهایFlip, Shift, Rotation)یکهمچنینوPre-Trained Networkاستفاده

.استشده

kaggleیادگیری عمیق، کراس و رقابت های 160

Page 161: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

همعماری شبک

شدهاستفادهVGG19یدیدهآموزشپیشیشبکهازباالهایالیهبرای•ClassifierبخشوتغییربدونConvolutionبخششبکه،ایندر.است

تمامیدر.است128*128*3ابعاددارایشبکهورودی.استشدهحذفPaddingمقدارConvolutionهایالیه = ‘same’واستBorder

Effectدهدنمیرخ.

.استشدهبارگذاریفایلیکدرونازشبکهاینهایوزن•

weights_path = '../input/vgg19-

weights/vgg19_weights_tf_dim_ordering_tf_kernels_notop.h5'

0 input_1 False

1 block1_conv1 False

2 block1_conv2 False

3 block1_pool False

4 block2_conv1 False

5 block2_conv2 False

6 block2_pool False

7 block3_conv1 False

8 block3_conv2 False

9 block3_conv3 False

10 block3_conv4 False

11 block3_pool False

12 block4_conv1 False

13 block4_conv2 False

14 block4_conv3 False

15 block4_conv4 False

16 block4_pool False

17 block5_conv1 False

18 block5_conv2 False

19 block5_conv3 False

20 block5_conv4 False

21 block5_pool False

22 flatten_1 True

23 batch_normalization_1

True

24 dense_1 Truekaggleیادگیری عمیق، کراس و رقابت های 161

Page 162: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

ه معماری شبک...

وBatchNormalizationیالیهیک،FlattenیالیهیکدارایجدیدClassifierبخش●نیزآنActivationتابعوخروجیکالس17دارایDenseیالیه.استDenseسپس

Sigmoidاست.

شدنUpdateازتااندشدهFreezeشبکهازConvolutionهایالیه،Trainعملیاتازپیش●تبدیلNon-Trainableبهآنگاهباشد21تا0بینالیهیشمارهاگر.شودجلوگیریهاالیهاینوزن.کنیممیFreezeراآناولیالیه22کهداریمالیه25مجموعدریعنی.شودمی

set_non_trainable_layers(base_model, 0, 21)

kaggleیادگیری عمیق، کراس و رقابت های 162

Page 163: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

ه معماری شبک...

kaggleیادگیری عمیق، کراس و رقابت های 163

Convolu

tion2

D

Max

Pooli

ng

2D

Convolu

tion

2D

Convolu

tio

n2D

Max

Pooli

ng

2D

Convolu

tion

2D

Convolu

tion

2D

Convolu

tio

n2D

Convolu

tion

2D

Convolu

tio

n2D

Max

Pooli

ng

2D

Convolu

tion

2D

Convolu

tio

n2D

Convolu

tion

2D

Convolu

tio

n2D

Max

Pooli

ng

2D

Convolu

tion

2D

Convolu

tio

n2D

Convolu

tion

2D

Convolu

tio

n2D

Max

Pooli

ng

2D

Fla

tten

Bat

chN

orm

aliz

atio

n

Den

se

Block 1

(Frozen)Fully

Connected

(Trainable)

Block 2(Frozen)

Block 3(Frozen)

Block 4(Frozen)

Block 5(Frozen)

Classificationمسئولیت

را بر عهده دارندتر Abstractو ویژگی های

.را استخراج می کنند

را Feature Extractionوظیفه ی Poolingو Convolutionالیه های را (لبه ها، رنگ و بافت تصویر)بر عهده دارند و ویژگی های عمومی و محلی

.استخراج می کنند

Page 164: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

ه معماری شبک...

ایندکنتغییرآموزشحیندرقبلییالیهپارامترهایتغییرباالیه،هرهایورودیتوزیعاگر•طیشرایدر.گرددمیپارامترهااولیهمقداردهیسرعتکاهشویادگیرینرخکاهشباعثمسئله

covariateمشکلدچاراصطالحاًکندتغییریادگیریحالدرسیستمِیکهایورودیتوزیعکه

shiftInternalیالیهیککردناضافهباکهاستشدهBatchNormalizationمشکلاین.کندمیپیدابیشتریشتابشبکهآموزشوکاهشحدودیتا

هردرقبلیهایالیههایActivationشدننرمالموجبBatchNormalizationیالیه•Batchمیانگینِتبدیل،یکاجرایطریقازدیگرعبارتبه.گرددمیActivationقبلیالیه

برخیدرعالوهبه.داردمینگهیکبهنزدیکراActivationمعیارِانحرافوصفربهنزدیکرا.کندمیبرطرفراDropoutازاستفادهبهنیازوکردهعملRegularizerیکمانندموارد

kaggleیادگیری عمیق، کراس و رقابت های 164

Page 165: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

خالصه ای از مدل

kaggleیادگیری عمیق، کراس و رقابت های 165

Layer (type) Output Shape Param #

=================================================================input_1 (InputLayer) (None, 128, 128, 3) 0

_________________________________________________________________

block1_conv1 (Conv2D) (None, 128, 128, 64) 1792

_________________________________________________________________

block1_conv2 (Conv2D) (None, 128, 128, 64) 36928

_________________________________________________________________

block1_pool (MaxPooling2D) (None, 64, 64, 64) 0

_________________________________________________________________

block2_conv1 (Conv2D) (None, 64, 64, 128) 73856

_________________________________________________________________

block2_conv2 (Conv2D) (None, 64, 64, 128) 147584

_________________________________________________________________

block2_pool (MaxPooling2D) (None, 32, 32, 128) 0

_________________________________________________________________

block3_conv1 (Conv2D) (None, 32, 32, 256) 295168

_________________________________________________________________

block3_conv2 (Conv2D) (None, 32, 32, 256) 590080

_________________________________________________________________

block3_conv3 (Conv2D) (None, 32, 32, 256) 590080

_________________________________________________________________

block3_conv4 (Conv2D) (None, 32, 32, 256) 590080

_________________________________________________________________

block3_pool (MaxPooling2D) (None, 16, 16, 256) 0

_________________________________________________________________

block4_conv1 (Conv2D) (None, 16, 16, 512) 1180160

_________________________________________________________________

3×3×3×64+64

3×3×64×64+64

3×3×64×128+128

تعداد کانال ها (RGB)

ابعاد فیلتر

تعداد فیلترها

بایاسStride = (2,2)

Padding=“same

= خروجی الیه قبل ورودی الیه جدید

64*3*3پنجره های ما عدد از 128هستند و

.این پنجره ها داریم

. ابدبه مرور تعداد فیلتر ها زیاد و طول و عرض تصویر کاهش می ی

Page 166: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

خالصه ای از ...مدل

kaggleیادگیری عمیق، کراس و رقابت های 166

block4_conv2 (Conv2D) (None, 16, 16, 512) 2359808

_________________________________________________________________

block4_conv3 (Conv2D) (None, 16, 16, 512) 2359808

_________________________________________________________________

block4_conv4 (Conv2D) (None, 16, 16, 512) 2359808

_________________________________________________________________

block4_pool (MaxPooling2D) (None, 8, 8, 512) 0

_________________________________________________________________

block5_conv1 (Conv2D) (None, 8, 8, 512) 2359808

_________________________________________________________________

block5_conv2 (Conv2D) (None, 8, 8, 512) 2359808

_________________________________________________________________

block5_conv3 (Conv2D) (None, 8, 8, 512) 2359808

_________________________________________________________________

block5_conv4 (Conv2D) (None, 8, 8, 512) 2359808

_________________________________________________________________

block5_pool (MaxPooling2D) (None, 4, 4, 512) 0

_________________________________________________________________

flatten_1 (Flatten) (None, 8192) 0

_________________________________________________________________

batch_normalization_1 (Batch (None, 8192) 32768

_________________________________________________________________

dense_1 (Dense) (None, 17) 139281

===========================================================

======

Total params: 20,196,433

Trainable params: 155,665

Non-trainable params: 20,040,768

_________________________________________________________________

4×4×512

تعداد کالس های خروجی

8192×17+17

:نهاییFeature Mapاندازه ی

.استConvolutionبیشتر بار محاسباتی بر روی الیه های

Page 167: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

آموزش مدل

گرفتهنظردر-5توانبه10آنیادگیرینرخوداردنامAdamاستفادهموردOptimizerتابع●محاسباتیلحاظازتابعاین.شودمیاستفادهتصادفیهدفتوابعسازیبهینهبرایتابعاین.استشده

وزیادپارامترهایزیاد،هایدادهکهاستمسائلیمناسبوداردنیازکمیMemoryبهواستبهینه.دارند(Non-Stationary)غیرثابتاهدافیا

Multilabelاینجادرمسئلهآنکهدلیلبه● Classification،تابعازاستBinary_Crossentropyاستشدهاستفاده.

kaggleیادگیری عمیق، کراس و رقابت های 167

model.compile(optimizer= Adam(lr=1e-5) , loss='binary_crossentropy', metrics = [f2_score])

model.fit_generator(train_generator, steps_per_epoch = 506, epochs = 10 , verbose = 1,

validation_data = (fixed_val_imgs,fixed_val_labels) , callbacks = [checkpoint, reduce_lr],

workers = 4)

Page 168: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

آموزش مدل ...

•Callback : توابعی هستند که در هر مرحله از فرآیند آموزش می تون آنها را بر روی مدل اعمال. نمود

•Worker:درکهاستهاییپردازشتعدادماکزیممیدهندهنشانواستصحیحعددیکProcess-Based Threadingشودمیاستفاده.

•Checkpoint:هرپایاندرمدلهایوزنسازیذخیرهبرایEpochمسیر،:پارامترها).است(Overwritingازجلوگیریبررسی،موردکمیت

•ReduceLR:نرخمقدارشود،میرکوددچارمدلیادگیریومتوقفمتریکبهبودکهزمانینرخلحداقیادگیری،نرخکاهشضریببررسی،موردکمیت:پارامترها).یابدمیکاهشیادگیری(جدیدیبهینهیآستانهیادگیری،

kaggleیادگیری عمیق، کراس و رقابت های 168

Page 169: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

خروجی مدل

وکردهغیرفعالراShuffleشده،Rescaleتستِهایدادهباآزمایشاجرایجهت•Test_GeneratorتابعبهراشدهتولیدPredictاستداده.

شودمیدادهنمایشستون17وسطر40669بااسپارسماتریسیکفرمبهبینیپیشینتیجه•آرایهکیدرونرامتناسبلیبلنامبود،یکدرایهمقدارکهجاهرسطر،هردرتابع،یکباسپسو

.کندمیJoinیکدیگربهفاصلهیکباراآرایههرراآرایهعناصرنهایتدرودهدمیقرار

kaggleیادگیری عمیق، کراس و رقابت های 169

Page 170: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

نتیجه نهایی

.هستندزیرصورتبهTestهایدادهبهشدهدادهاختصاصهایبرچسبتوزیع•وPrimary،Clear،Agriculture،Roadبهمربوطهابرچسبپرتکرارترین•

Partly_Cloudyاست.

kaggleیادگیری عمیق، کراس و رقابت های 170

12

35

4

Agriculture

Clear

Partly_Cloudy

Primary

Road

Page 171: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

• https://www.kaggle.com/saksham219/satellite-amazon-model-keras-

vgg19-adam/notebook

• http://scikit-learn.org/ stable/modules/generated/

sklearn.metrics.fbeta_score.html#sklearn.metrics.fbeta_score

• https://en.wikipedia.org/wiki/F1_score

• “Batch Normalization: Accelerating Deep Network Training by

Reducing Internal Covariate Shift”, Ioffe and Szegedy, 2014منابع

kaggleیادگیری عمیق، کراس و رقابت های 12

Page 172: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

Akram Nejati

kaggleیادگیری عمیق، کراس و رقابت های 172

carvanaتصاویر : رقابت

شناسایی مرزهای ماشین در یک تصویر بطور خودکار

Page 173: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

Carvana

kaggleیادگیری عمیق، کراس و رقابت های 173

Competition Timeline Start Date: July 26, 2017Merger Deadline: September 20, 2017Entry Deadline: September 20, 2017End Date: September 27, 2017 11:59 PM UTC

• COMPETITION-SPECIFIC TERMS

• COMPETITION NAME (the 'Competition'):Carvana Car Image Masking

• COMPETITION SPONSOR: Carvana LLC

• COMPETITION WEBSITE: https://www.kaggle.com/c/carvana-image-masking-challenge

• PRIZES: $25,000

• 1st Place - $12,000

• 2nd Place - $8,000

• 3rd Place - $5,000

• Submission Limits

• You may submit a maximum of 5 entries per day.

• You may select up to 2 final submissions for judging.

• 735 teams

Page 174: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

Carvana…

• Carvana is a technology business start-up based in Phoenix, Arizona.

• It is an online-only used car dealer that allows customers to shop,finance, and trade in cars through their website.

• It was founded in 2012 as a subsidiary of DriveTime and was spun outin 2014;

• it held an IPO in 2017 and Ernest Garcia II, the chairman of DriveTime,was the largest shareholder at the time

• Ranked fifth in the Forbes list of promising US companies in 2015

https://www.carvana.com/

kaggleیادگیری عمیق، کراس و رقابت های 174

Page 175: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

Overview in kaggel

• Carvana, a successful online used car startup, has seen opportunity to build long term trust with consumers and streamline the online buying process.

• An interesting part of their innovation is a custom rotating photostudio that automatically captures and processes 16 standard images ofeach vehicle in their inventory. While Carvana takes high qualityphotos, bright reflections and cars with similar colors as thebackground cause automation errors, which requires a skilled photoeditor to change.

kaggleیادگیری عمیق، کراس و رقابت های 175

Page 176: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

Overview in kaggel

Goal:

• In this competition, you’re challenged to develop an algorithm thatautomatically removes the photo studio background. This will allowCarvana to superimpose cars on a variety of backgrounds. You’ll beanalyzing a dataset of photos, covering different vehicles with a widevariety of year, make, and model combinations.

kaggleیادگیری عمیق، کراس و رقابت های 176

Page 177: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

winner's interview

• Team best

• Albu: Alexander Buslaev

• Asanakoy: Artsiom Sanakoyeu

• Ternaus: Vladimir Iglovikov

• The objective of this competition was to create a model for binary segmentation of high-resolution car images.

• Each image has resolution 1918x1280.

• Each car presented in 16 different fixed orientations:

• The score difference between our result (0.997332) and the second place (0.997331) result was only 0.00001, which can be interpreted as an average 2.5-pixel improvement per 2,500,000-pixel image. To be honest, we just got lucky here. When we prepared the solution for the organizers, we invested some extra time and improved our solution to 0.997343 on the private LB.

we had around 20 GPUs at our disposal.

kaggleیادگیری عمیق، کراس و رقابت های 177

Page 178: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

Challenge

• Most of the observed mistakes were due to the inconsistent labeling,where the most common issue was holes in the wheels. In some cars,they were masked and in some they were not.

• We don't have a validation score for the test set, but we foundproblematic images by counting the number of pixels where thenetwork prediction confidence was low. To account for the differentsize of the cars in the images, we divided this number by the area ofthe background.

• We believe that it was due to the low presence of white vans in thetraining set and to the low contrast between the van and the whitebackground. The image below shows gray areas in the mask where theprediction confidence was low.

kaggleیادگیری عمیق، کراس و رقابت های 178

Page 179: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

Challenge…

Now I believe that initialization of UNet type architectures with pre-trained weights does improves convergence and performance ofbinary segmentation on 8-bit RGB input images. When I tried UNetwith encoder based on VGG-11 I easily got 0.972 (top 10 at PublicLeaderboard).

For image augmentation, I used horizontal flips, color augmentationsand transforming a car (but not background) to grayscale.

kaggleیادگیری عمیق، کراس و رقابت های 179

Page 180: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

Data Description

• This dataset contains a large number of car images (as .jpg files). Each car has exactly 16 images, each one taken at different angles.

• Each car has a unique id and images are named according to id_01.jpg, id_02.jpg ... id_16.jpg.

• In addition to the images, you are also provided some basic metadata about the car make, model, year, and trim.

• For the training set, you are provided a .gif file that contains the manually cutout mask for each image.

• The competition task is to automatically segment the cars in the images in the test set folder

kaggleیادگیری عمیق، کراس و رقابت های 180

Page 181: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

Data Description

...

• Train set: 5088 Images.

• Test set: 1200 in Public, 3664 in Private, 95200 were added to prevent hand labeling

• Test set 100000.

kaggleیادگیری عمیق، کراس و رقابت های 181

Page 182: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

Evaluation

• This competition is evaluated on the mean Dice coefficient. The Dice coefficient can be used to compare the pixel-wise agreement between a predicted segmentation and its corresponding ground truth. The formula is given by:

• here X is the predicted set of pixels and Y is the ground truth. The Dice coefficient is defined to be 1 when both X and Y are empty. The leaderboard score is the mean of the Dice coefficients for each image in the test set.

• def dice_coef(y_true, y_pred):

• y_true_f = K.flatten(y_true)

• y_pred_f = K.flatten(y_pred)

• intersection = K.sum(y_true_f * y_pred_f)

• return (2. * intersection + smooth) / (K.sum(y_true_f) + K.sum(y_pred_f) + smooth)

kaggleیادگیری عمیق، کراس و رقابت های 182

Page 183: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

Kernel• It may be too late to get useful results from this kernel but I decided to

make it public anyway. When I run it on my MacBook I get decent results but the validation accuracy improves vey slowly. Using all images from the train set produces Ok maks but nothing comparable to what one can do with U-Net.

kaggleیادگیری عمیق، کراس و رقابت های 183

Page 184: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

Unet-SegNet

• SegNet-Tutorial

• (for example by using the webcam demo) by removing the line sample_weights_test: true on all Dropout layers, and setting batch size of 1.

• Unet

kaggleیادگیری عمیق، کراس و رقابت های 184

Page 185: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

Concatenate

It takes as input a list of tensors, all of the same shape except for the concatenation axis, and returns a single tensor, the concatenation of all inputs.

• Arguments

• axis: Axis along which to concatenate.

• **kwargs: standard layer keyword arguments.

kaggleیادگیری عمیق، کراس و رقابت های 185

Page 186: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

Library

kaggleیادگیری عمیق، کراس و رقابت های 186

from sklearn.model_selection import train_test_split

from keras.models import Modelfrom keras.layers import Input, merge, Conv2D, MaxPooling2D, UpSampling2D, Concatenate#from keras.layers import Dense, Conv2D, Input, MaxPool2D, UpSampling2D, Concatenate, Conv2DTransposefrom keras.optimizers import Adamfrom keras.optimizers import SGDfrom keras.callbacks import ModelCheckpoint, LearningRateScheduler, EarlyStoppingfrom keras.preprocessing.image import array_to_img, img_to_array, load_img, ImageDataGeneratorfrom keras import backend as K

metadata.csv sample_submission.csv test train train_masks train_masks.csv

Using TensorFlow backend.

Visualizing

intermediate

Read picture

JPEG TO RGB

Convert to tensor

Rescle[0,1]K.set_image_dim_ordering('th') # Theano dimension ordering in this code

Page 187: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

Number of data train,

test

• INPUT_PATH = '../input/'

• dims = [128, 128]

• img_rows = dims[0]

• img_cols = dims[1]

• train = sorted(glob.glob(INPUT_PATH + 'train/*.jpg'))

• masks = sorted(glob.glob(INPUT_PATH + 'train_masks/*.gif'))

• test = sorted(glob.glob(INPUT_PATH + 'test/*.jpg'))

• print('Number of training images: ', len(train), ' Number of corresponding masks: ', len(masks), ' Number of test images: ', len(test))

kaggleیادگیری عمیق، کراس و رقابت های 187

Page 188: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

Data set -convert

kaggleیادگیری عمیق، کراس و رقابت های 188

Page 189: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

Convolutional neural network

(learn feature-

More depth and less size)

kaggleیادگیری عمیق، کراس و رقابت های 189

No border effect

No much pooling

Because of the

disappearance of

the location

Page 190: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

Convolutional neural network

(learn feature-

More depth and less size)

kaggleیادگیری عمیق، کراس و رقابت های 190

Page 191: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

Model

kaggleیادگیری عمیق، کراس و رقابت های 191

similarity

Extract the

feature map

parameter gradienta

maximum norm

Page 192: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

Summary

kaggleیادگیری عمیق، کراس و رقابت های 192

Page 193: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

Summary

kaggleیادگیری عمیق، کراس و رقابت های 193

Page 194: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

epoch

• model.fit_generator(train_gen, steps_per_epoch=50, epochs=1, validation_data=validation_gen, validation_steps=50)

kaggleیادگیری عمیق، کراس و رقابت های 194

augmentation

Page 195: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

Version1

• def build_model(img_w, img_h, filters):

n_labels = 2

kernel = 3

encoding_layers = [ Conv2D(64, (kernel, kernel), input_shape=(img_h, img_w, 3), pad

di ng='same'),

BatchNormalization(),

Activation('relu'),

Convolution2D(64, (kernel, kernel), padding='same'),

BatchNormalization(),

Activation('relu'),

MaxPooling2D(),

• optimizer = SGD(lr=0.001, momentum=0.9, decay=0.0005, nesterov=False)

• model.compile (loss="categorical_crossentropy", optimizer=optimizer, metrics=['accur

acy'])

kaggleیادگیری عمیق، کراس و رقابت های 195

Page 196: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

Augment Method

flip

def random_flip(img, mask, u=0.5):

if np.random.random() < u:

img = image.flip_axis(img, 1)

mask = image.flip_axis(mask, 1)

return img, mask

img_flip, mask_flip = random_flip(img, mask, u=1)

plot_img_and_mask_transformed(img, mask, img_flip, mask_flip)

kaggleیادگیری عمیق، کراس و رقابت های 196

Page 197: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

Augment Method …

Random channel shift

def random_channel_shift(x, limit, channel_axis=2):

x = np.rollaxis(x, channel_axis, 0)

min_x, max_x = np.min(x), np.max(x)

channel_images = [np.clip(x_ch + np.random.uniform(-limit, limit), min_x, max_x) for x_ch inx]

x = np.stack(channel_images, axis=0)

x = np.rollaxis(x, 0, channel_axis + 1)

return x

kaggleیادگیری عمیق، کراس و رقابت های 197

Page 198: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

Augment Method …

• Grayscale

• def random_gray(img, u=0.5):

• if np.random.random() < u:

• coef = np.array([[[0.114, 0.587, 0.299]]]) # rgb to gray (YCbCr)

• gray = np.sum(img * coef, axis=2)

• img = np.dstack((gray, gray, gray))

• return img

• Contrast

kaggleیادگیری عمیق، کراس و رقابت های 198

Page 199: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

Augment Method …

def random_augmentation(img, mask):

img = random_channel_shift(img, limit=0.05)

img = random_brightness(img, limit=(-0.5, 0.5), u=0.5)

img = random_contrast(img, limit=(-0.5, 0.5), u=0.5)

img = random_saturation(img, limit=(-0.5, 0.5), u=0.5)

img = random_gray(img, u=0.2)

img, mask = random_rotate(img, mask, rotate_limit=(-20, 20), u=0.5)

img, mask = random_shear(img, mask, intensity_range=(-0.3, 0.3), u=0.2)

img, mask = random_flip(img, mask, u=0.3)

img, mask = random_shift(img, mask, w_limit=(-0.1, 0.1), h_limit=(-0.1, 0.1), u=0.3)

img, mask = random_zoom(img, mask, zoom_range=(0.8, 1), u=0.3)

return img, mask

kaggleیادگیری عمیق، کراس و رقابت های 199

Page 200: یاه تباقر و ساک ،قیمع ییگدای - qom.ac.irdml.qom.ac.ir/.../uploads/2018/05/kaggle-presentation.pdfkaggle یاه تباقر و سارک ،قیمع یریگدای

References

• http://blog.kaggle.com/2017/12/22/carvana-image-masking-first-place-interview/

• https://en.wikipedia.org/wiki/Sørensen–Dice_coefficient

• https://keras.io/layers/merge/#concatenate

kaggleیادگیری عمیق، کراس و رقابت های 200