티스토리 뷰

AI/Deep Learning

Style Transfer

미남잉 2023. 6. 22. 16:44
728x90

참고용으로 정리

UNet 전체 네트워크를 학습하는 것과 디코더만 업데이트하는 것의 차이


1. 전체 네트워크를 학습하는 경우:
   - 인코더와 디코더의 모든 가중치가 업데이트
   - 입력 이미지와 대상 출력(레이블) 간의 손실을 최소화하도록 모델이 최적화됨
   - 전체 네트워크는 입력 이미지에 대한 픽셀 수준의 예측을 수행하며, 입력 이미지의 특징을 인코딩하고 디코딩하여 출력을 생성

2. 디코더만 업데이트하는 경우:
   - 인코더의 가중치는 고정되어 있고, 디코더만 업데이트
   - 보통 사전 훈련된 인코더를 사용하여 디코더를 초기화하고, 디코더만 새로운 작업에 맞게 조정됨
   - 일반적으로 스타일 변환 작업과 같은 고수준의 시각적 특징을 학습하는 데 효과적
   - 인코더는 이미 일반적인 시각적 특징을 학습한 모델을 사용하기 때문에, 디코더는 스타일을 적용하여 새로운 이미지를 생성하는 데 중점을 둠
   - 디코더만 학습되므로 전체 네트워크보다 더 빠르게 수렴할 수 있음

따라서, 전체 네트워크를 학습하는 것은 인코더와 디코더의 모든 가중치를 최적화하는 것이며, 디코더만 업데이트하는 것은 인코더의 가중치를 고정시키고 디코더를 작업에 맞게 조정하는 것임. 선택하는 접근 방식은 주어진 작업과 데이터에 따라 달라질 수 있음

 

인코더와 디코더의 역할

1. 인코더:
   - 인코더는 입력 이미지를 저차원의 표현으로 변환하는 역할
   - 입력 이미지의 시각적 특징을 추출하고, 중요한 정보를 인코딩하여 고수준의 추상적인 표현으로 변환
   - 일반적으로 합성곱(Convolution) 레이어와 풀링(Pooling) 레이어로 구성
   - 인코더는 이미지의 공간적인 구조와 시각적 특징을 파악하고, 이를 디코더로 전달

2. 디코더:
   - 디코더는 인코더에서 얻은 저차원의 표현을 사용하여 원래 입력 이미지와 유사한 출력 이미지를 생성하는 역할
   - 인코더에서 추출한 특징을 디코딩하여 이미지를 복원하고, 원하는 작업을 수행
   - 일반적으로 업샘플링(Upsampling)과 합성곱(Convolution) 레이어로 구성
   - 디코더는 저차원의 추상적인 특징을 원래의 이미지 공간으로 재구성하여 세부적인 시각적 특징과 구조를 복원

인코더와 디코더는 서로 상호작용하여 입력 이미지의 정보를 유지하면서 중간 표현을 전달함. 인코더는 입력 이미지를 낮은 차원으로 압축하고, 디코더는 해당 저차원 표현을 다시 높은 차원으로 확장하여 출력 이미지를 생성하는데 이러한 구조는 다양한 컴퓨터 비전 작업에서 활용되며, 예를 들어 이미지 분할, 스타일 변환, 영상 생성 등에 사용됨

 

- transformer based encoder-decoder 관련 논문 읽고, 이점이 무엇이 있을지 생각해보기.

728x90
댓글