[자연어생성] 1-1강~1-3강
참고 강의 : 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> 수강 인증샷