Слайд 1Max Bregeda
Novosibirsk-Moscow
5 Feb 2015
Deep Learning
in Natural Language Processing
Слайд 2Breakthroughs in AI, 2014
Facebook’s DeepFace
Task: Do the two unfamiliar photos
of faces show the same person?
regardless of: variations in lighting,
whether the person is directly facing the camera.
Humans: 97.5%
DeepFace: 97.2% very close
This is CNN
Слайд 3Breakthroughs in AI, 2014
Google: “A picture is worth a thousand
(coherent) words” [2]
Task: Describe a complex scene from image.
Ошибается чаще человека
(в среднем), но в действительно сложных случаях:
Multi-Modal deep Network
(CNN+ RNN)
Слайд 4Google: “A picture is worth a thousand (coherent) words”
Ошибается чаще
человека (в среднем), но в действительно сложных случаях
Architecture:
Idea comes from
Machine translation: sentence in French >> (RNN1) >> Words vector representation >> (RNN2) >> Generate sentence in German
RNN1 replaced by CNN trained to classify objects in images, removing last layer (Softmax) so internal rich encoding in CNN is fed to RNN.
Train set: Images + Descriptions
Multi-Modal deep Network (CNN+ RNN)
Слайд 5Breakthroughs in AI, 2014
ILSVRC 2014 Classification Challenge
Task: classify image in
one category in Imagenet hierarchy
image database organized according to the
WordNet hierarchy
Let’s Browse : http://image-net.org/explore?wnid=n01503061
Task setup
Categories: 1000
Images:
for training: 1.2 M
for validation: 50K
for testing: 100K
1st place: GoogLeNet (named for Yann LeGuns) [3]
Classification Error: 6.67% This is CNN
Слайд 6Breakthroughs in AI, 2014
ILSVRC 2014 Detection Challenge
Task: produce bounding boxes
around objects in images among 200 possible classes
mAP = mean
average precision
NB:
Top teams used Deep learning approach (CNN)
Accuracy has almost doubled since 2013 this is a lot!
Слайд 7GoogLeNet at ILSVRC 2014 classification challenge
Слайд 8Who is the best at dataset X ?
MNIST, CIFAR-10, CIFAR-100,
SVHN datasets:
In 2014 all state of art results were obtained
using DL approach
Useful resources:
[5] Who is the best at X ?
Current state of the art in many popular ML tasks
Which paper provides the best results on standard dataset X
http://rodrigob.github.io/are_we_there_yet/build
[6] Kaggle CIFAR-10 winners in 2014 interview
Questions about model architectures, tech details, software frameworks, which papers read etc…
http://blog.kaggle.com/2015/01/02/cifar-10-competition-winners-interviews-with-dr-ben-graham-phil-culliton-zygmunt-zajac/
Слайд 9Meanwhile in AI, 2014
Google paid $600M for DeepMind
ML startup
called “groundbreaking research into the human brain”
Baidu (Chinese Google) hired
Andrew Ng and invests $300M in Deep learning lab in 5 years.
Слайд 10Meanwhile in AI, 2014
Knowledge from:
medical journals
textbooks
treatment guidelines
Patient’s EHR
Treatment Plan
IBM
is building two versions of Watson in oncology
1) Trained in
lung, colorectal, and breast cancer field
Memorial Sloan Kettering Cancer Center (NY) In beta-testing!!
2) Trained in leukemia field
The University of Texas MD Anderson Cancer Center.
Not using deep learning
but I do like IBM Watson :)
Слайд 11Почему Deep Learning «выстрелил» именно сейчас?
Новые алгоритмы обучения
Акцент на unsupervised
learning
Огромные объемы данных для обучения
Доступные вычислительные мощности
(Multicore CPU, GPU)
Слайд 12Deep Motivations are:
IT WORKS WELL (even if we do not
know why)
Brains have a deep architecture (Serre et al., 2007:
“may have”)
Humans organize their ideas hierarchically, through composition of simpler ideas
Distributed (possibly sparse) representations are necessary to achieve non-local generalization, exponentially more efficient than 1-of-N enumeration latent variable values
Multiple levels of latent variables allow combinatorial sharing of statistical strength
Слайд 13Going Deep: intro
Highlevel abstractions (in vision, language, and other AI-level
tasks) can be represented by the kind of very complicated
functions.
Deep architectures composed of multiple levels of non-linear operations were proposed for this task.
Base blocks: Autoencoders, Restricted Boltzman Machines (RBM) etc.
Used to build deeper models like Convolutional Neural Nets, Deep Belief Nets (DBN), Deep Boltzman machines (DBM) etc.
Эти т.н. Сети «третьего поколения» (как впрочем и многие предыдущие) имеют мало общего с биологическими нейронами, кроме названия.
Слайд 14Architecture Depth (using graph of computations)
The depth of an architecture
is the maximum length of a path from any input
of the graph to any output of the graph
Слайд 15Going Deep: Local representation
How learning algorithm can compactly represent a
“complicated” (highly-varying) function of input?
“To learn function” means get
some test error rate < ε.
Linear and Logistic regressions: 1-level architecture
Kernel machines
2-level architecture
1st level: Kernel function K – «matches» input with a set of templates. Output: degree of matching.
2nd level: linear operation (α, β). Output: kind of interpolation in region of input space between templates.
Слайд 16Examples of local reps. models:
Supervised classification & regression:
SVM, Gaussian
processes, k-nearest neighbor algorithm, Nadaraya-Watson estimator
Un-(semi-)supervised:
Locally Linear Embedding (LLE), Isomap,
kernel PCA, decision trees
BUT Ensembles of Decision trees (Boosting, Forests)
Seem non-local!
Ensembling adds 3rd level to model architecture: that level computes a vote (linear combination of base trees’ output).
Слайд 17Going Deep: Local representation
These models are local in input space
x!
OK, our model is trained.
What about generalization for new
input x ?
Good if train examples were in the neighborhood of x.
Weak if they not.
Слайд 19Going into Deep: Local representation
For generalization matters: not dimensionality,
but
the number of “variations” of the target function.
Слайд 20How to Beat the Curse of Many Factors of Variation?
Answer: Compositionality!
Gives exponential gain in representational power:
Distributed representations
Deep architecture
Слайд 21Distributed Representations
Many neurons active simultaneously
Input represented by the activation
of a set of features that are not mutually exclusive
Can be exponentially more efficient than local representations
Слайд 22Model: kNN
# regions= linear(p)
How many regions (clusters) can model discriminate?
Let
P = number of params (leaves)
Model: Ensemble of 3 decision
trees
# regions= exp(# trees) = exp(p)
aka multi-clustering: overlapping clusters and partial memberships
Слайд 23Как обучать глубокую сеть?
Историческая справка: 2006 г.
Научная группа Джеффри Хинтона
(Geoffrey E. Hinton), Торонто
Решали задачу определения эффективности лекарственного препарата
по данным о хим.структуре 15 молекул
Впервые обучили глубокую сеть.
Исключение: Convolution Nets, Yann LeGuns, работая в Bell, успешно обучал их еще в прошлом веке, приложения – распознавание рукописных чеков в ATM. BackProp еще не сущестововал!
Слайд 25Новая парадигма обучения: 2 этапа
Этап 1. Извлечение информации о внутренней
структуре данных
Unsupervised pre-training
Большой объем данных (unlabeled, как можно больше)
Модель: АвтоАссоциатор
(AA),
он же автоэнкодер (AE), он же ограниченная машина Больцмана (RBM)
Послойное обучение без учителя
Слайд 26Новая парадигма обучения: 2 этапа
Этап 2. Тонкая настройка сети
Supervised fine-tuning
Используем
информацию с 1 этапа.
Небольшой сет размеченных данных
(их всегда мало
и пропорция ухудшается)
Модели: advanced deep architectures (DBN, RNN, CNN)
Методы давно известны
Самое время вспомнить Google’s «A picture is worth a thousand (coherent) words» !
Слайд 29Почему работает pre-Training?
Никто точно не знает, подробнейшая работа на эту
тему от Yoshua Bengio [10]
Слайд 30Автоассоциаторы
Задача Автоассоциатора получить на выходе как можно более точное отображение
входа, y=x
2 Типа моделей (все те же что в ML)
Generative:
Restricted Boltzmann Machine, RBM
VS
Discriminative: Autoencoders (AE)
Слайд 31Автоэнкодер
Пытаемся выучить функцию
h(x)=x
Тривиальное решение: транслировать «вход» на «выход».
Избегаем этого:
количество
нейронов скрытого слоя должно быть меньше, чем размерность входных данных
Слайд 32Автоэнкодер
В итоге получаем сжатие данных при передаче входного сигнала на
выход сети
Такая компрессия возможна, если в данных есть скрытые взаимосвязи,
корреляция признаков, вообще какая-то структура.
Слайд 33Автоэнкодер
Т.е. это понижение размерности данных.
Похоже на PCA?
Если передаточная функция
линейная это и будет PCA
Именно благодаря нелинейности получаем сжатие.
Автоэнкодер =
обобщение PCA
Другие типы автоэнкодеров: sparse AE (SAE), denoising AE (DAE). Детали и полезные свойства см. в [6]
Слайд 34RBM
Машины Больцмана.
Происходят от сети Хопфилда, имеют стохастическую природу, нейроны поделены
на две группы, описывающие видимые и скрытые состояния (аналогия со
скрытыми моделями Маркова).
Крайне трудно обучить.
На практике пользуются «ограниченной» архитектурой.
Ограниченная машина Больцмана отличается от обыкновенной отсутствием связей между нейронами одного слоя.
Слайд 35RBM
Вкратце:
Интерпретируются аналогично HMM
Алгоритм обучения: Contrastive Divergence CD-k
Модель Generative
Т.е после обучения
можем делать выводы о видимых состояниях, зная скрытые (теорема Байеса!),
т.е. генерировать данные из вероятностного распределения на котором обучена модель!
Слайд 36Advanced Deep Models
From [8],[9]
Слайд 37Ближе к практике
Для извлечения из входного набора данных абстракций высокого
уровня автоассоциаторы складывают в стек.
(Stacked Autoencoder, Stacked RBMs)
Слайд 38Ближе к практике
Deep neural network with weights initialized by Stacked
AutoEncoder
Слайд 39Ближе к практике
Deep neural network with weights initialized by SRBM
Слайд 40Ближе к практике
На 1 этапе послойно обучают без учителя на
массиве неразмеченных данных автоассоциативную сеть (SAE или SRBM)
После обучения первого
АЕ/RBM веса нейронов скрытого слоя становятся входами второго и так далее.
Извлекается все более
обобщающая информация о структуре
Слайд 41Так все же: как обучается глубокая сеть??
На 2 этапе полученными
после обучения весами скрытых слоев автоассоциативной сети инициализируют нейроны скрытых
слоев обычной MLP и обучают с учителем известными методами.
Слайд 42Код на R
# R-код для обучения SAE
Library(deepnet)
# здесь препроцессинг, ,
формирование выборок, балансировка классов
SAE
= "sigm", learningrate = 0.8, momentum = 0.5, learningrate_scale = 1, output = "sigm", sae_output = "linear", numepochs = 3, batchsize = 100, hidden_dropout = 0, visible_dropout = 0)
predict.sae<-nn.predict(SAE, x.ts);
Слайд 43Take-away messages on Deep learning
Break-through in learning complicated functions: deep
architectures with distributed representations
Multiple levels of latent variables: potentially
exponential gain in statistical sharing
Main challenge: training deep architectures
Unsupervised pre-training of classifiers acts like a strange regularizer with improved optimization of online error
At least as important as the model: the inference approximations and the learning dynamics
Слайд 44Natural Language Processing
Когда же начнется
хоть что-нибудь о
Natural Language Processing?
Слайд 45Natural Language Processing
Отличный аналитический обзор достижений, подходов в NLP см.
[12] (Collobert, et al., 2011 г.) Есть и другие работы.
Benchmarked
Tasks:
POS
Chunking (labeling segments of a sentence)
NER
SRL
Все эти задачи решались ранее различными исследовательскими группами методами SVM, HMM, CRF … (легион статей)
Слайд 46Natural Language Processing
В чем же отличие подхода
NN (DL) в
NLP?
Heavily using automated feature extraction (no man-made features)
Huge corpuses (ALL
Wikipedia articles – yes, why not?)
Joint learning (multi-task)
Relies on word embedding (representation)
Слайд 47Representations of Text
Сама по себе идея не нова.
Традиционные представления слов
(positive pointwise mutual information - PPMI metric ) упоминаются в
статьях аж 1994 г!
Мы рассмотрим word2vec - одна из моделей т.н. distributional word representation, или neural-embedding
(unsupervised RNN inside!)
Слайд 48Log-bilinear Neural Language Model
Слайд 49Representations of Text
T. Mikolov, NIPS 2013, inventor of Vord2Vec
Слайд 50Representations of Text
T. Mikolov, NIPS 2013, inventor of Vord2Vec
Neural network
can represent words in some space that “naturally” encodes relational
similarities in the form of vector offsets.
Слайд 51Feedforward Neural Net Language Model
T. Mikolov, NIPS 2013, inventor of
Vord2Vec
Слайд 52Representations of Text
Две архитектуры в подходе word2vec
Слайд 54Continuous Bag-of-words Architecture
Слайд 55Efficient learning
Learns Incredibly fast even on CPU!
Collobert model: dimensions 50,
tokens 700M, Training time 2 months
Word2vec Skip-gram: dimensions 1000, tokens
6B, Training time hours
Word2vec CBOW: dimensions 300, tokens 1.5B, Training time minutes
Слайд 56Linguistic regularities in Word Vector Space
Слайд 57Linguistic regularities in Word Vector Space
More Details in [13]
Занимательная арифметика
Слайд 58Что это дает?
Можно рассматривать модель word2vec как первый этап, когда
извлекается информация о структуре данных, на которой базируются более сложные
модели (нейросетевые в т.ч.).
Приложения:
Semantic (analogy) & Syntactic Similarity task
Все классические подзадачи NLP
Machine translation (bi-lingual regularities)
Экзотика: neural tensor network [14]: Problem of reasoning over a large joint knowledge graph for relation classification.
Multi-modal and Multi-task learning
Слайд 59…
И еще множество
деталей,
эвристик,
моделей
…
и их комбинаций
Слайд 60Открытые вопросы (активно исследуются)
1. Как выйти за пределы контекста предложения?
Word2Vec
на вход получает предложения.
Идей много,
перспективная (Ivan Titov, Яндекс, февраль
2014):
Искать высокоуровневые общие признаки (shared Features) среди предложений
Слайд 61Открытые вопросы (активно исследуются)
2. (связан с 1) Как строить/интерпретировать/работать с
иерархиями признаков для текстовых данных?
Часто приводят в пример Deep learning
фичи в комп.зрении (возрастание абстракции):
Пиксель – Штрих – Дуга – Контур…
Это скорее побочный артефакт.
Deep learning делает не «feature engineering» а именно «feature representation», отображение.
Слайд 62Открытые вопросы (активно исследуются)
Я экспериментировал с леммами после обработки корпуса
mystem (яндекс).
3. Как использовать морфологическую информацию слов русского языка?
На западе
русский язык неинтересен.
В русскоязычном сегменте нет публикаций (раз в полгода обзор «мои потуги в NLP» на Хабре)
Слайд 63Standard Datasets for these tasks
MSR dataset, 8000 analogy questions,
research.microsoft.com/en-us/projects/rnn/
Googel
dataset, 19544 questions, 14 relation types
used to make word
pairs
5code.google.com/p/word2vec/source/browse/trunk/questions-words.txt
SEMEVAL dataset
(from SemEval 2012 Task 2: Measuring Relation Similarity)
Jurgens et al., 2012
Слайд 64В помощь исследователю DL: где начать?
http://deeplearning.net/tutorial/ -
туториалы, примеры кода
на Theano, ссылки на статьи
Who is the best of X?
Датасеты, статьи, результаты
http://rodrigob.github.io/are_we_there_yet/build/
Превосходный обзор литературы по DL
Deep Learning: Methods and Applications [14]
Microsoft research
Слайд 65В помощь исследователю DL: Фреймворки
H2O
Пакет R для параллельного ML
(в том числе Deep Learning)
Theano
Python - бибилиотека для вычислений
Caffee: модули
CUDA, BLAS, OpenCV, обертки для Python, MATLAB
http://caffe.berkeleyvision.org/
Torch7
http://torch.ch/
Numerical/scientific extension of LuaJIT.
Преимущества перед Python: быстрее, проще, прозрачные интерфейсы в C++/Cuda. Используется в research (и некоторых production) Deep Mind (Google), FB
Слайд 66В помощь исследователю DL: Фреймворки
Gensim
NLP библиотека! Python
https://radimrehurek.com/gensim/
Topic modeling, DLA,
LSA, Word2vec…
Слайд 67Конференции за которыми нужно следить
NIPS - Conference on Neural Information
Processing Systems
http://en.wikipedia.org/wiki/Conference_on_Neural_Information_Processing_Systems
http://nips.cc/
7-12.12.2015, Canada
ICML - International Conference on Machine Learning
http://icml.cc/
http://en.wikipedia.org/wiki/International_Conference_on_Machine_Learning
6-11.07.2015, France
NAACL
- North American Chapter of the Association for Computational Linguistics
Туториалы по NLP, выступали Richard Socher (Stanford University) and Christopher D. Manning (Stanford University)
http://naacl.org/naacl-hlt-2015/
31.05-05.06.2015 - Denver, Colorado, USA.
Слайд 68Конференции за которыми нужно следить
В России
Диалог
АИСТ https://www.facebook.com/groups/aistconf/
Яндекс.Семинары (видео-трансляции)
Слайд 69KAGGLE
www.Kaggle.com
Соревнования по решению практических задач c серьезными призовыми фондами.
Доклад Ben Hammer (director of science) на YaC 2014.
https://events.yandex.ru/lib/talks/2429/
Слайд 70Персоналии. Reddit AMA’s
Geoffrey Hinton
AMA
http://www.reddit.com/r/MachineLearning/comments/2lmo0l/ama_geoffrey_hinton
Yan LeCun
Интервью
http://blog.kaggle.com/2014/12/22/convolutional-nets-and-cifar-10-an-interview-with-yan-lecun/
AMA:
http://www.reddit.com/r/MachineLearning/comments/25lnbt/ama_yann_lecun
Michael Jordan
Интервью http://www.reddit.com/r/MachineLearning/comments/2fxi6v/ama_michael_i_jordan
AMA: http://www.reddit.com/r/MachineLearning/comments/2fxi6v/ama_michael_i_jordan/
Yoshua Bengio
AMA:
http://www.reddit.com/r/MachineLearning/comments/1ysry1/ama_yoshua_bengio
Слайд 72Advanced Deep Models
Slide from [8],[9]
Very similar to Ivan Titov’s approach
to NLP