Camera classification Project

[211207] Pytorch: comparator model 수정

홍시맛쿠키 2021. 12. 8. 17:11

#문제 

기존 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도 어짜피 다른 이미지 사용하니까