머신러닝과 딥러닝, 아직도 헷갈린다고?

SHARE

머신러닝 VS 인공지능, 그 분명한 차이에 대하여

간단한 소개 부탁드립니다

LG이노텍 CTO에서 팀 내 딥러닝 코치를 담당하는 신제용입니다. 근래 딥러닝이 화두에 오르면서 산업계에서도 딥러닝에 대한 니즈가 많아지고 있는데요, 딥러닝 초기 아키텍처 및 기본적인 알고리즘을 만들어주고 딥러닝 개발자들이 더욱 편하게 개발할 수 있도록 관련 인프라를 개발하는 일을 하고 있습니다.

패스트캠퍼스에서도 딥리넝/인공지능을 강의하시는 신제용 강사님


‘머신러닝’과 ‘딥러닝’은 어떻게 다르다고 생각하면 될까요?

머신러닝의 정의를 먼저 살펴보면 기계가 명시적으로 코딩되지 않은 동작을 스스로 학습해 수행하게 하는 연구 분야입니다.

예를 들어볼까요? 어떤 학생에게 문제와 답만 있는 수학 문제집을 잔뜩 준다고 하겠습니다. 개념도 공식도 모르니 처음엔 다 틀리겠죠. 그런데 계속해서 문제를 풀다 보면, 머리가 좋은 학생이라면 어쩌다가 점점 문제를 잘 풀게 될 수도 있겠죠?

머신러닝은 그런 기대를 ‘기계’에 하는 겁니다. 어떤 문제와 답을 막 던져주면 기계가 계속 풀어내면서 추상적인 원리를 스스로 깨우치고 새로운 문제가 주어져도 스스로 답을 낼 수 있게 하는 것이 ‘머신 러닝’입니다.


자율주행도 ‘머신러닝’의 한 종류이다 ⓒTesla


그럼, 딥러닝은 머신러닝의 발달한 형태인가요?

네. 머신러닝보다 딥러닝은 더욱 알아서 하니까요. 머신러닝의 경우 알고리즘에 입력 하기 전 필요한 특징을 사람이 직접 선정해야 하거든요? 예를 들어 사람의 나이를 추정한다고 하면, 얼굴의 주름 개수, 피부 색상의 균일도, 특정 주름의 짙은 정도, 머리카락의 색깔과 같이 나이를 추정하는 데에 유용한 ‘특징’을 사람이 먼저 선택해야 하는거죠.

그런데 딥러닝의 경우에는 ‘특징’을 선정하는 부분까지 한꺼번에 학습합니다. 머신러닝과 달리 사람 얼굴을 찍은 사진을 입력으로 넣어주면, 스스로 어떤 특징이 나이를 추정하는 데에 유용한지 알아내는 거죠. 그런 식으로 사람이 좀 더 손을 대 줘야 하던 부분들을 컴퓨터가 더 많이 처리해주는 편리함이 있습니다.

영화 ‘다크나이트’에서 넓은 도시에 사람을 찾는 장면이 나오는데요. 실제로 딥러닝과 함께라면 그런 일도 가능합니다. 특정 사람이 지나가면 그걸 인지하고, 다른 카메라 어디로 이동을 했고, 방금 수상한 가방을 놓고 간 것들도 딥러닝을 통해 다 알 수 있는 거죠.

딥러닝을 통해 도시에 있는 특정인을 ‘소리’로 파악할 수도 있을 것이다 ⓒ영화 ‘다크나이트’ ‘

 

머리 좋은 학생이 있고 그렇지 않은 학생이 있듯, ‘우수한 머신러닝’은 어떤 기준으로 결정되는 걸까요?

인공지능 모델이 무엇을 지향하는가에 따라 다르죠. 어떤 학생은 영어를 잘하고, 어떤 학생은 수학을 잘하잖아요? 각자 전공이 다르고 발달한 두뇌가 다르듯이 인공지능 모델도 다 똑같아요.

그래서 머신러닝 엔지니어들의 역할이 중요합니다. 번역을 잘하기 위해서는 모델을 이렇게 만들고, 물체를 보고 인식을 잘하게 만들기 위해서는 또 이렇게 모델을 만들어야 한다는 것을 연구하고 결정하니까요.


이런 ‘머신러닝’은 실제 생활에서 어떻게 쓰이고 있을까요?

