12-1강. DIP(deep image prior)
추천글 : 【알고리즘】 12강. 딥러닝 3부 - CNN 알고리즘
1. 개요 [목차]
⑴ 발상
① CNN은 corrupted image에 내재된 texture를 인식할 수 있음
② 초기 상태를 달리하여 여러 CNN 구조를 만들면 corrupted image의 모든 texture의 집합을 생성할 수 있음
③ 가정 : 그러한 집합은 corrupted image뿐만 아니라 clean image의 모든 texture의 집합이 될 수도 있음
○ 즉, CNN 자체가 매우 강력하고 내재적인 Prior라서 CNN이 표현가능한 parametric function space가 일반적이지 않음
○ 즉, CNN이 주어진 이미지를 overfitting 하는 거지만, regularizer의 역할을 하므로 완전히 overffiting하지 않기 때문에 가능
○ 근본적으로는 DIP가 우리 눈으로는 인식하지 못하는 자연계의 반복된 구조를 CNN 아키텍처가 잡아내기 때문
⑵ 개념
① IR(image restoration) : corrupted image를 clean image로 복원하는 것
② 베이즈 법칙(Bayes' theorem)
○ Posterior : corrupted image로부터 추출한 texture (결과)
○ Prior : clean image로부터 추출한 texture (원인)
○ Likelihood : 만약 Prior가 주어져 있다면 그 texture들을 조합하다가 주어진 데이터가 나왔을 확률
③ 생성형 모델(generative model)
○ 새로이 예제 데이터를 생성하는 모델을 통틀어 지칭
○ DIP(deep image prior)는 생성형 모델 중 하나
④ prior learning
○ 정의 : prediction model 등을 생성하기 위해 일반적인 CNN 신경망이 수많은 데이터셋을 통해 미리 학습을 하는 것
○ prior learning은 training / prediction와 같이 진행되는 경우에 필요함
○ 이와 달리, DIP는 self-taught manner로 진행하므로 prior learning을 필요로 하지 않음
⑤ 자기주도적 학습(self-supervised learning)
○ 정의 : toy example처럼 스스로 문제 및 정답지를 만들어서 진행하는 기계 학습
○ supervised learning과의 공통점 : test / training dataset을 구분
○ unsupervised learning과의 공통점 : 정답지를 모델이 만들어냄
⑥ foundation model
○ 정의 : inductive way로 작동하는 머신러닝 모델로, 필연적으로 self-supervised model이어야 함
○ inductive way의 의미 : (apple, 사과), (banana, 바나나) 등이 주어져 있을 때 (melon, ?)을 맞출 수 있다는 의미
○ DIP(deep image prior)는 foundation model은 아님 : inductive way로 작동하지 않기 때문
2. 수식화 [목차]
⑴ 목표 : corrupted image x0로부터 clean image x*를 얻는 것
⑵ 입출력 정의
① z ∈ ℝC' × H' × W' : CNN learned from corrupted image x0. CNN 구조도 행렬처럼 정리할 수 있음. C'은 CNN의 개수
② x ∈ ℝ3 × H × W : image derived from z
③ θ : network parameter
④ f : deep learning network
⑤ 위 파라미터 θ를 최적화하였을 때, 얻어지는 x를 clean image x*라고 함
⑶ 최적화 문제 : θ는 다음 비용을 최소화하는 θ로 정의됨
① E : 비용함수. 에너지, 엔트로피 등으로도 불림
② R : regularizer
○ 한 예로 특정 아키텍처의 R = 0, 나머지의 R = ∞으로 설정할 수 있음
③ x : DIP 알고리즘의 출력
④ x0 : corrupted image
○ x0를 드물게 clean image와 더 유사하지만 포함하는 정보가 다른 대체 이미지로 두기도 함
○ 예 : corrupted image가 특정 조직의 형광 분포 이미지이고 대체 이미지 x0가 그 조직의 광학 이미지인 경우
⑤ 최적화 단계에서 반복수가 너무 많으면 corrupted image를 너무 strict하게 해석하므로 일정 횟수 이하여야 함
⑷ 코드
3. 응용 [목차]
⑴ denoising : 이미지에 들어있는 노이즈 등을 제거
⑵ restoration : 이미지를 복원하는 것으로 CNN이 그 자체로 메모리 기능을 수행할 수 있음을 암시함
⑶ JPEG artifacts removal : 손실 압축을 하는 JPEG 이미지에서 원래 정보를 복원
Figure. 4. JPEG artifacts removal의 예시
⑷ super-resolution : 저해상도 이미지를 고해상도 이미지로 변환
Figure. 5. super-resolution의 예시
① 비용함수
○ d(·) : ℝ3 × tH × tW → ℝ3× H × W
○ t : down sampling operator. 1보다 큼
⑸ inpainting : 이미지 내 누락된 부분을 보충하여 글씨를 제거하는 등의 효과가 있음
① 비용함수
○ m ∈ {0, 1}H × W : binary mask
○ ⊙ : Hadamard’s product
⑹ flash-no flash reconstruction : flash image로부터 flash-no image를 얻거나 그 반대로 하는 것
Figure. 7. flash-no-flash reconstruction의 예시
4. 레퍼런스 [목차]
⑴ Ulyanov, D. et al. (2018). Deep image prior.
입력: 2021.12.31 10:20
'▶ 자연과학 > ▷ 알고리즘·머신러닝' 카테고리의 다른 글
【알고리즘】 7-2강. UMAP(uniform manifold approximation and projection) (0) | 2022.05.19 |
---|---|
【알고리즘】 27강. 기타 알고리즘 (0) | 2022.01.11 |
【알고리즘】 11강. 강화학습 (0) | 2021.12.13 |
【알고리즘】 6강. 분류 알고리즘 (0) | 2021.12.11 |
【알고리즘】 23강. MAB(multi-armed bandits) (0) | 2021.12.10 |
최근댓글