Building Blocks for a Complex-Valued Transformer Architecture

Florian Eilers, Xiaoyi Jiang
6/16/2023
cs.LGcs.CVcs.NE

No official code found. Best implementation: lucidrains/complex-valued-transformer (92 stars, MIT, last commit 2023-10-13). 1 more below.

Abstract

Most deep learning pipelines are built on real-valued operations to deal with real-valued inputs such as images, speech or music signals. However, a lot of applications naturally make use of complex-valued signals or images, such as MRI or remote sensing. Additionally the Fourier transform of signals is complex-valued and has numerous applications. We aim to make deep learning directly applicable to these complex-valued signals without using projections into $\mathbb{R}^2$. Thus we add to the recent developments of complex-valued neural networks by presenting building blocks to transfer the transformer architecture to the complex domain. We present multiple versions of a complex-valued Scaled Dot-Product Attention mechanism as well as a complex-valued layer normalization. We test on a classification and a sequence generation task on the MusicNet dataset and show improved robustness to overfitting while maintaining on-par performance when compared to the real-valued transformer architecture.

View on arXivView PDF

Code Implementations(2)

kyegomez/CTCommunity72%
MIT

Implementation of the attention and transformer from "Building Blocks for a Complex-Valued Transformer Architecture"

81Python, MakefileOct 7, 20232 years agoMIT
artificial-intelligenceattentionattention-is-all-you-needattention-mechanismcomplex-numbers+3 more
MIT

Implementation of the transformer proposed in "Building Blocks for a Complex-Valued Transformer Architecture"

927PythonOct 6, 20233 years agoMIT
artificial-intelligenceattention-mechanismscomplex-networksdeep-learningtransformers

Similar Papers

Cite this paper

@article{eilers2023building,
  title  = {Building Blocks for a Complex-Valued Transformer Architecture},
  author = {Florian Eilers and Xiaoyi Jiang},
  year   = {2023},
  eprint = {2306.09827},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2306.09827v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2306.09827.svg)](https://codeofpaper.com/paper/2306.09827)

Discussion