반응형

지난 글에 언어모델에 Dense vector 가 왜 언어모델에서 쓰이는지에 대하여 글을 작성했다.
기존 언어모델의 문제점
- word-embedding은 context에 independent 하다.
- 단순히 짧은 맥락 말고, 멀리있어도 인지하고 싶다.
ex) apple은 과일일 수도있고, 회사이름일 수 있는데 판별하지 못한다.
FFN(MLP)
Feedforward network로 다층퍼셉트론을 이용한 모델이다.
input = x= [x1,x2,x3...]
1layer =hidden layer = h = sigmoid(wx + b)
2layer = z =UH
3layer = y = softmax(z)
loss function = cross-entropy

FFN을 통한 simple neural language model
word embeddings 과정에서 모든 단어의 벡터를 하나의 벡터로 뭉쳐서 W와 가중하는 방법
단점:
W의 차원이 단어의 차원과 동일해야 계산이 일어질 수 있기때문에, 고정이 되어있는 context의 길이만 다룰 수 있다는 큰 함정이 있다.
RNN의 등장
h(t) = sigmoid(Whh(t-1)+Wex(t))
위의 수식을 풀이해보자면, 이렇다.
1. word-context를 통합하지않고, 언어모델에 하나씩 입력한다.
2. We가중벡터와 내적을 하고, 그 결과 값을 h(0)과Wh 내적한 값과 더한다. 그럼 h1 이라는 값이 나온다.
3. 나온 h(1)과 Wh벡터를 내적하여 word(2)를 We와 내적후 더한다.
4. 이과정을 계속 반복한다.
결과는 Uh벡터가 나오고, 이를 softmax를 취해주면 FNN의 단점을 보완할 수 있다.
단어를 예측할때는 원 핫 벡터를 쓰기 때문에 크로스엔트로피에서 원핫벡터를 대입한 수식을 사용한다.
RNN도 단점
- 체인룰 방식으로 인해, 1에 가까워지면 폭증하고 0으로 가까워지면 수렴한다. 즉 길이가 길어질 수 록, 보기가 힘들어진다.
- 한 방향만 보기때문에 미래의 맥락을 볼 수 없다.
- 학습시에 노출되는 Data와 평가시에 노이즈가 낀 data를 예측할 때 다르다는 점이있다.
반응형
'AI' 카테고리의 다른 글
| 태태개발일지 - 기계학습(SVM) (0) | 2026.04.11 |
|---|---|
| 태태개발일지 - 기계학습(배깅,랜덤포레스트,부스팅) (0) | 2026.04.11 |
| 태태개발일지 - 기계학습(KNN, 의사결정 tree) (0) | 2026.04.05 |
| 태태개발일지 - 자연어처리(역사, dense vector,skip-gram) (0) | 2026.04.05 |
| 태태코딩 - 자연어처리(word-net, tf,df,idf,pmi) (0) | 2026.03.28 |