Philip Marchenko (Machine Learning Expert at 3DLOOK)
В этом докладе не будет никакой научной новизны, в нем нет никаких лайфхаков etc. Это будет, скорее, нечто ретроспективное: мы постараемся отследить, как изменялся тренд в nlp за последние 10 лет и разберёмся с самыми хайповыми моделями.
https://dataphoenix.info/ods-ai-odessa-meetup-4/
Видео: https://youtu.be/WN6Y1J06fy4
Подписывайтесь на наш Telegram канал (https://t.me/DataPhoenix), чтобы всегда быть в курсе последних новостей!
ODS.ai Odessa Meetup #3: Enterprise data management - весело или нет?!
ODS.ai Odessa Meetup #4: NLP: изменения за последние 10 лет
1. The Decade of NLP
Давайте разберемся, как NLP развивался на протяжении
последних 10 лет
2. До 2012...
● Rule-based подходы
● Графовые подходы
● Большинство классических методов ML
● Простые векторные представления документов/предложений/слов
● Весь DL -- только гипотеза без подтверждения
Боли:
● Громоздкость
● Отсутствие мощностей
● Малая точность
● Об интеграции никто даже не задумывлася
3. 2013: word2vec
● Efficient Estimation of Word Representations in Vector Space (Tomas Mikolov
et al., 2013) https://arxiv.org/pdf/1301.3781.pdf
● Distributed Representations of Words and Phrases and their Compositionality
(Tomas Mikolov et al., 2013) https://arxiv.org/pdf/1310.4546.pdf
● We propose two novel model architectures for computing continuous vector
representations of words from very large data sets.
● Основная идея: попробовать сформировать из большого количества
текстов датасет, чтобы в supervised стиле обучить какую-то модель с
помощью gradient descent метода предсказывать контекст/семантику
слова, а параметры модели использовать как представления.
4. Как это работает
iggle
0
0
0
0
1
0
0
…
0
H
i
d
d
e
n
OHE
(..., n)
3.54
-0.84
0.123
...
(..., n)
(iggle, squiggs)
squiggs
Loss: CE
The iggle squiggs trazed wombly
in the harlish hoop.
(The, iggle), (The, squiggs), (Iggle,
the), (iggle, squiggs), (iggle,
trazed)...
n-gramms
В итоге соответствие в матрице u -- входным словам, а в v --
выходным.
w(squiggs) = u(squiggs) + v(squiggs)
10. Backpropagation through time
...
W W W W W
...
И тогда общий
backpopagation для какого-то
момента времени -- сумма
всех производных по
параметрам сети до этого
момента
В случае RNN, на
каждом шаге времени
мы можем посчитать
целевой лосс.
11. RNN для разных задач
1 to 1
Usual NN
1 to n
Text generation
n to 1
Classification
https://colah.github.io/posts/2015-08-Understanding-LSTMs/
12. RNN для разных задач
n to n
POS, NER Machine
translation
13. Vanishing and exploding gradients
n n^10 n^100
1.77 ~301 ~6*10^24
0.45 ~0.0003 ~0
http://web.stanford.edu/class/cs224n/re
adings/cs224n-2019-notes05-LM_RNN.
pdf
14. Каким образом пофиксить?
1) Для борьбы со
взрывающимися
градиентами мы можем
просто не давать им сильно
расти -- gradient clipping.
2) Разбивать
последовательности
3) Identity инициализация
вместо рандома
4) ReLU
23. 2016: Google bridges the gap between human and
machines
https://arxiv.org/pdf/1609.08144.pdf
24. 2014-2016: эра LSTM
● Огромная куча вариаций
● Все task-specific
● Нет transfer learning
25. 2018: ULM-Fit
https://arxiv.org/pdf/1801.06146
We propose Universal Language Model Fine-tuning (ULMFiT), an effective transfer learning method that
can be applied to any task in NLP, and introduce techniques that are key for fine-tuning a language model.
Our method significantly outperforms the state-of-the-art on six text classification tasks, reducing the error
by 18- 24% on the majority of datasets. Furthermore, with only 100 labeled examples, it matches the
performance of training from scratch on 100× more data. We open-source our pretrained models and
code
32. Multi-Head attention
Учим h подобных сетей:
● На вход слою подаются вектора key,
value, query (key = value)
● От каждого из векторов считается
линейное преобразование
● Считаем скалярное произведение Q
со всеми K
● Считается softmax
● Вектора складываются и
прогоняются через линейный слой