Fall in Coding

^_^

Computer Vision/5. Deep Learning

[5.5] More complex models

jjunoXD 2025. 6. 25. 16:49

5.5.1 Three-dimensional CNNs

3D Convolutional Neural Networks (3D CNNs)의 초기모델임.

이미지에서 객체를 탐지하고 해당 객체를 3D Mesh로 변환하는 모델임.

 

5.5.2 Recurrent neural networks

RNN은 입력을 반복적으로 처리하면서, 각 단계에서 이전 상태의 출력을 다음 단계 입력으로 넘김.

 

5.5.3 Transformers

self-attention computation graph

Transformer의 핵심인 Self-attention에 대한 그림임. 위 그림은 N = 4인 경우를 보여줌.

K와 V는 row-stacked 행렬 / y는 1 x Dattn 행렬임.

query 토큰을 기준으로 주변 토큰들과 유사도를 계산함. 그리고 softmax로 다른 토큰들과의 가중치를 만들고, 가중치와 value를 곱한뒤 다 더함.

결국 y의 값은 해당 query가 전체 문장에서 참고해야 할 정보를 모두 종합한 새로운 표현임. 즉, 자기 자신을 이해하기 위해 다른 토큰들의 정보를 참고함.

Vision Transformer (ViT) / Transformer Encoder

 

5.5.4 Generative models

VQ-VAE model

convolution 연산을 통해 입력을 낮은 차원으로 인코딩후, 복원하는 autoencoder 구조임.

근데 위의 VQ-VAE 모델의 이름에서 알 수 있다시피 VQ(Vector Quantization) 벡터 양자화를 이용함.

convolution 연산을 통해 C개의 feature map(H x W)이 생성되면 각각의 위치(i,j)는 C차원의 벡터로 표현이 가능함. 하지만 이 벡터들은 연속적인 벡터임. 그래서 사전에 미리 만들어 둔 이산적인 벡터들로 구성된 codebook에 매핑함. (연속적인 cnn 벡터 출력을 유한한  codebook 벡터 중 하나로 치환하는 과정)

(a) : Generative adversarial network (GAN) / (b) : conditional GAN (cGAN) / (c) : InfoGAN

GAN은 Generator와 Discriminator인 두 개의 신경망으로 구성됨. G는 속이는게 목적이고, D는 잡아내는게 목적임.

GAN의 손실함수임. D의 입장에서는 D(x)를 1, D(G(z))를 0이 되어야 하고 G의 입장에서는 D(G(z))가 1이 되어야 함.