


순환 신경망이라고 불리는 RNN은 시퀀스 데이터에 특화된 모델입니다. 데이터를 순차적으로 네트워크에 입력하여 hidden state라고 하는 결과값을 얻어냅니다. 해당 결과값은 다음 입력 데이터와 함께 다시 네트워크에 입력되어 다음 결과값을 얻어냅니다. 이렇게 순환되며 동작하기 때문에 순환 신경망이라고 불리고 있습니다.
VAE는 오토 인코더와 변분추론(variational inference)을 결합한 모델입니다. 오토 인코더는 입력 데이터를 압축하여 다시 입력을 복원하는 기법이고 변분추론은 모델링하기 어려운 사후 확률을 이미 알고 있는 확률 분포에 근사하여 추론하는 기법입니다. VAE는 오토 인코더에 의해 압축된 잠재 변수(latent variable)가 특정한 확률 분포를 따를 것이라고 가정하며 최적화하는 기법입니다.
예를 들어 사과를 입력했다면 인코더에 의해 사과들의 특성(feature)들이 추출될 것입니다. 저희는 어떤 특성이 추출될지는 잘 모르지만 각 특성이 이미 우리가 알고 있는 확률 분포(일반적으로 가우시안 분포)를 따를 것이라고 가정합니다. 그 다음에 추출한 특성을 바탕으로 디코더는 본래의 입력을 복원합니다. 오토 인코더와 구조적으로 유사하지만 확률적 가정이 추가되면서 데이터의 분포를 모델링할 수 있다는 차별점을 가지고 있습니다.

주의하실 점은 오토 인코더와 구조가 유사할 뿐 두 개의 모델은 엄밀히 다른 모델입니다. 해당 내용은 여기서 자세하게 다루기는 어렵기 때문에 간략하게 설명 드리면 오토 인코더는 주어진 데이터를 특정한 공간으로 잘 투영하는 법을 배웁니다. 반면에 VAE는 데이터의 특성을 확률적으로 분석하여 추출합니다. 이런 이유로 오토 인코더는 manifold learning, VAE는 generative model이라고 부릅니다.
트랜스포머는 발표 이후 현재까지도 엄청난 영향력을 보여주고 있는 네트워크로 RNN의 역할을 하면서 RNN의 단점은 해결한 네트워크입니다. RNN은 분명히 시퀀스 데이터에 특화된 네트워크였지만, 다소 아쉬운 점이 있었습니다.
그런데 Transformer는 self-attention이라는 메커니즘으로 시퀀스 데이터 내에 존재하는 연관성 정보를 한 번에 추출할 수 있었고 나아가 뛰어난 성능까지 보여주었습니다.
