유전 알고리즘

'머신러닝 알고리즘'의 비밀을 알아야 하는 이유

#유전알고리즘 #머신러닝 #실리콘밸리



머신러닝 엔지니어 김성제 박사가 말하는 ‘유전 알고리즘’의 비밀과
실리콘밸리 머신러닝 엔지니어로 살아남는 법에 대해 이야기해봅니다.

글 미리보기

1. Intro
2. 생존을 위한 필수 역량이죠
3. 유전 알고리즘의 비밀을 알면, 달라집니다
4. 실리콘밸리를 꿈꾸는 이들에게

머신러닝 엔지니어

Intro

<로봇 시대, 인간의 일>(2020, 아크로스)에서 디지털 인문학자 구본권은 인공 지능 및 기계 학습으로 변화할 미래 사회를 현실적으로 직시합니다. 그는 이미 현실화 된 무인 자동차부터, 감정을 지닌 로봇 ‘휴머노이드’가 상용화될 가까운 미래 인간 사회를 이야기하죠. 로봇이 인간을 완벽히 대체하는 시대가 온다면, 인간은 어떤 행동을 취해야 할까요? 아니, 그 전에 로봇이 인간을 완벽히 대체하는 것이 실제로 가능한 일일까요?

지금과 같은 기술 발전 속도라면, 가까운 미래 사회에 로봇이 대체할 수 있는 직업은 60% 이상이라고 합니다. 인간의 고유한 능력이라 여겨졌던 ‘창의성’마저 로봇에게 내주고 있는 것이 현실입니다. 저자가 책을 통해 하고 싶은 말은 한마디로, “로봇이 인간을 대체할까 두려워하지 말고, 로봇의 유용성을 인정하고 상생하는 방법을 찾아야 한다”는 것입니다.

미국 실리콘밸리에서 시니어 머신러닝 엔지니어로 재직 중인 김성제 박사 역시 구본권 교수와 같은 시각으로 미래를 바라봅니다. 그는 삼성전자 박사 연구원을 거쳐, 실리콘밸리 Wipro Technologies 머신러닝 아키텍트를 지낸 뒤 현재 Applied Materials사의 시니어 반도체 머신러닝 책임연구원으로 재직하고 있습니다. 김성제 박사는 머신러닝 엔지니어로서, 사람들이 다음과 같은 고민을 해야 한다고 말합니다.

“인공지능 시대가 도래하면 많은 직군과 직업이 사라질 것입니다. 그렇다고 해서, 우리가 인공지능을 두려워해서는 안 됩니다. 시대가 변한다면, 나는 어떻게 인공지능을 내 것으로 만들어서 활용할 것인가를 고민해야 해요.”

데이터 사이언스를 활용하기 위해 필요한 역량은 무엇이고, 또 그것을 어떻게 공부하면 좋을지에 대하여 김성제 박사와의 인터뷰를 통해 직접 들어보았습니다.

생존을 위한 필수 역량이죠

머신러닝 최적화

Q. 박사님의 커리어 시작점은 어떤 모습이었을지 궁금합니다. 한양대학교를 졸업한 후, 삼성전자에 취직하기까지 과정은 어땠나요? 왜 삼성을 선택하셨는지, 그 이유가 궁금합니다.

A. 저는 반도체 소자(반도체를 소재로 하여 만든 회로소자이며 여기에 사용되는 반도체는 규소, 저마늄, 갈륨비소 등이다. 대부분의 용도에서 열전자 소자를 대체해 오고 있다)를 전공했습니다. 그런 제가 지원할 수 있는 최고의 회사는 삼성전자와 SK 하이닉스였죠. 당시 글로벌 금융위기 여파로 삼성전자만 채용하고 있었습니다. 선택지가 없었죠.

그곳은 명실상부한 최고의 반도체 회사였기 때문에 꼭 그 회사의 연구소에서 일을 시작하고 싶었습니다. 큰 도전이었고 회사에 들어가는 것이 쉽지는 않았어요. 박사 학위 예정자 전형은 일반 공채와 조금 다른데, 세 번의 도전 끝에 합격할 수 있었습니다.

