이 글귀는 꽤 오래전에 봤었다. 처음 이 문장을 봤을 때에는 공감하기 어려웠다. 최근까지, 난 다수가 내린 리뷰와 평점이 객관화된 정보라고 생각해왔다. 맛집을 찾을 때에도, 자세히 하나하나 들여다볼 시간이 없을 때에는, 대충 점수가 높은 맛집은 다 이유가 있겠지, 하면서 리뷰와 평점이 높은 맛집을 신뢰했었다. 실제로 경험해보니, 평점이 높은 맛집들은 꽤 높은 확률로 맛있었다.
그런 것에 길들여지다 보니, 정량적인 평가를 신봉하게 되었다. 내가 연구를 하면서 논문을 볼 때에도, 1등 하는 논문들, state-of-the-art들이 사용하는 방식이면 일단 믿고 썼다. 난 그것을 stadard practice라고 하는데, 예를 들어 L2 regularization의 lambda 값은 5e-4나 1e-4로 설정하는 게 standard practice이다. 1등 하는 논문들이 취하는 standard practice이면, 뭔지는 모르겠지만 다 이유가 있겠지, 하면서 그것들을 따라왔다. 실제로, 경험이 부족할 때 뇌피셜로 접근하면 삽질을 많이 했었다. 그럴 때마다 standard practice를 따르면 일이 잘 풀리는구나 하는 경험을 많이 겪었었다.
이게 좀 더 고차원적으로는, 존재와 당위의 문제라고 하더라. 학부 때 교양에서 들었던 기억을 들춰내 보자면, 인류 역사 속에서 사라진 문명들과 살아남은 문명들이 있는데, 살아남은 문명들이 갖는 공통적인 문화들은, 뭔가 이유가 있다고 하는 것이다. 이게 존재 그 자체가 당위의 근거가 된다는 이야기이다. 물론 존재가 당위의 근거가 된다는 말은, 반은 맞고 반은 틀리다. 존재가 당위의 근거가 된다면, 악습에도 당위가 붙기 때문이다. 한편, 우리 인간이 살아 숨 쉴 당위가 있을까?라는 질문에 대해서는, "당신은 존재 그 자체로 가치가 있다"는 말을 들었는데, 이 말은 참 멋있게 느껴지더라.
내가 standard practice에 대해 의심하게 된 것은 비교적 최근의 일이다. 가장 나에게 큰 영감을 준 것은 김영재 님.
https://www.facebook.com/youngjaekim0/posts/10157691427587794
"matplotlib > plotly 갈아타는 걸 고민 중.
matplotlib을 이용한 차트 구성 코드는 언뜻 이해가 안가는게 많다."
어째서인지 이 짧은 글이 나에게 무척 영감을 주었다. 사실 python에서 그래프 그릴 때에는 matplotlib을 사용하는 게 standard practice인데, 디폴트로 나오는 그래프가 마음에 안 들었던 적이 있었다. 어떻게든 이쁜 그래프를 얻으려고 커스텀 옵션을 하나하나 넣어야 했는데, 꽤 불편했었다. 그렇지만 standard practice니까 별생각 없이 matplotlib을 썼다. 그러나 김영재 님은 본인 만의 주관으로 판단했는데, standard practice에도 도전할 수 있는 설득력 있는 주관이었고, 꽤 감탄했다.
그래서 최근에 김영재 님의 팬이 되었는데, 이분의 페북은 매일 새로운 글 없나 확인할 정도. 이 분의 OKKYCON 발표는 Q&A에서도 감탄이 나왔다.
https://www.youtube.com/watch?v=TMVBlkOevSE
1:09:30경,
"새로운 개발 방식, 업무 방식을 도입하는 기준이 무엇인가요?"
"가장 경계하는 게 최신 유행인 것 같습니다. ... 실제 문제 해결에 대한 경험이랑, 그걸 해결하고야 말겠다라는 것에 대한 집착이 어떻게 보면 가장 중요한 판단기준인 것 같습니다. 그걸 하다 보면 뭐 '아 그게 최신 유행의 뭔가보다' 사람들이 그냥 그렇게 이해해주는 것에 가까운 것 같아요."
결정적으로 이 글을 봤다.
https://www.facebook.com/youngjaekim0/posts/10158249684702794
"가장 잘못된 기술선택은 레퍼런스를 인용하며 선택하는 것이다. 그보다는 팀의 역량과 기술문서와 트러블슈팅 가능성으로 선택하는게 낫다."
그래서 김영재 님은 standard practice를 오히려 경계한다. 실제로 접하고 있는 문제에 대한 도구로서 접근할 수는 있겠지만, 그 자체가 목적은 아니라는 것이다.
물론, 그럼에도 standard practice가 중요하지 않다고 보기는 어렵다. 내 생각에, standard practice는 중요할 때가 있고 아닐 때가 있다. neural network라던가, 정량적으로 평가할 수 있는 것들은 standard practice를 따를 수 있지만, 그것은 객관이 dominant한 문제이기 가능하다. 세상에는 객관보다 주관이 dominant한 문제도 많다. 내가 오랜만에 찾는 라멘집이 맛있는지는, 내가 판단한 맛, 나의 주관이 보다 중요하다. matplotlib이 편리한지, plotly가 편리한지는, 나의 주관이 중요하다. 그래프 그리는 일에는 딱히 성능 차이라고 할 것도 없으니까. 그러나 VGG보다 ResNet이 standard practice인 것은 객관이 dominant한 문제이기 때문이다. 그러나 tensorflow가 편리한지 pytorch가 편리한지를 따지는 것에는 나의 주관이 dominant하다.
"standrad practice에 의심을 품고, 자신만의 안목으로 접근한다. 나 자신이 납득할 수 있는지를 중요하게 생각한다." 이 수준에 도달해야 나름대로 고수이고, 이 수준에서 새로운 연구가 나오는 게 아닐까. 사실 이 수준에 도달한다는 것이, 그냥 무모한 뇌피셜로 접근하는 것을 의미하는 것은 아닐 것이다. standard practice를 수많이 경험하고, 자신의 안목이 상당히 훈련된다면, standard practice도 스스로 평가할 수 있는 수준이 되지 않을까 싶다.
이런 것을 뭐라고 부를까, 취향? 주관? 안목? 어쩌면 감성이 아닐까 싶다. 물론 요즘엔 감성이라는 단어가 애플과 연결되는 허세적인 단어처럼 변질되었지만, 본래 감성이란, 좋다 나쁘다를 평가할 수 있는 남들과는 다른, 스스로의 주관이라고 생각한다. 그렇기 때문에 요즘에는 김영재 님처럼 좋은 안목, 좋은 감성을 가질 수 있도록 연습해야겠구나 하는 생각을 하곤 한다.