Разбивается ли входное embedding по размерности embedding таким образом, чтобы каждая голова модуля multi-head-attention получала только часть входных данных?
Краткое содержание
Итак, я нашел два противоречивых объяснения MHA (multi-head-self-attention-модуля): в первом подходе входное эмбеддинг (= входная матрица) разделяется вдоль размерности эмбеддинга, и всем головам предоставляется подмножество размерностей/признаков каждого слова. Некоторые веб-сайты, поддерживающие эту теорию: https://medium.com/@smitasasindran/12-attention-mechanisms-multihead-attention-958041a35553 -> Цитата: "Входные данные были разделены на несколько голов, и мы запускаем модель внимания отдельно для каждой из этих голов." https://towardsdatascience.com/how-to-code-the-transformer-in-pytorch-24db27c8f9ec#3fa3 -> Цитата: "В многоголовом внимании вектор эмбеддинга разделяется на N голов, поэтому они будут иметь размерности batch_size * N * seq_len * (d_model / N)." Второй подход предполагает, что все головы получают весь входной массив данных, но для каждой головы используются разные матрицы весов в зависимости от количества голов. Эта теория хорошо объяснена на https://hungsblog.de/en/technology/lear
Полный текст статьи пока не загружен.