Top Coder RAW novel - Chapter (54)
탑 코더-54화(54/303)
# 54
유니콘 육성 프로젝트
평온한 나날의 연속이었다. 핸드폰에 저장 되어 있는 몇몇 전화번호들만이 얼마 전의 일이 거짓이 아님을 알려주었다. 며칠이 지났지만 여전히 그 내용이 언론을 통해 흘러나오는 일도 없었다.
아마 누군가.
혹은 어딘가의 힘에 의해 통제 되고 있을 것이다. 자신만 해도 그날의 일에 대해 한 번 도 입 밖에 뗀 적이 없으니까.
조금 씩 평소의 일상으로 스며들었다.
당면한 가장 큰 일은 ZONE 서비스. 개발.
그리고 유니콘 육성 프로젝트 2차 면접.
2차 면접이 끝나면 최종 12팀이 선발 된다.
곧 2차 면접이 최종 관문이나 마찬가지.
승호는 최선을 다해 면접 준비를 마쳤다.
다시 며칠 뒤 세종시.
지난번과 같은 강당에서 유니콘 육성 프로젝트 2차 면접이 진행 되었다. 1차 면접 때 보다 더 강한 압박이 지원자들에게 쏟아졌다.
더 길고.
더 자세히.
몇몇 지원자들은 깊은 한숨을 내쉬며 고개를 숙였고, 어떤 지원자는 제대로 대답을 하지 못하고 말을 더듬었다.
그러나 어쩐지 한 사람의 면접에서만 훈풍이 돌고 있었다.
“하하, 그렇군요. 알겠습니다.”
“네. 감사합니다.”
날카롭게 질문을 던지던 허춘수가 그저 허허 웃으며 대화를 나누었다. 면접을 진행하던 박신우가 확인하듯 주무관에게 물었다.
“블루 하우스(청와대)에서 저 사람이 통과 됐으면 한다는 의중을 내비췄다고요?”
“네. IO(국정원 요원)가 한 말이니 틀림없을 겁니다.”
“그러니까. 더 하기 싫어지는데······.”
주무관이 고개를 흔들었다.
“뿐만 아니라 국정원에서도 저 사람은 통과 시켰으면 좋겠다는 소문이 있습니다.”
“국정원이요?”
“뭔가 일이 있었던 모양인데. 자세한 건 대외비라고 합니다.”
박신우가 날카롭게 승호를 쏘아보았다.
-기술 난이도 : A
-기술 구현 가능성 : A
-기업 잠재력 : A
-시장 규모 : B
-인력 구성 : B
······.
그밖에도 많은 항목에서 저 지원자는 A등급을 받았다. 이대로라면 합격이 확실시되긴 한다. 그런데도 이곳저곳에서 시내 소프트가 됐으면 한다는 말이 들린다. 박신우는 이해가 되지 않아 고개를 흔들었다.
“그간 무슨 일이 있었던 거지······.”
그렇다고 미라클 데이터처럼 직접적으로 오는 건 아니었다. 박신우가 생각에 잠겨 있는 사이에도 시간은 흐르고 있었다.
허춘수 교수가 헛기침을 하며 말했다.
“흠··· 흠······. 준비를 많이 한 게 느껴지는 군요.”
그러면서 서류를 한 번 더 살폈다.
“한국 팀 최초로 더 게이트 우승까지 했으면 능력은 더 이상 검증할게 없을 것 같고. 인력 구성이나 앞으로 서비스 판로도 탄탄하고.”
이어지는 칭찬에 승호가 살짝 고개를 숙였다.
“감사합니다.”
“처음 들어올 때 보니 아주 인사성도 바르고, 말 하는 자세를 보니 성품도 훌륭합니다.
허춘수의 금칠이 계속되었다. 승호의 귀가 살짝 달아올랐다. 함께 있던 박신우는 이해가 되지 않았다.
“평소에 시내 소프트 칭찬을 하긴 했지만 저 정도는 아니었던 것 같은데······. 허 교수님이 원래 저런 분이셨나?”
함께 있던 주무관이 귓속말을 전했다.
“이건 제 추측 이지만. 아마 그 대외비라는 일 때문인 것 같습니다.”
“IO가 말한 그 일 말입니까?”
주무관이 고개를 끄덕였다. 그 일이 무엇이기에 다들 시내 소프트가 이번 사업에 선정되기를 바라는 것일까. 허춘수가 작정을 한 듯 칭찬을 쏟아냈다.
“강승호 지원자.”
“네?”
“도대체 못하는 게 뭡니까?”
갑작스런 질문에 승호가 민망한 웃음을 터트렸다. 허춘수가 호탕하게 웃으며 입을 열었다.
“하하, 농담입니다. 농담.”
노골적인 호의.
그 자리에 있는 사람들 전부 허춘수가 얼마나 저 지원자를 마음에 들어 하는 지 알 수 있을 정도였다.
반면 함께 앉아 있던 서승훈의 반응은 조금 달랐다.
“저도 질문하나 드리겠습니다.”
“네.”
“제출 하신 서류에서 ZONE 서비스에 사용하는 A-레벤슈타인 알고리즘 공간 복잡도 평가 결과를 보면 O(1)로 되어 있습니다.”
공간 복잡도.
해당 알고리즘이 얼마나 많은 메모리를 사용하는지에 대한 측정 방법이었다. 많은 변수를 사용 할수록 메모리의 양은 늘어나고 공간복잡도는 올라가게 된다.
“네. 맞습니다.”
서승훈이 고개를 갸웃 거렸다. 이해가 되지 않았기 때문이다.
“일반적인 레벤슈타인 알고리즘의 공간 복잡도가 O(n*m)입니다. 말씀 하신 대로면 A-레벤슈타인 알고리즘이 N배의 성능 개선을 이뤘다는 말이 되는데요.”
N배.
즉 변수가 하나, 둘, 셋 , 넷이 되면 메모리양도 하나, 둘, 셋, 넷이 되는 것이 N배다. 그러나 O(1) 이라는 말은 변수가 늘어나도 메모리의 양은 그대로 1 최초 그대로라는 말이었다. 서승훈이 믿을 수 없어 하는 건 당연한 일이었다. 그러나 승호의 대답에는 막힘이 없었다.
“네. 그래서 A가 붙은 겁니다. 시간 복잡도, 공간복잡도 둘 다에서 유의미한 성능 향상을 이뤘으니까요.”
“그런데 그 부분은 회사의 핵심 기술이라 공개하기 힘들다. 이런 말씀이십니까?”
승호가 고개를 끄덕였다. 국내 유수 대학의 교수들이 모여 있는 자리였다. 약간의 힌트만으로도 어떤 식으로 성능 개선을 이루었는지 알아차릴 것이다. 더 이상의 힌트를 줄 수는 없었다. 서승훈이 눈살을 찌푸리며 말했다.
“솔직히 믿기 힘들 군요. 이미 수 없이 많은 사람들의 검증을 거친 알고리즘의 성능을··· 강승호씨가 또 한 차례 끌어올렸다. 그 말을 믿는다는 게 오히려 이상하게 생각 됩니다.”
서승훈의 직설에 허춘수가 얼굴을 붉히며 흥분했다.
“암 이상하지. 이상하고말고. 이런 곳에서 평가를 하고 있어야 할 실력인데 평가를 당하고 있으니 말이야.”
서승훈이 허춘수를 보며 말했다.
“아니. 자네도 저 알고리즘을 직접 본 게 아니잖나. 그런데 어떻게 그리 확신하나.”
그러자 허춘수가 확신을 담아 말했다.
“봤네.”
“뭐?”
“강승호 지원자 실력. 내가 직접 확인했어. 그의 실력은 여기서 자네가 하는 질문이나 들을 레벨이 아니야. 어쩌면 자네보다 위에 있다는 말일세.”
허춘수의 독설에 면접이 중단되고, 난데없이 두 교수 사이에 설전이 벌어졌다. 함께 면접을 진행하던 박신우가 조심스럽게 개입했다.
“저기 교수님. 여기서 이러실 게 아니라······.”
그러자 허춘수가 표정을 굳히며 박신우를 노려보았다.
“만약에 시내 소프트 안 뽑으면. 앞으로 일체 정부 관련 일은 맡지 않겠네. 국가과학기술 자문 위원 자리도 때려 칠거야.”
“아니 교수님. 갑자기 그게 무슨 말씀이십니까.”
“그 만큼 확신하네. 시내 소프트의 저 기술은 4차 산업혁명 시대에 꼭 맞는 기술이야. 무조건 정부 차원에서 지원해야 돼.”
박신우가 땀을 뻘뻘 흘리며 대답했다.
“저는 평가대로 할 뿐입니다.”
“그래, 그렇게만 하면 돼. 그러면 시내 소프트는 뽑힐 수밖에 없을 테니까.”
이번에는 서승훈 교수가 나섰다.
“나도 그만 둘 걸세. 이런 식으로 평가 할 거면 심사위원이 왜 필요한가. 그냥 목소리 크면 이길 것을.”
“뭐, 뭐?”
난데없는 설전에 승호가 쓴웃음을 지었다. 더 이상은 지켜볼 수가 없어 살짝 목소리를 높였다.
“Conversation based user emotion analysis”
갑자기 튀어나온 영어에 박신우가 물었다.
“네? 지금 뭐라고······.”
“대화 기반 사용자 감정 분석. 서승훈 교수님께서 작년에 바나나 톡과 협업하여 연구하신 내용으로 이번 면접에 혹시나 도움이 될까 하여 이곳에 오기 전 미리 살펴봤습니다.”
순간 서승훈 교수의 표정은 딱딱하게 굳었고, 허춘수는 팔짱을 끼며 의기양양한 표정을 지었다. 서승훈이 서늘한 시선으로 승호를 노려보며 말했다.
“계속 말 해보세요.”
“논문의 내용은 참고할 점이 많았습니다. 사용하신 순환형 신경망 알고리즘에서도 배울 점이 많았고요. 여기에 몇 가지를 더 하면 한층 더 뛰어난 결과물이 나올 수 있을 것 같은데··· 말씀 드려도 될까요?”
서승훈이 고개를 끄덕였다. 승호가 빠르게 말을 이었다.
“교수님도 아시다 시피 순환형 신경망 알고리즘에는 큰 문제점이 하나 있습니다. 바로 기울기의 사라짐 문제.”
서승훈이 바로 반박했다.
“그건 기존 신경망 알고리즘 과 달리 자기 자신을 참조하게 되어 있는 순환형 신경망의 특징입니다. 즉 어쩔 수 없는 문제라는 말입니다.”
“그 문제를 약간의 아이디어를 통해 우회 할 수 있습니다. 물론 다양한 제약 조건들이 생기겠지만.”
놀란 서승훈이 두 눈을 부릅떴다.
“강승호씨. 지금 뭐라고······.”
“이건 저희 회사 핵심 기술도 아니고, 지극히 개인적인 아이디어에 불과하니 지금 당장 말씀 드릴 수 있습니다.”
승호가 진행을 돕고 있는 박신우를 보며 말했다.
“혹시 화이트보드 준비해 주실 수 있습니까? 수식을 좀 적어가면서 설명해야 해서.”
박신우가 앞에 놓여 있는 시계를 확인했다. 할당 된 면접 시간을 대부분 사용했다.
남은 건 5분 남짓.
박신우가 서승훈에게 물었다.
“교수님 면접 시간이 얼마 남지 않았습니다.”
면접을 끝내야 한다는 우회적인 표현.
그러나 서승훈은 듣지 않았다.
“화이트보드 준비해 주세요. 어차피 5분도 걸리지 않을 테니까. 1분 안에 죄송하다는 말로 끝날 겁니다.”
허춘수가 절레절레 고개를 저었다.
“자네 한 참 잘못 생각하고 있어.”
그러나 지금 서승훈에게 들리지 않았다. 그저 뚫어져라 승호를 보고 있을 뿐이었다.
박신우가 준비한 화이트보드에 승호는 빠르게 수식을 적어나갔다. 승호가 적고 있는 수식은 우리가 흔히 알고 있는 수학 공식은 아니었다.
Forget gate f(t).
과거 정보를 지우기 위해 정의된 함수로 전달 된 값의 형태에 따라 다른 출력을 값을 가지게 되는 수식.
이처럼 승호가 적어나가는 수식은 사전에 정의된 내용을 알 고 있어야 이해 할 수 있는 것들이 대부분이었다. 그리고 서승훈은 그 내용을 알 고 있었다.
왜냐.
자신이 논문에 정의한 수식이었다.
그렇기 때문에.
화이트보드에서 도저히 눈을 뗄 수 없었다.
“기울기의 사라짐 문제는 바로 여기. 자기 자신을 참조하기 때문에 발생합니다. recurrent weight가 1 이상이 되는 순간부터 기울기의 폭발 문제로 변해 처리해야 되는 데이터의 양이 제곱으로 늘어나게 되니까요.”
승호는 수식의 특정 부분을 가리키며 말했다.
“제 아이디어는 이겁니다. 데이터의 입/출력을 제한해 기울기의 크기 자체를 제한해 놓고 시작하는 겁니다.”
서승훈이 바로 반박했다.
“그렇게 되면 데이터가 무한정 늘어나는 경우에는 사용 할 수가 없네.”
“물론 그렇습니다. 그래서 일종의 채팅 특화용이 되는 겁니다. 두 사용자간의 대화가 GB, TB 급으로 늘어나는 일은 없을 테니까요.”
서승훈이 우물거리며 말을 하려 했으나 승호가 한 발 빨랐다.
“논문의 제목은 Conversation based user emotion analysis 였지 Everything based user emotion analysis가 아니었습니다.”
우물거리던 서승훈의 입술이 굳게 닫혔다.