self-attention
입력값 간의 연관성을 계산
(if. 이미지 : 이미지를 구성하는 patch간의 연관성을 계산)
=> 효과적으로 거리가 먼 정보들간이 연관성 학습 가능
self-attetnion 연산은 입력 사이즈에 quadratic한 복잡도를 지님
Swin Transformer
Swin Transformer Block
Window based MSA(W-MSA) : local window 내에서 self-attention 수행
Shifted Window based MSA(SW-MSA) : widow간의 self-attention
U-Net 구조
Encoder
Decoder
TIF(Transformer Interactive Fusion) module
: multi-scale feature ⇒ 하나의 feature
Dual-Branch Encoder
사용patch단위의 self-attention 수행
=> 각 patch. 내부의 pixel 단위의 정보간의 연관성 학습이 불가 => shallow feature을 잃음
L-Branch
: 큰 크기의 patch를 다룸 => coarse-grained feature 잘 포착S-Branch
: 작은 크기의 patch를 다룸 => fine-grained feature 잘 포착patch merging
: patch 개수 줄이기Token으로 압축시켜주는 이유
내 생각에는 두 feature를 가지고 self-attention을 적용시키고 싶은데,
두 feature를 그냥 붙여서 transformer에 넣을 시, 연산량이 너무 많아지니까, 각 feature를 대표하는 token으로 압축시켜서, 연산량을 줄이고자 한게 아닐까?????
Swin Tranformer Block
, UpSampling, Skip-connection 수행