20150203_DL in NLP presentation.pptx
- Количество слайдов: 73
Deep Learning in Natural Language Processing Max Bregeda Novosibirsk-Moscow 5 Feb 2015 1
Breakthroughs in AI, 2014 Facebook’s Deep. Face 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% Deep. Face: 97. 2% very close This is CNN 2
Breakthroughs 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) 3
Google: “A picture is worth a thousand (coherent) words” Architecture: Multi-Modal deep Network (CNN+ RNN) Ошибается чаще человека (в среднем), но в действительно сложных случаях Idea comes from Machine translation: sentence in French >> (RNN 1) >> Words vector representation >> (RNN 2) >> Generate sentence in German RNN 1 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 4
Breakthroughs in AI, 2014 ILSVRC 2014 Classification Challenge Task: classify image in one category in Imagenet hierarchy image database organized according to the Word. Net hierarchy Let’s Browse : http: //image-net. org/explore? wnid=n 01503061 Task setup Categories: 1000 Images: • for training: 1. 2 M • for validation: 50 K • for testing: 100 K 1 st place: Goog. Le. Net (named for Yann Le. Guns) [3] Classification Error: 6. 67% This is CNN 5
Breakthroughs in AI, 2014 ILSVRC 2014 Detection Challenge Task: produce bounding boxes around objects in images among 200 possible classes m. AP = mean average precision NB: • Top teams used Deep learning approach (CNN) • Accuracy has almost doubled since 2013 this is a lot! 6
Goog. Le. Net at ILSVRC 2014 classification challenge 7
Who is the best at dataset X ? MNIST, 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-drben-graham-phil-culliton-zygmunt-zajac/ 8
Meanwhile in AI, 2014 • Google paid $600 M for Deep. Mind ML startup called “groundbreaking research into the human brain” • Baidu (Chinese Google) hired Andrew Ng and invests $300 M in Deep learning lab in 5 years. 9
Meanwhile in AI, 2014 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. Knowledge from: • medical journals • textbooks • treatment guidelines Treatment Plan Patient’s EHR Not using deep learning but I do like IBM Watson : ) 10
Почему Deep Learning «выстрелил» именно сейчас? • Новые алгоритмы обучения • Акцент на unsupervised learning • Огромные объемы данных для обучения • Доступные вычислительные мощности (Multicore CPU, GPU) 11
Deep 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 12
Going 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. Эти т. н. Сети «третьего поколения» (как впрочем и многие предыдущие) имеют мало общего с биологическими нейронами, кроме названия. 13
Architecture Depth (using graph of computations) Set: operators & function sin Target: Depth: 4 Set: neurons Target: multi-layer neural network Depth: 3 The depth of an architecture is the maximum length of a path from any input of the graph to any output of the graph 14
Going 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 1 st level: Kernel function K – «matches» input with a set of templates. Output: degree of matching. 2 nd level: linear operation (α, β). Output: kind of interpolation in region of input space between templates. 15
Examples 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 3 rd level to model architecture: that level computes a vote (linear combination of base trees’ output). 16
Going 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. 17
18
Going into Deep: Local representation For generalization matters: not dimensionality, but the number of “variations” of the target function. 19
How to Beat the Curse of Many Factors of Variation? Answer: Compositionality! Gives exponential gain in representational power: • Distributed representations • Deep architecture 20
Distributed 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 21
How many regions (clusters) can model discriminate? Let P = number of params (leaves) Model: k. NN # regions= linear(p) Model: Ensemble of 3 decision trees # regions= exp(# trees) = exp(p) aka multi-clustering: overlapping clusters and partial memberships 22
Как обучать глубокую сеть? Историческая справка: 2006 г. Научная группа Джеффри Хинтона (Geoffrey E. Hinton), Торонто Решали задачу определения эффективности лекарственного препарата по данным о хим. структуре 15 молекул Впервые обучили глубокую сеть. Исключение: Convolution Nets, Yann Le. Guns, работая в Bell, успешно обучал их еще в прошлом веке, приложения – распознавание рукописных чеков в ATM. Back. Prop еще не сущестововал! 23
Conv. Nets (Le. Gun, 1992) 24
Новая парадигма обучения: 2 этапа Этап 1. Извлечение информации о внутренней структуре данных Unsupervised pre-training • Большой объем данных (unlabeled, как можно больше) • Модель: Авто. Ассоциатор (AA), он же автоэнкодер (AE), он же ограниченная машина Больцмана (RBM) • Послойное обучение без учителя 25
Новая парадигма обучения: 2 этапа Этап 2. Тонкая настройка сети Supervised fine-tuning • Используем информацию с 1 этапа. • Небольшой сет размеченных данных (их всегда мало и пропорция ухудшается) • Модели: advanced deep architectures (DBN, RNN, CNN) • Методы давно известны Самое время вспомнить Google’s «A picture is worth a thousand (coherent) words» ! 26
Что это дает? 27
Что это дает? 28
Почему работает pre-Training? Никто точно не знает, подробнейшая работа на эту тему от Yoshua Bengio [10] 29
Автоассоциаторы Задача Автоассоциатора получить на выходе как можно более точное отображение входа, y=x 2 Типа моделей (все те же что в ML) Generative: Restricted Boltzmann Machine, RBM VS Discriminative: Autoencoders (AE) 30
Автоэнкодер Пытаемся выучить функцию h(x)=x Тривиальное решение: транслировать «вход» на «выход» . Избегаем этого: количество нейронов скрытого слоя должно быть меньше, чем размерность входных данных 31
Автоэнкодер В итоге получаем сжатие данных при передаче входного сигнала на выход сети Такая компрессия возможна, если в данных есть скрытые взаимосвязи, корреляция признаков, вообще какаято структура. 32
Автоэнкодер Т. е. это понижение размерности данных. Похоже на PCA? Если передаточная функция линейная это и будет PCA Именно благодаря нелинейности получаем сжатие. Автоэнкодер = обобщение PCA Другие типы автоэнкодеров: sparse AE (SAE), denoising AE (DAE). Детали и полезные свойства см. в [6] 33
RBM Машины Больцмана. Происходят от сети Хопфилда, имеют стохастическую природу, нейроны поделены на две группы, описывающие видимые и скрытые состояния (аналогия со скрытыми моделями Маркова). Крайне трудно обучить. На практике пользуются «ограниченной» архитектурой. Ограниченная машина Больцмана отличается от обыкновенной отсутствием связей между нейронами одного слоя. 34
RBM Вкратце: • Интерпретируются аналогично HMM • Алгоритм обучения: Contrastive Divergence CD-k • Модель Generative Т. е после обучения можем делать выводы о видимых состояниях, зная скрытые (теорема Байеса!), т. е. генерировать данные из вероятностного распределения на котором обучена модель! 35
Advanced Deep Models 36 From [8], [9]
Ближе к практике Для извлечения из входного набора данных абстракций высокого уровня автоассоциаторы складывают в стек. (Stacked Autoencoder, Stacked RBMs) 37
Ближе к практике Deep neural network with weights initialized by Stacked Auto. Encoder 38
Ближе к практике Deep neural network with weights initialized by SRBM 39
Ближе к практике На 1 этапе послойно обучают без учителя на массиве неразмеченных данных автоассоциативную сеть (SAE или SRBM) После обучения первого АЕ/RBM веса нейронов скрытого слоя становятся входами второго и так далее. Извлекается все более обобщающая информация о структуре 40
Так все же: как обучается глубокая сеть? ? На 2 этапе полученными после обучения весами скрытых слоев автоассоциативной сети инициализируют нейроны скрытых слоев обычной MLP и обучают с учителем известными методами. 41
Код на R # R-код для обучения SAE Library(deepnet) # здесь препроцессинг, , формирование выборок, балансировка классов SAE<- sae. dnn. train(x, y, hidden = c(10), activationfun = "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); 42
Take-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 43
Natural Language Processing Когда же начнется хоть что-нибудь о Natural Language Processing? 44
Natural Language Processing Отличный аналитический обзор достижений, подходов в NLP см. [12] (Collobert, et al. , 2011 г. ) Есть и другие работы. Benchmarked Tasks: • POS • Chunking (labeling segments of a sentence) • NER • SRL Все эти задачи решались ранее различными исследовательскими группами методами SVM, HMM, CRF … (легион статей) 45
Natural 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) 46
Representations of Text Сама по себе идея не нова. Традиционные представления слов (positive pointwise mutual information - PPMI metric ) упоминаются в статьях аж 1994 г! Мы рассмотрим word 2 vec - одна из моделей т. н. distributional word representation, или neuralembedding (unsupervised RNN inside!) 47
Log-bilinear Neural Language Model 48
Representations of Text T. Mikolov, NIPS 2013, inventor of Vord 2 Vec 49
Representations of Text Neural network can represent words in some space that “naturally” encodes relational similarities in the form of vector offsets. T. Mikolov, NIPS 2013, inventor of Vord 2 Vec 50
Feedforward Neural Net Language Model T. Mikolov, NIPS 2013, inventor of Vord 2 Vec 51
Representations of Text Две архитектуры в подходе word 2 vec 52
Skip-gram Architecture 53
Continuous Bag-of-words Architecture 54
Efficient learning Learns Incredibly fast even on CPU! Collobert model: dimensions 50, tokens 700 M, Training time 2 months Word 2 vec Skip-gram: dimensions 1000, tokens 6 B, Training time hours Word 2 vec CBOW: dimensions 300, tokens 1. 5 B, Training time minutes 55
Linguistic regularities in Word Vector Space 56
Linguistic regularities in Word Vector Space Занимательная арифметика More Details in [13] 57
Что это дает? Можно рассматривать модель word 2 vec как первый этап, когда извлекается информация о структуре данных, на которой базируются более сложные модели (нейросетевые в т. ч. ). Приложения: • 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 58
… И еще множество деталей, эвристик, моделей … и их комбинаций 59
Открытые вопросы (активно исследуются) 1. Как выйти за пределы контекста предложения? Word 2 Vec на вход получает предложения. Идей много, перспективная (Ivan Titov, Яндекс, февраль 2014): Искать высокоуровневые общие признаки (shared Features) среди предложений 60
Открытые вопросы (активно исследуются) 2. (связан с 1) Как строить/интерпретировать/работать с иерархиями признаков для текстовых данных? Часто приводят в пример Deep learning фичи в комп. зрении (возрастание абстракции): Пиксель – Штрих – Дуга – Контур… Это скорее побочный артефакт. Deep learning делает не «feature engineering» а именно «feature representation» , отображение. 61
Открытые вопросы (активно исследуются) Я экспериментировал с леммами после обработки корпуса mystem (яндекс). 3. Как использовать морфологическую информацию слов русского языка? • На западе русский язык неинтересен. • В русскоязычном сегменте нет публикаций (раз в полгода обзор «мои потуги в NLP» на Хабре) 62
Standard 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 5 code. google. com/p/word 2 vec/source/browse/trunk/questions-words. txt SEMEVAL dataset (from Sem. Eval 2012 Task 2: Measuring Relation Similarity) Jurgens et al. , 2012 63
В помощь исследователю 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 64
В помощь исследователю DL: Фреймворки H 2 O Пакет R для параллельного ML (в том числе Deep Learning) Theano Python - бибилиотека для вычислений Caffee: модули CUDA, BLAS, Open. CV, обертки для Python, MATLAB http: //caffe. berkeleyvision. org/ Torch 7 http: //torch. ch/ Numerical/scientific extension of Lua. JIT. Преимущества перед Python: быстрее, проще, прозрачные интерфейсы в C++/Cuda. Используется в research (и некоторых production) Deep Mind (Google), FB 65
В помощь исследователю DL: Фреймворки Gensim NLP библиотека! Python https: //radimrehurek. com/gensim/ Topic modeling, DLA, LSA, Word 2 vec… 66
Конференции за которыми нужно следить NIPS - Conference on Neural Information Processing Systems http: //en. wikipedia. org/wiki/Conference_on_Neural_Information_Processin g_Systems http: //nips. cc/ 7 -12. 2015, Canada ICML - International Conference on Machine Learning http: //icml. cc/ http: //en. wikipedia. org/wiki/International_Conference_on_Machine_Learni ng 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. 67
Конференции за которыми нужно следить В России Диалог АИСТ https: //www. facebook. com/groups/aistconf/ Яндекс. Семинары (видео-трансляции) 68
KAGGLE www. Kaggle. com Соревнования по решению практических задач c серьезными призовыми фондами. Доклад Ben Hammer (director of science) на Ya. C 2014. https: //events. yandex. ru/lib/talks/2429/ 69
Персоналии. Reddit AMA’s Geoffrey Hinton AMA http: //www. reddit. com/r/Machine. Learning/comments/2 lmo 0 l/ama_geoffrey_hinton Yan Le. Cun Интервью http: //blog. kaggle. com/2014/12/22/convolutional-nets-and-cifar-10 -an-interview-with-yanlecun/ AMA: http: //www. reddit. com/r/Machine. Learning/comments/25 lnbt/ama_yann_lecun Michael Jordan Интервью http: //www. reddit. com/r/Machine. Learning/comments/2 fxi 6 v/ama_michael_i_jordan AMA: http: //www. reddit. com/r/Machine. Learning/comments/2 fxi 6 v/ama_michael_i_jordan/ Yoshua Bengio AMA: http: //www. reddit. com/r/Machine. Learning/comments/1 ysry 1/ama_yoshua_bengio 70
Спасибо! Вопросы? Комментарии? 71
Advanced Deep Models Slide from [8], [9] Very similar to Ivan Titov’s approach to NLP 72
73
20150203_DL in NLP presentation.pptx