자, 이제 여러분들만의 인공지능을 만들어 봅시다.
바로 앞 단어만 보는 교육용 단어 바이그램 모형이에요. ·attention·사실을 학습하지 않아요. 단어 분할기도 실제 토크나이저가 아닌 수업용 예제예요.
직접 개발로 이어지는 계획
처음에는 장난감처럼 작게 만들고, 원리를 이해한 뒤 점점 키웁니다.
단어를 모으기
내가 배우고 싶은 주제의 문장을 모읍니다. 처음에는 10문장만 있어도 됩니다.
다음 단어 횟수 세기
어떤 단어 뒤에 어떤 단어가 몇 번 나왔는지 표로 만듭니다.
확률 점수 계산하기
문장 끝을 포함해 이어지는 횟수를 세어요. 후보의 확률은 그 후보 횟수를 선택한 단어 뒤의 전체 횟수로 나눈 값이에요. 신경망 언어모델은 이 작은 표를 저장하는 데 그치지 않고 가중치를 학습해요.
두 선택 방식 비교하기
최고 확률을 고르는 탐욕 선택과 확률대로 뽑는 샘플링을 비교하세요. 문장 끝을 뽑으면 멈춰요. 샘플링도 같은 결과가 다시 나올 수 있어요. 생성문은 사실 확인을 거치지 않아요.
내 기준으로 개선하기
더 좋은 문장, 더 많은 데이터, 다른 선택 규칙을 넣어 나만의 인공지능으로 키웁니다.
작은 확률 계산기
표는 온도 1의 관찰 빈도를 보여줘요. 온도는 추첨 확률을 바꾸며 학습 횟수나 사실 정확성을 바꾸는 장치는 아니에요.
시작 문장의 마지막 단어 뒤에 이어진 후보가 아직 없습니다.
| 앞 단어다음 단어 | |
|---|---|
단어가 많아 처음 나온 8개만 보여요
핵심 개념
문장 끝을 포함해 이어지는 횟수를 세어요. 후보의 확률은 그 후보 횟수를 선택한 단어 뒤의 전체 횟수로 나눈 값이에요. 언어모델은 이 작은 표를 저장하는 데 그치지 않고 를 학습해요.
언어모델은 예제에서 숫자 를 배워요. 생성할 때는 가중치와 주어진 문맥으로 후보 점수를 계산해요. 인터넷 문장을 그대로 찾아 꺼내거나 바로 앞 단어의 횟수만 세는 방식은 아니에요.
이 실습과 실제 언어모델 비교
| 이 실습 (바이그램) | 신경망 언어모델 | |
|---|---|---|
| 보는 범위 | 바로 앞 단어 하나 | 주어진 긴 문맥 |
| 배우는 것 | 이어진 횟수 표 | 숫자 가중치 |
| 임베딩·어텐션 | 아니요 | 예 |
| 스스로 사실 확인 | 아니요 | 아니요 |