본문 바로가기
엑셈 경쟁력/전문가 기술기고

척척박사 윤박사가 들려주는 AI | 다섯 번째, 인공지능 서비스 구성을 위한 방법

by EXEM 2017. 5. 29.

 

 

 

지금까지 인공지능의 역사와 대표적인 사례를 통해 4차 산업혁명의 중심에 있는 인공지능에 대해 간략하게 소개하였다. 최근에 대두되고 있는 기계학습의 딥러닝 모델이 침체되었던 인공지능을 많은 사람들에게 매력적으로 인식시키게는 했지만, 인공지능 솔루션이나 비즈니스가 성공적으로 구축되기까지는 많은 시간과 노력이 필요하다. 또한 전문가 시스템, 의사결정 시스템, 추천 시스템 등 기존의 딥러닝 기반 규칙 엔진으로 만들어진 소프트웨어보다 진보된 성능과 결과를 시대는 기대하고 있다. 따라서 오픈소스를 이용한 기계학습 프로그램을 학습하는 것도 중요하지만, 인공지능 비즈니스를 위한 서비스 모델과 환경을 이해하는 것도 중요하다. 지금부터는 필자가 18년 이상 연구한 인공지능 비즈니스 서비스를 위해 익힌 기술들을 중심으로, 서비스 구성을 위한 모델을 단계적으로 설명하고자 한다.

 

 

 

- IT 서비스 환경의 패러다임 쉬프트 변화 이해
먼저 인공지능이 부각된 시점을 곰곰이 생각해 보자. 스마트 폰과 함께 등장한 클라우드 컴퓨팅과 대용량 데이터를 분석하는 빅데이터 분석 서비스 붐이 일어난 이후에 인공지능의 딥러닝이 부각되었다. 이것은 인공지능 서비스를 구축하기 위한 기술적 환경이 어느 정도 극복되었다는 것이다. 만약, 물리적 환경으로 인공지능 서비스를 구축한다면, 인프라를 유지하는 비용 부담이 늘고 개개인의 행위를 학습하는 인공지능 서버의 수가 엄청나게 필요할 것이다. 또한 개인이나 시스템이 발생시키는 데이터를 지속적으로 저장하고 인공지능 엔진이 학습할 수 있도록 기초 데이터를 확보하는 분산저장 공간도 필요하다. 나아가 기초 데이터를 해석하고 판별하는 데이터 과학자(Data Scientist)도 확보되어야 한다. 아래의 그림은 분석 패러다임의 변화를 4단계로 표현한 것이다. 그림에서 보는 것처럼 분석의 패러다임은 빅데이터와 데이터 비즈니스의 단계를 넘어서 인공지능의 인지 분석 단계로 변화하고 있다. 이와 함께 IT 서비스 패러다임이 인공지능을 중심으로 빠르게 변화하고 있다. 따라서 인공지능 관련 프로그램을 익히는 수준에서 벗어나 서비스를 위한 기반 기술의 이해와 적용이 중요하게 인식되고 있다.

 

 

Analytics 4.0 – The Cognitive Era
* 참조 : Four Eras of Analytics, Thomas H. Davenport, 2016. 3. 30.


 

 

- 서비스를 위한 기본 아키텍처 구성 방법

이제 인공지능 서비스 구축을 위해 하나씩 고민해 보자. 앞에서 인프라는 클라우드 컴퓨팅으로 구성하는 것이 좋다고 언급했다. 이유는 확장성이 가장 좋다는 것과 연계가 우수하다는 것이다. 만약, 클라우드 서비스 업체 간의 연계 구조만 갖는다면, 누구든지(Anybody), 어디서나(Anywhere), 언제든지(Anytime) 지능형 서비스를 받아볼 수 있다. 또한 자유로운 서비스 이동과 확장이 가능하다. 이것은 4차 산업혁명의 도전 방향이기도 하다. 클라우드 환경의 네트워크 연결 지연이나 보안 이슈는 개선되고 있지만 부족한 부분이 많다. 아래의 그림은 4차 산업혁명 시대의 초연결 사회를 디자인한 플랫폼 구조이다.

 

 

정보통신기술계층과 디지털 커넥툼
* 참조 : Hyper-connected Intelligent Platform Technology, 권동승, 황승구, ETRI, 2017.02

 

 

