Яка матриця функцій у word2vec?


10

Я початківець у нейромережах, і зараз вивчаю модель word2vec. Однак у мене важкий час, щоб зрозуміти, що саме являє собою матриця функцій.

введіть тут опис зображення

Я можу зрозуміти, що перша матриця - це гарячий вектор кодування для даного слова, але що означає друга матриця? Більш конкретно, що означає кожне з цих значень (тобто 17, 24, 1 тощо)?


У мене питання про W, породжене google, чи можете ви дати мені більше інформації про значення, надані google? для чого використовуються ці функції? THX за вашу допомогу.
хамбі

Відповіді:


8

Ідея word2vec полягає у зображенні слів вектором реальних чисел розмірності d . Тому друга матриця - це представлення цих слів.

Я й рядок цієї матриці вектор уявлення я -му слово.

Скажімо, у вашому прикладі є 5 слів: ["Лев", "Кіт", "Собака", "Кінь", "Миша"], то перший вектор [0,0,0,1,0] означає, що ви розглядаємо слово "Кінь", і тому подання "Кінь" є [10, 12, 19]. Аналогічно [17, 24, 1] є подання слова "Лев".

Наскільки я знаю, немає "людського сенсу" конкретно для кожної з цифр у цих уявленнях. Одне число не відображає, чи це слово дієслово чи ні, прикметник чи ні ... Це лише ваги, які ви змінюєте, щоб вирішити вашу проблему оптимізації, щоб навчитися подання ваших слів.

Цей підручник може допомогти: http://mccormickml.com/2016/04/19/word2vec-tutorial-the-skip-gram-model/, хоча я думаю, що зображення, яке ви ввели, було за цим посиланням.

Ви також можете перевірити це, що може допомогти вам розпочати роботу з векторами слів із TensorFlow: https://www.tensorflow.org/tutorials/word2vec


5

TL; DR :

Перша матриця представляє вхідний вектор в одному гарячому форматі

Друга матриця представляє синаптичні ваги від нейронів вхідного шару до нейронів прихованого шару

Більш довга версія :

"яка саме матриця функцій"

Здається, ви неправильно зрозуміли представництво. Ця матриця не є матрицею функцій, а ваговою матрицею для нейронної мережі. Розгляньте зображення, подане нижче. Особливо помічайте лівий верхній кут, де матриця шару введення множиться на матрицю ваги. введіть тут опис зображення

А тепер подивіться праворуч угорі. Це матричне множення InputLayer, розроблене крапкою з Weights Transpose, є лише зручним способом представити нейронну мережу вгорі праворуч.

Отже, щоб відповісти на ваше запитання, розміщене вами рівняння - це лише математичне зображення для нейронної мережі, яке використовується в алгоритмі Word2Vec.

Перша частина [0 0 0 1 0 ... 0] являє собою вхідне слово як один гарячий вектор, а інша матриця представляє вагу для з'єднання кожного з нейронів вхідного шару до нейронів прихованого шару.

Поки Word2Vec тренується, він підтримує ці ваги і змінює їх, щоб дати кращі уявлення про слова як вектори.

Після того, як навчання закінчено, ви використовуєте лише цю матрицю ваги, візьміть [0 0 1 0 0 ... 0] за скажімо "собака" і помножте її на покращену матрицю ваги, щоб отримати векторне представлення "собаки" в розмірності = немає нейронів прихованого шару.

На представленій схемі кількість нейронів прихованого шару дорівнює 3

Тож права рука - це в основному слово вектор.

Іміджеві кредити: http://www.datasciencecentral.com/profiles/blogs/matrix-multiplication-in-neural-networks

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.