ResBlock 아웃풋이 [B, O, N] 이라고 적혀있는데,
갑자기 ResBlock의 아웃풋을 [B, 128, F//4, N] - > [B, N, 32 * F] Reshaping 해버림
애초에 ResBlock에서 갑자기 Pooling을 하는데 시퀀스 길이가 반토막이 안남;
진짜 뭐지; 내가 잘못 이해하고 있는거임?
ResBlock 아웃풋이 [B, O, N] 이라고 적혀있는데,
갑자기 ResBlock의 아웃풋을 [B, 128, F//4, N] - > [B, N, 32 * F] Reshaping 해버림
애초에 ResBlock에서 갑자기 Pooling을 하는데 시퀀스 길이가 반토막이 안남;
진짜 뭐지; 내가 잘못 이해하고 있는거임?
잘은 모르겠지만 Linear (C, O)에서 (B, O, N) 나오고 오른쪽 conv1d에서도 (B, O, N) 나온 다음(왜 나오는지 이유는 모르겠지만) 각각 사이즈가 반 되고 +에 동그라미 쳐놓은걸 concat으로 보면 말이 되는거 아니냐?
음... 니 글만 보고 생각해봤는데 먼가 이상하네. F//4면 1/2 두번 적용된거 아님? 논문 링크를 올려 이런 식으로 그림 딱 하나만 올리면 어케 이해하냐
이게 N값이 데이터에 따라서 가변이라 Concat을 하려면 O//2 O//2로 반토막을 낸 다음에 합쳐야 하는데, [B 1, O, N]으로 unsqueeze 한 다음 Conv2d에 stride(2, 1)로 하면 되겠다. ㄳㄳ 그래도 저 reshape 의미가 뭔지 모르겠네 F도 논문에서 딱 한번 나오는데 이거랑 관계 없는값(191) 이라 뭔지 아예 모르겠음
https://arxiv.org/pdf/2211.09407.pdf
APPENDIX A.3에 있는 그림인데 솔직히 여기까진 안봐줘도 됨;
수퍼톤은 코드 공개를 잘 안 하나보네..
hidden [B, O, N] 뭔지 궁금..
그러게 다른건 다 구현 했는데 이거 한번 정독 더하고 이해해봐야겠다