그림에서처럼 4차 산업혁명의 핵심서비스로 자리 잡은 인공지능 플랫폼 구축은 클라우드 컴퓨팅 인프라와 빅데이터 분석 플랫폼, 인공지능 서비스 알고리즘의 구조적 특징을 이해하여야 한다. 이것은 인공지능 서비스 대상에 따라 클라우드 컴퓨팅과 빅데이터 분석 환경 구성이 달라지기 때문이다. 즉, 개인화된 인공지능 서비스인지 또는 통합 플랫폼을 이용한 인공지능 서비스인지에 따라 아키텍처가 달라진다. 개인화된 인공지능 서비스를 구축한다면, 클라우드 서비스로 구성된 인공지능 서비스를 개인별로 차별화해서 배포하는 클라우드 배포 모델이 필요하다. 이는 개인별 성향이나 행동을 학습하는 기계학습 소프트웨어가 사용자별로 독립적으로 제공되어야하기 때문이다. 그리고 통합 플랫폼을 이용한 인공지능 서비스는 전체 데이터를 기준으로 유형과 패턴을 학습하여 특정 상태나 증상을 예측하거나 추론하는 기능을 가지고 있기 때문에 빅데이터 플랫폼으로 데이터를 통합 관리하는 환경이 필요하다. 따라서 성격이 다른 서비스 환경에 대하여 관리자가 적극적으로 대처하기 어려운 상황이 될 수 있다. 각각의 특징을 정리하면 아래와 같다.

 

 

앞에서 언급한 개인 맞춤형 서비스를 구성한다면, 개인별 클라우드 자원을 각각 할당하고 이를 통합 분석하는 운영 환경이 함께 구성되어야하기 때문에 운영 인력 확보와 비용 문제로 인하여 상당한 시간이 소요될 것이다. 그렇기 때문에 개인 맞춤형 서비스를 구성하기 전까지는 빅데이터 분석 환경과 함께 범용적인 서비스나 특화된 패턴 학습과 분류를 통한 상황 예측과 추론 서비스가 중심이 될 것이다.

 

 

 

- 기계학습 모델의 분류 방법
인공지능의 기계학습은 다양한 방법으로 학습 알고리즘을 분류하고 있다. 학습 방법에 따른 분류 방법과 알고리즘의 생성 및 파생을 기준으로 하는 분류, 연구 학회 또는 서비스 구성에 따른 분류 등이 있다. 학습 방법으로 분류하는 방법은 감독 학습(Supervised Learning, 감시 학습, 교사 학습 등), 비감독학습(Unsupervised Learning, 비감시 학습, 비교사 학습, 무감독 학습 등), 반감독 학습(Semi-supervised Learning) 으로 분류한다. 그리고 학습 모델을 기반으로 서비스 처리에 필요한 학습 알고리즘을 분류한다. 알고리즘의 생성 및 파생 중심의 분류 방법이 가장 기본적인 분류 체계이며, 연구 학회 또는 서비스 구성에 따라 각기 다른 분류 체계를 사용하고 있다. 아래의 표는 기계학습의 알고리즘을 분류할 때 사용하는 방법 중 하나를 정리한 표이다.

 

 

이처럼 기계학습 알고리즘의 분류는 다양한 분류 방법들이 적용되고 있으며, 기계학습 소프트웨어도 서비스 모델별로 개발되고 있다. 또한 기계학습 모델이나 알고리즘이 가지고 있는 장단점을 보완하기 위해 알고리즘을 결합하거나 연계한 모델 또는 알고리즘을 연구하고 있으며, 이를 보완하는 소프트웨어와 라이브러리들이 개발되어 있다. 최근에 신경망의 파생 모델인 심층 신경망, 즉 딥러닝 모델을 위한 소프트웨어는 파이썬 언어를 중심으로 하는 Tensforflow, 자바 언어를 중심으로 하는 Deeplearning4J, H2O 등이 있다. 그리고 이러한 기계학습 소프트웨어의 도입 고려사항은 자유로운 부하 분산 병렬 처리기능과 빅데이터 분석 플랫폼 연계 처리 기능이 포함되어야 한다.

 

인공지능 서비스 구축은 단순히 기계학습 소프트웨어나 라이브러리만을 이용한 구성으로 성공할 수 없다. 도메인의 특징과 서비스 모델을 고려한 소프트웨어 선정과 데이터의 정제 및 통합 분석을 위한 빅데이터 플랫폼 연계 등이 고려된 통합 아키텍처를 구성해야 한다. 따라서 도메인별 기계학습 도입을 위한 통합 아키텍처의 구성 방법을 다음 기고에서 살펴보기로 한다.

 

 

 

 

 

 

댓글