close

Вход

Забыли?

вход по аккаунту

?

ОСНОВЫ НЕЙРОННЫХ СЕТЕЙ. ЛЕКЦИЯ 6

код для вставкиСкачать
Лекция 6
Архитектуры глубинных сетей
Полыковский Даниил
Храбров Кузьма
16 октября 2017 г.
Архитектуры CNN
ImageNet, описание
I
1000 классов
около 1000 изображений в каждом классе
I
около 1 000 000 изображений всего
I
несколько номинаций: таких как распознование и
детектирование/локализация
I
2 / 38
ImageNet, правила
Рис.: Примеры прогнозов
3 / 38
ImageNet, прогресс
4 / 38
ImageNet, прогресс
5 / 38
Lenet
1
1 http://yann.lecun.com/exdb/lenet
6 / 38
AlexNet2
2 Alex Krizhevsky, Ilya Sutskever, Geoffrey E. Hinton: ImageNet Classification with
Deep Convolutional Neural Networks, 2012
http://www.cs.toronto.edu/~fritz/absps/imagenet.pdf
7 / 38
I
5 сверточных и 3
полносвязных слоя
I
60М параметров, 650к
нейрнов
I
эффективное
распараллеливание на 2
GPU/CUDA
I
свёртки 11x11, 5x5, 3x3
I
ReLU, т.к. не надо вычислять
exp
8 / 38
VGG3
I
VGG-19 (E):
144М
параметров
I
Very Deep
Convolutional
Networks for
Large-Scale
Image
Recognitiona
I
Только
свертки 3x3
a K.
Simonyan, A. Zisserman
3 http://arxiv.org/pdf/1409.1556.pdf
9 / 38
NIN4
I
I
“Полносвязные слои” (свертки 1x1) внутри свертки
Глобальный пулинг для вытягивания изображения (+ доп.
регуляризация)
4 https://arxiv.org/pdf/1312.4400v3.pdf
10 / 38
GoogLeNet5
5 http://www.cv-foundation.org/openaccess/content_cvpr_2015/papers/
Szegedy_Going_Deeper_With_2015_CVPR_paper.pdf
11 / 38
Revolution of Depth
I
Нагляднее: http://josephpcohen.com/w/
visualizing-cnn-architectures-side-by-side-with-mxnet/
12 / 38
ResNet6
x
20
10
56-layer
test error (%)
training error (%)
20
56-layer
20-layer
10
weight layer
F(x)
20-layer
0
0
1
2
3
4
iter. (1e4)
5
6
0
0
1
2
3
4
5
6
iter. (1e4)
Рис.: Обучение “обычной” сети
relu
weight layer
F(x)+x
x
identity
relu
Рис.: Residual block
I
Результат на 56 слоях хуже. Проблема не в переобучении
I
Решение заведомо существует: 20 слоев, затем F(x)=x
I
Выучить F(x)=x тяжело, а F(x)=0 просто
I
Residual block решает эту проблему
6 https://arxiv.org/pdf/1512.03385v1.pdf
13 / 38
14 / 38
Существует множество модификаций ResNet: ResNet in ResNet7 ,
DenseNet8
7 https://arxiv.org/pdf/1603.08029v1.pdf
8 https://arxiv.org/pdf/1608.06993v1.pdf
15 / 38
Сравнение моделей
Рис.: Accuracy
16 / 38
Сравнение моделей
Рис.: Скорость
17 / 38
Сравнение моделей
Рис.: Потребление памяти
18 / 38
Case study
National Data Science Bowl
National Data Science Bowl10
Рис.: Примеры изображений из набора данных: всего 121
несбалансированный класс, 30 000 изображений
Победители9 использовали архитектуру VGG-16, а так же ряд
специальных трюков.
9 http://benanne.github.io/2015/03/17/plankton.html
10 https://www.kaggle.com/c/datasciencebowl
20 / 38
Data augmentation, #1
Data augmentation:
I rotation: random with angle between 0 and 360 dergee (uniform)
I
translation: random with shift between -10 and 10 pixels (uniform)
I
I
rescaling: random with scale factor between 1/1.6 and 1.6
(log-uniform)
flipping: yes or no (bernoulli)
I
shearing: random with angle between -20 and 20 degree (uniform)
stretching: random with stretch factor between 1/1.3 and 1.3
(log-uniform)
Данные нужно аугментировать в реальном времени (иначе —
значительное увеличение размера датасета). Не стоит недооценивать
test-time аугментацию.
I
21 / 38
Data augmentation, #2
Рис.: Оригиналы и аугментированные образы
22 / 38
Cyclic pooling
Рис.: Schematic representation of a convnet with cyclic pooling
I
I
I
объединение результатов извлечения признаков после прохода
по нескольким копиям одной сети параллельно
это позволило сократить размер батча в 4 раза (со 128 до 32)
root-mean-square pooling оказался эффективнее других
23 / 38
Rolling feature maps
Рис.: Schematic representation of a roll operation inside a convnet with cyclic
pooling.
24 / 38
Советы
I
leaky/parameterized ReLU: f (x) = max(x, a · x), a ≤ 0
I
добавление к сверточным признакам других признаков перед
полносвязным слоем (Hu moments, Zernile moments, atc)
I
использовать предобученные модели
I
self-training с тестовой выборкой
I
аугментировать данные
25 / 38
Другие задачи компьютерного зрения
Рис.: Semantic segmentation, Localization, Detection and Instance
Segmentation (Source: CS231n (Stanford) lecture slides)
26 / 38
Semantic segmentation
Задача - понять к какой категории относится каждая точка картинки.
27 / 38
Semantic segmentation. Подходы.
11
11 https://arxiv.org/abs/1505.04366v1
28 / 38
Object Classification + localization.
29 / 38
Object detection. Pascal VOC competition
30 / 38
Object detection. История
31 / 38
Detection. Подходы
I
I
Регрессия. Так же как и с одним объектом.
Обычно не известно, какие объекты мы ищем и сколько их.
Классификация.
Выбираем области, в которых могут быть объекты и применяем
классификатор.
32 / 38
Detection. Выбор областей. Скользящее окно
Рис.: Background
Рис.: Dog
Рис.: Cat
33 / 38
Detection. Автоматический выбор областей.
Shape Sharing for Object Segmentation. J. Kim and K. Grauman. ECCV
2012.
Uijlings et al, “Selective Search for Object Recognition”, IJCV 2013
Category-Independent Object Proposals with Diverse Ranking. Ian Endres
and Derek Hoiem. PAMI 2014.
Zitnick and Dollar, “Edge boxes: Locating object proposals from edges”,
ECCV 2014
34 / 38
Detection. R-CNN.
Рис.: R-CNN paper
35 / 38
Detection. Faster.
Fast R-CNN
Faster R-CNN
YOLO
36 / 38
Instance Segmentation. Mask R-CNN
Рис.: Mask R-CNN paper
37 / 38
Вопросы
Автор
tekhnostrim
Документ
Категория
Без категории
Просмотров
1 013
Размер файла
11 771 Кб
Теги
lectures
1/--страниц
Пожаловаться на содержимое документа