728x90
tensor.size(-1)
- tensor.size() --> torch.Size([1, 5, 768])
- tensor.size(-1) --> 768
- -1이 인덱스 느낌임
torch.bmm(tensor1, tensor2)
- 배치 행렬곱
- 내적하는 경우 사용하는
tensor.transpose(1,2)
- tensor.transpose(1,2) : (배치 크기, 시퀀스 길이, 히든 크기) --> (배치 크기, 히든 크기, 시퀀스 길이)
import torch.nn.functional as F
- https://pytorch.org/docs/stable/nn.functional.html
- Convolution functions
Pooling functions
Attention Mechanisms
Activation functions 등등..
nn.Linear(embed_dim, head_dim)
- nn.Linear(입력차원, 출력 차원)
- keras dense layer 쌓는거랑 같은거
model(**viz_inputs)
- 딕셔너리의 키-값 쌍을 개별적인 인자로 변환하여 함수에 전달
sentence_b_start = (viz_inputs.token_type_ids == 0).sum(dim=1)
- {'input_ids': tensor([[ 101, 2051, 10029, 2066, 2019, 8612, 102, 5909, 10029, 2066, 1037, 15212, 102]]), 'token_type_ids': tensor([[0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1]]), 'attention_mask': tensor([[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]])}
- 위는 viz_inputs변수에 저장된 값임 token_type_ids==0인 문장이 a문장, token_type_ids==1인 문장인 b으로 구분
- viz_inputs.token_type_ids == 0 인 경우를 1, 아닌경우 0 으로 더하면 b번 문장의 시작 위치를 알 수 있음
nn.GELU()
- Gaussian Error Linear Unit
- GELU(x) = xP(X ≤ x) = xΦ(x) = x · 1 2 h 1 + erf(x/√ 2)i .
- NLP모델의 활성화 함수로 많이 사용
- dropout, zoneout, ReLU의 속성을 결합
728x90
반응형
'Deep Learning > 트랜스포머를 활용한 자연어 처리' 카테고리의 다른 글
[chapter 6] 요약 (0) | 2024.06.22 |
---|---|
[Chapter 5] 텍스트 생성 (0) | 2024.06.19 |
[Chapter 4] NER (1) | 2024.06.01 |
[Chapter 3] 트랜스포머 (0) | 2024.05.22 |