순환 신경망의 사용처
![](https://velog.velcdn.com/images%2Fpeterpictor%2Fpost%2Ffd77e7d7-bfb7-4c9c-8abf-fe925b2567cb%2Fezgif.com-gif-maker%20(4).gif)
- 순환 신경망은 분별 모델뿐 아니라 생성 모델로도 활용됨
- 장기 문맥을 처리하는 데 유리한 LSTM이 주로 사용됨
언어 모델
![](https://velog.velcdn.com/images%2Fpeterpictor%2Fpost%2Fa14b27c4-cd44-4d46-8f07-708d89fd4218%2F%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202021-07-10%20%E1%84%8B%E1%85%A9%E1%84%8C%E1%85%A5%E1%86%AB%2012.32.02.png)
- 문장, 즉 단어 열의 확률분포를 모형화
- P(자세히, 보아야, 예쁘다) > P(예쁘다, 보아야, 자세히)
- 같은 표현들이 사용됐지만 주로 사용되는 확률분포를 따진다는것!
- 음성 인식기 또는 언어 번역기가 후보로 출력한 문장이 여럿 있을 때, 언어 모델로 확률을 계산한 다음 확률이 가장 높은 것을 선택하여 성능을 높임
- 확률분포를 추정하는 방법
- n-그램
- 다층 퍼셉트론
- 순환 신경망
n-그램을 이용한 언어 모델
![](https://velog.velcdn.com/images%2Fpeterpictor%2Fpost%2F096c702d-0261-461b-9a9d-b44fecd72a1e%2F%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202021-07-10%20%E1%84%8B%E1%85%A9%E1%84%8C%E1%85%A5%E1%86%AB%2012.37.05.png)
- 고전적인 방법
- n=1: unigrams
- n=2: bigrams
- n=3: trigrams
![](https://velog.velcdn.com/images%2Fpeterpictor%2Fpost%2Fcfb7f9f6-6b4f-4e9d-83ca-fca1aa7ca50e%2F%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202021-07-10%20%E1%84%8B%E1%85%A9%E1%84%8C%E1%85%A5%E1%86%AB%2012.42.26.png)
- 문장을 x = (z1,z2,...,z_T)^T 라 하면 x가 발생할 확률은 위의 식으로 정리됨
![](https://velog.velcdn.com/images%2Fpeterpictor%2Fpost%2F2a369f2d-3cc7-4b7e-8c31-c5b808a4a04b%2F%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202021-07-10%20%E1%84%8B%E1%85%A9%E1%84%8C%E1%85%A5%E1%86%AB%2012.43.09.png)
- n-그램은 n-1개의 단어만 고려하는데, 이때 위의 식이 성립
- 알아야 할 확률의 개수가 m의n승이므로 차원의 저주 때문에 n을 1~3정도로 작게 해야 함
- 확률 추정은 말뭉치를 사용
단점
- 단어가 원핫 코드로 표현되므로 단어 간의 의미 있는 거리를 반영하지 못하는 한계
순환 신경망을 이용한 언어 모델
![](https://velog.velcdn.com/images%2Fpeterpictor%2Fpost%2F8c19fe53-65ea-44c3-a687-22b864390f10%2F%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202021-07-10%20%E1%84%8B%E1%85%A9%E1%84%8C%E1%85%A5%E1%86%AB%2012.55.46.png)
- 현재까지 본 단어 열을 기반으로 당므 단어를 예측하는 방식으로 학습
- 비지도 학습에 해당하여 말뭉치로부터 쉽게 훈련집합 구축 가능
![](https://velog.velcdn.com/images%2Fpeterpictor%2Fpost%2F0d7e9d27-2424-424e-9313-4d1dca06eaa8%2F%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202021-07-10%20%E1%84%8B%E1%85%A9%E1%84%8C%E1%85%A5%E1%86%AB%2012.58.31.png)
- 위와 같은 훈련집합으로 학습 진행
- 말뭉치에 있는 문장을 위 식처럼 변환하여 훈련집합을 만든 다음, BPTT학습 알고리즘을 적용
학습을 마친 순환 신경망(언어 모델)의 활용
- 기계 번역기나 음성 인식기의 성능을 향상하는 데 활용
- (자세히, 보아야, 예쁘다)와 (자세를, 모아야, 예쁘다) 라는 2개 후보를 출력했을 때 언어 모델로 각 확률분포를 계산하고 높음 확률의 후보를 선택
- 일반적으로 사전학습을 수행한 언어 모델을 개별 과제에 맞게 미세 조정함
생성 모델로 활용
- 시작할 키워드 하나를 입력
- 다음 단어로 올 것들중 확률이 높은 것을 선택
- 그 단어를 시작한 키워드 다음으로 붙임
- 위 동작을 계속적으로 수행
주요 언어 모델
![](https://velog.velcdn.com/images%2Fpeterpictor%2Fpost%2Ffc1fbdc2-8da6-4d9d-8beb-90e3d2ccaeb6%2F%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202021-07-10%20%E1%84%8B%E1%85%A9%E1%84%8C%E1%85%A5%E1%86%AB%201.06.15.png)
- GPT는 단방향
- BERT는 양방향
- ELMo는 원천적 초기 기술
- 소설, QnA, 가계부 완성 등 GPT3가 해냄
- 이미 만들어진 모델들의 Pretrained로 많이 사용