Распознавание изображений › docs › delta9 › day9 ›...

14
Распознавание изображений Автор: Чернышев Константин [email protected] НИУ ВШЭ НН

Upload: others

Post on 29-Jun-2020

19 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Распознавание изображений › docs › delta9 › Day9 › Delta9D9P2.pdf · • Отражение по горизонтали • Наклон ±5° •

Распознавание изображенийАвтор: Чернышев Константин[email protected]

НИУ ВШЭ НН

Page 2: Распознавание изображений › docs › delta9 › Day9 › Delta9D9P2.pdf · • Отражение по горизонтали • Наклон ±5° •

ЗадачаТренировочная выборка: 36 000

Требуется разметить: 4 000

Рассмотрим данные:• Различные размеры• Различное качество• Различное происхождение • Чудовищный дисбаланс классов

[email protected]

Разметка: Уверенность принадлежности к каждому из классов [0;1]

Page 3: Распознавание изображений › docs › delta9 › Day9 › Delta9D9P2.pdf · • Отражение по горизонтали • Наклон ±5° •

Подходы: Обучить сеть с нуля

Минусы:• Очень долгое обучение• Высокая вариативность параметров

Плюсы: • Обучена именно для данного набора изображений

• Возможность точно выбирать и настраивать архитектуру

• Высокая точность для данного набора изображений

Изобретение велосипеда[email protected]

Page 4: Распознавание изображений › docs › delta9 › Day9 › Delta9D9P2.pdf · • Отражение по горизонтали • Наклон ±5° •

Долго обучать!

Подходы: Дообучить готовую сеть

Минусы:• Долгое обучение

(быстрее, чем с нуля)• Вес итоговой сети

Плюсы: • Готовая архитектура• Уже выделены основные

«фичи»• Высокая точность для данного набора изображений

[email protected]

Page 5: Распознавание изображений › docs › delta9 › Day9 › Delta9D9P2.pdf · • Отражение по горизонтали • Наклон ±5° •

Подходы: Обучить верхний слой

Минусы:• Низкая точность

(относительно других)• Вес итоговой сети

Плюсы: • Готовая архитектура• Очень дешевое обучение• Немного вариативных параметров

Оптимально[email protected]

Page 6: Распознавание изображений › docs › delta9 › Day9 › Delta9D9P2.pdf · • Отражение по горизонтали • Наклон ±5° •

Фреймворк

Почему TensorFlow?

1. Доступная и обширная документация

2. Активное сообщество3. Свободная лицензия (Apache 2.0)

4. Понятный интерфейс построения сетей (граф вычислений)

5. Хороший инструмент отладки (TensorBoard)

6. Уже был знаком с ним

[email protected]

Page 7: Распознавание изображений › docs › delta9 › Day9 › Delta9D9P2.pdf · • Отражение по горизонтали • Наклон ±5° •

Архитектура: Inception v3победитель ImageNet в 2015 году

Углы ФормыBottleneck

Bottleneck (предпоследний слой): • Объединяющий слой• Выход 1x1х2048• Не обучается (как все до

него)

Абстракции[email protected]

Выход:1x1x2048

Вход:binary jpeg

Page 8: Распознавание изображений › docs › delta9 › Day9 › Delta9D9P2.pdf · • Отражение по горизонтали • Наклон ±5° •

Архитектура: Inception v3Смена классификатора

Старый классификатор: • Single-labeling• 1024 класса

Новый классификатор

Классификатор

Новый классификатор:• Multi-labeling• 17 классов

Старый классификатор

[email protected]

Page 9: Распознавание изображений › docs › delta9 › Day9 › Delta9D9P2.pdf · • Отражение по горизонтали • Наклон ±5° •

ВремяВместо различных 134 слоев –Обучаем всего 1!Время тренировки – минуты!

За 1000 итераций получаем точность в 95.5%!

[email protected]

Page 10: Распознавание изображений › docs › delta9 › Day9 › Delta9D9P2.pdf · • Отражение по горизонтали • Наклон ±5° •

ИскажениеУвеличим выборку для обучения

Искажения не меняющие семантический смысл изображения:• Отражение по горизонтали• Наклон ±5°• Подушкообразное искажение

Искажения меняющие в некоторых случаях:• Отражение по вертикали• Наклон >20°• Вырезание участка

Хорошее искажение

Плохое искажение

Тестовая и валидационная выборка должны быть – без искажений[email protected]

Page 11: Распознавание изображений › docs › delta9 › Day9 › Delta9D9P2.pdf · • Отражение по горизонтали • Наклон ±5° •

Кеширование

Bottleneck – неофициальный термин обозначающий узкое место программы.

Поскольку мы обучаем только последний слой – можем заранее рассчитать входной вектор этого слоя для каждого изображение.

При следующих запусках – кеши не считаются повторно.

[email protected]

Выход:1x1x2048

Вход:binary jpeg

Page 12: Распознавание изображений › docs › delta9 › Day9 › Delta9D9P2.pdf · • Отражение по горизонтали • Наклон ±5° •

ВыводыЧто можно сделать:

• Отличный score (0.9999)

• Добавить глубины (обучать и предыдущий слой)

• Существенное увеличение выборки

• Использовать другие архитектуры

• Больше учить английский

• Прочесть больше документации

• Использовать другие фреймворки

• Учить матан.

Что есть:

• Неплохой score (0.962)

• Интерес к теме• Возможность обучить за

короткое время• Небольшое увеличение

выборки• Незачем изобретать

велосипед

• Читать документацию – полезно.

[email protected]

Page 13: Распознавание изображений › docs › delta9 › Day9 › Delta9D9P2.pdf · • Отражение по горизонтали • Наклон ±5° •

Успехов!Автор: Чернышев Константин[email protected]

НИУ ВШЭ-НН

GitHub: https://github.com/k4black/Multi-Label-Image-Classification

Page 14: Распознавание изображений › docs › delta9 › Day9 › Delta9D9P2.pdf · • Отражение по горизонтали • Наклон ±5° •

Основная литература

Retrain an Image Classifier for New Categories – URL: https://www.tensorflow.org/tutorials/image_retraining

Методы оптимизации нейронных сетей – URL: https://habrahabr.ru/post/318970/

Ресурс с различными статьями по машинному обучению – URL: http://www.machinelearning.ru/wiki

Convolutional neural network –URL: https://wikipedia.org/wiki/Convolutional_neural_network

[email protected]