4차 산업혁명 기술 트렌드 - 딥러닝 이해하기 ①

인공지능 딥러닝 무엇일까

기술 트렌드에 대한 연재물을 기고하면서 인공지능(AI) 분야에 대해서는 정리하지 못한 것이 아쉬워 이번에서는 인공지능 분야에 대해 이야기해보겠습니다.

인공지능 이미지

AI 기술의 응용분야

AI는 딥러닝을 통해 획기적으로 도약했습니다. 딥러닝은 여러 가지 알고리즘을 가지고 있지만 결국은 군집(clustering)과 분류(classification)로 귀결됩니다.
그런 측면에서 AI 기술은 다음과 같이 나누어 볼 수 있습니다.

첫째, 챗봇과 번역 등에 사용되는 Conversational AI 분야,
둘째, 개와 고양이 구분하기 등에 많이 사용되는 Visual AI 분야,
셋째, 전통적으로 진행해오던 데이터 분석에 사용되는 Analytics AI입니다.

Conversational AI

Conversational AI

Conversational AI 는 NLU(Natural Language Understanding)를 근간으로 합니다.

오픈 소스에는Rasa.ai 같은 프레임워크가 존재하고, 오픈 서비스로는 Wit.ai 와 Api.ai 가 있습니다. 그리고 제품으로는IBM의 conversational 엔진이 유명합니다.
개발자들은 페이스북을 이용해 챗봇을 만들다가 NLU를 접하는 경우가 많습니다. 이 NLU 엔진은 여러 가지 기능을 갖는데 전체의 맥락을 판단하고 키워드를 뽑아내는 것이 주요 기능이고, 업계에서는 이를 ‘인텐트’와 ‘엔터티’라고 칭합니다.

맥락 혹은 화행(話行, speech act)에는 기본적으로 의도와 감정이 내포되어있어 이를 파악해내는 데에는 word2vec, doc2vec 같은 툴들이 사용됩니다.
한국어의 경우, 영어와 다른 구조를 가지고 있기 때문에 형태소를 분석할 수 있는 은전한입(mecab-ko) 이나 트위터 토크나이저 같은 툴들이 사용됩니다.

여기까지는 일반적인 NLU에 대한 이야기이고, 챗봇을 이해하기 위해서는 다이얼로그의 룰에 대해 알아야 합니다.
예를 들어, 페이스북 챗봇을 만들 때 “이런 말이 들어오면 이렇게 대답해야지” 라고 만드는 대화 구성이 바로 다이얼로그의 역할입니다. 이런 다이얼로그의 개념이 적용되려면 한 문장이 아닌 전체 대화의 문맥을 파악할 수 있는 기능과 랭킹 시스템을 구축해야 합니다.

더 나아가 요즘에는, 보통 STT(Speech To Text), TTS(Text To Speech) 로 알려진 음성자동 시스템과 연결하여 사용자의 음성을 듣고 텍스트로 변환해 주는 챗봇 시스템도 생겨나고 있습니다.

Visual AI

Visual AI

Visual AI에는 얼굴 인식, 피플 카운팅 등에 사용되는 Face Recognition 과 딥러닝 기반의 Object Recognition이 있습니다. 이들은 미디어를 통해 사람을 인식하거나 장면 등을 파악해서 시스템과 연결하는데 흔히 사용됩니다.

딥러닝 기반의 객체 인식(Object Recognition)은 보통 CNN 알고리즘으로 유명한데 최근에는 다른 여러 가지 알고리즘이 추가된 경우도 많습니다. 그 중 YOLO Darknet의 경우는 인식률과 속도 면에서 다른 범용 툴을 압도합니다.
또, 피플 카운팅을 응용하면 히트맵, 히트존 등의 기술로도 확장 가능합니다.

OCR (광학식 문자 판독기) 프로그램의 경우, 기존에도 많은 것들이 존재하지만 최근 딥러닝 기반의 프로젝트들로 변경되는 추세입니다. 한 예로 구글의 Tesseract 도 LSTM 알고리즘의 4.0 버전을 테스트 중입니다.

Analytics AI

