본문 바로가기

Model/Network

(5)
Autoencoder Autoencoder(오토인코더)란, Input과 Output이 동일한 인공신경망을 이용해 Unsupervised Learning으로 feature를 추출하는 방법입니다. Input을 입력받아 저차원의 hidden layer를 통과하고, 다시 원래 Input을 출력하도록 모델을 학습합니다. 따라서 hidden layer에는 input 데이터가 압축되어 저장된다고 볼 수 있습니다. 즉, hidden layer의 값은 원본 데이터에서 추출된 feature입니다. 예를 들어 Word2Vec과 같이 One-hot encoding(어느 벡터에서 각각의 단어가 하나의 차원을 가지도록 인코딩) 수만~수십만 개의 단어를 200차원의 vector로 만들 때 Autoencoder를 사용할 수 있습니다. 1. AutoEnc..
Transformer Transformer? Seq2Seq와 동일한 인코더-디코더 구조를 Attention만으로 구현한 모델입니다. 'Attention is all you need'에서 나온 모델이며, 이 Transformer 구조를 기반으로 수많은 모델이 나오고 있습니다. Transformar 모델은 기존의 RNN, CNN 구조의 한계를 넘어섰습니다. CNN은 필터를 슬라이딩하는 방식이므로, local적인 feature는 잘 추출하지만 끝부분에 있는 의미를 파악하기 어렵습니다. RNN은 연쇄적인 연산을 이용하기 때문에, 이전 문장의 특징을 반영할 수 있지만 문장이 길어질수록 끝부분이 반영되기 어렵습니다. RN은 길이가 길어져도 양 끝을 모두 다 반영할 수 있지만 연산량이 매우 많은 문제가 있습니다. CNN: $ht = f(..
Attention Network, Attention Model 본 포스트는 Attention Network, Attention Model의 정의, 구조, 및 활용에 대해 설명합니다. Natural Language Inference, Sentence representation and Attention Mechanism 논문을 요약 및 정리하고 추가적인 내용을 덧붙였습니다. Attention Model이란 딥러닝 모델이 vector sequence 중에서 가장 중요한 vector에 집중하도록 하는 모델입니다. State를 고려해서 가장 중요도가 높은 vector를 중심으로 하나의 vector로 정리하는 모델입니다. Attention Model의 input은 입력 벡터와 context가 있습니다. 입력 벡터($y_1, y_2, ..., y_n$): 1차원 데이터 뿐만 아..
GAN(Generative Adversarial Network), 적대적 생성 신경망 GAN(Generative Adversarial Network)은 두 개의 신경망 모델이 서로 경쟁하면서 더 나은 결과를 만들어내는 강화 학습의 일종입니다. GAN은 Generator(생성자)와 Discriminator(감별자)로 구성되어 있습니다. Generator는 거짓 데이터를 만들어내는 모델입니다. 생성된 데이터는 Discriminator가 실제 데이터로 착각하도록 학습을 합니다. 한편, Discriminator는 실제 데이터와 Generator가 생성한 거짓 데이터를 구분하는 모델입니다. 두 모델이 서로 경쟁을 하다보면, Generator는 진짜 같은 데이터를 생성하게 되고, Discriminator는 실제 데이터와 거짓 데이터를 더더욱 잘 구분할 수 있게 학습이 됩니다. 1. Adversari..
Autoencoder / VAE AutoEncoder AutoEncoder란? 입력을 출력으로 복사하는 신경망 위 그림처럼 hidden layer의 뉴런 수를 input layer보다 작게 해서 data를 압축(=차원을 축소)하거나 input data에 noise를 추가한 후 원본을 복원할 수 있도록 network를 학습시키기도 한다. AutoEncoder의 구성 Encoder : recognition network. input을 내부 표현으로 변환 Decoder : generative network. 내부 표현을 output으로 변환 AutoEncoder는 input, output의 뉴런 수가 같다는 것만 제외하면 일반적인 MLP와 동일한 구조. AutoEncoder는 입력을 재구성하기 때문에 output을 reconstruction..