Trial and Error
trial and error의 반대를 정확히 어떻게 정의할지는 모르겠지만 모든 것을 완벽하게 계획하고 실행하는 것과 비슷할 것이다. 언제나 통하는 정답은 없다. 그 사이 어딘가에 최적의 포인트가 있다는 것은 안다. 그 사이에선 모든 것이 비결정적이다. 어느 정도의 확률은 대략 예측할 수 있겠지만 그 확률 또한 정답이지 않고, 99%의 확률을 믿고 도전했다가 1%가 될 수도 있다.
인간은 실패를 근본적으로 두려워하고, 미지의 세계를 두려워하기에 어딘가에 있을 최적의 포인트보다는 보통 더 느리게 움직이고, 더 안정적으로 움직인다. 그렇기에 우리가 보다 더 빠르게 움직이고, 좀 더 리스크를 질 수 있어야 한다. 다만 이 리스크를 지는 행동이 배팅하는 거냐 라고 하면 뉘앙스가 살짝은 다르다. 롤판에서 흔히 미움 받을 용기라고 한다. 페이커가 2024 월즈 결승 4세트에서 사일로 진입할 때 되면 좋고 아님 말고라는 생각으로 들어갔을까? 무조건 이거 된다 + 되게 해야 한다라는 생각을 가지고 들어갔을 거다. 한번 도박해보자! 는 절대 아니었을 것이라 생각한다. 물론 일정 수준 이상 차이가 나게 되면 이 정도의 마인드를 가지고 도박해야 하는 것도 물론 맞지만 그 이전에 미움 받을 용기를 가지고 성공할 각오로 전장에 뛰어드는 거다.
이런 도전들이 지금까지 쌓아왔던 trial and error로부터 배워왔을 것이다. 이 세상에 정말 완벽한 각이란 없다. 어떤 각이든 안될 이유는 항상 있다. 완벽한 기회란 찾아오지 않는다. 기회가 올 때마다 시도해보면서 기회를 잡는 법을 알아가는거다. 누군가는 95%의 각을 5% 때문에 놓치고, 누군가는 5%의 각을 도전해서 성공한다.
코딩을 생각해보자. 처음부터 아주 짜임새 있는 설계를 하고 코드 한줄한줄 5분씩 고민하면서 짜면 분명 퀄리티가 더 좋을 것이다. 하지만 이 코드를 돌리면 무조건 어디에선가는 에러가 나오게 되어 있다. 에러가 안 나오더라도 소요되는 시간이 너무 크다. 효율적인 방법은 생각을 하면서 trial and error를 하는 거다. 적당히 짜고 실행시켜보고 잘 안되는 부분 인지하고 고치고를 반복하는 것이다. 에러가 났을 때 뇌 빼고 이해하지 않고 인터넷에 있는 혹은 AI가 알려주는 답을 마구 넣다보면 이는 error 해결로부터 점점 멀어지게 된다. 이런 이유로 AI 엔지니어링할 때 AI가 편하게 테스트해볼 수 있는 환경이 아주 필수적이라고 생각한다. 우리는 AI에게 완벽한 답을 항상 원하고 기대하지만 어떤 사람도 한번에 완벽한 답을 내놓을 수 없다.
영어도 그렇다. 영어책만 쭉 읽으면서 공부한 영어보다 냅다 미국 가서 24/7 영어를 쓰면서 계속 시도하고 상대방이 이해하지 못하고 온갖 비언어적 표현으로 의사소통하고 대화하며 새로운 표현들을 배울 때 더 빠르게 늘 것이다.
작년에 문라이트를 하며 배웠던 고객과의 대화의 중요성도 마찬가지다. 문제도 알고, 해결의 기준이 무엇인지 안다고 해서 혼자 다 하다 보면 물론 잘 나아갈 것이긴 하다. 다만 고객에게 제품을 드리고 (시도하고) 에러를 받아보면 코딩할 때 한번도 실행하지 않고 짜는 것이 아니라 중간중간 테스트를 하면서 더 빨라지게 되는 것이라고 생각한다.
내 창업을 생각해보자. 4년 전에는 창업에 대한 막연한 두려움이 있었다. `잘할 수 있을까? 이러면 어떡하지 저러면 어떡하지... 아 자신이 없다... 이런 생각이었다. 그 때 창업하지 않은 것에 대한 아쉬움이나 후회는 없다. 그냥 그 때와 달라진 현재 내 마인드에서 4년 전보다 성장했음을 느낀다. 현재는 사실 딴 거 다 모르겠고 무슨 근거인지 모르겠는 각이 나에게 딱 보였고 도전하는 것 뿐인 것 같다. 실패할 이유야 찾으면 언제든 참 많다. 실리콘밸리에서 경험 쌓은 사람도 아니고, 하드웨어 해본 사람도 아니고, 안정적인 투자해줄 사람이 있는 것도 아니고, 사업 인맥이 있는 것도 아니다. 내가 성공할 확률이 몇퍼일지 모르겠다. 하지만 나름대로의 경험들을 토대로 얻은 제일 큰 레슨런은 본질에 집중하다 보면 성공은 따라온다는 것이다. 그 어떤 것보다 제일 본질에 집중해야 하는 게 사업인데 생각보다 그렇지 않은 사업들이 많다고도 느낀다.
trial하지 않으면 error를 볼 수 없고 백프롭할 수 없다. 지금까지 약 26년 동안 supervised learning 열심히 했다. 23살까지는 누군가 연구하고 정립한 학문을 따라서 그대로 공부했고, 24살부터는 수많은 성공한 사람들의 이야기, 책들을 보며 도전하고 세상에 가치를 만드는 법에 대한 것을 그대로 배웠다. 그 과정에 있어서도 물론 주어진 것만 그대로 흡수하는 것이 아니라 나 나름대로 적용해보면서 좀 더 데이터들이 함축되면서 깨달음으로 이어졌다. 이제는 이 이상으로 내가 직접 부딪혀보면서 Online RL을 해야 할 때라고 생각한다. 앞으로 또 어떤 것들을 배울 수 있을지 기대된다. 지금의 내 플레이북이 그래도 꽤나 고민 많이 해서 정립한 만큼 27살의 나는 자신 있는데 32살의 내가 볼 땐 어떨까?