처음엔, ‘회사에서 일하게 된다면 이런저런 연구에 기여할 수 있다’는 태도로 면접에 임했지만 결과가 좋지 않았어요. ‘겸손한 자세로 최선을 다하겠다’는 태도로 본 면접에서 합격했습니다. 합격 통보받은 5월 26일의 감동이 아직도 생생합니다.

머신러닝 최적화

▲ 2015년 삼성전자 철쭉제 행사장에서

Q. 박사님께서 ‘머신러닝 엔지니어’라는 직업을 선택하게 된 가장 큰 계기는 무엇인가요? 반대로, 박사님의 강의를 듣고 ‘머신러닝 엔지니어’를 꿈꾸는 수강생도 분명 있을텐데, 그들에게 해주고 싶은 말이 있나요?

A. “데이터 안에 모든 것이 녹아 들어가 있다!”라는 말이 처음에 굉장히 혁신적으로 다가왔습니다. 그전까지 물리 이론을 기반으로 한 반도체 연구에 매진해왔는데요. 물리학과 재료공학적 원리를 바탕으로 결과를 도출하거나 현상을 해석(physics-driven)하는 것이 아니라, 데이터 안에서 인사이트를 분석해내어 연구에 활용하는 방법론(data-driven)이 너무 신기했습니다.

어느 분야의 연구든 진행하다 보면 이론의 불완전성이나 측정의 부정확성, 가설의 오류 등 여러 이유로 현상 해석이 안 되는 경우가 많아요. 수많은 시행착오를 겪으면서 발전하는 것이 연구입니다.

여기에 데이터 사이언스를 더하면, 쉽게 알아내기 힘든 인과관계나 숨어있는 교호작용을 발견할 기회가 생깁니다. 이는 연구 및 개발뿐 아니라 데이터가 쓰이는 모든 산업 전반에 적용 가능합니다.

이처럼 데이터를 분석할 수 있는 데이터 사이언스는 미래사회에 갖춰야 할 필수 역량이니, 전공에 상관없이 모두가 활용할 수 있는 정도까지는 공부해 두시길 추천합니다.

머신러닝 최적화

▲ 2011년 Google 워크샵 현장 사진

Q. 박사님께서는 이번에 패스트캠퍼스에서 진행하시는 <머신러닝 최적화를 위한 Genetic Algorithm> 강의는 어떤 주제를 다루고 있는지도 궁금합니다. 유전 알고리즘은 정확히 어떤 개념이고, 또 어디에 주로 활용되는 주제인가요? 우리 일상에서 흔히 찾을 수 있는 사례는 어떤 것이 있나요?

A. 유전 알고리즘은 자연계의 생물 유전학에 기본 이론을 둔 전역 탐색 알고리즘입니다. 쉽게 말하면, 문제 해결의 솔루션 집합에서 이를 단계적으로 변형해서 점점 더 좋은 솔루션을 찾도록 하는 방법론이죠. 생물의 진화과정을 모방한 알고리즘이지만 생물 유전학을 이해할 필요는 전혀 없습니다. 마치 우리가 인공지능 신경망(neural network)을 사용하기 위해 뇌과학을 공부하지 않는 것처럼요.

우리는 일상생활에서 특정 문제를 해결하기 위한 다양한 방법이 있는 상황을 마주하게 됩니다. 가령 이것이 수백만가지라고 할 때 이것을 모두 시도해보면 가장 좋은 방법을 찾을 수 있겠죠. 그러나 현실에서는 연산자원의 한계 및 시간 제약 등으로 이것이 불가능합니다. 이런 상황에서 가장 나은 방법을 찾아내는 것을 최적화(optimization)라고 하는데, 유전 알고리즘은 그중 하나입니다.

유전 알고리즘은 자연과학, 공학 및 인문 사회과학 분야에서 계산 불가능한 복잡한 문제를 해결하는 데 널리 이용되고 있어요.

