[AI Competition Tutorial] Further Reading

임수정·2022년 2월 26일

AI Competition

목록 보기
10/10

Mission

1. Jupyter Notebook 탈출

Jupyter Notebook은 데이터를 미리 메모리에 로드해 두고 여러가지 실험을 빠르게 해볼 수 있는 편리성을 가지고 있습니다. 하지만 여러 Training job을 손 쉽게 컨트롤 하는 것, 재사용성에 용이하도록 구성요소를 모듈화 하는 것, 디버깅 작업 등을 하는 것은 사실 어려움이 따릅니다.

이번 기회에 지금까지 만들었던 Jupyter Notebook을 모아서 하나의 멋진 Python 프로젝트를 만들어 보는건 어떨까요?

(아래의 Further reading을 참고 하시면 도움이 되실겁니다.)

2. 다중 클래스 분류에 대한 고찰

이번 컴퍼티션은 주어진 정면 사진 이미지에 대해 연령, 성별, 마스크 착용 여부를 바탕으로 총 18개의 클래스로 나누어 분류해야 합니다. 한가지 예를 들어보면, 마스크를 제대로 착용한 20대 여성과, 마스크를 제대로 착용한 20대 남성은 서로 다른 클래스인 셈이죠.

그런데 말입니다. 우리는 MLE(Maximum Likehood Estimation) 관점에서 주어진 이미지에 해당하는 가장 확률이 높은 하나의 클래스를 예측하도록 모델을 학습합니다. 우리가 만든 모델은 마스크를 제대로 착용한 20대 여성과, 마스크를 제대로 착용한 20대 남성 의 경우를 서로 다른 클래스라고 출력할 수 있도록 학습을 진행할 것이고, Softmax함수를 활용해서 주어진 이미지가 어느 클래스에 가장 적합한 지 출력할 수 있게 합니다.

그런데 과연, 이게 올바른 것인지 한번쯤은 생각해볼 필요가 있습니다. Multi classification 관점에서 각각의 클래스는 상호 배타적(Mutually Exclusive), 독립적이라는 가정이 따르는데, 만약 이 정답 클래스 들이 서로 어떤 공통분모가 존재해서 의존성이 있는 경우라면 위와 같이 학습하는게 과연 옳은 것일지 말입니다.

3. 아래는 추가로 구현, 적용해 보면 좋은 주제 입니다. 아래 Further Reading을 참고하세요

Multi sample dropout
CutMix
Mixup

Further Reading

1. Jupyter Notebook vs Python IDLE -

https://www.geeksforgeeks.org/jupyter-notebook-vs-python-idle/

2. 다중 클래스 분류에 대한 고찰

https://towardsdatascience.com/journey-to-the-center-of-multi-label-classification-384c40229bff

3. Multi sample dropout

4.Cutmix 공식 깃헙

5. Cutmix 예시

profile
유쾌하게, 열정적으로, 진심을 다해

0개의 댓글