Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

"Распознавание категории объявления по изображениям" Артур Кузин (МФТИ)

373 views

Published on

Победитель первого этапа конкурса Avito-2016 по распознаванию категорий объявлений расскажет о том, как ему удалось добиться этого результата.

Python Data Science meetup @ Avito 13.08.2016

Published in: Technology
  • Be the first to comment

  • Be the first to like this

"Распознавание категории объявления по изображениям" Артур Кузин (МФТИ)

  1. 1. 1 этап конкурса Avito-2016: Распознавание категории объявления по изображениям Артур Кузин МФТИ, Компания «МИВАР» 13 августа 2016
  2. 2. Постановка задачи Цель конкурса – создание эффективного алгоритма определения категории объявления. На первом этапе для объявлений известны только множества их изображений. От 1 до 5 изображений на объявление. ● Транспорт ● Хобби и отдых ● Бытовая электроника ● Для дома и дачи ● ... ● Коллекционирова ние ● Велосипеды ● Спорт и отдых ● Товары для компьютера ● Телефоны ● ... ● Туризм ● Гитары и другие струнные ● Комплектующие ● iPhone ● Принтеры ● ... ● Дорожные ● Жесткие диски ● MP3-плееры ● iPhone ● Швейные машины ● ...
  3. 3. Особенности данных Обучающая выборка: 388 000 объявлений, 941 555 изображений Тестовая выборка: 194 000 объявлений, 470 861 изображение Предсказываются 194 финальные категории Imagenet: ~ 1 200 000 изображений 1000 классов
  4. 4. Особенности данных Британская (Кошки) Другая (Кошки)
  5. 5. Особенности данных Диски Шины Колеса
  6. 6. Ресурсы ● Core i5 6400 ● 32Gb ● Titan Black, 6Gb ● Core i5 6600 ● 32Gb ● Titan X, 12Gb ● Core i5 6600 ● 32Gb ● Titan X, 12Gb
  7. 7. Опыт прошлого конкруса Titan Black Titan X Batch Samples/Sec Batch Samples/Sec Val 10 crop Val GoogLeNet+BN 96 84 0.9032 0.9199 Inception v3 32 24 96 26 0.869 0.9299 Inception BN 25 40 43 0.8188 0.8727 VGG 24 50 42 0.869 0.9256 ResNet(n=5) 42 14 0.8188 0.8678 Ensemble 0.94227 https://github.com/dmlc/mxnet Скорость указана для версии mxnet 0.5.0
  8. 8. Обучение ● GoogLeNet с BatchNorm между каждым сверточным и активационным слоем ● Inception-bn ● Inception-v3 ● Dropout 0.5 перед последним полносвязным слоем ● Adam с lr 0.001 вместо SGD с Nesterov Momentum и понижением lr по расписанию Разбиение train val1 val2 70% 20% 10%
  9. 9. Аугментация inception-v3 googlenet, inception-bn 256 350 ● Случайный кроп ● Отражение ● Поворот (до 15°) ● Соотношение сторон ● Сдвиг
  10. 10. SGD vs Adam
  11. 11. Dropout
  12. 12. Точность и скорость обучения
  13. 13. 24-crop валидация mirror x ... 10 x +
  14. 14. Порядок усреднения ● арифметическое среднее в рамках трех групп: центр, углы, рандом ● геометрическое среднее с весами для трех групп ● геометрическое среднее с весами для 11 эпох (4 GoogLeNet, 4 Inception BN, 3 Inception v3) ● геометрическое среднее без весом предсказаний для каждого изображения в рамках объявления
  15. 15. Валидация Model Epoch 1crop 24crop 14crop 10rand 24crop Inception v3 1.0000 0.7625 0.7782 0.7757 0.7767 0.7782 2.0000 0.7673 0.7787 0.7792 0.7800 3.0000 0.7691 0.7802 0.7803 0.7821 Inception BN 1.0000 0.7613 0.7727 0.7722 0.7709 0.7727 2.0000 0.7619 0.7769 0.7760 0.7770 3.0000 0.7629 0.7767 0.7752 0.7771 4.0000 0.7603 0.7746 0.7754 0.7762 GoogLeNet 1.0000 0.7606 0.7723 0.7716 0.7709 0.7723 2.0000 0.7629 0.7730 0.7721 0.7752 3.0000 0.7603 0.7711 0.7710 0.7726 4.0000 0.7627 0.7738 0.7738 0.7754 All 0.7879 0.7913 0.7939 0.7938 0.7944 Final 0.7960
  16. 16. Результаты

×