실제로 최적의 투자안 선택(재무), 최적의 조직관리(인사), 최적의 서비스 제공(운영), 최고 품질의 제품 개발(연구), 최소비용의 산업공정 기획(산업공학) 등 광범위한 분야에서 최적의 의사결정이 필요한 경우 유전 알고리즘으로 최적화 문제를 해결할 수 있습니다.

유전 알고리즘

유전 알고리즘의 비밀을 알면, 달라집니다

Q. 그렇다면, 머신러닝 엔지니어가 꼭 유전 알고리즘을 배워야 하는 이유는 이유가 있을까요? 유전 알고리즘을 ‘아는’ 머신러닝 엔지니어와 그렇지 않은 엔지니어는 어떤 부분에 있어서 차이가 있을까요?

A. 최적화가 필요한 모든 곳에 유전 알고리즘이 사용됩니다. 머신러닝 엔지니어의 업무는 주어진 데이터와 조건 속에서 최고의 분석을 통해 최선의 답과, 최적의 예상값을 찾아내는 것이죠.

이런 특성을 고려해 볼 때 유전 알고리즘을 아는 것은 ‘데이터 분석이라는 게임’에 ‘확장팩(expansion pack)’을 설치한 것과 같다고 할 수 있습니다.

또, 유전 알고리즘을 활용하면 모델 해석의 결과인 예측값만 얻어내는 것이 아니라 그 반대 방향 분석(reverse inference)을 할 수 있습니다. 머신러닝 모델의 인풋과 아웃풋에 대해 양방향 분석 스킬을 갖게 된다면 더 넓고 다양한 해석을 할 수 있겠죠?

제 강의에서는 경영진이 원하는 인사이트를 도출하는 8가지 훈련을 하게 됩니다. 현업에서 이용할 수 있는 머신러닝 모델 구현 실습을 곁들이는데요. 이는 ‘커리어 점프’를 원하는 다양한 직무 종사자들에게 아주 유용할 것입니다.

다른 어떤 직종보다 머신러닝 엔지니어라는 직업이 가지는 가장 큰 장점은 무엇이고, 또 가장 어려운 점은 무엇이라고 생각하시는지 궁금합니다.

A. 실험 장비나 도구 없이도, 데이터만 있다면 현장에 있지 않아도 어디서나 분석할 수 있다는 것이죠. 제대로 된 분석의 결과가 조직의 성과에 큰 영향을 줄 수 있다는 점이 이 직업의 장점입니다. 그렇기에 많은 분이 데이터 분석과 머신러닝을 공부하고 있죠.

그러나 어려운 점은, 순수한 데이터만 가지고 바른 해석을 하기 어려운 경우가 많아서 분석 대상 분야의 이해(domain knowledge)가 반드시 필요하다는 것입니다.

그래서 요즘은 데이터 사이언스 및 머신러닝을 따로 공부한 타 전공자가 머신러닝 엔지니어로 일하는 사례가 많아지고 있습니다. 해석의 결과가 분석가의 역량에 크게 의존한다는 것도 직업의 특징 중 하나입니다. 여러 엔지니어가 서로 다른 결과를 내놓는 이유도 여기에 있죠.

분석가의 견해나 스킬, 경험과 도메인 지식 등 모든 것이 분석 품질에 영향을 미치기 때문에, 전문가로 성장하기 위해 현업에서 실무능력을 향상시키고 내실 있는 경험을 다지는 것 또한 중요하다고 생각합니다.

유전 알고리즘

실리콘밸리를 꿈꾸는 이들에게

Q. 한국에서 실리콘밸리로 떠나던 당시, 주변 사람들의 반응이 궁금합니다. 그리고 어떤 마음가짐으로 미국 생활을 시작하셨는지도 여쭤보고 싶어요. 익숙한 환경에서 벗어나 새로운 도전을 하는 것이 쉽지만은 않았으리라 짐작합니다.

