1: Каждый элемент (или группа элементов) в векторе встраивания имеет какое-то значение, но в основном неизвестное человеку. В зависимости от того, какой алгоритм вы используете, вектор встраивания слов может иметь разное значение, но обычно он полезен. Например, перчатка, похожие слова "лягушка" и "жаба" остаются рядом друг с другом в векторе. Космос. Король - мужчина приводит к вектору, подобному королеве.
Превратить словарный запас в индекс. Например, у вас есть список слов: [собака, кошка, мышь, корм, игра, с] Затем предложения: Собака играет с кошкой => 0, 4, 5, 1 В то время как у вас есть матрица встраивания, как показано ниже.
[0.1, 0.1, 0] # комментарий: это собака
[0.2, 0.5, 0.1] # это кошка
[...]
[...]
[... ]
[...]
где первая строка — вектор встраивания собаки, вторая строка — кошка, затем так далее Затем вы используете индекс (0, 4, 5, 1) после того, как поиск станет матрицей [[0.1, 0.1, 0][... ][...][0,2, 0,5, 0,1]]
- either or both
- You can randomly init embedding vector and training it with gradient descent
- Вы можете взять предварительно обученный вектор слов и оставить его фиксированным (т.е. только для чтения, без изменений). Вы можете обучить свой вектор слов в модели и использовать его в другой модели. Наш вы можете скачать предварительно обученный вектор слова онлайн. Пример Common Crawl (токены 840B, словарный запас 2,2M, обложка, векторы 300d, загрузка 2,03 ГБ): glove.840B.300d.zip на Перчатка
- Вы можете начать с предварительно обученного вектора слов и обучить свою модель градиентным спуском.
Обновление: Вектор One-hot не содержит никакой информации. Вы можете подумать, что однократный вектор является индексом этого вектора в словаре. Например, Собака => [1, 0, 0, 0, 0, 0] и кошка => [0, 1, 0, 0, 0, 0]. Есть некоторые различия между одним горячим и индексом:
если вы введете список индексов: [0, 4, 5, 1] в свой многослойный персептрон, он не сможет ничего узнать (я пытался...). Но если вы введете матрицу горячего вектора [[. ..1][1...][...][...]], это чему-то учит. Но это дорого с точки зрения оперативной памяти и процессора.
One-hot требует много памяти для хранения нулей. Таким образом, я предлагаю случайным образом инициализировать матрицу встраивания, если у вас ее нет. Сохраните набор данных как индекс и используйте индекс для поиска вектора внедрения
«это означает, что таблица поиска — это просто матрица встроенных векторов (уже обученных отдельно через word2vec или…) для каждого слова в словаре. просто обратитесь к встроенному вектору в таблице поиска для этого конкретного встроенного вектора против конкретного горячего вектора».
Используйте «ИНДЕКС» для поиска в таблице поиска. Превратите собаку в 0, а кошку в 1. Вектор и индекс одного горячего состояния содержат одинаковую информацию, но для хранения одного горячего требуется больше памяти. Более того, многие фреймворки глубокого обучения принимают индекс в качестве входных данных для слоя встраивания (который на выходе представляет собой вектор, представляющий слово в этом индексе).
". Как мы получаем этот вектор встраивания..."
=> читать газету. Вот статья о Word2vec и Перчатка. Подробности спрашивайте у своих лекторов, они готовы вам помочь.
person
Haha TTpro
schedule
03.07.2017