네이버 부스트캠프 학습 정리/6주차 4

[P-stage 1] EfficientNet

현재 ImageNet Accuracy에서 SOTA 모델인 EfficientNet. SOTA 모델을 쓰는 것이 당연히 좋지 않을까.. 싶어서 사용하고 있지만, 그리고 대회에서도 아마 data를 조정하고 hyper parameter를 조정하는 것이 점수를 높이는 방법이고 모델은 그냥 EfficientNet을 쓰는게 좋지 않을까 싶지만, 그래도 알고 쓰는게 좋을 것 같아 이 모델에 대한 정리를 한다. 모델의 크기 키우기 하드웨어 기술이 감당할 수 있는 모델의 크기가 증가하는 만큼 모델의 크기를 키워 성능을 높이는 방향의 연구가 이루어지고 있다. 모델의 크기를 키우는 3가지 주요 방법으로는 1. Layer의 깊이를 더 깊게 쌓는 것 2. Channel width(filter의 수) 를 늘리는 것 3. image..

[P-stage 1] Image Classification Loss에 대한 고찰

Baseline 코드의 loss.py 파일에 들어가면 기본적으로 3가지 Loss가 정의되어 있고, nn.CrossEntropy가 있다. CrossEntropyLoss FocalLoss LabelSmoothingLoss F1Loss 이 네 가지를 사용하는 경우도 알고 쓰고, 이를 알면서 또 내 모델에 어떤 Loss function을 쓰는게 좋을 지 생각해보자. Cross Entropy Loss N가지 종류의 클래스에서 데이터의 라벨이 one - hot encoding으로 정답이 있을 때, 활성화 함수 Softmax를 통과한 클래스의 예측값이 다음과 같이 나왔다고 하자. 이 식은 다음의 식으로 변경이 가능하며 2번 클래스로 예측한 확률이 가장 높기 때문에 실제 확률 분포의 확률 분포가 [0, 1, 0] 으로..

[P-stage 1] 실험 환경 세팅

가상 환경 설정 SSH 서버에 접속하기 위한 여정. 부스트캠프를 진행하며 대회 진행에서 학습에 필요한 GPU를 인당 1개씩 v100으로 서버를 통해 지원해준다. v100 32G는 몇백만원 하는 굉장히 고가의 GPU.. 갓이버 클라우드. 아무튼 이 서버를 사용하기 위해 매번 들어가기 귀찮기도 하고, Vscode와 연동하는 방법을 어떤 분이 Slack에 친절히 pdf까지 올려주셔서 이 방법을 통해 Vscode에서 SSH 서버에 원격 접속해 이용하는 방법에 대해 익혔다. 1. Key 발급 서버를 실행시키면 최초 실행 시 자동으로 key 파일이 다운로드 된다. 나는 데스크탑에서 서버를 최초 실행하고, 다시 노트북에서 서버를 연동하려고 시도해서 key 파일을 못 찾아서 한참을 헤맸다. 이런 경우 아마 key 파일..

P stage 돌입과 학습 정리 방식 변경

이제 간단한 이론 강의와 과제로 진행되던 U stage가 끝나 본격적으로 대회가 시작하는 P stage에 들어간다. 이번 주, 다음 주는 마스크 착용 감지에 대한 Image classification에 대해 대회를 진행하며, 프로젝트로 진행하는 만큼 강의의 내용은 '어떻게 진행할 지' 에 대해서 알려주고 이론적인 내용은 없다고 봐도 무방하다. 따라서 학습 정리에 대해 이제 대회가 시작한 나머지 기간동안은 코드를 작성하며 내가 깨달은 점, 모델을 구현하기 위해 찾은 지식들과 내가 사용하는 모델에 대한 정리. 즉 내가 무엇을 쓸 때 '알고 쓰자' 에 초점을 두어 정리할 것이다.