- O mecanismo tradicional de Self-Attention tem complexidade O(n²), o que limita sua escalabilidade para sequências longas
- Este artigo propõe o FFTNet, que utiliza a Fast Fourier Transform (FFT)
- O FFTNet realiza a mistura global de tokens com complexidade de tempo O(n log n)
- Introduz filtros espectrais aprendíveis e a função de ativação modReLU no domínio da frequência para destacar componentes de frequência importantes
- Em experimentos de benchmark no Long Range Arena (LRA) e no ImageNet, mostrou desempenho superior ao Self-Attention tradicional e a modelos com transformação de Fourier fixa
Pesquisas relacionadas
- Complexidade do Self-Attention: modelos Transformer exigem O(n²) de computação, tornando o processamento de sequências longas ineficiente
- Abordagens baseadas em Fourier: modelos como FNet utilizam transformações de Fourier fixas para reduzir a carga computacional, mas têm pouca adaptabilidade à entrada
- Técnicas lineares, esparsas e de aproximação de baixa dimensão: trabalhos como Performer, Linformer e BigBird propõem formas de aproximar o cálculo do Self-Attention
- Técnicas de decomposição com matrizes ortogonais: o uso de transformações ortogonais (incluindo DFT) melhora a estabilidade do treinamento do modelo
- Filtragem espectral adaptativa: ao adicionar filtros aprendíveis a transformações baseadas em FFT, o método se torna mais flexível e expressivo do que abordagens anteriores
FFTNet: técnica de filtragem espectral adaptativa
Motivação
- O Self-Attention tem complexidade O(n²) e é ineficiente em sequências longas
- A FFT opera em O(n log n) e consegue codificar interações globais com eficiência
Metodologia
- Transformação de Fourier (aplicação de FFT)
- Converte a sequência de entrada para o domínio da frequência para capturar dependências globais com eficiência
- Aplicação de filtro espectral adaptativo
- Usa um vetor de contexto global para gerar filtros aprendíveis e destacar dinamicamente bandas de frequência importantes
- Ativação não linear modReLU
- Aplica uma ativação baseada em ReLU no domínio de frequência complexo para aumentar a expressividade
- Transformação inversa de Fourier (IFFT)
- Após aplicar filtragem e ativação aos dados transformados, converte-os novamente para o domínio do tempo
Fundamentação teórica do FFTNet
- Possibilita mistura global de tokens com custo computacional de O(n log n)
- Attention adaptativo: filtros aprendíveis no domínio da frequência ajustam as frequências de acordo com a entrada fornecida
- Maior expressividade com ativação não linear: a aplicação de modReLU permite aprender padrões de alta dimensão além de simples transformações lineares
- Estabilidade garantida com base no teorema de Parseval: preserva a energia do sinal e minimiza a perda de informação
Resultados experimentais
Benchmark Long Range Arena (LRA)
- O FFTNet registrou, no geral, maior precisão do que Transformer e FNet
- Em especial, apresentou melhor desempenho nas tarefas ListOps, Text, Retrieval, Image e Pathfinder, alcançando a maior pontuação média
- O Transformer mostrou alto desempenho em algumas tarefas, mas teve limitações para lidar com dependências de longo prazo
- O FNet também utiliza FFT, mas sua transformação fixa tem pouca adaptabilidade, resultando em desempenho geral inferior
- Em particular, na tarefa Path-X, o Transformer falhou por estouro de memória (OOM), enquanto o FFTNet apresentou desempenho estável
Experimento de classificação no ImageNet
- O Vision Transformer baseado em FFTNet (FFTNetViT) conseguiu manter precisão semelhante à do ViT tradicional, reduzindo bastante a carga computacional (FLOPs)
- No modelo Base, o FFTNetViT usou cerca de 38% menos FLOPs que o ViT e ainda apresentou um leve aumento de precisão
- Nos modelos Large e Huge, o FFTNetViT também manteve desempenho semelhante ao ViT com menor custo computacional
- Isso confirma que o FFTNetViT oferece alta eficiência computacional
Estudo de ablação (análise da importância de cada componente)
- O impacto de diferentes componentes do FFTNet no desempenho do modelo foi analisado removendo cada um deles
- Quanto mais componentes principais do FFTNet eram removidos, maior era a tendência de queda na precisão
- Remoção do spectral gating: a precisão caiu levemente ao perder a capacidade de destacar frequências específicas
- Remoção do módulo adaptativo: a precisão caiu ainda mais ao perder a capacidade de ajustar dinamicamente os filtros de acordo com a entrada
- Uso de convolução no lugar de FFT: a maior queda de desempenho ocorreu com a perda da capacidade de misturar informação global de forma eficiente
- Isso mostra que cada componente do FFTNet desempenha papel importante na melhora de desempenho
Conclusão
- O FFTNet é uma alternativa com melhor eficiência computacional que o Self-Attention
- Ao combinar filtros espectrais adaptativos e modReLU no domínio da frequência, oferece forte poder de representação
- Os resultados experimentais mostram desempenho e eficiência superiores aos modelos tradicionais de Self-Attention no LRA e no ImageNet
- Mantém complexidade O(n log n) e ainda entrega desempenho no nível do Self-Attention, o que o favorece no processamento de sequências longas
- O Vision Transformer baseado em FFTNet (FFTNetViT) também alcança desempenho semelhante ao ViT com menos FLOPs
1 comentários
Comentários do Hacker News
Basicamente usa o teorema da convolução: convoluções caras no espaço direto viram multiplicações simples no espaço dual
O Google apresentou em 2022 a ideia "FNet: Mixing Tokens with Fourier Transforms"
A transformada de Fourier é aplicada na dimensão dos "tokens". Mas em muitas aplicações essa dimensão não tem significado
A matemática é difícil demais para entender. Queria saber se alguém consegue explicar em inglês simples como isso é equivalente ao mecanismo de atenção, de que frequências está falando e como codifica relações posicionais entre tokens
Não vejo como encaixar mascaramento causal nesse framework. Também não há menção a embeddings posicionais, então a implementação de autoatenção com a qual estão comparando parece ser NoPE não causal
Não há nenhuma menção ao Hyena Operator, que já demonstrou mistura de contexto completo em O(n log n) alguns anos atrás
Na era da telemetria, acho um grande erro não aplicar FFT à telemetria em nuvem para encontrar epiciclos e sistemas quase estáveis antes de causarem drama
Fico me perguntando se alguém tem uma intuição de por que ver as coisas no domínio da frequência ajuda
Entendo mais ou menos a notação Big O, mas, como a maioria das coisas ligadas a computação ou engenharia elétrica, isso também é difícil de entender
Não entendo por que a atenção é necessária. Uma camada totalmente conectada também pode "prestar atenção" a todas as entradas