Чтобы лучше понять и проиллюстрировать поведение одного отдельного блока внимания трансформатора, я сейчас пытаюсь создать небольшой пример. Идея пришла мне из этой части серии видео 3b1b по этой теме.
Моя идея состоит в том, чтобы использовать заданное встраивание слов, чтобы проиллюстрировать, как через уровень внимания разные слова сообщают друг другу, обновляя направление вектора. во вложении.
Вот мой MWE:
но, к сожалению, этот пример с маленькой игрушкой на самом деле не работает, поскольку
Каждый раз, когда я запускаю код, он выдает другой результат, даже когда я установил фиксированное начальное значение с помощью: torch.manual_seed(0). Поэтому я предполагаю, что здесь задействована какая-то другая случайность, о которой я (довольно незнакомый с факелом) не знаю.
Полученные слова совсем не соответствуют «миниатюрной Эйфелевой башне», Я надеялся увидеть такие слова, как «сувенир», «Париж», «брелок».
Знаете ли вы, как я могу улучшить этот пример, чтобы лучше проиллюстрировать внутреннюю работу внимания, или построить аналогичный пример, который действительно работает?
Чтобы лучше понять и проиллюстрировать поведение одного отдельного блока внимания трансформатора, я сейчас пытаюсь создать небольшой пример. Идея пришла мне из этой части серии видео 3b1b по этой теме. Моя идея состоит в том, чтобы использовать заданное встраивание слов, чтобы проиллюстрировать, как через уровень внимания разные слова сообщают друг другу, обновляя направление вектора. во вложении. Вот мой MWE: [code]import gensim.downloader import torch import torch.nn as nn
model = gensim.downloader.load("glove-wiki-gigaword-300") embedding = nn.Embedding.from_pretrained(torch.FloatTensor(model.vectors))
print(model.similar_by_vector(attn_output.detach().numpy()[0,])) [/code] но, к сожалению, этот пример с маленькой игрушкой на самом деле не работает, поскольку [list] [*]Каждый раз, когда я запускаю код, он выдает другой результат, даже когда я установил фиксированное начальное значение с помощью: torch.manual_seed(0). Поэтому я предполагаю, что здесь задействована какая-то другая случайность, о которой я (довольно незнакомый с факелом) не знаю. [*]Полученные слова совсем не соответствуют «миниатюрной Эйфелевой башне», Я надеялся увидеть такие слова, как «сувенир», «Париж», «брелок». [/list] Знаете ли вы, как я могу улучшить этот пример, чтобы лучше проиллюстрировать внутреннюю работу внимания, или построить аналогичный пример, который действительно работает?