[논문 정보]
Author : Peter F.Brown 외 4명
Paper Link : https://aclanthology.org/J92-4003/
Year : 1992
Venue: Computational Linguistics, Volume 18
[Abstract]
![](https://velog.velcdn.com/images%2Fsujeongim%2Fpost%2Ff81736eb-d83d-475f-ba16-576625ce70de%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%202022-03-11%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%201.45.32.png)
-
저자가 풀려고 하는 문제(노란색)
- 텍스트에서 이전 단어들이 주어지면 다음 단어를 예측하는 task(= Language Model 구축)
-
제안 방안(초록색1)
- 단어를 클래스로 분류하고, 그 클래스를 이용해 n-gram 모델을 만들자.
-
제안 방안에 대한 직관(초록색2)
- 단어 간 동시 발생 빈도(co-occurrence)를 고려해 단어에 클래스를 부여
- 자주 같이 출현하면 비슷한 클래스일 수 있다.
-
제안 방안에 대한 증명(파랑색)
- syntactically(문법적으로), semantically(의미적으로) 그룹지었을 때 두 경우에서 모두 단어들의 클래스를 뽑아낼 수 있음을 보임
[Introduction]
<잠깐 개념 정리>
위에서 4가지 개념을 미리 알아오라고 했으니.. 간단히 살펴보자 (논문에서 설명해주면 좋으련만..)
1. Conditional probabilities (조건부 확률)
- 주어진 사건이 일어났다는 가정 하에 다른 한 사건이 일어날 확률
- A라는 사건이 일어났을 때, B라는 사건이 일어날 확률은 다음과 같이 식으로 표현된다.
![](https://velog.velcdn.com/images%2Fsujeongim%2Fpost%2F2ac77b70-6d4e-4a4c-bb4c-08de650e03f3%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%202022-03-11%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%202.12.58.png)
- 위의 식을 좀 건드려보면, 사건 A,B의 교집합의 확률은 다음과 같이 나타낼 수 있다.
![](https://velog.velcdn.com/images%2Fsujeongim%2Fpost%2Fa71e4bf1-3ec7-4991-b5ba-f7c36fd4c4fd%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%202022-03-11%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%202.16.06.png)
- 즉, 두 사건이 동시에 일어날 확률은 사건 A가 일어날 확률과 A가 일어났을 때 B가 일어날 확률의 곱이다.
- 보다 일반적으로, 임의의 n개의 사건 A1,...,An에 대하여 Pr(A1∩⋯∩An−1)>0 이라면,
아래 식이 성립한다.
![](https://velog.velcdn.com/images%2Fsujeongim%2Fpost%2Fee75264d-874d-4287-8299-cdec4ca0a7b7%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%202022-03-11%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%202.19.26.png)
- 추가적으로 두 사건 중 하나라도 양의 확률을 가질 경우 다음 조건이 서로 동치 이다.
Pr(B∣A)=Pr(B) ⇔ 두 사건 A, B는 독립이다.
즉, 두 사건 A, B가 독립이라면 A가 일어나든 일어나지 않든 B는 영향을 받지 않을 것이므로 A 사건의 전제의 유무의 관계없이 확률이 동일한 것이다.
- 또한 A, B가 독립일 때 사건 A,B의 교집합은 Pr(A∩B)=Pr(A)Pr(B∣A)=Pr(A)Pr(B)로 표현된다.
2. Markov chains (마르코프 연쇄) : '마르코프 특성'을 지니는 '이산 확률과정'
-
정의도 어려운데, 하나씩 살펴보자.
-
먼저 '확률 과정' = '어떤 사건이 발생할 확률이 변화하는 과정'을 의미한다.
-
'이산'시간 = '시간이 연속적으로 변하지 않고 이산적으로 변하는 것'을 의미한다.
-
'마르코프 특성'= '과거 상태들과 현재 상태가 주어졌을 때, 미래 상태는 과거 상태와는 독립적으로 현재 상태에 의해서만 결정된다는 것'이다.
-
다시 말해, 과거와 현재 상태 모두를 고려했을 때 미래 상태가 발생할 확률과 현재 상태만을 고려했을 때 미래 상태가 발생할 확률이 동일하다는 것이다.
-
기억나는 마르코프 프로세스의 예시를 들면, 우리가 자동차를 운전할 때 다음에 브레이크를 밟을지 엑셀을 밞을지 방향을 틀지 등을 선택하기 위해 필요한 정보는, 지금 당장 보이는 길의 모양과 지금 내가 브레이크를 밟고 있는지, 엑셀을 밟고 있는지에 대한 정보이다. 사실 그 이전에 이 사람이 운전을 어떻게 해왔고, 이전 길이 어떻게 생겼었는지는 다음 행동 예측과는 무관한 정보이다.)
-
이를 식으로 나타내면 다음과 같다.
Pr(Xn+1∣Xn)=Pr(Xn+1∣X1,X2,...,Xn−1,Xn)
-
마코프 프로세스는 이처럼 과거 상태를 기억하지 않기 때문에 메모리리스(memoryless) 프로세스로 불린다. 또한 마코프 프로세스는 마코프 체인(Markov chain, MC)이라 불리기도 한다.
-
조금 더 자세한 설명을 링크를 첨부한다 : https://bskyvision.com/573
3. Entropy
- Entropy : 정보를 표현할 때 필요한 최소 자원량
- What is a common currency of information?(정보를 어떻게 일반화해서 보여줄 수 있을까?)
- 언어도 정보의 하나인데, 일본어, 한국어, 영어 모두 표현방식이 다르다.
- 이러한 정보들을 표현하는 통용된 방식을 만들 수는 없을까?
- 정리하는데 참고했던, Entropy와 Mutual Information을 너무 잘 설명해놓은 영상이 있어서 첨부한다.
: https://www.youtube.com/watch?v=z1k8HVU4Mxc
- 어떤 식으로 해결하고자 했는가. 어떤 장점이 있는가(시간 여유가 된다면, 이전에는 어떤 방법이 있었고 그 방법들의 단점)
- Language Model
- 단어가 클래스로 분류되는 n-gram model - 바로 옆 클래스끼리의 mutual information이 크다.
- mutual information을 다른 word clustering 방식에 적용
- 그 방법에 대한 intuition (수학 없이)
- 방법에 대한 이해(수학적으로)
- 방법의 성공성을 보여주기 위해 사용한 데이터, 메트릭, 성능비교
- 부족하다 생각되는 것, 애매한 것, 혹은 좋았던 점 등의 Discussion point
- Mutual Information
- Perplexity
![](https://velog.velcdn.com/images%2Fsujeongim%2Fpost%2Fe73feada-9771-40d4-916b-6ab7bd348ca3%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%202022-03-10%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%208.26.19.png)
Q. 질문:
mutual information과 loss in average mutual information과 다른점 ?
loss in average MI가 적은애들을 merge한다라는게 비슷한 의미를 가진 단어끼리 merge한다라고 해석하는게 맞나?
MI가 두 단어의 상관성을 나타내고, 비슷한 의미의 단어끼리 같은 클래스로 merge해야하기 때문에 MI가 큰 애들끼리는 묶어야한다고 이해할 수 있는데 loss in average MI가 적은애들끼리 merge한다고 해서 잘 이해가 안됨.
논문의 473page 두번째 문단에 정의는 돼있는데 \Ik, \I_k(i,j)의 정의에 대한 전개가 위에 쭉 있는데 그걸 놓쳐서 정확하게 이해를 못하겠음. \I{k-1} = \I_k(i,j) 로 연결지어 생각했을 때 k 번째 sequence의 페어 i,j의 MI에서 (k-1)번째 sequence의 페어 i,j페어 의 MI를 뺀 값?으로 생각할 수 있는 것 같은데..
답변:
우리가 낮춰야 하는 loss값
Lk(i,j)=Ik−Ik(i,j)
논문에서
the average mutual information(Ik) remaining after we merge Ck(i) and Ck(j)
라고 했으므로 실질적으로 loss(Lk(i,j))를 낮추려면 −Ik(i,j)을 낮춰야 함. 즉 Ik(i,j)값을 키워야 함.
그러니 i,j는서로 의존도가 높은 애들끼리 merge를 한다고 이해하는 게 맞을 것 같습니다.
조금 더 자세히 보면, 논문 수식에서 아래와 같은 수식이 나옵니다.
![](https://velog.velcdn.com/images%2Fsujeongim%2Fpost%2F90e94554-b4a1-4e6a-8839-b0ba0311a805%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%202022-03-10%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%209.05.17.png)
Ik(i,j)
=Ik−sk(i)−sk(j)+qk(i,j)+qk(j,i)+qk(i+j,i+j)+∑lqk(l,i+j)+∑mqk(i+j,m)
--> 식을 좌변 우변으로 넘기고 넘기면,
sk(i)+sk(j)−qk(i,j)−qk(j,i)−qk(i+j,i+j)−∑lqk(l,i+j)−∑mqk(i+j,m)=Ik−Ik(i,j)=Lk(i,j)
이렇게 Lk(i,j)를 풀어 쓴 식을 해석해보면
i/j 와 다른 것들의 평균 의존성(sk(i), sk(j))은 낮추고,
i,j 끼리의 의존성(qk(i,j),qk(j,i))은 높이고,
i+j(merge 한 것)과 다른 것들 간의 평균 의존성
(∑lqk(l,i+j),∑mqk(i+j,m))은 높이게(개연성을 위해) 학습이 되는 것 같습니다.
다만 i/j 와 다른 것들의 평균 의존성(sk(i), sk(j))에서 l과 m에 i,j도 포함되는지, 그렇다면 다른 항들과 충돌하는 게 아닌지, 그냥 상쇄되는지에 대해서는 궁금합니다.(제가 더 자세히 안읽어서 못 찾았을 수도..)