안티프래질을 실천하는 나만의 방법

안티프래질을 읽고

by dnnhyun

학부연구생 신분으로 연구실에 들어간지 얼마 되지 않았을 때, 이런 의문이 들었다.

“왜 SOTA 모델의 벤치마크 성능이 실제 현실 세계와 다를까?”


이유는 단순하다. 연구실의 정제된 데이터셋으로 학습했으나, 우리가 사는 현실은 그리 깨끗하지 않다. 생각보다 훨씬 더럽고 지저분하다. 너무 당연하게도 밤에는 빛이 없어 물체를 식별할 수 없으며, 태양 빛에 반사되거나 그림자 때문에 낮에도 물체가 보이지 않기도 한다. 가끔은 물 표면에 비친 물체까지도 객체로 인식하는 바보짓을 하기도 한다. 그래서 컴퓨터 비전에서는 모델의 예측 성능이 얼마나 robust한지가 중요하다. 처음엔 안티프래질하다는 것이 robust한 것으로 잘못 이해했다.


하지만 robust하다는 것은 버틴다에 가까우며, 이것은 안티프래질한 것과는 거리가 있다. 오히려 Test-Time Adaptation과 상당히 유사하다. 학습이 끝난 모델을 배포한 뒤, 추론 시점에 들어오는 테스트 데이터의 분포에 따라 그때그때 모델 파라미터를 능동적으로 재조정하는 방식이다. 다시 말해, 혼란을 버티는 것이 아니라, 혼란을 학습 신호로 쓰는 방식이다.


최근 흑백 요리사를 보면, 이미 충분히 잘함에도 불구하고 굳이 위험한 선택을 하는 셰프들이 있다. 탈락하면 그대로 집에 가야 한다는 것을 몰라서 그런 선택을 했을까?


같은 요리를 9번 발전시키는 최현석 셰프도, 첫 번째 생존 미션에서 혼자 토끼 고기를 선보인 삐딱한 천재 셰프도 그렇다. 모두가 자신이 가장 잘하는 요리를 선보일 때, 이렇게 자신을 편안함 밖으로 내던지는 모험을 하는 사람들을 우리는 용감하다고 느낀다.


물론 안타깝게도 이러한 사람들 중 대부분은 탈락한다.


안전한 선택을 하면, 탈락은 피한다. 반면 위험한 선택을 했을 때 성공하면 자신의 한계를 갱신할 수 있으며 어디까지인지 알게 된다. 실패해도 그들의 셰프 경력이 박살나거나 레스토랑이 문을 닫는 건 아니다. 오히려 ‘이건 안 되는구나’라는 소중한 정보를 얻게 된다. 옵션성과 상방 이득을 동시에 챙긴 이 사례가 대표적인 안티프래질의 특성이다.


살아남은 자가 더 강하다는 말이 있다. 대부분의 스타트업은 망하지만, 살아남은 스타트업은 강하다. 이렇게 강한 스타트업이 많아지면 전체 생태계의 평균 경쟁력이 올라간다. 따라서 우린 다른 이들의 실패에 감사해하고 이를 적극적으로 활용해야 한다. ‘실패를 통과하는 일’이라는 책을 읽고 최근 읽은 책들 중 가장 많은 깨달음을 얻었다. 전사한 군인을 존경하듯, 실패한 기업가도 존경해야 한다는 의견에 어느정도 동의한다. (물론 어떤 사람인지에 따라 배울 수 있는 것은 다르겠지만)


그렇다면 내 인생에서 안티프래질했던 순간이 언제였을까?


1. 갑작스러운 긴급 출항.


해군 갑판병 복무시절, 새벽 4시에 북한 상선이 감지되어 자다가 전투복을 입고 뛰어나가야 할 때가 종종 있었다. 이러한 상황은 당연히 예측 불가능하다. 그러나 나중엔 잠에서 깨자마자 무장을 하고 정해진 위치로 뛰어가는 데 겨우 1분 30초 밖에 걸리지 않았다. 혼란에 대응하는 속도가 점점 빨라졌다. 하지만 이건 능숙해지는 것에 가깝지 안티프래질하다고 보기 어렵다. 새로운 종류의 혼란이 왔을 때도 더 잘 대응했어야 한다.


2. 대학교 1학년 때 아무것도 모르고 창업을 한 것.


잃을 게 없었기에 뭣도 모르고 시작했지만 결국 출시도 못 해보고 접었다. 실패한 게 너무나도 당연했다. 내가 뭘 모르는지조차 몰랐기 때문이다. 당연히 알고 가야만 하는 것들이 있는데 그땐 몰랐다. 린 스타트업이 뭔지도, 투자 관련 용어도 뭔지 몰랐다. 창업을 그만두고 내가 부족한 것을 메꾸기 위해 처절하게 지식을 습득했다. 그러한 상황에서의 학습 곡선은 어느 때보다 가파르다.


3. 팀원들과의 말이 안 통해 갈등이 생기는 경우.


회의를 해도 아무런 진척이 없을 때가 있다. 더 정확히 말하자면, 실제로 유의미한 의사결정이 전혀 이루어지지 않는, 속도를 희생하는 상태에 가깝다. 각자 바라보는 방향이 조금씩 다르다는 것을 뒤늦게 깨달았을 때, 다시 처음 원상태로 돌아와서 갈등하는 포인트가 무엇인지 정확하게 알아내는 과정을 거쳤다. “우리가 주려는 가치가 이게 맞아?” 라는 질문이 모두가 yes가 되는 지점으로 내려와서 다시 차근차근 맞춰나갔다. 결과적으로 팀원들끼리의 관계가 더 돈독해지고 일의 속도가 훨씬 빨라졌다. 이것은 비자발적인 스트레스다. 진짜 안티프래질한 전략은 의도적인 작은 실패를 설계하는 일인데, 의도적이지 않았다.


4. 편안한 기술스택에서 의도적으로 벗어나, 앱을 빠르게 1주일에 1개씩 만드는 것.


단순히 앱을 만드는 것만으로는 부족하다. 출시를 해서 시장의 피드백 없이는 ‘안 되는구나’라는 소중한 정보를 얻을 수 없다. 실패라고 판단한 기준이 없다면 무엇을 배웠는지도 깨닫기 어렵다. 기술적으로 작동하기만 하는 것은 안티프래질적 관점에서는 의미가 없다.


[저자의 생각에서 가장 동의한 부분]

실패를 많이 한 것 자체는 루저가 아니다. 실패를 한 후, 실패의 이유를 찾거나 활용하려 하지 않는 사람이 진짜 루저다. 따라서 우린 무작위성으로부터 이익을 얻는 법을 배워야 한다.

스티브 잡스는 "우리가 단순하게 생각할 수 있도록 머릿속을 깨끗하게 정리하려면 열심히 노력해야 한다."라고 한다. 이해하는 것은 실력이 없어도 되지만, 글로 쓰려면 정복해야 한다.


이 책은 2번 째 읽음에도 불구하고 여전히 어렵다. 하지만 안티프래질은 거창한 게 아니다. 내가 오늘 겪은 혼란과 실패를 글로 적어보는 것만으로도 실패의 원인를 찾을 수 있을 것이다. 그게 시작일 것 같다.


IMG_2525.jpeg