반응형

Transformer 12

[PyTorch] CLIP의 text encoder에는 attention mask가 존재합니다.

CLIP의 text encoder 내부의 Multi_head_attention에서 attention mask가 None으로 입력되는 줄 알았다. 아이디어를 구현하기 위해 attention mask 부분을 만들어서 넣어줬더니.. 성능이 엄청 떨어졌다. 한번 확인해보니 CLIP의 text encoder에서 attention mask가 None으로 입력되는 것이 아니라 다음과 같이 들어간다. 근데 어떤 layer에서는 None으로 들어가기 때문에 구체적으로 확인해볼 필요는 있다. 항상 저렇게 attention mask가 들어가는게 아니다. BERT 구조임에도 autoregressive하게 문장을 보게 하려는 의도 인듯?

[PyTorch] register_hook을 사용하여 Transformer 내부의 Attention matrix(Torch.Tensor)의 gradient 받아오기

register_hook을 사용하여 Transformer 내부의 Attention matrix(Torch.Tensor)의 gradient 받아오기 모델의 파라미터에 대한 grad가 아닌, Tensor object에 대한 grad는 계산만하고 날라가버린다. 즉, loss.backward()를 통해 backpropagation을 진행하면 중간 연산에 필요한 Tensor 변수의 gradient는 .grad로 저장이 안되고 계산이 끝나면 날라간다는 말이다. 따라서 Tensor object에 register_hook 함수로 gradient를 한번 붙잡아야 한다. 붙잡는다는 말은 gradient가 계산되었을 때, 날라가도록 두는게 아니라 다른 변수에 저장해야 한다는 말이다. 나는 중간 연산의 Tensor objec..

[논문 읽기] VTN(2021), Video Transformer Network

Video Transformer Network PDF, Video TF, Daniel Neimark, Omri Bar, Maya Zohar, Dotan Asselmann arXiv 2021 Summary Video + ViT 모델 3가지 모듈로 구성 (1) 2D feature extractor 비디오 프레임을 입력 받아 embedding 출력. CNN, ViT 모델 중 아무거나 사용해도 됩니다. (2) Attention module 논문에서는 계산 복잡도가 O(N)인 long former를 사용. feature extractor 출력값을 attention block으로 전달합니다. (3) MLP head task를 수행하기 위한 MLP head 일반적으로 Kinetics dataset으로 학습한 모델은 ..

[논문 읽기] MViT(2021), Multiscale Vision Transformers

Multiscale Vision Transformers PDF, Video TF, Haoqi Fan, Bo Xiong, Karttikeya Mangalam, arXiv 2021 Summary ViT를 Video에 적용한 논문입니다. 이전의 ViT + Video 논문과는 다르게 pre-trained 없이 뛰어난 성능을 보여줍니다. 해당 논문의 특징은 계층 구조를 활용한 모델입니다. 어떻게 계층 구조를 구현했는지 살펴보겠습니다. stage 구조를 지니는데 각 stage는 다수의 transformer block으로 이루어져 있습니다. 각 stage 앞단마다 resolution을 pooling하여 down sample하고 채널 수를 확장합니다. CNN 모델에서 사용하는 계층 구조 원리를 따릅니다. Qeury, ..

[논문 읽기] TimeSformer(2021), Is Space-Time Attention All You Need for Video Understanding?

Is Space-Time Attention All You Need for Video Understanding? PDF, Video TF, Gedas Bertasius, Heng Wang, Lorenzo Torresani, ICML 2021 Summary Transformer를 Video domain에 적용한 논문입니다. video는 sentence와 같이 sequential한 데이터로 볼 수 있습니다. word가 연속되는 것처럼 frame이 연속되기 때문입니다. Convolution을 self-attention으로 대체한다면 convolution이 갖고 있는 inductive bias 문제를 완화할 수 있습니다. conv는 적은 데이터 셋에 효과적이지만 데이터 수가 풍부할 경우 local한 영역에 제한되..

[논문 읽기] Video Swin Transformer(2021)

Video Swin Transformer PDF, TF Video, Ze Liu, Jia Ning, Yue Cao, Yixuan Wei, Zheng Zhang, Stephen Lin, Han Hu, arXiv 2021 Summary Swin transformer를 video로 확장시킨 논문. video는 temporal dimension을 추가적으로 지니고 있어서 어떻게 확장하는지 유심히 볼 필요가 있습니다. ViViT와는 다르게 joint self attention을 사용합니다. 3D patch embedding을 적용하여 차원의 3D token을 얻고, 3D window size를 정의하여 3D window 개수를 계산합니다. swin trasnformer와 동일하게 shifted window와 re..

[논문 읽기] BoTNet(2021), Bottleneck Transformers for Visual Recognition

Bottleneck Transformers for Visual Recognition Aravind Srinivas, Tsung-Yi Lin, Niki Parmar, Jonathon Shlens, Pierer Abbeel, Ashish Vaswani, arXiv 2021 PDF, Classifiction By SeonghoonYu August 10th, 2021 Summary ResNet의 마지막 stage의 BottleNeck 구조에서 3x3 Conv를 Multi-Head Attention으로 대채합니다. Multi-Head Attention은 down-sampling 기능이 없으므로 stage 앞에 2x2 average pooling with stride 2를 사용하여 down sampling을 수행합..

[Paper Review] ACT(2020), End-to-End Object Detection with Adaptive Clustering Transformer

End-to-End Object Detection with Adaptive Clustering Transformer Minghang Zheng, Peng Gao, Xiaogang Wang, HongshengLi, Hao Dong, arXiv 2020 PDF, Object Detection By SeonghoonYu July 31th, 2021 Summary This paper improve the computational complexity of DETR by replacing self-attention module in DETR with ACT(adaptive clustering transformer). Also they presents MTKD(Multi-Task Knowledge Distillati..

[Paper Review] Set Transformer(2018), A Framework for Attention-based Permutation-Invariant Neural Networks

Set Transformer, A Framework for Attention-based Permutation-Invariant Neural Networks Juho Lee, Yoonho Lee, Jungtaek Kim arXiv 2018 PDF, Transformer By SeonghoonYu July 25th, 2021 Summary Set Transforemr is a function that performs permutation invariant by taking elements thar are ordered in the set. The model consists of an encoder and a decoder, both of which rely on attention. This model lea..

트랜스포머 정리

트랜스포머 헷갈리는 부분 정리 단어 토큰은 id 형태로 정수로 표현된다. one hot 으로 표현된 단어 토큰들을 concat하여 행렬을 만들어준다. 행렬을 nn.Embedding에 전달하여 정수를 벡터로 표현한다.(학습을 통해 단어의 분산 표현이 가능해짐. 분산 표현이 가능해지면 다른 단어들과 유사도를 측정 가능) 이제 단어 임베딩들을 nn.Linear에 전달하여 Key, Query, Value로 만들어줍니다. 단어 임베딩을 바로 사용하지 않고 별도의 K, Q, V로 만들어서 self-attention에 전달하는 이유는 K,Q,V의 의미가 다 다르기 떄문. Q : 현재 기준으로 삼는 단어의 정보 K : Q와 비교할 단어의 정보 V : 실제로 각 K 단어에서 가져올 정보 Q, K, V 모두 다르게 학습됌..

반응형