위키득계정 ↗
기술

FNet

FNet기술
혼합 연산
이차원 이산 푸리에 변환
변환 축
시퀀스와 은닉 차원
혼합 가중치
학습하지 않는 변환
주요 적용
언어 인코더
FNet은 트랜스포머 인코더의 자기 주의 대신 푸리에 변환으로 특징을 혼합하는 신경망이다. 시퀀스와 은닉 특징의 두 축을 변환하고 실수부를 후속 순방향 층에 전달한다.

학습된 주의의 대체

푸리에 변환은 고정된 수학적 규칙으로 여러 입력 위치의 값을 결합한다. FNet은 이 변환을 자기 주의의 근사치가 아닌 별도의 혼합 연산으로 사용한다. 순방향 층과 임베딩 등에는 학습 매개변수가 남는다.

두 축의 변환

토큰 수와 은닉 차원의 행렬에 각 축의 일차원 푸리에 변환을 적용한다. 두 변환을 모두 마친 뒤 실수부를 취한다. 각 축의 변환 사이에서 먼저 허수부를 버리는 처리와는 일반적으로 결과가 다르다.

작은 행렬의 독립 예제

정규화하지 않는 이차원 DFT에서 2×2 입력 [[1, 2], [3, 4]]의 변환은 [[10, −2], [−4, 0]]이다. 각 출력이 입력 값들을 다른 부호로 결합한다. 이 작은 예는 복소 회전이 필요한 일반 크기의 변환을 모두 보여 주지는 않는다.

속도와 표현의 평가

FFT로 계산하면 긴 축의 변환 비용을 줄일 수 있지만 장치와 입력 길이에 따라 직접 행렬 계산이 유리할 수도 있다. 실수부만 취한 혼합을 원래 정보를 그대로 복원하는 가역 변환으로 해석해서는 안 된다. 실제 과제의 정확도와 지연시간을 함께 비교한다.

관련 문서

GFNet / MLP-Mixer / gMLP / 푸리에 변환 / 고속 푸리에 변환 / 트랜스포머