본문 바로가기

분류 전체보기42

L10: Pretraining 이번 lecture는 지난 lecture의 transformer에 이어 어떻게 pretraining을 할 수 있을지를 알아본다. 아 그 전에, 모든 자료는 http://web.stanford.edu/class/cs224n/index.html#schedule cs224n 공식 홈페이지로 부터 2023년 Winter 자료를 사용하고 있다. 그동안 안 적었어서 표기하였다. subword modeling 각 단어는 자기만의 임베딩을 가지고, 학습된다. 하지만 알다시피 인터넷 상의 글이나, 일상의 말에선 잘못 spell되거나, 새로운 신조어가 생겨나는 등 다양한 기본형의 변형이 존재할 수 있다. 이러한 변형을 생각안하고 전부 하나의 단어로 임베딩을 학습한다면, 사실 같은 단어를 뜻하지만 전혀 다르게 임베딩이 학습.. 2023. 2. 7.
L8: Transformers 지난 lecture까지 거치면서, 우리는 가장 핵심적인 NLP의 전략인 RNN / word encoding -> seq2seq -> attention 등을 이어 보았다. 이번 lecture는 이러한 구조를 어떻게 최적화하였는지, 세부적인 테크닉들에 집중하며 최근까지 가장 많이 쓰인 transformer model까지 들여다본다. Recurrent model Issues 지난 lecture까지 보았던 recurrent model의 근본적 issue들을 따져보면 다음과 같다. - linear interaction distance LSTM에서 어느정도 극복을 해보려했으나, 어쨌든 근본적으로 선형적 구조이기에 거리가 멀어질 수록 정보의 전달이 어렵다. - lack of parallelizability 이러한 선.. 2023. 2. 4.
L7: Attention NMT - better way to decoding 지난 lecture에서 최종적으로 본 NMT 모델(multi RNN seq2seq)은 다음과 같다. 이 모델처럼 decoder의 이전 time output을 다음 time input으로 사용하는 output 방식을 greedy decoding 이라 한다. 하지만 이러한 방식을 사실 test과정에서는 성능 하락의 주범이 되는데, 하나만 잘못 되도 고칠 수가 없게 되기 때문이다. 하지만 그렇다고 모든 input을 다 시도(exhaustive)하기엔 compexity가 어마어마할 것이다. 이를 보완하기 위한 방법이 beam search이다. 여기서 beam은 beam size로, 만약 beam size가 k일 경우 각 time output에서 k개씩만 저장하.. 2023. 2. 4.
L6: LSTMs, NMT 이번 lecture는 지난 L5와 이어지는 내용이기에, 같이 참조하면 좋다. LSTMs 결국 지난 lecture에서, RNN은 vanishing gradient라는 큰 문제를 해결하지 못했다. 여기서 나온 아이디어로, 만약 hidden을 매번 다른 memory에 저장한다면 어떨까? RNN은 hidden을 항상 덮어쓰기형식으로 진행하기에, 이전 time step의 hidden은 역전파시 무조건 다음 time step의 gradient의 영향을 받을 수 밖에 없다. 그렇기에 덮어쓰기가 아닌 새로운 hidden을 정의하여 학습할 수 있다면 괜찮지 않을까? 조금 더 구체적으론 계산하는 부분을 쪼개어 저장하는 part와 학습하는 part를 나눠보자는 말이다. 이는 LSTM이라는 모델로 진화하는 배경이 된다. LS.. 2023. 2. 3.