TransformerFAM: Feedback attention is working memory
еще одна попытка заново изобрести рнн в контексте трансформера
как сейчас принято обрабатывать длинные последовательности - через скользящее окно и по блокам (хардвейрный аспект), информация передается по предыдущим токенам для каузального аттна и по предыдущим слоям. однако авторы немножечко знают за нейробиологию, где есть концепция рабочей памяти (working memory)
на уровне биологического нейрона она описывается как что-то вроде импульса, который периодически возвращается к этому самому нейрону, отчего появляется связь, которая постоянно фигурирует в нашей голове по необходимости. как только необходимость уходит, этот сигнал тоже пропадает
авторы почерпнули эту идею и решили воспроизвести это через связь токенов на том же уровне глубины в сетке. сделали это через обучаемые токены, которые вбирают в себя поблочно информацию о предыдущих токенах ⇒ блок компрессится в токены и таким образом контекст предыдущих блоков подается в трансформер в счет нескольких токенов
однако, псевдокод как будто немного противоречит основной концепции воркинг мемори. эти самые токены представляют из себя память с предыдущих блоков, при том последующие воркинг мемори токены могут обращаться к таким же токенам с предыдущих блоков (напоминает рнн с хидден стейтами, не так ли? прям то же самое). отсюда возникает интуиция, что на вход операции внимания мы можем подавать эти мемори токены и токены с данного блока, но в алгоритме к этому добавляются обычные инпут токены с предыдущих блоков. то есть 2х истории подается аттеншну - появляется послевкусие костыльности, but if it works let it work
так же на ощущение костыльности намекает тот факт, что если увеличивать количество мемори токенов (64 → 256), то перформанс ухудшается. связывают с нейробиологией, но это забавно. неужели в 64 токенах может скрываться вся необходимая воркинг мемори, почему не 52, или скорее перформанс ухудшился из-за жесткой нестабильности?
и есть кстати подозрения, что воркинг мемори работает из-за обильного количества резидуал коннекшнов + так же авторы пишут, что не нужны дополнительные веса (кроме как новых обучаемых токенов) для операции аттеншна, что странно, тк по сути эти самые токены проходят дважды через один и тот же слой (хотя тут я могу ошибаться но судя по операциям так оно и есть) ⇒ при бекворде проекция из одного пространства в другое или вотевер ослабевает (что бы это ни значило)
имхо идея вряд ли в долгосрок работает. она лучше block-wise sliding window attention (и в принципе с ним авторы и сравниваются), но есть много других вопросов
кстати есть очень классные пункты в аппендиксе о том, что они пробовали и не сработало + вывод они начали с описания фильма Нолана Мементо. за это прям респект
👀LINK
еще одна попытка заново изобрести рнн в контексте трансформера
как сейчас принято обрабатывать длинные последовательности - через скользящее окно и по блокам (хардвейрный аспект), информация передается по предыдущим токенам для каузального аттна и по предыдущим слоям. однако авторы немножечко знают за нейробиологию, где есть концепция рабочей памяти (working memory)
на уровне биологического нейрона она описывается как что-то вроде импульса, который периодически возвращается к этому самому нейрону, отчего появляется связь, которая постоянно фигурирует в нашей голове по необходимости. как только необходимость уходит, этот сигнал тоже пропадает
авторы почерпнули эту идею и решили воспроизвести это через связь токенов на том же уровне глубины в сетке. сделали это через обучаемые токены, которые вбирают в себя поблочно информацию о предыдущих токенах ⇒ блок компрессится в токены и таким образом контекст предыдущих блоков подается в трансформер в счет нескольких токенов
однако, псевдокод как будто немного противоречит основной концепции воркинг мемори. эти самые токены представляют из себя память с предыдущих блоков, при том последующие воркинг мемори токены могут обращаться к таким же токенам с предыдущих блоков (напоминает рнн с хидден стейтами, не так ли? прям то же самое). отсюда возникает интуиция, что на вход операции внимания мы можем подавать эти мемори токены и токены с данного блока, но в алгоритме к этому добавляются обычные инпут токены с предыдущих блоков. то есть 2х истории подается аттеншну - появляется послевкусие костыльности, but if it works let it work
так же на ощущение костыльности намекает тот факт, что если увеличивать количество мемори токенов (64 → 256), то перформанс ухудшается. связывают с нейробиологией, но это забавно. неужели в 64 токенах может скрываться вся необходимая воркинг мемори, почему не 52, или скорее перформанс ухудшился из-за жесткой нестабильности?
и есть кстати подозрения, что воркинг мемори работает из-за обильного количества резидуал коннекшнов + так же авторы пишут, что не нужны дополнительные веса (кроме как новых обучаемых токенов) для операции аттеншна, что странно, тк по сути эти самые токены проходят дважды через один и тот же слой (хотя тут я могу ошибаться но судя по операциям так оно и есть) ⇒ при бекворде проекция из одного пространства в другое или вотевер ослабевает (что бы это ни значило)
имхо идея вряд ли в долгосрок работает. она лучше block-wise sliding window attention (и в принципе с ним авторы и сравниваются), но есть много других вопросов
кстати есть очень классные пункты в аппендиксе о том, что они пробовали и не сработало + вывод они начали с описания фильма Нолана Мементо. за это прям респект
👀LINK
group-telegram.com/rizzearch/349
Create:
Last Update:
Last Update:
TransformerFAM: Feedback attention is working memory
еще одна попытка заново изобрести рнн в контексте трансформера
как сейчас принято обрабатывать длинные последовательности - через скользящее окно и по блокам (хардвейрный аспект), информация передается по предыдущим токенам для каузального аттна и по предыдущим слоям. однако авторы немножечко знают за нейробиологию, где есть концепция рабочей памяти (working memory)
на уровне биологического нейрона она описывается как что-то вроде импульса, который периодически возвращается к этому самому нейрону, отчего появляется связь, которая постоянно фигурирует в нашей голове по необходимости. как только необходимость уходит, этот сигнал тоже пропадает
авторы почерпнули эту идею и решили воспроизвести это через связь токенов на том же уровне глубины в сетке. сделали это через обучаемые токены, которые вбирают в себя поблочно информацию о предыдущих токенах ⇒ блок компрессится в токены и таким образом контекст предыдущих блоков подается в трансформер в счет нескольких токенов
однако, псевдокод как будто немного противоречит основной концепции воркинг мемори. эти самые токены представляют из себя память с предыдущих блоков, при том последующие воркинг мемори токены могут обращаться к таким же токенам с предыдущих блоков (напоминает рнн с хидден стейтами, не так ли? прям то же самое). отсюда возникает интуиция, что на вход операции внимания мы можем подавать эти мемори токены и токены с данного блока, но в алгоритме к этому добавляются обычные инпут токены с предыдущих блоков. то есть 2х истории подается аттеншну - появляется послевкусие костыльности, but if it works let it work
так же на ощущение костыльности намекает тот факт, что если увеличивать количество мемори токенов (64 → 256), то перформанс ухудшается. связывают с нейробиологией, но это забавно. неужели в 64 токенах может скрываться вся необходимая воркинг мемори, почему не 52, или скорее перформанс ухудшился из-за жесткой нестабильности?
и есть кстати подозрения, что воркинг мемори работает из-за обильного количества резидуал коннекшнов + так же авторы пишут, что не нужны дополнительные веса (кроме как новых обучаемых токенов) для операции аттеншна, что странно, тк по сути эти самые токены проходят дважды через один и тот же слой (хотя тут я могу ошибаться но судя по операциям так оно и есть) ⇒ при бекворде проекция из одного пространства в другое или вотевер ослабевает (что бы это ни значило)
имхо идея вряд ли в долгосрок работает. она лучше block-wise sliding window attention (и в принципе с ним авторы и сравниваются), но есть много других вопросов
кстати есть очень классные пункты в аппендиксе о том, что они пробовали и не сработало + вывод они начали с описания фильма Нолана Мементо. за это прям респект
👀LINK
еще одна попытка заново изобрести рнн в контексте трансформера
как сейчас принято обрабатывать длинные последовательности - через скользящее окно и по блокам (хардвейрный аспект), информация передается по предыдущим токенам для каузального аттна и по предыдущим слоям. однако авторы немножечко знают за нейробиологию, где есть концепция рабочей памяти (working memory)
на уровне биологического нейрона она описывается как что-то вроде импульса, который периодически возвращается к этому самому нейрону, отчего появляется связь, которая постоянно фигурирует в нашей голове по необходимости. как только необходимость уходит, этот сигнал тоже пропадает
авторы почерпнули эту идею и решили воспроизвести это через связь токенов на том же уровне глубины в сетке. сделали это через обучаемые токены, которые вбирают в себя поблочно информацию о предыдущих токенах ⇒ блок компрессится в токены и таким образом контекст предыдущих блоков подается в трансформер в счет нескольких токенов
однако, псевдокод как будто немного противоречит основной концепции воркинг мемори. эти самые токены представляют из себя память с предыдущих блоков, при том последующие воркинг мемори токены могут обращаться к таким же токенам с предыдущих блоков (напоминает рнн с хидден стейтами, не так ли? прям то же самое). отсюда возникает интуиция, что на вход операции внимания мы можем подавать эти мемори токены и токены с данного блока, но в алгоритме к этому добавляются обычные инпут токены с предыдущих блоков. то есть 2х истории подается аттеншну - появляется послевкусие костыльности, but if it works let it work
так же на ощущение костыльности намекает тот факт, что если увеличивать количество мемори токенов (64 → 256), то перформанс ухудшается. связывают с нейробиологией, но это забавно. неужели в 64 токенах может скрываться вся необходимая воркинг мемори, почему не 52, или скорее перформанс ухудшился из-за жесткой нестабильности?
и есть кстати подозрения, что воркинг мемори работает из-за обильного количества резидуал коннекшнов + так же авторы пишут, что не нужны дополнительные веса (кроме как новых обучаемых токенов) для операции аттеншна, что странно, тк по сути эти самые токены проходят дважды через один и тот же слой (хотя тут я могу ошибаться но судя по операциям так оно и есть) ⇒ при бекворде проекция из одного пространства в другое или вотевер ослабевает (что бы это ни значило)
имхо идея вряд ли в долгосрок работает. она лучше block-wise sliding window attention (и в принципе с ним авторы и сравниваются), но есть много других вопросов
кстати есть очень классные пункты в аппендиксе о том, что они пробовали и не сработало + вывод они начали с описания фильма Нолана Мементо. за это прям респект
👀LINK
BY rizzearch
Share with your friend now:
group-telegram.com/rizzearch/349