16 patchify layer 를 resnet-d 처럼 작은 stride 를 갖는 레이어들로 쪼개면 좋다. (multi-step 으로 달성시킨다)
ViT 의 특성을 잘 정리해 주었는데, 다음과 같다.
paramter 는 depth 에 비례, width 에 quadratic
FLOP 은 depth 에 비례, width 에 quadratic
Peak memory 는 depth 에는 constant, width 에 quadratic
latency 는 이론상 wide 한 게 더 좋은데, 꼭 그렇지는 않음.
Parallel ㄱㄱ
AS-IS
TO-BE
2개의 block 을 하나의 block 으로 합치는 형태이다.
공평하게 하기 위해서 36 block 와 비교할 때, 18x2 block 과 비교하는 식으로 실험이 진행된다.
LS 는 LayerScale 인데, 네트워크가 깊어질 수록 안정화시키는 장치이다.
learnable diagonal matrix 를 residual block output 에 더하는 것이고,
diangonal matrix 는 0으로 initialize 된다.
어떻게 보면 learnable 한 per-channel attention parameter라 보면 되겠다.
paper
Touvron 의 신작.
ViT 의 특성을 잘 정리해 주었는데, 다음과 같다.
paramter 는 depth 에 비례, width 에 quadratic FLOP 은 depth 에 비례, width 에 quadratic Peak memory 는 depth 에는 constant, width 에 quadratic latency 는 이론상 wide 한 게 더 좋은데, 꼭 그렇지는 않음.
Parallel ㄱㄱ
AS-IS
TO-BE
2개의 block 을 하나의 block 으로 합치는 형태이다. 공평하게 하기 위해서 36 block 와 비교할 때, 18x2 block 과 비교하는 식으로 실험이 진행된다.
LS 는 LayerScale 인데, 네트워크가 깊어질 수록 안정화시키는 장치이다. learnable diagonal matrix 를 residual block output 에 더하는 것이고, diangonal matrix 는 0으로 initialize 된다. 어떻게 보면 learnable 한 per-channel attention parameter라 보면 되겠다.
Data 적을 때는 attn 이 효과적이다.
patchifty 는 나눠서 진행하면 좋다.