A. 미국 취업 준비는 이전부터 몇 년간 해왔었습니다. 그런데 회사가 갑자기 결정되는 바람에 급하게 비행기를 타게 됐죠. 미국으로 떠나는 출국의 순간은, 드라마에 비치는 것과는 달리 그렇게 낭만적이거나 애틋하지만은 않습니다. (웃음) 당사자에겐 현실이기 때문이죠.

당장 낯선 환경에서 모든 것을 새롭게 시작해야 하는 압박감이 당시에 상당했어요. 아는 지인, 연구원분들께서 하나같이 격려와 응원을 해주셔서 그래도 힘이 좀 났습니다.

두렵지 않았다고 하면 거짓말이고, 자신이 있었다고 하면 허세겠네요. 유학으로 간 것도 아니었으니까요. 낯선 타지에서 처음으로 시작하는 업무와 생활. 그게 어떤 것인지 잘 몰랐기 때문에 도전할 수 있었다고 생각합니다.

변화와 발전 없이 제 자리에 머물러 있는 것을 싫어하는 제 성격도 미국 취업을 가능케 한 원동력이었습니다.

Q. 미국 생활 관련해서도 질문드리고 싶습니다. 한국에서의 삶과, 실리콘밸리에서의 삶을 한마디로 정의하자면 어떻게 다르다고 할 수 있을까요? 유학과 해외 생활을 꿈꾸는 사람들에게 해주고 싶으신 말씀이 있다면, 자유롭게 말씀해주시면 감사하겠습니다.

A. 미국 회사에서 일한다는 것은 단지 직장을 옮기는 것이 아니라 내게 익숙했던 언어, 문화, 동료, 인맥 등 모든 것을 내려놓고 새롭게 시작한다는 것을 의미합니다. 이전에 외국에서 생활해 본 경험이 없다면 더더욱 어려운 일이 될 거예요.

미국에서 일하고 싶으시다면 당장 오늘부터 두 가지를 시작하라고 말씀드리고 싶습니다.

첫 번째는 ‘영어 실력 향상’입니다. 내일이면 안 되고 오늘 시작해야 하는 이유는 인생의 남은 날 중 오늘이 제일 젊기 때문입니다. 언어를 배우고 익히기에 가장 좋은 날이란 뜻이죠. 지금 공부를 시작하면 2년 걸릴 것을, 몇 년을 미루면 10년이 걸려도 어렵게 될 수 있다는 의미입니다.

두 번째는 ‘설명 능력을 키우자’ 입니다. 결과를 중시하는 우리와 달리 미국의 글로벌 기업들은 그 과정도 중요하게 생각합니다. 대부분의 사람이 논리적으로 설명을 잘합니다. 토론 중심의 미국 교육문화가 그들을 이렇게 훈련해온 겁니다.

짧은 기간에 쉽게 되지는 않겠지만 자기 생각을 논리적으로 잘 말하고 중요한 질문을 많이 할 수 있도록 준비한다면, 미국 회사의 면접뿐 아니라 실제 업무에도 분명 큰 도움이 될 거예요.

유전 알고리즘

Q. 마지막으로, 박사님께 데이터 사이언스가 어떤 의미인지 알고 싶어요. 또, 실리콘밸리에서 시작된 삶이 인생의 2막이라면, 그다음 선생님의 3번째 이야기는 무엇으로 이어질까요?

A. 데이터 사이언스는 제가 하는 연구에 대한 치트키라고 생각합니다. 인공지능 시대가 되어 많은 직군과 직업들이 사라질 것이라고 예상합니다.

그렇다고 해서 우리가 인공지능을 두려워할 것이 아니라, 시대가 그렇게 변한다면 나는 어떻게 인공지능을 내 것으로 만들어서 활용할 것인가를 고민해봐야 해요. 사라질 직군은 인공지능을 통해 더 고도화된 일로 대체될 텐데, 바로 그 자리에 여러분이 계시도록 준비하셔야 합니다.

