
491
12
밑바닥부터 구현하는 언어 모델
1 n-1까지 반복
n번째 단어 입력
그림
12-5
매 토큰 다음을 예측하는
RNN
그리고 이 방식은 추가하기 쉽습니다. 우선 종속변수가 각각의 세 입력 단어 다음 단어를 가지
도록 데이터를 달리 구성해야 합니다.
3
대신
sl
(시퀀스 길이
sequence
length
) 속성을 사용하고,
이 값을 약간 크게 만듭니다.
sl = 16
seqs = L((tensor(nums[i:i+sl]), tensor(nums[i+1:i+sl+1]))
for i in range(0,len(nums)-sl-1,sl))
cut = int(len(seqs) * 0.8)
dls = DataLoaders.from_dsets(group_chunks(seqs[:cut], bs),
group_chunks(seqs[cut:], bs),
bs=bs, drop_last=True, shuffle=False)
seqs
의 첫 번째 요소를 살펴보면 크기가 같은 두 목록이 포함되었음을 알 수 있습니다. 두 번
째 목록은 첫 번째 목록과 비슷하지만 한 요소 (단어 )만큼 위치가 밀려 있습니다.
>>> [L(vocab[o] for o in s) for s in seqs[0]]
[(#16) [‘one’,’.’,’two’,’.’,’three’,’.’,’four’,’.’,’five’,’.’...], ...