ICT 산업에 종사하지 않는 사람들도 알파고의 영향으로 인공지능 (Artificial Intelligence) 에 대한 관심도가 높아지고 있다. 인공지능은 인간의 학습과 추론, 지각, 언어 능력을 소프트웨어로 구현한 기술이다.
이미 오래 전에 알려진 인공지능은 특정 분야에서 어느 정도 성과를 냈지만 실제 인간의 지능과 큰 차이를 보여 크게 발전하지는 못했다. 하지만, ICT 기술의 발달은 인공지능에 대한 연구를 급속히 이끌었고, 최근에는 인공지능의 가시적인 성과가 다른 산업에 막대한 영향을 미칠 것으로 예측된다.
이번 공학트렌드는 인공지능의 한 분야로 최근 주목 받고 있는 딥 러닝에 대해 살펴보겠다. 딥 러닝에 대한 정확한 정의와 학습 방법의 유형을 이해하고, 최근에 적용된 사례를 살펴보면서 딥 러닝을 활용하는데 좋은 가이드가 되기를 기대한다.
딥 러닝의 정의
딥 러닝은 인간의 신경망 (Neural Network) 이론 기반의 인공 신경망 (ANN; Artificial Neural Network) 의 일종이다. 입력층(Input layer)과 출력층(Output layer), 그 사이에 하나 이상의 중간층 (Hidden layer) 을 갖고 있는 계층 구조 (Layer Structure) 로 구성된다 ( 그림 1 참조 ).
< 그림 1> 신경망 계층 구조
인공 신경망 (Artificial Neural Network)
사람의 뇌는 250 억 개의 신경 세포 (Neuron) 로 구성되어 있고, 신경 세포 간 신호를 전달하며 정보를 교환한다. 인공 신경망(ANN)은 인간의 뇌를 모방하여 만든 수학적 모델이고, 뇌의 신경망에 대응하는 노드(Node), 입력(Input), 출력(Output), 가중치(Weight) 속성을 가지고 있다(표 1 참조).
<표 1> 인공 신경망의 속성
구분 | 설명 |
노드 (Node) | 신경 세포 |
입력 (Input) | 다른 세포로부터 신호를 입력 |
출력 (Output) | 다른 세포에게 신호를 출력 |
가중치 (Weight) | 입력과 출력을 연결해주는 연결부 |
뉴런은 다른 여러 뉴런들과 거미줄처럼 연결되어 상호 작용을 하게 된다. 이를 그래프로 표시할 수 있으며, 이를 인공 신경망 모델이라고 한다. 인공 신경망 모델에서 각 노드는 뉴런을 나타내며, 각 노드를 연결하는 연결부는 뉴런 간의 가중치 (연결강도 )를 나타낸다 (그림 2 참조 ).
<그림 2> 인공 신경망 가중치
<그림 2> 를 살펴보면, 다른 노드에서 값을 받아 가중치를 반영하여 입력 값을 산출하는데 이값이 노드에 전달된다. 학습해야 할 문제가 복잡해지면 중간층의 개수가 늘어나는데, 이 것을 심층 신경망 (Deep Neural Network) 이라 하고, 이 학습 과정을 딥 러닝이라고 말한다.
< 그림 3> 인공 신경망 모델의 예
<그림 3>을 살펴보면, 예를 들어, 자동차가 입력되면 각 노드 간의 가중치에 따라 출력노드가 “car_mag”로 결정되는 것이 정상이다. 만약, 다른 것이 선택된다면 가중치 값을 조절해서 정상적인 선택이 될 때까지 다시 학습한다. 인공 신경망을 통해 여러 마리 고양이를 입력하여 고양이로 출력되도록 학습 시켰다면 사람이 보는 것처럼 또 다른 고양이를 입력해도 고양이라고 인식한다.
심층 신경망의 경우, 학습 해야 하는 계층이 많아지면 너무 많은 학습 시간이 소요되거나 학습에 필요한 데이터가 부족했고 제대로 동작하지 않는 경우도 많았다. 과거 인공 신경망이 좋은 기술인데도 외면 받는 이유였다. 하지만, 최근에 빅데이터로 인해 충분한 학습 데이터가 확보되고 컴퓨터의 처리 속도가 높아져 학습 시간이 대폭 줄어들면서 개선된 학습 알고리즘이 나오기 시작했고 딥 러닝은 재조명 받기 시작했다. 인공 신경망에서 사용되는 계산식은 공학트렌드에서는 언급하지 않으니 아래 사이트를 참고한다.
< 참고사이트 >
딥 러닝의 중요도
오래 전부터 인공지능 이론과 기계가 만들어지면서 다양한 산업에 인공지능이 활용되었지만 인공지능의 내부 로직을 살펴보면, 대부분 입력에 따른 출력이 정해진 매트릭스 형태였다. 다양한 경우의 수를 미리 정해두고 입력에 따라 정해진 결과를 출력하기 때문에 스스로 판단하는 기능은 부족했다. 이런 점에서 딥 러닝은 기존의 인공지능과 명확한 차이가 있다. 딥 러닝의 향후 발전이 더 주목되는 이유다.
딥 러닝의 역할
딥 러닝의 가장 중요한 역할을 본다면 “학습에 의한 예측”이다. 사람의 경우, 학습을 해도 어느 시점부터는 잊어버리지만 기계에 의해 학습되어 저장된 것은 잊어버릴 수가 없다. 학습한 것을 모두 기억한다면 조만간 인간보다 더 똑똑한 인공지능이 나타날 수 있을 것이고 학습 시간도 상상할 수 없을 만큼 인간보다 빠를 것이다(그림 4 참조).
<그림 4> 인공지능의 자가학습과 성장 모델
자료 : 솔루룩스 (http://www.saltlux.com/)
<그림 4>를 살펴보면, 딥 러닝의 학습을 위해서는 반드시 학습 데이터가 제공되어야 한다. 최근에 딥 러닝 연구가 활발해진 가장 큰 이유 중의 하나가 빅데이터를 학습 데이터로 제공하기 때문이다. 사람이 나이가 많아지면 지식이 많아지는 것처럼 딥 러닝도 학습을 하면 할수록 더 정교한 예측을 할 수 있다. 체스나 바둑의 경우, 사람은 시간이나 체력의 한계 때문에 많은 대전을 할 수 없지만 딥 러닝의 경우 짧은 시간에도 수많은 대전을 학습할 수 있다.
하지만, 딥 러닝에서도 학습 데이터를 벗어나는 예측은 하지 못한다. 바둑을 학습했다면 바둑은 최고가 될 수 있지만 학습 데이터가 없었던 체스는 최고가 될 수 없다. 아직까지 학습한 지식을 모아 다른 분야의 예측이나 판단을 하기는 어렵다.
< 참고 >
알파고의 능력 얼마 전 우리나라 이세돌 9 단과 인공지능 컴퓨터인 알파고의 바둑 대결이 있었다. 일반인들의 예상과는 다르게 알파고가 4 대 1 승리를 거뒀다. 이 결과를 두고 많은 사람들은 알파고의 능력이 다른 분야에서도 성과를 거둘 수 있을 것이라 말했다. 하지만, 알파고에게 다른 학습 데이터를 입력하지 않았다면 알파고의 능력은 바둑에 한정된다. 알파고가 가지고 있는 신경망의 내부 값은 바둑을 위한 것이기 때문이다. 알파고가 스타크래프트 대결을 원한다면 스타크래프트 학습을 반드시 거쳐야만 가능한 일이다. 다만, 알파고가 가지고 있는 학습 알고리즘은 재사용할 수 있다. |
인공지능의 구분
딥 러닝의 관점으로 인공지능을 본다면, 인공지능은 학습에 의한 예측이고 학습하지 않는 것은 예측을 할 수 없는 것이 현재의 딥 러닝이다. 학습하지 않은 것을 예측하거나 판단하기 위해서는 사람처럼 자아가 있어야 한다. 인공지능을 자아의 유무에 따라 크게 강인공지능과 약인공지능으로 구분할 수 있다(표 2 참조).
<표 2> 인공지능의 구분
강인공지능 | 약인공지능 |
- 다양한 분야에서 보편적으로 활용 - 알고리즘을 설계하면 AI 가 스스로 데이터를 찾아 학습 - 정해진 규칙을 벗어나 능동적으로 학습해 창조 가능 | - 특정 분야에서만 활용 가능 - 알고리즘은 물론 기초 데이터 , 규칙을 입력해야 이를 바탕으로 학습 가능 -규칙을 벗어난 창조는 불가 |
자료 : 보스턴컨설팅
<표 2>를 기준으로 아직까지 강인공지능은 알려진 바가 없다. 잘 알려진 구글의 알파고나 IBM 의 왓슨도 바둑과 같은 제한된 데이터를 학습하여 예측하는 약인공지능이다.
하나의 분야만 학습한 알파고나 왓슨과는 다르게 다양한 빅데이터를 학습한다면 강인공지능도 가능하다. 2030년 전후로 자아가 있는 인공지능이 개발될 것이라고 말하는 인공지능 학자들도 있다.
딥 러닝의 활용
아직까지 인공지능의 전통적인 분야인 영상 인식, 문자 인식, 음성 인식에 딥 러닝이 많이 활용되고 있다(표 3 참조). 영상, 음성 인식은 이미 오래 전부터 연구가 되었지만 딥 러닝 기술이 적용되면서 더욱 빠르게 발전하고 있다.
< 표 3> 딥 러닝의 활용 사례
적용 회사 | 주요 적용 사례 |
페이스북 (Facebook) | 게시하는 사진에서 사람을 인식 (Deep Face) 하고 , |
구글 (Google) | Google+ 에서 사진 태깅 , 음성 인식 기능 |
마이크로소프트 (Microsoft) | 음성 인식 기능을 통해 영어 , 중국어 등 통역 서비스 |
빅데이터 기반의 활용
빅데이터 분석 시 딥 러닝을 활용한다면 매우 효과적인 결과를 얻을 수 있다. 최근에 빅데이터를 활용하여 활발히 연구하는 분야는 의료 분야이다. 의료도 임상 결과를 통계에 적용하기 때문에 임상 결과의 빅데이터화가 가장 필요한 분야 중 하나다.
분당서울대병원은 빅데이터 기반의 임상의사결정지원시스템을 개발하였다. 환자 개인의 특이사항을 확인하여 임상적 의사결정을 지원하는 것으로, 시스템 도입 후 부적절한 신독성 약물 처방률이 30.6% 로 감소하였다. 해당 시스템은 빅데이터를 분석하여 자연어 검색을 지원하고 의약품의 처방과 조제, 안정성 정보도 제공하고 있다. 현재는 관리되는 빅데이터 요소들을 수작업으로 처리하고 있지만 딥 러닝이 반영된다면 자동 학습을 통해 숨겨진 인사이트를 찾아낼 수 있을 것이다. IBM 의 왓슨은 의료 분야에 딥 러닝을 반영해서 암 치료에 획기적인 효과를 나타내고 있다. 진료 기록으로 환자의 상태를 진단하고 의심 질환을 의사에게 전달하는 역할도 담당한다.
타 산업과의 연계
딥 러닝이 적용되는 산업은 점점 늘어가고 있다 . 최근에 가장 주목 받는 산업은 스마트 카를 내세우는 자동차 산업이다 . 운전자가 없어도 자동차 스스로 목적지로 이동하기 위해서는 운전 중에 발생할 수 있는 다양한 상황을 미리 학습을 해야 한다 . 자동차 산업에서는 딥 러닝을 통해 이를 해결하고 있다 .
딥 러닝은 지금까지 학습 결과를 데이터로 출력하여 활용하는 경우가 대부분이었지만 딥 러닝의 활용을 고도화하기 위해서는 스마트 카와 같이 학습 결과를 타 산업의 비즈니스에 적용되도록 고민하는 것이 필요하다.
이 외에도, 미래창조과학부에서는 딥 러닝을 위한 고성능 컴퓨팅(HPC) 시스템과 딥 러닝 핵심 소프트웨어인 ‘다중 노드 분산처리 SW 프레임워크’ 를 개발하여, 단일 서버가 수행하던 모델 트레이닝을 분산해서 처리한다(그림 5 참조). 다양한 기업과 학계에서 활용될 수 있어 딥 러닝 국가 경쟁력 확보에 큰 도움이 될 것으로 기대된다.
< 그림 5> 이종 가속기 기반 딥러닝 HPC 시스템
마무리 하며
최근 수년 동안 빅데이터는 ICT 산업에서 가장 주목받는 분야였다. 과거에는 상상도 할 수 없을 만큼의 데이터를 분석해서 객관적인 데이터로 정리하고 미래 예측까지 할 수 있다는 것은 빅데이터에 대한 무한한 기대감이 있었다. 하지만, 워낙 많은 데이터를 다뤄야 하다보니 사람의 능력으로 감당하기가 어려웠다. 딥 러닝은 사람의 한계를 넘는 빅데이터를 다뤄줄 수 있고, 빅데이터를 활용해 새로운 정보를 알아내는 능력까지 갖추고 있다. 학습 알고리즘이 더 정교하게 완성된다면 예측 분야에서도 더 많은 역할이 기대된다.
'머신러닝 > 딥러닝' 카테고리의 다른 글
Neural Network (0) | 2016.07.06 |
---|---|
쉽게 풀어쓴 딥러닝(Deep Learning)의 거의 모든 것 (0) | 2016.06.01 |
DeepMind moves to TensorFlow (0) | 2016.05.09 |