366
Часть III • Продвинутые возможности глубокого обучения с TensorFlow.js
ИНФОБОКС 9.2. Использование Embedding Projector для визуализации
усвоенных векторов вложений
Визуализация усвоенных вложений слов из одномерной сверточной сети с помощью
уменьшения размерности посредством t-SNE в Embedding Projector
Появились ли какието интересные структуры во вложениях слов одномерной сверточ
ной сети после обучения? Чтобы узнать это, можете воспользоваться необязательным
флагом
--embeddingFilesPrefix
команды
yarn
train
:
yarn train --maxLen 500 cnn --epochs 2 --embeddingFilesPrefix /tmp/imdb_embed
Эта команда генерирует два файла:
•
/tmp/imdb_embed_vectors.tsv
— файл разделенных символами табуляции числовых
значений вложений слов. Каждая строка содержит вектор вложений для какого
либо слова. В нашем случае в файле 10 000 строк (в соответствии с размером
словаря), а в каждой строке — 128 чисел (измерения вложений);
•
/tmp/imdb_embed_labels.tsv
— файл, содержащий метки слов, соответствующие
векторам предыдущего файла. Каждая строка состоит из одного слова.
Эти файлы можно загрузить в Embedding Projector (
https://projector.tensorflow.org/
)
для визуализации (см. предыдущий рисунок). А поскольку наши векторы вложений
относятся к многомерному (а именно, 128мерному) пространству, необходимо пони
зить их размерность до трех или менее измерений, чтобы они были понятны людям.
Глава 9. Глубокое обучение для последовательностей и текста
367
Утилита Embedding Projector предоставляет два алгоритма понижения размерности:
метод стохастических вложений соседей на основе распределения Стьюдента (tSNE)
и метод главных компонент (PCA), которые мы не станем обсуждать во всех подроб
ностях. Но если вкратце, эти методы отображают многомерные векторы вложений
в трехмерное пространство с минимизацией потерь в связях между этими векторами.
tSNE — более сложный и требующий бо
'
льших вычислительных затрат метод из этих
двух. Полученная в результате его применения визуализация показана на рисунке.
Каждая точка в облаке точек соответствует одному из слов словаря. Подвигайте ука
зателем мыши и задерживайте его над точками, чтобы увидеть, каким словам они со
ответствуют. Наши векторы вложений, обученные на этом небольшом наборе данных
для анализа тональностей, уже демонстрируют определенные интересные структуры,
отражающие семантику слов. В частности, на одном из концов облака точек доволь
но много слов, часто встречающихся в позитивных обзорах фильмов (например,
excellent
,
inspiring
и
delightful
), а на противоположном конце содержится множество
негативно звучащих слов (
sucks
,
gross
и
pretentious
). При обучении б
ó
льших моделей
на больших массивах текста могут обнаружиться и другие интересные структуры,
но и из этого маленького примера понятно, насколько широки возможности метода
вложений слов.
Поскольку вложения слов — важная часть ориентированных на обработку текста глубо
ких нейронных сетей, исследователи создали готовые предварительно обученные вложе
ния слов, благодаря которым специалистампрактикам больше не приходится обучать
собственные вложения слов, как мы делали в примере сверточной сети IMDb. Один из
наиболее известных наборов предварительно обученных вложений слов — GloVe (от
Global Vectors — глобальные векторы), созданный группой по обработке естественного
языка Стэнфордского университета (см.
https://nlp.stanford.edu/projects/glove/
).
У использования предварительно обученных вложений слов наподобие GloVe — двой
ное преимущество. Вопервых, они уменьшают объем необходимых во время обучения
вычислений, поскольку слой вложений не нужно обучать далее, а значит, его можно
просто заблокировать. Вовторых, предварительно обученные вложения наподобие
GloVe усваиваются на миллиардах слов, а поэтому намного лучше всего, чего можно
добиться при обучении на маленьком наборе данных, таком как наш набор данных
IMDb. В этом смысле роль предварительно обученных вложений слов в задачах обра
ботки естественного языка аналогична роли баз предварительно обученных глубоких
сверточных сетей (таких как MobileNet, которую мы видели в главе 5) в машинном
зрении.
модель на основе LSTM с теми же значением
maxLen
и измерениями вложений,
с которыми обучали одномерную сверточную сеть:
yarn train --maxLen 500 lstm
Заметьте, что максимальная безошибочность на проверочном наборе данных
LSTMсети (аналогичной GRU, но чуть более сложной, см. рис. 9.4) примерно такая
же, как и у одномерной сверточной сети, вероятно, вследствие того, что «далекие»
связи между словами и фразами имеют не слишком большое значение в этом мас
сиве обзоров фильмов и задаче классификации тональностей.
368
Do'stlaringiz bilan baham: |