[211207] Pytorch: comparator model 수정
#문제
기존 classifier model을 수정해봐도 output이 제대로 나오지 않는다.
ResNet으로 아예 모델을 바꿔 진행해보자.
#참고
1. ResNet Pytorch implementation
https://velog.io/@gibonki77/ResNetwithPyTorch
Pytorch로 ResNet 구현, torch summary 살펴보기
ResNet은 우측의 그림처럼 skip-connection을 주어 residual을 학습할 수 있기 때문에 ResNet이라는 이름이 붙었습니다.(ResNet34의 layer)(ResNet34, ResNet50)의 구조ResNet50, ResNet101, ResNet15
velog.io
#해결
1. ResNet18
기존 모델이 convolution이 다섯단밖에 없었으니.. 우선 제일 shallow한 network부터 시도해보자.
원래 ResNet에서 batch normalization layer를 제거한 model을 사용했다.
Gradient vanishing인가??... 예전보단 상황이 나아보이긴 하는데 여전히 accuracy가 50에서 움직이지 않는다.
# Next Todo:
1. Comparator model
FC 전에 ResNet 추가한 다음에 FC단 추가하는 쪽으로 수정해야할 듯 하다.
2. Comparator DB
2-1. 이미지 한 장 (x) 여러 장에서 128x128 block 추출해서 DB 만들기
- attack 코드 수정
- same label / different label input image 확인
2-2. one hot label로 만들기
3. Overall architecture
class_different_loss 서로 다른 이미지 사용
- class_same_loss는 같은 이미지, class_different_loss는 다른 이미지에서 가져오면 content로 판단할 가능성 높음
- perceptual loss도 어짜피 다른 이미지 사용하니까