스타일 트랜스퍼(style transfer)
- CNN(convolutional neural network)
스타일 트랜스퍼(style transfer)?
스타일 이미지를 학습시킨 후에, 콘텐츠 이미지에 적용시키는 것.
ex) 반고흐 이미지를 스타일 이미지로 정함.
반고흐 이미지를 내 얼굴 사진의 스타일을 바꾸는 필터로 사용하는 것을
스타일 트랜스퍼라고 이해할 수 있다.
CNN(convolutional neural network : 합성곱 신경망)?
머신러닝을 사용할 때 어떤 식으로 학습시킬지 미리 graph를 설계한다.
CNN은 model의 설계 방식 중 하나라고 생각하면 된다.
CNN의 특징은 학습시킬 대상의 특징을 가져온다.
Neural Network란?
튜토리얼에서 사용하는 Neural Network 모델은 vgg16이다.
vgg16은 16개의 레이어로 구성된 CNN(합성곱 신경망)이다.
스타일 이미지와 콘텐츠 이미지의 loss(손실) 값을 줄여서
두 이미지의 차이를 줄여 콘텐츠 이미지에 스타일을 적용시키기 위해서 사용된다.
<전처리>
- 라이브러리 import
- 이미지 전처리 (생략)
- 손실함수 만들기(MSE)
- 콘텐츠 손실함수
- 스타일 손실함수 (gram matrix)
- 노이즈 제거 손실함수
- 스타일 트랜스퍼 알고리즘
- 손실함수에 gradient descent(기울기) 적용
- 손실함수 정규화
- 콘텐츠, 스타일 이미지 가져오기
- 콘텐츠 레이어 아이디 지정
- 스타일 레이어 아이디 지정(하위 레이어 / 상위 레이어)
- 스타일 트랜스퍼 실행 (손실함수 최적화)
그람행렬 - 자기 자신에 전치행렬(90도 돌린)을 곱한 것,
사용이유는 스타일에만 집중할 수 있도록 하기 위해서이다. 컨텐츠에는 적용되지 않는다.
손실함수는 컨텐츠 이미지와 mixed이미지 손실을 MSE를 사용해서 구한다.
Session은
Reference
'programming > Deep Learning' 카테고리의 다른 글
딥러닝 스터디02 (0) | 2019.06.09 |
---|---|
딥러닝 스터디 01 (0) | 2019.06.07 |
20190527 딥러닝 개념 설명 (0) | 2019.05.28 |
lec06 softmax Regression (0) | 2019.04.23 |
lect05-2 Logistic (regression) classification: cost function & gradient decent (0) | 2019.04.23 |