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