NLG

[자연어생성] 1-1강~1-3강

intelligentcm 2021. 2. 20. 16:12

참고 강의 : https://bit.ly/3pFI7r5

1. Probabilistic Perspective

1) Machine Learning을 이용하는 목적성

1> 목표 : input에 대한 output을 잘 출력하는 최적의 신경망(함수) 찾기

⇒ 최적의 parameter 찾기

(함수를 모사하고 있다.)

2) 사실 최적의 확률 분포 함수를 찾고 있다.

⇒ 이 그림이 토끼일 확률도 있고 오리일 확률도 있습니다.

⇒ 이처럼 '이 사진이 정확히 어떤 class이다' 말하기 어렵고
'이 사진이 어떤 확률 분포를 가진다.'라고 말하는 것이 더 정확합니다.

(사실 확률 분포를 모사하고 있다.)

1> 목표 수정 : input에 대한 output을 잘 출력하는 최적의 확률 분포 함수 찾기

2> 가상의 확률 분포 함수 P(y|x)를 근사하는 과정이다.

x가 주어졌을 때 y가 될 확률 값들(확률 분포)을 잘 구하는 함수를 찾는다.

(확률 이론을 기반으로 신경망 이야기를 앞으로 서술해 나간다.)

2. Geometric Perspective

0) Example

각 feature별로 계속해서 0인 부분들이 일부 있으므로 random(uniform)하게 분포하지는 않습니다.

⇒ 쓸데 없는 차원들을 제외하면 더 낮은 차원의 공간에서 sample들이 분포하고 있을 수 있습니다.

1) Manifold Hypothesis

고차원 공간의 sample들이
저차원 manifold(다양체)의 형태로 분포하고 있다는 가정

⇒ 따라서 다양체를 해당 차원의 공간에 mapping할 수 있다.

<예시>

1> 고차원 공간에서의 두 점 사이의 거리와 저차원 공간으로의 매핑 후 거리가 다르다.

2) 고차원과 저차원 Manifold와의 비교

1> 고차원 공간에서의 두 점 사이의 중간 지점은 data가 없을 수 있습니다.

2> 저차원 공간에서의 두 점 사이의 중간 지점은
의미적으로도 두 점 사이의 중간지점입니다.

⇒ 1> & 2> 예시

3> manifold 예시

3) 결론

저차원의 manifold를 배울 수 있다면, 더 낮은 차원으로 효율적인 mapping(projection)이 가능합니다.

3. Introduction to NLP

1) Review : Autoencoders

encoder로 보존할 정보만 압축한 뒤에

decoder로 압축된 중요 정보를 복원합니다.

이 과정 속에서 z 부분에 중요한 feature만 추출하는 방향으로 학습하게 됩니다.

1> Encoder

복원 시 필요할 정보를 중심으로 손실 압축한다.

(필요 없는 정보는 버리고 필요한 정보만 z로 전달합니다.)

2> Bottleneck (z)

[1] 당연히 입력(x)보다 작은 차원으로 만들어야 합니다.

[2] Bottleneck의 차원에 따라 압축의 정도를 결정합니다. (차원이 작으면 압축이 많이 됩니다.)

[3] z는 x^에 대한 많은 정보를 담고 있어야 합니다.
⇒ z는 x에 대한 feature vector이다. == z는 x에 대한 embedding vector이다.
⇒ encoder 과정이 곧 embedding 과정입니다.

3> Decoder

원래 input과 최대한 비슷하게 복원합니다.

이를 위해 MSELoss를 이용합니다.
⇒ (x - x^)^2 를 줄이니 x와 x^가 비슷해져 갑니다.

2) In Word2Vec

1> Objective : 주어진 단어로 주변 단어를 예측한다.

2> y를 잘 예측하려면 x에서의 필요한 정보들을 z에 잘 압축해야합니다.


cf> 수강한 클립명

1> Ch 01. Orientation - 01. Orientation

2> Ch 01. Orientation - 02. Statistical & Geometric Perspective for Deep Learning

3> Ch 01. Orientation - Review : Introduction to NLP

 

cf> 수강 인증샷