행동양식메모

AI 대회에서 깨달은 것 - 문제해결할 때 쉽게 빠지는 함정

형섭 2022. 11. 9. 14:30

주장하고자 하는 바가 앞에 있어야 좋은 글이랬다....

"문제해결할 때 당연히 지켜야 한다고 믿는 금기를 의심해볼 필요가 있다."

 

(축구공에 손 대면 안되는 상황은 시합 뿐... 차도 주변에선 손으로 들고 다니는게 맞다...)

스테이지는 바뀌었는데 

이전 스테이지에나 있던 엄격한 규칙을 지키느라
나도 모르게 제약이 걸리면

문제를 쓸데없이 어렵게 풀게 된다.

 

*여기부터 story

 

AI 대회에서 운좋게 얻어걸려 1등한 적이 있다.
대회 초반에 어이없이 만점 나와서 남은기간 편히 쉬었다.

 

해결방법은 어이없이 손쉬웠다.

 

(운영 측 제공)코드 스크립트에 한줄만 제거했다.

 

task는 "진짜 이미지와 가짜 이미지를 딥러닝으로 구분하기"였다.

resnet 따위로 이진분류 해서 제일 성능 좋으면 된다.

 

데이터셋의 가짜 이미지는 GAN이미지여서

"딥러닝이 이걸 못해? 당연히 정확도100%아냐?"라고 생각했다.

당연하지만 잘 안되더라.

99.95%까지는 도달하는데 그 이상이 곤란했다.

분류계열 최신 기법을 써봐도 그저그랬다.

 

데이터셋의 속성에 대해 고민을 좀 하다 이런 생각이 들었다.

"포토샵으로 조작한 가짜 이미지는

        픽셀 분포에도 왜곡이 있다던데(벤포드의 법칙을 벗어나는)"


1혹시 GAN 생성 이미지도 마찬가진가....? (어이없게도 확인 안해봄)

2근데 이미지 전처리로 normalize하면 정보 다 날아가려나...? (1이 맞다면)

3그럼...빼면... 되나...?

 

혹시 모르니 해보자 해서 했는데 해결이 됐다.

 

추측하기로는

이미지 분류문제 처럼 보이지만
사실은 "픽셀 분포에 강한 패턴"이 있어서 특성을 파악하면
쉽게 풀리는 문제였기 때문 아닐까?

(머리 잘 쓰면 간단한 통계 기법으로도 구분할 수 있지 않았을까 하는 의심)

 

위 사실이 맞다면

이미지 분류에 효과있는 최신 기법은

쓸모없거나 풀린다한들

쓸데없이 어렵게 풀고 비용을 낭비한 셈이 된다.

 

그동안 내게 normalize는 그냥 무조건 당연히 하는거였다.(사고수준이 이거 밖에 안됐다.)

 

dropout처럼 어설프게 적용하느니빼서 성능이 더 좋아진 사례

라도 있었으면 용의자로 지목할만한데
내게는 그때 normalize는 그런 존재가 아니어서 

지금도 좀 어리둥절하긴 하다.

 

여튼 그후로

이 일을 경험삼아
회사에서 일할 때


연구분야에선 논문이 인정받기 위해 지켜야 하는 제약이지만(은근히 많음)

상업제품 만들 땐 전혀 지킬 필요 없으니

그렇게 시도 가능한 리스트 중에
아주 싼(돈,시간이 적게드는) 방법이 있으면

그것부터 

적용하는 버릇이 생겼다.

 

그렇게 많은 문제를 저비용으로 해결할 수 있었다.

 

 

info.

1. 2020 인공지능 온라인 경진대회였다. (개최: 과학기술정보통신부, 주관: 정보통신산업진흥원NIPA)

2. 20개 문제 중에 첫번째 문제였다.

3.제거한 코드는 이미지 전처리 normalize였다.

4. 옛날 일이라 세부 사실은 기억 왜곡이 있을 수 있습니다...

5. 쪼꼼은 자기 PR있는 글입니다... 백수라 취업해야....봐주십쇼