[14] KT AIVLE 3기 ai트랙 - 에이블스쿨 11주차

반응형

1. 이번 주의 구성 (4.10. ~ 14.)

이번주는 5차 미니프로젝트인데 AICE 어쏘 대비 특강과 캐글 경쟁 두 파트로 나뉘어졌다. 특강은 편안한 마음으로 들었고 캐글 경쟁은 늘 그랬듯이 치열했다..

 

 

2. AICE 어쏘 대비 특강 (10일, 11일)

다음주 1차 에이블데이가 있는데 오전에 AICE 어쏘 시험을 본다고 한다. KT에서 만든 AI 시험인데 약간은 빅분기 느낌이 나는? 오픈북이 허용되지만 참고자료는 허용되지 않는? 묘한 시험이다. 연습문제 상으로는 정말 기본적인 데분 flow대로 출제가 되는 것 같아서 굳이 검색해볼 필요는 없어보이긴 한다.

https://aice.study/main

 

AICE

KT가 개발하여 한국경제신문과 함께 주관하는 인공지능 능력시험입니다.

aice.study

문제를 풀다보니 ADP에서 출제되지 않는 딥러닝 파트 코딩은 좀 막히긴 하는데, help함수랑 dir함수만 있으면 어떻게든 풀긴할거니까 크게 걱정은 안된다.

 

 

3. 센서데이터 분류 프로젝트 (12~14일)

이 프로젝트는 약간 묘한 프로젝트였다. 팀이 있기는 한데 캐글은 개인 경쟁인?? 구조여서 약간 혼란이 있었다. 3일짜리더라도 난이도를 어렵게하고 팀경쟁으로 했으면 더 좋았을 것 같다. 팀 회의시간이 있는데 이걸 적극적으로 얘기하면 개인 경쟁에서 불리해지는 구조 아닌가? 라고 개인적으로 생각했다. 그런걸 방지하기 위해서 1~2일차는 데이터 구조가 정말 쉬웠던 것 같다.

 

3일차에는 1~2일차와 달리 피쳐가 엄청 줄어버려서 성능이 영 안좋았다. 이 성능을 끌어올리려고 각 클래스에 속할 확률을 변수로 추가해줬다. 어떻게 보면 스태킹처럼 볼 수도 있을 것 같다. 처음에는 분류가 가장 잘 되었던 클래스는 굳이 계산을 안했다. 원핫인코딩할 때에도 drop_first같은 옵션이 있지 않은가? 그 논리와 유사하게 나머지 클래스에 대한 확률을 제공해줬으니 괜찮을거라고 생각했는데, 성능이 크게 좋아지지 않았다. 그런데 빠졌던 클래스에 대한 확률도 추가적으로 변수로 투입하니 성능이 많이 나아졌다. 신기한 경험이었으나 동시에 과제가 주어진 느낌이었다. 도대체 왜 그랬을까...? 이번에는 클래스가 6개 밖에 안되었으니 모두 확률을 추론했다지만, 그보다 더 많을 때는? 다 해봐야 하는건가? 그렇다고 내가 자의적으로 일부 클래스에 대해서만 샘플링한다면 그 근거는 어떻게 보고해야 할 지? 많은 생각이 들었다.

 

또 1~2일차의 train set을 이용해도 된다는 말을 듣고 이걸 이용해서 피쳐 엔지니어링을 진행했다. 유의한 변수 3개 정도를 추론하는 모델을 구성해서 test set에도 변수를 추가해줬고, 이후 최종모델을 만들어서 좋은 결과를 받을 수 있었다. 이걸 피쳐엔지니어링이라고 봐야할지 semi training이라고 봐야할지는 좀 모르겠지만? 성능에 유의미한 변화가 있었다.

 

발표에서나 에이블 단톡에서나 많은 분들이 하이퍼파라미터 튜닝에 집중하신 것 같은데, 나는 그런 튜닝작업이 너무 재미없게 느껴져서 하지 않았다. 내가 이 프로젝트를 면접관들에게 말하는 상황에서, '하이퍼 파라미터 튜닝을 영혼을 갈아 넣었습니다' 라고 어필해봤자 크게 감흥이 없을 것 같았기 때문이다. 그래서 피쳐 엔지니어링에 집중했는데, 아마 여기에 튜닝까지 진행했으면 더 고득점을 받았을 것 같다. 그래도,,, 상위권 점수를 받아서 크게 아쉽다거나 더 해보고싶다거나 하는 마음은 없다.

 

 

4. 경쟁할 때 많이 배운다

이번에도 역시 경쟁하면서 많이 배웠다. 점수가 매겨지기 때문이기도 하지만, 팀원들에게 결과물을 공유해야 하는 자리에서는 뭔가 보여주고 싶은 마음이 들기 때문이다. 그러다보면 교안에는 없는 내용을 발굴해서 작업해야 하고, 그 생각이 타당한지에 대한 검증도 나 스스로 진행해야 한다. 이 생각의 과정에서 실력이 많이 느는 것 같다. 역시 에이블스쿨의 백미는 미니프로젝트이다!