그래서 저는 연구에 머신러닝을 활용하는 것이 역량을 고도화시킬 수 있는 치트키라고 생각하고 앞으로도 물리 기반 (physics-driven) - 데이터 기반 (data-driven) 접근의 시너지를 찾아 최고의 결과를 만들어 낼 것입니다.

한국에서 박사 연구원으로 일했고, 미국에서 머신러닝 소프트웨어 엔지니어로 일한 경험을 기반으로 이제 머신러닝을 활용하는 반도체 연구를 시작하게 됐습니다. 좋은 연구 성과들을 만들어 내고 학회에 발표하여 ‘산업 AI 전문가’로 성장하겠습니다.

다른 한편으로, 제가 가진 금융 전문 지식을 머신러닝과 결합하여 많은 분의 투자 판단에 도움을 줄 수 있는 범용 분석 시스템을 서비스하는 사업도 선보일 예정입니다. 전문가이자 사업가로서의 성장을 지켜봐 주세요.


  • 명확한 보고가 가능한 방법론으로 실무에서 유용하게 활용할 수 있음


  • 상사와 경영진이 반할 만큼 향상된 예측 모델을 만들 수 있는 대안 제시 가능


  • 머신러닝 모델과 결합하여 추론 결과를 해석하고,최적화된 인풋 조건 제안 가능


  • 다양한 산업 전반에 활용되는'머신러닝 인풋 최적화'스킬을 통해 광범위한최적화 문제 해결 능력 겸비

현업에선 최적 모델을 만들고 단순히 예측하는 것으로 끝나지 않습니다. 특정 기준을 만족하는 예측 target 달성을 위한 input 수정 범위를 제시하고, 인과관계를 분석하여 경영진이 원하는 더 좋은 결과를 만드는 방법을 제안하기 위해 데이터 사이언티스트가 기업에 필요합니다.

예를 들어 유통 전문 기업에서 매출 예측 머신러닝 모델을 개발했을 때 미래 X 제품의 선호도가 Y만큼 내려가면 매출 및 당기순이익이 OO% 증/감될 것이라는 예측은 가능하지만, 경영진이 실제로 궁금해 하는 것은

(1) 매출을 높이려면 구체적으로 무엇을 변경해야 하는지
(2) 순이익과 직결되는 인자가 무엇인지
(3) 올해 회계년도 당기순이익을 OO% 이상 달성하기 위해 무엇을 얼마나 어떻게해야 하는지
(4) 그 가능성은 구체적으로 몇 %가 되는지입니다.

유전 알고리즘을 사용한 머신러닝 입력 최적화를 사용한다면 위 질문에 대해, 상사와 경영진에게 다음과 같이 명확한 보고가 가능합니다.

"상무님, 작년부터 올해 직전분기 매출 데이터를 바탕으로 분석한 결과를 보고드립니다. 매출 30% 증대를 위해 가장 중요한 인지는 다음과 같습니다.

A제품의 주별 회전량, B제품의 누적 판매량, C거래처 구매단가 인하
1안) 예측 정확성 92%로 누적 판매량이 00% 증가하고 X 요인이 없을 경우
2안) 예측 정확성 88%로 주별 회전량이 00% 이상 향상되고, Y 요인이 없을 경우
3안) 예측 정확성 86%로 거래처 구매단가 00% 이상 인하되고, Z의 상황이 00% 이상 개선될 경우 달성 가능할 것으로 분석되었습니다!"


이렇듯 유전 알고리즘을 사용하여 머신러닝 입력 최적화를 통해 경영진들이 원하는 답을 제시하고 기업에 실제 임팩트를 만들 수 있습니다. 또한 구현하기 어렵지 않고 다양한 분야에 적용 가능가능하기 때문에 산업 AI뿐 아니라 일반 데이터 분석에서도 매우 유용한 스킬이 될 것입니다.


지금 패캐머들이 읽고있는 BEST 아티클이 궁금하다면

이 글과 연관된 주제의 추천 강의