스마트폰 잠금 해제 기능이 대표적이죠. 맨 처음에 지문도 입력하고 얼굴도 보여주면서 등록을 하잖아요? 그 약간의 데이터를 갖고 당신의 스마트폰이 “이렇게 생긴 게 내 주인이구나” 혹은 “이런 지문과 다르면 내 주인이 아니구나”라고 인지하면서 ‘머신러닝’을 하는 겁니다.

그 밖에도 카메라로 사진을 찍으면 어떻게 보정하는 게 좋은지 추천해 주고, 사진에 찍힌 얼굴이나 애완동물을 인식해 그룹으로 묶어주기도 합니다. 언젠가 숙박이나 비행기 예약을 하면, 예약 확인 메일을 보고 자동으로 일정에 반영되는 걸 보고 놀랐던 기억이 있네요.


알아서 발달한다는 측면에서 ‘알파고’ 같은 경우는 딥러닝이 맞는 거죠?

네. 정확히 말하면 딥러닝 중에도 조금 강화학습입니다. 딥러닝에는 크게 비지도 학습강화학습이 있습니다. 비지도 학습 같은 경우에는 답이 없는 경우입니다.


‘비지도 학습’의 자세한 예를 알 수 있을까요?

비지도학습을 통해 [바다에 대한 것을 딥러닝]을 진행한다고 가정하겠습니다. 우선 바다에 대한 일반적인 데이터를 넣어줍니다. 그러면 알고리즘은 “바다에는 파도가 치는구나!” 라던지, “바다 위에 있는 새는 갈매기구나”와 같은 것을 이해하기 시작합니다.

그런데 갑자기 바다에서 사람이 허우적거린다? 이건 알고리즘이 알고 있는 것과는 뭔가 다르잖아요. 이걸 인식해서 구조요청을 보낼 수 있듯, 뭔가 예상하지 못한 특별한 상황들, 그런 것들을 찾아내는 역할을 비지도 학습을 통해 할 수 있는 거죠.

데이터 안에서 특징과 구조를 발견하는 ‘비지도학습’


그렇다면 ‘강화 학습’은 뭐가 다른 걸까요?

강화학습에는 알고리즘이 스스로 뭔가를 배울 수 있는 ‘환경’이 필요합니다. 가령, 알파고에게 허용된 환경이 ‘바둑’이잖아요? 흰색 돌 다음에는 검은 돌을 놓아야 하고, 이미 먹힌 집에는 돌을 놓을 수 없다는 그런 환경 안에서 [어떻게 하면 더 좋은 점수를 얻을 수 있는지 알고리즘끼리 경쟁]을 합니다. 자연스럽게 시간이 흐를수록 하면서 ‘더 강한 알파고’가 되는 거죠.

가장 강력한 방식을 도출하는 ‘강화학습’

 

인공지능을 ‘당신’도 반드시 배워야 하는 이유

갑자기 ‘딥러닝’ 붐이 시작된 특별한 이유라도 있을까요?

갑자기는 아니죠. 딥러닝 붐은 지금까지 쌓인 맥락이 결실을 맺은 경우니다. 딥러닝은 70년대부터 흥망성쇠를 겪으며 발전해 왔습니다. 90년대 후반에 와서야 알고리즘의 발전으로 더욱깊은 신경망을 학습할 수 있게 되었죠.

특히 범용 GPU의 대중화, 대형 데이터셋의 등장 등으로 2010년대에 이르러서는 대중에게 알려질 정도로 뛰어난 성능과 다양한 애플리케이션을 보여주고 있습니다. 덕분에 전통적인 검출, 추적, 인식 알고리즘 뿐만 아니라 그림을 그리고 작곡을 하는 등, 창작의 영역까지 발을 넓히고 있습니다.


쇼팽의 패턴을 학습하여 “또 다른 쇼팽 곡”을 작곡한  딥러닝

딥러닝에 대한 열기가 뜨겁고, 발전도 빠르게 이루어지고 있는데요. 이러다 딥러닝이 사람을 능가하면 어떡하죠?

SF소설에도 “전쟁을 없애는 방법을 인공지능에게 물었더니 사람을 다 죽였다”라는 얘기가 있더라구요. 사람이 없으면 전쟁도 없을 거니까. 빅 브라더 얘기도 많이 나오고, 굉장히 재미있는 주제라고 생각해요.

