Применение глубоких сверточных нейронных сетей для семантического кодирования изображений Нестеров Павел 18 апреля 2015 г. План О Mail.Ru сегодня Постановка задачи Глубокие нейронные сети Соревнования ImageNet и Kaggle.com Семантическое хеширование 1 / 44 2 / 44 Доходы компании Рис.: Распределение доходов на I квартал 2014 года1 1 IVAS - Internet Value-Added Services 3 / 44 Реклама У нас показывается реклама: I контекстна; I медийная; I таргетинговая; Рекламные метрики: I клики/закачки/любые полезные действия, clicks: Nclc I показы, impressions: Nimp I Click-through rate, CTR = I Cost per click, CPC: устанавливается пользователем I Cost per mile, цена за 1000 показов: CPM = 1000 × CPC × CTR Nclc Nimp 4 / 44 Проблема I Цель: заработать денег, естественно. I Как: показывать те объявления, у которых самый большой CPM. CPM = 1000 × CPC × CTR: I I CPC априорно задан пользователям clc известен только после CTR в формулировке вида NNimp некоторого количества показов I выгодно использовать свой CTR для каждого объявления (категория, изображение, текст, ...), человека (пол, возраст, интересы, ...), времени суток/недели/месяца и других показателей I пространство экспоненциально большое, статистику для оценки CTR собрать не реально 5 / 44 Пример2 При использовании таргетирования, оказалось, что нужно обеим группам показывать одну рекламу; в то время как при анализе все выборки в целом, расчет показывает, что вторая реклама эффективнее. CPC = 10$ Группа 1 Группа 2 Сумма CPC = 10$ Группа 1 Группа 2 Сумма 2 парадокс clc 81 192 273 Реклама андройдофона imp CTR CPM Доход 87 0.931 9310$ 16610$ 263 0.73 7300$ 350 0.78 7800$ 7800$ clc 224 55 289 Реклама айфона imp CTR CPM 270 0.829 8290$ 80 0.687 6870$ 350 0.825 8250 Доход 15160$ 8250$ Симпсона 6 / 44 Решение Рассмотрим CTR как случайную величину - вероятность того, что пользователь кликнет по рекламе. Тогда CTR можно смоделировать некоторой функцией f : {X } → [0, 1], где X - это множество параметров характеризующее показ рекламы пользователю, туда могут входить: I пол, возраст, образование, интересы и категория (в данный период времени) пользователя I текст объявления, изображение, размеры I история просмотров рекламы за последнее время I история посещенных сайтов I технические детали оборудования, используемого для выхода в интернет I политическая ситуация в мире, погода, время года и время дня I ... 7 / 44 Изображение Рис.: Пример рекламы формата текст+изображение из vk.com 8 / 44 Читеры Рис.: Рекламные места и обман банерной системы 9 / 44 Семантический код Семантический кодирование - это такое кодирование, при котором для каждого объекта из исходного пространства (высокой размерности), ставится в соответствие объект (код) из нового пространства (меньшей размерности), такой, что семантически похожие объекты имеют похожие коды (в смысле некоторой меры). Рис.: Схематическое представление семантического кодирования3 3 Semantic Hashing (Salakhutdinov, Hinton) 10 / 44 Извлечение признаков Рис.: Классический подход к извлечению признаков 11 / 44 Извлечение признаков, история Рис.: Глубокое обучение4 4 Learning visual representations (Andrea Vedaldi) 12 / 44 Нейрон МакКаллока-Питтса, 1943 год Рис.: Схема искусственного нейрона5 5 Neural Networks and Learning Machines (3rd Edition), Simon O. Haykin 13 / 44 Персептрон Розенблатта, 1958 год Рис.: Схема реализации модели МакКаллока-Питтса в персептроне 14 / 44 Универсальный аппроксиматор Рис.: Нейронная сеть с одним скрытым слоем с нелинейной функцией активации 15 / 44 Алгоритм обратного распространения ошибки, 1986 год Рис.: Многослойная сеть прямого распространения6 6 Neural Networks and Learning Machines (3rd Edition), Simon O. Haykin 16 / 44 Глубокие нейронные сети, 2005+ Рис.: Глубокая нейронная сеть7 7 Scale Deep Learning (Jeff Dean) 17 / 44 Мультимодальное обучение #1 Рис.: Explain Images with Multimodal Recurrent Neural Networks8 8 Junhua Mao, Wei Xu, Yi Yang, Jiang Wang, Alan L. Yuille 18 / 44 Мультимодальное обучение #2 Рис.: Представление изображений и текста в одном пространстве9 9 Ryan Kiros, 2014 19 / 44 Мультимодальное обучение #3 Рис.: Генерация текста по изображениям10 10 A picture is worth a thousand (coherent) words: building a natural description of images (Oriol Vinyals, Alexander Toshev, Samy Bengio, and Dumitru Erhan) 20 / 44 Мультимодальное обучение #4 Рис.: ИИ?11 11 http://videolectures.net/kdd2014_salakhutdinov_deep_learning/ 21 / 44 ImageNet, описание I 1000 классов около 1000 изображений в каждом классе I около 1 000 000 изображений всего I 22 / 44 ImageNet, правила Рис.: Примеры прогнозов 23 / 44 ImageNet, победители 2014 2013 2012 Classification 1st 2nd GoogLeNet VGG Clarifai13 NUS14 16 SuperVision ISI 3rd MSRA12 ZF15 VGG Рис.: Прогресс в конкурсе по распознаванию 12 Spatial Pyramid Pooling in Deep Convolutional Networks deep convolutional network 14 SVM+DCNN (AlexNet based) 15 ensemble of large CNN 16 AlexNet 13 large 24 / 44 Сверточная нейронная сеть Рис.: LeNet, свертка и пулинг 25 / 44 AlexNet Рис.: ImageNet Classification with Deep Convolutional Neural Networks17 I 5 сверточных и 3 полносвязных слоя I 60М параметров, 650к нейрнов I эффективное распараллеливание на 2 GPU/CUDA I свёртки 11x11, 5x5, 3x3 17 Alex Krizhevsky, Ilya Sutskever, Geoffrey E. Hinton 26 / 44 VGG I VGG-19 (E): 144М параметров I Very Deep Convolutional Networks for Large-Scale Image Recognitiona a K. Simonyan, A. Zisserman 27 / 44 Выученные признаки, #1 Рис.: Visualizing and Understanding Convolutional Networks18 18 Matthew D. Zeiler and Rob Fergus 28 / 44 Выученные признаки, #2 Рис.: Visualizing and Understanding Convolutional Networks19 19 Matthew D. Zeiler and Rob Fergus 29 / 44 Выученные признаки, #3 Рис.: Visualizing and Understanding Convolutional Networks20 20 Matthew D. Zeiler and Rob Fergus 30 / 44 Соревнования на Kaggle.com I Детектирование диабетической ретинопатии (100k$) I Классификация морского планктона (175k$) I Классификация галактик Поиск темной материи (NASA and the Royal Astronomical Society) I Рис.: Распределение участников 31 / 44 Transfer learning Рис.: Трансфер между двумя глубокими сетями21 21 Learning visual representations (Andrea Vedaldi) 32 / 44 RBM и AE 33 / 44 DBN (Deep RBM) и Deep AE Рис.: Глубокий автоенкодер22 22 Semantic Hashing (Salakhutdinov, Hinton) 34 / 44 Итоговая модель 35 / 44 Инструменты I Caffe: http://caffe.berkeleyvision.org/ I cudamat: https://github.com/cudamat/cudamat 36 / 44 Визуализация, #1 37 / 44 Визуализация, #2 38 / 44 Визуализация, #3 39 / 44 Визуализация, #4 40 / 44 Визуализация, #5 41 / 44 Визуализация, #6 42 / 44 Визуализация, #7 43 / 44 Вопросы