## 1. 통계 모델과 신경망 모델의 결정적 차이
가장 먼저, 두 방식의 근본적인 차이점을 알아야 합니다.
- 통계 기반 방식 (n-gram):
- "직접 카운트해서 확률을 계산한다."
- P(B|A) = count(A,B) / count(A) 처럼, 학습 데이터에 등장하는 횟수를 직접 세어서 확률 값을 구했습니다.
- 신경망 기반 방식:
- "확률을 잘 맞추도록 모델을 학습시킨다."
- 직접 횟수를 세지 않습니다. 대신, **학습 목표(Learning Objective)**를 설정하고, 그 목표에 도달하도록 모델의 수많은 파라미터(가중치)를 점진적으로 업데이트합니다.
- 이때 사용되는 핵심적인 3요소는 다음과 같습니다.
- 학습 목표 (Learning Objective): 모델이 달성해야 할 최종 목표. 언어 모델의 경우 "주어진 학습 데이터(문장들)의 확률을 최대화하는 것"입니다.
- 손실 함수 (Loss Function): 현재 모델이 정답에서 얼마나 멀리 떨어져 있는지(오차)를 측정하는 함수입니다. 손실(Loss) 값이 클수록 모델 성능이 나쁘다는 뜻이며, 학습은 이 **손실 값을 최소화(minimize)**하는 방향으로 진행됩니다.
- 최적화 (Optimization): 손실 함수를 최소화하기 위해 모델의 파라미터를 어떤 방향으로, 얼마나 업데이트할지 결정하는 과정입니다. (e.g., 경사 하강법, Gradient Descent)
🔑 핵심: 신경망 모델은 복잡한 함수를 통해 패턴을 학습하기 때문에, n-gram 모델이 할 수 없었던 장거리 의존성이나 단어 간의 비선형적인 관계(e.g., 의미적 유사성)를 파악할 수 있게 됩니다.
## 2. 최대 우도 추정 (Maximum Likelihood Estimation, MLE)
신경망 언어 모델의 학습 목표인 "주어진 문장들의 확률을 최대화"하는 통계적 원리가 바로 **최대 우도 추정(MLE)**입니다.
- 기본 개념:
- "우리가 가지고 있는 데이터가 가장 그럴듯하게(likely) 관찰될 수 있도록, 모델의 파라미터(θ)를 결정하자."
- 직관적 예시:
- 어떤 동전을 10번 던졌더니 앞면이 7번 나왔다고 합시다. 이 동전의 앞면이 나올 확률(θ)은 얼마일까요?
- MLE는 "10번 중 7번의 앞면"이라는 관찰 결과를 가장 잘 설명하는 θ값을 찾습니다. 상식적으로 그 값은 0.7일 것입니다. θ가 0.7일 때, 10번 중 7번 앞면이 나올 가능성(Likelihood)이 가장 높기 때문입니다.
- 언어 모델에 적용:
- 수많은 문장으로 이루어진 학습 데이터가 주어집니다.
- 신경망 모델의 수백만 개 파라미터(θ)를 조정하여, 이 학습 데이터에 있는 모든 문장들이 나타날 확률의 곱(결합 확률)이 최대가 되도록 만듭니다.
- 수식:
- L(θ): 우도(Likelihood) 함수. 모델 파라미터 θ가 얼마나 '그럴듯한지' 나타냅니다.
- θ: 모델의 모든 파라미터(가중치) 집합.
- Π: 모든 원소를 곱하라는 기호.
- P_θ(sentence): 현재 파라미터 θ를 가진 모델이 계산한 한 문장의 확률.
- 목표: L(θ)를 최대로 만드는 θ를 찾는 것.
- 역사적 배경: MLE는 1920년대 통계학자 **로널드 피셔(Ronald Fisher)**에 의해 정립된, 매우 유서 깊고 신뢰도 높은 통계적 원리입니다. 현대 통계학과 머신러닝의 근간을 이루는 핵심 개념 중 하나입니다.
## 3. 신경망 언어 모델의 예시: ELMo
슬라이드에 다시 등장한 ELMo는 바로 이런 신경망 기반 접근법의 성공적인 예시입니다.
- ELMo (Embeddings from Language Models):
- 거대한 텍스트 데이터를 사용해 양방향 LSTM(bi-LSTM) 구조의 신경망 언어 모델을 미리 학습시킵니다.
- 이 과정에서 MLE 원리를 사용해, 주어진 문장들의 확률을 최대화하도록 모델을 훈련합니다.
- 그 결과, n-gram과 달리 **문맥에 따라 단어의 의미가 달라지는 것(e.g., 동음이의어)**을 파악하는 능력을 갖추게 됩니다. 이는 신경망 모델이 단순 카운트를 넘어 단어의 의미와 문맥적 관계를 학습했기 때문에 가능합니다.
## 🦉 시험 대비 최종 요약
- 패러다임 전환: 통계 모델의 직접 카운트 방식에서, 신경망 모델의 손실 함수 최소화를 통한 학습 방식으로 전환되었습니다.
- 최대 우도 추정 (MLE): 신경망 모델의 핵심 학습 원리. 관찰된 학습 데이터의 확률(우도)을 최대로 만드는 모델 파라미터(θ)를 찾는 방법입니다.
- 신경망 모델의 핵심 장점: n-gram이 해결하지 못했던 장거리 의존성과 단어의 의미 관계를 학습할 수 있습니다. ELMo가 그 대표적인 예시입니다.
신경망 언어 모델의 학습 원리인 **최대 우도 추정(Maximum Likelihood Estimation, MLE)**을 구체적으로 설명하는 매우 중요한 부분입니다. 시험에 완벽하게 대비할 수 있도록 각 개념을 명확하게 짚어 드릴게요.
## 1. 우도(Likelihood)란 무엇인가? - "얼마나 그럴듯한가"
MLE를 이해하려면 먼저 '우도(Likelihood)'의 개념을 알아야 합니다.
- 직관적 의미: 단어 뜻 그대로 '그럴듯한 정도'입니다. 내가 관찰한 데이터가, 현재의 모델(파라미터) 하에서 얼마나 그럴듯하게(likely) 나타날 수 있는가를 나타내는 값입니다.
- 확률(Probability)과의 차이점:
- 확률: 모델(파라미터 θ)이 고정되어 있을 때, 특정 데이터(x)가 관찰될 가능성.
- 예: "앞면이 나올 확률이 0.5인 **정상적인 동전(θ)**을 던질 때, 10번 중 앞면이 7번 나올 **확률(x)**은 얼마인가?"
- 우도(Likelihood): 관찰된 데이터(x)가 고정되어 있을 때, 어떤 모델(파라미터 θ)이 이 데이터를 가장 잘 설명하는가.
- 예: "10번 던져서 앞면이 7번 나오는 **데이터(x)**를 관찰했을 때, 이 동전의 앞면이 나올 확률이 0.7이라는 **모델(θ)**은 얼마나 그럴듯한가?"
- 확률: 모델(파라미터 θ)이 고정되어 있을 때, 특정 데이터(x)가 관찰될 가능성.
- 수식:
- L(θ|x): 데이터 x가 주어졌을 때, 파라미터 θ의 우도
- P(X=x|θ): 파라미터 θ가 주어졌을 때, 데이터 x의 확률
- 핵심: 수식은 같지만, 무엇을 변수로 보느냐에 따라 관점이 다릅니다. 우도 함수에서 우리가 찾고 싶은 것은 최적의 θ 입니다.
## 2. 최대 우도 추정(MLE)의 작동 방식
MLE는 위에서 설명한 '우도(Likelihood)'를 **최대(Maximum)**로 만드는 모델 파라미터(θ)를 찾는 과정입니다. 언어 모델의 학습 과정을 단계별로 살펴보겠습니다.
- The Task (과제): 다음 단어 예측
- 입력: 문맥이 주어집니다. (e.g., "the cat sat on")
- 출력: 모델은 어휘집(Lexicon)에 있는 모든 단어에 대해, 다음에 등장할 확률을 출력합니다.
- P(the|...) = 0.6
- P(a|...) = 0.1
- P(mat|...) = 0.2
- ... (모든 확률의 합은 1)
- The "Correct Answer" (정답 데이터)
- 슬라이드의 노란 박스가 핵심입니다: "실제 데이터에 해당하는 단어만 확률이 1이고, 나머지는 0"
- 실제 다음 단어가 "mat"이었다면, 정답은 {mat: 1, the: 0, a: 0, ...} 와 같은 원-핫 인코딩(one-hot encoding) 형태로 표현됩니다.
- Calculating Likelihood (우도 계산)
- 이 한 번의 예측에서 우도 값은 모델이 정답 단어에 부여한 확률 값입니다. 위 예시에서는 P(mat|...)에 해당하는 0.2가 됩니다.
- Learning Process (최적 파라미터 학습)
- 모델의 학습 목표는 이 우도 값(0.2)을 정답(1)에 가깝게 만드는 것, 즉 최대화하는 것입니다.
- 이 과정을 전체 학습 데이터에 있는 모든 문장, 모든 단어에 대해 반복합니다.
- 최종적으로 모든 문장들의 우도를 곱한 전체 우도(L_n(θ; y))가 최대가 되는 지점을 찾습니다.
- 수식:
- θ̂: 우리가 찾으려는 최적의 파라미터 추정치
- arg max: 뒤따르는 함수를 최대로 만드는 인자(θ)를 찾으라는 명령어
- 의미: "우리의 전체 학습 데이터 y가 나타날 우도 L을 최대로 만드는 파라미터 θ를 찾아라." 이것이 바로 신경망 언어 모델의 학습 과정 전체를 요약하는 수식입니다.
## 🦉 시험 대비 최종 요약
- 우도 L(θ|x): 내가 본 데이터(x)가 특정 모델(θ)에서 나왔을 '그럴듯한 정도'.
- MLE 목표: 이 우도를 최대로 만드는 최적의 모델 파라미터 θ̂를 찾는 것.
- 언어 모델 학습 과정:
- 모델이 다음 단어에 대한 확률 분포를 출력한다.
- 모델이 실제 정답 단어에 부여한 확률값이 바로 그 예측의 우도가 된다.
- 학습(최적화)을 통해 이 우도 값을 1에 가깝게 만드는 방향으로 모델의 파라미터를 계속 업데이트한다.
- arg max L(θ; y): 이 모든 학습 과정을 한 줄로 요약한 수학적 표현이다.
신경망의 학습 과정을 이해하는 데 가장 핵심적인 개념인 학습 목표와 손실 함수, 그리고 왜 **교차 엔트로피(Cross-Entropy)**를 사용하는지에 대해 설명하고 있습니다. 시험에 반드시 출제될 내용이므로 명확하게 정리해 드릴게요.
## 1. 학습 목표와 손실 함수: 목표와 측정 도구
신경망을 학습시키려면 먼저 '무엇을 해야 하는지' 알려주고, '얼마나 잘하고 있는지' 측정해야 합니다. 이 두 가지가 바로 학습 목표와 손실 함수입니다.
학습 목표 (Learning Objective)
- 정의: 모델이 달성해야 할 추상적인 목표 또는 과제를 의미합니다.
- 언어 모델의 학습 목표: 지도 학습(Supervised Learning) 방식을 따릅니다. 즉, 정답이 있는 데이터를 보고 학습합니다.
- 과제: 문장에서 특정 단어를 빈칸으로 만들고, 그 빈칸에 들어갈 정답 단어를 맞추는 것이 학습 목표입니다.
손실 함수 (Loss/Objective Function)
- 정의: 위에서 정의한 추상적인 학습 목표를, 컴퓨터가 계산할 수 있는 구체적인 수학 공식으로 바꾼 것입니다.
- 역할: 모델의 예측이 정답과 **얼마나 다른지(오차, error)**를 계산하는 '벌점(penalty) 계산기'입니다.
- 손실(Loss) 값이 크면 👉 "너 지금 엄청나게 틀렸어!"
- 손실(Loss) 값이 작으면 👉 "아주 잘하고 있구나!"
- 궁극적 목표: 모델을 학습시킨다는 것은 결국 이 손실 함수의 값을 최소(minimize)로 만드는 최적의 파라미터를 찾아가는 과정입니다.
## 2. 왜 '맞으면 0, 틀리면 1'은 최악의 손실 함수인가?
가장 단순하게 "정답을 맞추면 벌점 0, 오답이면 벌점 1"이라고 손실 함수를 정의할 수도 있습니다. 하지만 이는 신경망 학습에 사용할 수 없는, 최악의 방법입니다.
- 문제점: 미분이 불가능하다 (Non-differentiable)
- 신경망은 **경사 하강법(Gradient Descent)**을 통해 학습합니다. 경사 하강법은 손실 함수를 미분해서 얻은 '기울기(gradient)'를 보고, 손실이 낮아지는 방향으로 파라미터를 조금씩 수정하는 방식입니다.
- 직관적 비유:
- 여러분이 안개를 낀 산 정상(손실=0)을 찾아가는 상황이라고 상상해 보세요.
- 좋은 손실 함수 (미분 가능): 부드러운 언덕길과 같습니다. 발바닥으로 땅의 기울기를 느끼면 어느 쪽이 내리막길인지(손실이 줄어드는 방향인지) 항상 알 수 있습니다.
- 나쁜 0/1 손실 함수 (미분 불가능): 평평한 절벽 위와 같습니다. 발밑은 항상 평평해서(기울기=0) 어느 방향으로 가야 절벽 아래의 목표 지점(정상)에 가까워지는지 전혀 알 수 없습니다. 방향을 모르니 학습이 진행되지 않습니다.
## 3. 정답은 교차 엔트로피 (Cross-Entropy)
이러한 문제를 해결하기 위해, 최대 우도 추정(MLE) 원리를 기반으로 한 **교차 엔트로피(Cross-Entropy)**를 손실 함수로 사용합니다.
- 정의: 두 확률 분포 사이의 차이(거리)를 측정하는 방법입니다.
- 언어 모델에서의 두 확률 분포:
- 실제 정답 분포: 정답 단어만 확률이 1이고 나머지는 모두 0인 분포입니다. (e.g., {mat: 1, the: 0, a: 0, ...})
- 모델의 예측 분포: 모델이 Softmax 함수를 통해 출력한, 각 단어에 대한 예측 확률 분포입니다. (e.g., {mat: 0.2, the: 0.6, a: 0.1, ...})
- 작동 방식:
- 모델의 예측이 정답과 비슷할수록 (정답 단어에 높은 확률을 부여할수록) 교차 엔트로피 값은 낮아집니다.
- 모델의 예측이 정답과 다를수록 (정답 단어에 낮은 확률을 부여할수록) 교차 엔트로피 값은 매우 높아집니다.
- 가장 중요한 장점: 교차 엔트로피 함수는 매끄럽고 미분이 가능합니다. 따라서 모델이 얼마나 틀렸는지 뿐만 아니라, 어느 방향으로 파라미터를 수정해야 더 잘할 수 있는지에 대한 명확한 신호(기울기)를 제공합니다.
- MLE와의 관계: 수학적으로 교차 엔트로피 손실을 최소화하는 것은 로그 우도(Log-Likelihood)를 최대화하는 것과 같습니다. 즉, 교차 엔트로피는 MLE 원칙을 신경망에서 구현하는 표준적인 방법입니다.
## 🦉 시험 대비 최종 요약
- 학습 목표 vs. 손실 함수: 학습 목표는 **'무엇을 할지'**에 대한 추상적 정의, 손실 함수는 **'얼마나 틀렸는지'**를 계산하는 구체적인 수학 공식입니다.
- 최악의 손실 함수: '맞으면 0, 틀리면 1' 같은 방식은 미분이 불가능하여 경사 하강법에 사용할 수 없습니다.
- 최고의 손실 함수: 교차 엔트로피(Cross-Entropy). 두 확률 분포(정답, 예측)의 차이를 측정하며, 미분이 가능하여 신경망 학습에 필수적입니다.
- 핵심 관계: 교차 엔트로피 손실(Loss)을 최소화하는 것은 최대 우도 추정(MLE) 원리를 따르는 것과 수학적으로 동일합니다.
신경망 언어 모델의 학습 원리인 **교차 엔트로피(Cross-Entropy)**와 그 시초가 된 **NNLM(Neural Network Language Model)**을 다루고 있습니다. 시험에 나올 핵심 개념들을 완벽하게 정리해 드릴게요.
## 1. MLE와 교차 엔트로피의 관계: 동전의 양면
지난 시간에 배운 최대 우도 추정(MLE)과 손실 함수(Loss function)는 사실상 같은 목표를 다른 관점에서 표현한 것입니다.
- MLE의 목표: 모델이 학습 데이터를 얼마나 잘 설명하는지에 대한 '우도(Likelihood)'를 **최대화(Maximize)**하는 것.
-
- 손실 함수의 목표: 모델의 예측이 얼마나 틀렸는지를 나타내는 '손실(Loss)'을 **최소화(Minimize)**하는 것.
이 둘을 연결하는 방법은 간단합니다. 우도 함수에 **로그(log)**를 씌우고 **음수(-)**를 붙이면 손실 함수가 됩니다.
손실(Loss) = - log(우도(Likelihood))
로그를 씌우면 곱셈이 덧셈으로 바뀌어 계산이 편리해지고, 음수를 붙여 '최대화' 문제를 '최소화' 문제로 바꿀 수 있습니다. 이 손실 함수가 바로 **교차 엔트로피(Cross-Entropy)**입니다.
🔑 핵심: 교차 엔트로피 손실을 최소화하는 것은 수학적으로 **우도를 최대화하는 것(MLE)**과 완벽하게 동일한 목표를 가집니다.
## 2. 교차 엔트로피(Cross-Entropy) 수식 완전 분해
- 정의: **실제 분포(P)와 모델의 예측 분포(Q) 간의 차이(거리)**를 측정하는 지표입니다.
- 수식:
- P(x): 실제 정답 분포. (원-핫 벡터: 정답 단어만 1, 나머진 0)
- Q(x): 모델의 예측 확률 분포. (Softmax 출력값)
- 🌟 수식의 단순화 (이것이 핵심입니다!) P(x)는 정답 단어의 위치에서만 1이고 나머지 모든 위치에서는 0입니다. 따라서 복잡해 보이는 합산 기호(Σ)는 사실상 정답 단어 하나에 대해서만 계산됩니다.결론: 교차 엔트로피 손실은 결국 모델이 '정답 단어'에 부여한 확률값에 마이너스 로그를 취한 것입니다.
- 모델이 정답을 잘 맞춰서 Q(정답 단어)가 1에 가까워지면 → log(1)은 0이므로, 손실은 0에 가까워집니다. (잘했어!)
- 모델이 정답을 못 맞춰서 Q(정답 단어)가 0에 가까워지면 → log(0)은 음의 무한대에 가까워지므로, 손실은 매우 커집니다. (똑바로 해!)
-
- 소프트맥스(Softmax): 신경망의 마지막 출력값을 0~1 사이의 확률값으로 변환하고, 모든 확률의 총합이 1이 되도록 만들어주는 함수입니다. 교차 엔트로피를 사용하기 위해 필수적입니다.
## 3. 최초의 신경망 언어 모델 (NNLM)
2003년 요슈아 벤지오(Yoshua Bengio) 교수가 발표한 NNLM은 현대 신경망 언어 모델의 시초가 된 기념비적인 모델입니다.
- 핵심 아이디어 1: 신경망으로 n-gram 문제를 풀다
- 과제: n-gram 모델처럼, n-1개의 이전 단어들이 주어졌을 때 n번째 단어를 예측합니다.
- 차이점: 확률을 카운트로 계산하는 대신, 신경망을 학습시켜 확률을 예측합니다.
- 핵심 아이디어 2: 단어 임베딩(Word Embedding)의 발명 🚀
- n-gram 모델의 가장 큰 한계는 단어의 '의미'를 모른다는 것이었습니다.
- NNLM은 이를 해결하기 위해, 희소한 표현인 **원-핫 인코딩(one-hot encoding)**을 신경망 학습을 통해 의미를 함축한 밀집된(dense) 벡터 표현으로 변환했습니다. 이것이 바로 **'단어 임베딩'**입니다.
- 이 밀집 벡터 공간에서는 의미가 비슷한 단어들(e.g., '고양이', '강아지')이 서로 가까운 위치에 놓이게 되어, 모델이 단어 간의 의미적 유사성을 학습할 수 있게 되었습니다.
- NNLM 구조:
- 입력층: 이전 n-1개 단어의 인덱스.
- 투사층(Projection Layer): 각 단어 인덱스를 단어 임베딩 벡터로 변환합니다. (거대한 조회 테이블(Lookup Table) C에서 해당 단어의 벡터를 꺼내옴)
- 은닉층(Hidden Layer): 변환된 임베딩 벡터들을 하나로 연결(concatenate)하여 신경망 연산을 수행합니다.
- 출력층(Output Layer): Softmax 함수를 통해 다음 단어에 대한 확률 분포를 출력합니다.
## 🦉 시험 대비 최종 요약
- MLE와 교차 엔트로피: 교차 엔트로피 손실을 최소화하는 것은 (로그) 우도를 최대화하는 것과 수학적으로 같다.
- 교차 엔트로피의 실제 의미: -log(모델이 정답 단어에 부여한 확률).
- NNLM의 두 가지 혁신:
- 신경망을 언어 모델링에 최초로 도입.
- 단어 임베딩 개념을 발명하여, n-gram의 '의미 이해 불가' 문제를 해결.
- NNLM 구조: 단어 인덱스 입력 → 임베딩 룩업 → 은닉층 연산 → Softmax 출력.
'코딩공부 > 자연어처리' 카테고리의 다른 글
| 내가 시험공부하려고 만든 자연어처리-n-gram (0) | 2025.10.09 |
|---|---|
| 내가 시험공부하려고 만든 자연어처리-언어모델 (0) | 2025.10.09 |
| 내가 시험공부하려고 만든 자연어처리-ELMo,BERT (1) | 2025.10.09 |
| 내가 시험공부하려고 만든 자연어처리-유도 바이어스(Inductive Bias,RNN,Transformer) (0) | 2025.10.09 |
| 내가 시험공부하려고 만든 자연어처리-동적임베딩의 필요성 (0) | 2025.10.09 |