isinstance(h, torch.Tensor())
#True
h가 torch.Tensor 자료형이면 True를 반환한다.
https://tutorials.pytorch.kr/intermediate/seq2seq_translation_tutorial.html
Data의 각 요소들을 max sequence length에 맞춰서 padding 처리
valid_seq = []
for idx, seq in enumerate(tqdm(data)):
valid_seq.append(seq)
진행사항을 표시할 때 쓰는 tqdm
필수과제 2 continue
output.shape
#torch.Size(35,20,ntoken)
targets.shape
#torch.Size(700)
output.view(-1,ntoken)
# torch.Size(700,ntoken)
loss를 구하려면 두 개의 shape를 맞춰줘야하는데 이렇게 shape의 0번 index가 맞춰져서 비교가 가능해진다.
입력 시 input sequence가 output sequence 길이와 같아지도록 zero padding
Character-level Language Model
Back Propagation Through Time (BPTT)
Searching for Interpretable Cells
Vanishing/Exploding Gradient Problem in RNN
같은 parameter를 계속 곱해주는 형태라서 W가 1보다 크면 exploding, 1보다 작으면 vanishing이 발생한다.
Core Idea: Cell state
단기 기억을 길게 유지하기 위해 사용
Long short-term memory
Input gate
Forget gate
Output gate
Gate gate
Cell state - 전체적인 정보를 포함하고 있음
h_t - Cell state에서 현재 필요한 정보만 추출함