본문 바로가기
AI/AI 부트캠프

[AI 부트캠프] DAY 108 - CV 프로젝트 9

by HOHHOH 2023. 12. 22.

[오늘의 일지]

프로젝트 - 최종 학습 후 결과

[상세 내용]

최종 학습 후 결과

- 어제 0.38의 결과를 얻은 뒤로 총 2가지 변화를 주면서 마지막까지 좋은 결과를 얻기 위해서 노력했습니다. 

 

라벨링 수정하기

- 이번 프로젝트의 데이터를 분석하고 이상치를 찾고 수정하는 담당을 제가 하기로 했었기 때문에 이전에 영상을 하나씩 다 보면서 라벨이 이상하다고 생각했던 것들을 따로 체크해 두었고 라벨을 하드 코딩으로 수정해서 새로운 train 데이터를 만들었습니다. 수정해야 할 라벨을 약 100개 정도였습니다.

relabels = {
    "TRAIN_1193": 5,
    "TRAIN_2654": 10,
    "TRAIN_2391": 10,
    "TRAIN_2626": 10,
    "TRAIN_2685": 10,
    "TRAIN_2571": 12,
    "TRAIN_0107": 1,
    "TRAIN_0123": 1,
    "TRAIN_2055": 1,
    "TRAIN_2302": 1,
    "TRAIN_2548": 1,
    "TRAIN_0149": 3,
    "TRAIN_0263": 3,
    "TRAIN_0728": 3,
    "TRAIN_1251": 3,
    "TRAIN_1698": 3,
    "TRAIN_1703": 3,
    "TRAIN_1718": 3,
    "TRAIN_1955": 3,
    "TRAIN_2249": 3,
    "TRAIN_0221": 4,
    "TRAIN_0630": 4,
    "TRAIN_1874": 4,
    "TRAIN_2595": 4,
    "TRAIN_1771": 5,
    "TRAIN_1848": 5,
    "TRAIN_2532": 5,
    "TRAIN_0020": 7,
    "TRAIN_1506": 7,
    "TRAIN_1531": 7,
    "TRAIN_2063": 7,
    "TRAIN_0621": 9,
    "TRAIN_1287": 9,
    "TRAIN_1728": 9,
    "TRAIN_1923": 9,
    "TRAIN_1949": 9,
    "TRAIN_2239": 9,
    "TRAIN_2615": 9,
    "TRAIN_0877": 10,
    "TRAIN_0917": 10,
    "TRAIN_0341": 11,
    "TRAIN_1041": 11,
    "TRAIN_1581": 11,
    "TRAIN_1280": 1,
    "TRAIN_1656": 3,
    "TRAIN_0778": 3,
    "TRAIN_0861": 3,
    "TRAIN_0889": 3,
    "TRAIN_1098": 3,
    "TRAIN_1654": 3,
    "TRAIN_0375": 4,
    "TRAIN_0856": 4,
    "TRAIN_1081": 4,
    "TRAIN_1488": 4,
    "TRAIN_0588": 6,
    "TRAIN_0809": 6,
    "TRAIN_0401": 7,
    "TRAIN_0332": 9,
    "TRAIN_0970": 9,
    "TRAIN_1563": 9,
    "TRAIN_2046": 3,
    "TRAIN_1605": 3,
    "TRAIN_0007": 1,
    "TRAIN_0061": 1,
    "TRAIN_0004": 3,
    "TRAIN_2356": 3,
    "TRAIN_1420": 7,
    "TRAIN_2480": 3,
    "TRAIN_2128": 7,
    "TRAIN_1015": 1,
    "TRAIN_2293": 3,
    "TRAIN_2694": 1,
    "TRAIN_1727": 5,
    "TRAIN_2513": 1,
    "TRAIN_2541": 10,
    "TRAIN_1086": 9,
    "TRAIN_0674": 9,
    "TRAIN_1681": 0,
    "TRAIN_1263": 4,
    "TRAIN_2236": 10,
    "TRAIN_0668": 9,
    "TRAIN_2013": 1,
    "TRAIN_2104": 7,
    "TRAIN_0875": 3,
    "TRAIN_0896": 3,
    "TRAIN_0892": 9,
    "TRAIN_0238": 10,
    "TRAIN_0234": 9,
    "TRAIN_1917": 10,
    "TRAIN_1333": 3,
    "TRAIN_2163": 1,
    "TRAIN_0294": 1,
    "TRAIN_0800": 1,
}

 

transformer 옵션 추가하기

- 모델 아키텍처를 담당했던 조원분이 마지막으로 transformer 옵션을 추가해 보자고 제안해 주셔서 그렇게 하기로 하고 최종적으로 학습을 돌렸습니다.

transformer = A.Compose([
    A.CLAHE(p=0.2), # additional option
    A.Normalize(),
    A.HorizontalFlip(p=0.5), # additional option
    A.RandomBrightnessContrast(p=0.2), # additional option
    A.HueSaturationValue(p=0.2), # additional option
    transforms.ToTensorV2(transpose_mask=True),
])

 

최종 학습 결과

- 어제 프라이빗 스코어 기준으로 0.38 정도가 나왔었는데 최종 스코어는 0.414 정도로 상향된 점수로 마감을 하게 되었습니다. 다만 처음 목표로 했었던 0.55에는 많이 못 미치는 점수였지만 짧은 기간 동안 최선의 결과를 낸 거라고 생각을 했습니다. 

 

[마무리]

 오늘은 마지막 학습을 마무리하고 최종 학습 결과를 얻었습니다. 위에서도 설명했지만 목표로 했었던 점수에는 미치지 못했지만 아쉬움이 크게 남지 않는 이유는 데이콘 홈페이지에 상위권 사람들이 공개한 모델을 보면 거의 대부분이 이미지 모델이 아니라 비디오 모델을 직접 사용했기 때문입니다. 아마도 데이터 자체도 영상이었기 때문에 그런 이유가 크겠지만 우리처럼 이미지를 직접 뽑는 과정을 통해서 이미지를 학습시키면 아무래도 여러 측면에서 효율이 떨어졌을 거라고 생각했습니다. 다음에 기회가 된다면 딥러닝 비디오 모델에 대해서 자세하게 공부해 보는 시간이 있었으면 좋겠습니다.

반응형

댓글