하지만 최상급 바둑기사인 이세돌 9단을 딥러닝이 이겼어도 아직 아무것도 바뀐 것은 없잖아요? 왜냐하면 아직 딥러닝이라는 것은 ‘약 인공지능’에 속하기 때문입니다.

더 자세하게 알 수 있을까요?

인공지능을 분류하면 ‘강 인공지능’이 있고 ‘약 인공지능’이 있습니다. 우리가 두려움을 느끼는 ‘강 인공지능’ 같은 것들은 진짜로 사람처럼 생각할 수도 있어요. 자의식도 만들어질 수 있구요.

알바고는 ‘약 인공지능’에 속합니다. 어떤 특정한 일 외에는 뭔가 할 수 있는 능력이 없거든요. 아무리 바둑을 잘 둔다고 사람을 지배할 순 없잖아요? (웃음)

로봇은 별 생각이 없었을 것이다. 아마도…

딥러닝이 점점 중요해지는 것은 이해했습니다. 하지만 아직 전문가의 느낌이 강한데, 일반 사람들이 이걸 배워야 하는 특별한 이유가 있을까요?

저는 이렇게 생각해요. 처음 컴퓨터가 보급되고 프로그래밍이 알려지게 됐을 때, 1세대 개발자들이 있었겠죠, 아마 그 1세대 개발자들은 조금 이상하게 보였을거에요. 온종일 일도 안 하고 컴퓨터 앞에만 앉아있으니 말이죠.

그런데 Python이라든지 Javascript와 같은 것들이 더 이상 낯선 단어가 아니잖아요? 전문 프로그래머가 아닌 사람들도 개발 언어를 스스로 배워서 업무 자동화등 다양하게 활용을 하는 것은 물론이고 초등학생들도 이제 코딩을 공부하고 있으니까요.

저는 ‘딥러닝’이 다음 차례라고 생각합니다. 굉장히 빠르게 성숙하고 있는 분야고, 현재 프로그래밍이 굉장히 쉬워진 것처럼 누구나 쉽게 학습이 가능해질 단계가 다가올 거에요. 내가 원하는 유용한 인공지능을 만들 수 있을 거구요. 그때 가서 뒤늦게 하려고 하면 좀 쫓아가기 어렵지 않을까요?

이미 선거예측에는 인공지능이 많은 역할을 하고 있다

그래도 ‘딥러닝’을 아무나 배울 수 없을 것 같은 막막함이 있습니다. 적어도 수학을 잘 해야 한다든지…

수학적으로 설명하는 경우도 있는데, 이건 가르치시는 분의 욕심이라고 생각합니다. 오픈마인드가 가장 중요합니다. 개념이 나오면 “이 흐름만 이해하면 되겠다”라고 생각하고, 흐름이 전체적으로 어떻게 흘러가고, 그래서 나는 실제로 내가 할 수 있는 것을 구분하는 거죠.

그래서 수학을 잘하는 사람이 아니라 “욕심이 많은 분”들이 아무래도 학습이 빠릅니다. 주어진 것을 뛰어넘어 최신 연구를 스스로 알아보고 논문들도 찾아보고, 커뮤니티 활동도 많이 하면서 궁금한 것은 강사에게 물어보기도 하면서 남들보다 빠르게 더욱 발전하는 거죠.

혹시 자세한 도움이 필요하시다면 딥러닝 강의를 참조해주세요. 다양한 프로젝트 중심의 학습으로 딥러닝 정복에 힘이 되어 드리겠습니다.


끝으로 이 인터뷰를 보는 독자분들께 말씀 부탁드립니다

패스트캠퍼스에 관심이 있는 분들이라고 하면 다들 ‘욕심’이 있는 분들이라고 생각을 해요. 자기한테 주어진 것에서 만족하지 않고 자기가 찾아서 뭔가를 더 학습하고 자기의 스펙업을 하고 싶어 하는 욕구가 가슴 속에 있는거죠.

그런 열의를 가지신 분들이면, 머신러닝과 딥러닝이라는 미래를 충분히 같이 대비할 수 있을 거라고 생각합니다. 저와 함께 더 많은 ‘욕심’을 내실 분들을 기다리겠습니다.

Facebook Comments