AI 개발자의 몰입은 달라야한다.
황농문 교수님의 몰입을 무척 감명깊게 읽고 남기는 글이다.
먼저 몰입이란, 한 문제에 대해 느린 속도로 멈추지 않고 깊게 사고하는 것을 의미한다. 단 1초도 쉬지 않는다는 마인드로 문제에 집중하는 것이다. 책에 따르면, 뉴턴,아인슈타인 등의 뛰어난 과학자들은 슬로우 싱커라한다
나도 내 연구에 적용해보고자 몇주 동안 오전 시간내내 실험을 멈추고, 깊은 생각에 빠진적이 있다.
다양한 모델 구조가 떠오르고, 재밌는 학습 방법들이 떠오른다. 예를들면, "음성의 장애여부 뿐만아니라, 나이와 성별도 같이 예측하면 성능이 오를것이다." 또는 "ㅇㅇㅇ구조가 음성에서 유행이던데 이걸 사용해볼까?"(당시엔 음성장애를 분류하는 연구를 했었다.)
이런 생각이 꼬리에 꼬리를 물기 시작하면 머리가 아파온다. 왜냐면, 아무리 생각한다한들 인공지능은 블랙박스라 직접 구현해보지않으면 성능을 알 수 없기 때문이다. 그래서, 아이디어는 발산하기만 하고 어느것이 진짜 key인지 알 수 없다.
관련해서, MIT의 한 학생이 올린 글이 있다. Lessons from My First Two Years of AI Research
"
Brainstorming, for me at the time, meant putting my head down at my desk and hoping that some vague intuitions would coalesce into a concrete insight. At the end of a day of brainstorming, I would often feel tired and discouraged. Was this research, I wondered?
"
브레인스토밍을 하며, 막연한 아이디어가 떠오르길 기대했지만, 그저 낙담만 줄뿐이었다.
(MIT도 같은 생각을 했다니, 한편으로 안심이된다.)
왜 이런 현상이 발생할까?
답은 데이터에 있다고 생각한다. 인공지능이 주로 하는 역할은 (데이터)-(라벨)간에 관계를 찾는 일이다. 이때, 데이터는 개발자 각자 서로 다른 것을 가지고 있다. 적은 수의 데이터와 별로 관계 없는 라벨을 가진 사람이라면, 백날 고민해봤자 해답은 안나올 것이다. 반대로, 아주 많은 데이터와 관계가 확실한 라벨을 가진 사람이면, 뭘 생각하든 깊게 쌓으면 성능이 오를 것이다.
그러면, AI개발에서 몰입은 틀렸을까?
틀리진 않았다. 다만, 몰입을 해야할 타이밍과 순서가 조금 다르다 생각한다.
가능한 빨리 내가 가진 데이터 구조에 맞는 모델을 만들고 실험을 돌린다.
실험 결과를 보고, 짧게 생각하고 가능한 모든 경우를 나열한다.
생각한 경우들을 하나씩 실험해 간다.
만족할만한 결과인가?
아니라면, 실험 결과를 뜯어보고 데이터를 확인한다
2번으로 돌아간다.
실력이 쌓인다면 이 반복문이 짧아지지 않을까?
핵심은 짧게 생각하고, 빨리 실험을 해야한다는 것이다. 짧게 몰입하여, 내가 할 수 있는 경우를 찾아야한다. AI 개발은 자연 과학이 아니다. 그 탓에, 생각보다 불변의 법칙은 잘 없는 편인것 같다.(논문은 쏟아지고 있지만). 아무리 생각한다한들, 블랙박스 안에서 굴러가는 데이터 각각의 흐름은 이해할 수 없을 것이다.
쓰다보니, 분야에 대한 회의감이 적힌글 같기도 하다 ㅋㅋ. 실험결과를 보며, 자신 또는 데이터가 문제라 생각하기 보다는 하나의 현상으로 생각하자. 조금씩 성취감을 느끼며 나아가자.
댓글
로그인 후 댓글을 남길 수 있습니다.
아직 댓글이 없습니다.