Analytics AI는 기존의 데이터들을 분석하는 툴이라고 보면 됩니다. 딥러닝이라기보다는 스파크와 하둡기반의 빅데이터 툴에 가깝죠.

인공지능을 위한 프로세서의 발전

딥러닝은 기본적으로 다층 레이어의 많은 학습을 요구하기 때문에 단순한 계산이 순식간에 대량으로 일어나는 것이 특징입니다. 이 같은 병렬처리 컴퓨팅이 가장 중요한 핵심기능이기 때문에 CPU(Central Processing Unit) 이외의 다른 대안들이 필요하죠.

그런 의미에서 프로세서 유닛(코어) 각각의 성능은 떨어지더라도 그 수가 압도적으로 많은 GPU (Graphics Processing Units) 가 각광을 받습니다.
특히 NVIDIA(엔비디아) CUDA (병렬컴퓨팅 플랫폼의 API모델) 의 등장으로 시장의 반응은 더욱 뜨거워졌습니다.
참조: http://www.epnc.co.kr/news/articleView.html?idxno=75603

범용 GPU를 AI 용으로만 사용할 때는 TPU(Tensor Processing Unit)라는 이름을 쓰기도 합니다.
NVIDIA(엔비디아)의 경우 GPGPU를 극대화하기 위한 CUDA 기술을 공개했고, 이로 인해 범용 GPU 기능이 시장에서 주목받기 시작했습니다.

특수 목적 프로세서

한편, 구글은 딥러닝의 학습 속도를 향상시키기 위해 자체 디자인한 반도체 칩셋(ASIC)를 적용했습니다. 구글의 ASIC은 TPU(Tensor Processing Unit) 라 칭하며, 이를 GPGPU의 범주에 놓기도 합니다.
MS는 같은 목적으로 FPGA 칩을 클라우드 데이터 센터에 탑재해 Azure(애저) 서비스에 이용하고 있습니다. 참고로 FPGA는 저전력이라는 강점도 가지고 있습니다.

Neuromorphic Processor

다음으로, 신경 구조와 유사한 프로세서가 차세대 프로세서로 각광을 받으며 IBM과 같은 회사들이 이를 준비하고 있습니다.
참조: http://www.research.ibm.com/cognitive-computing/neurosynaptic-chips.shtml#fbid=rXQq5aX-WkP

딥러닝 서비스를 위한 인프라

딥러닝 전용 인프라는 크게 클라우드와 판매형으로 나뉩니다.

클라우드 인프라는 아마존 AWS, 마이크로소프트의 Azure, 구글 클라우드와 같은 것입니다.
참고로 아마존 AWS의 경우, 클라우드 AMI(Amazon Machin Image)를 제공하고 있어 다른 클라우드 인프라에 비해 훨씬 편리하게 쓸 수 있습니다. (AMI: 미리 만들어진 이미지 같은 개념)

판매형 인프라는 기존의 서버 벤더들과 비슷한 형태를 취하고 있습니다. 웨이브 컴퓨팅은 하나의 모델을 제안하는데 텐서플로 같은 소프트웨어에 특화되어 있습니다. 이에 비해 Penguin computing 은 몇 가지 옵션들을 더 제공하고 있습니다.

맺으며
이번 시간에는 딥러닝, 인공지능 등을 탑뷰 관점에서 바라보고, 어떤 기술들이 있는지를 알아보았습니다. 다음 연재에서는 개발자에게 가장 중요한 딥러닝 프레임워크들을 다루겠습니다.



▶   해당 콘텐츠는 저작권법에 의하여 보호받는 저작물로 기고자에게 저작권이 있습니다.
▶   해당 콘텐츠는 사전 동의없이 2차 가공 및 영리적인 이용을 금하고 있습니다.

4차 산업혁명 기술트렌드 연재
공유하기
도경태 프로
도경태 프로 IT테크놀로지 전문가
삼성SDS 개발실

SCP(SDS Certified Professional)로 삼성SDS에서 테크리드를 담당하고 있습니다. OSGeo에서 오픈소스 활동을 하고 있습니다. 잘 모르는 기술에 대해서 낯선 사람들과 이야기 하면서 배워 나가는 것을 좋아합니다.