Сохраняет ли добавление нулей к встраиванию слов, чтобы увеличить размерность, сохраняет их семантическое значение?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Сохраняет ли добавление нулей к встраиванию слов, чтобы увеличить размерность, сохраняет их семантическое значение?

Сообщение Anonymous »

I Проанализировано предварительно загруженные 300-размерные векторы в 768 размерных векторов с помощью простого hstack , дополнительно 468 нулей. Я сделал это так, чтобы это было совместимо с матрицами запроса, ключей и значений, которые я загрузил из Дистилберта, используя библиотеку Transformers . Ниже приведен мой код: < /p>

Код: Выделить всё

from transformers import DistilBertModel
import numpy as np

model = DistilBertModel.from_pretrained("distilbert-base-uncased")
layer_0 = model.transformer.layer[0]

W_q = layer_0.attention.q_lin.weight.detach().numpy()
W_k = layer_0.attention.k_lin.weight.detach().numpy()
W_v = layer_0.attention.v_lin.weight.detach().numpy()

zeros = np.zeros((len(input_matrix), 468))
expanded_matrix = np.hstack((input_matrix, zeros))
input_matrix - это Ndarray из всех слов, которые вводит мой пользователь. Это часть механизма самостоятельного прихода, который я написал, который будет создавать модифицированную матрицу, которую я подам в сеть подачи вперед, чтобы получить эмоциональный тон текста моего пользователя. Без заполнения мой input_matrix IS (num_words, 300). Так что умножая его () не удастся с 300! = 768 . Я знаю, что могу использовать токенизатор дистильберта, но крайне важно, чтобы я не делал. class = "lang-py prettyprint-override">Q = expanded_matrix @ W_q
K = expanded_matrix @ W_k
V = expanded_matrix @ W_v
< /code>
Я видел ожидаемые отношения между словами. Однако для слоя 0 все точечные продукты были отрицательными. Это указывает на что -то не так? Для остальных 5 слоев значения представляли собой смесь негативов, нулей и положительных результатов (которые я ожидал). < /P>
Любой вход ценится. Если вы знаете другой трансформатор с предварительно обученным Q, k, V матрирами, совместимыми с моим оригинальным (num_words, 300) вход, пожалуйста, дайте мне знать.


Подробнее здесь: https://stackoverflow.com/questions/796 ... ve-their-s
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»