배너
닫기

테크노트

배너

[기술 리포트] AI 이해하기: 학습

URL복사
[무료 웨비나] 빠르고 직관적인 강력한 아날로그 시뮬레이션 'MPLAB® Mindi™ 아날로그 시뮬레이터' 왜 주목받고 있을까요?? (5/23)

[첨단 헬로티]


인공지능(AI)과 머신러닝(Machine Learning)은 지각하고, 사고하고, 문제를 해결하는 인간의 인지 능력을 기계가 모방할 수 있는 것을 말한다. 기계가 인간처럼 ‘사고’할 수 있게 됨으로써, AI가 많은 분야에서 사람이 하던 일을 떠맡고 있다. 기계가 이미지를 인식할 수 있는 능력은 의료 진단이나 보안 감시 용도에 활용되고 있다. 음성인식, 번역, 약물 발명과 개발, 금융 위조 감지도 AI를 활용할 수 있는 분야들이며, 이 목록은 계속해서 늘어나고 있다. IoT가 가속화함에 따라 AI는 자율자동차, 수술 로봇, 군용 드론 등과 같은 다양한 IoT 디바이스로 중요한 역할을 할 것이다.



뇌에서 영감을 받은 딥러닝(Deep Learning)은 머신러닝의 한 분야로서, 이미지, 음성, 텍스트를 숫자로 변환하고 다중의 수학적 조작 층을 사용해서 이 숫자들을 분석한다. 이렇게 처리하는 과정에서 분석 층들이 개념 계층이나 ‘사고’ 체계를 형성한다. 입력을 분석하고 기저의 추이나 패턴을 식별할 수 있다. 딥 러닝 역시 많은 면에서 뇌를 모방한다. 예를 들어서 뇌는 다양한 유형의 뉴런과 기능 영역을 갖는데, 머신 러닝은 현재로서 최대의 정확도로 정보를 범주화하는 것에 초점을 맞추고 있다.


학습 프로세스

사람과 마찬가지로 AI도 어떤 일을 하기 위해서는 그 일을 배워야 한다. 사람의 뇌는 외부적 자극으로부터 배우고 사고 체계를 형성하고 이것을 적용해서 접해보지 않은 새로운 문제를 해결할 수 있다. 머신러닝에서 이 역할을 하는 것이 알고리즘이다. 이것은 문제를 해결하는 프로세스나 일련의 규칙들로서, 데이터로부터 학습을 하고 그런 다음 모델(또는 가중치나 바이어스 같은 일련의 파라미터)을 생성함으로써 차후에 문제 해결을 되도록 더 효율적이고 정확하게 할 수 있도록 한다. 이 글에서는 기계가 어떻게 스스로 학습을 할 수 있는지 살펴본다.


머신 러닝의 학습은 다음과 같은 여섯 가지 범주로 구분할 수 있다.

- 지도(Supervised)

- 전이(Transfer)

- 비지도(Unsupervised)

- 반지도(Semi-supervised)

- 앙상블(Ensemble)

- 강화(Reinforcement)


① 지도 학습(Supervised Learning)

학생이 지도를 받으면서 학습을 할 때는, 학생이 잘 배우고 있고 분별력 있게 사고하는지 선생이 확인해야 한다. 마찬가지로 지도 학습은 레이블링이 되어 있고 정답이 주어져 있는 방대한 양의 데이터를 사용해서 알고리즘을 학습시키고 또 한편으로는 문제 풀이의 정확도에 대해서 지속적으로 피드백을 한다. 지도 학습은 변수들 사이에 관계를 범주화하거나 예측하는 작업(회귀)에 유용하다. 애플리케이션으로는 금융 시스템으로 의심스러운 활동을 식별하거나 얼굴, 물체, 음성, 동작, 필기를 인식하는 것을 들 수 있다.


신경망은 입력 층, 하나 혹은 다수의 중간적(또는 ‘히든’) 층, 출력 층으로 이루어지는 것으로서, 지도학습의 대표적인 예이다. 이미지, 소리, 텍스트 같은 신호를 입력 층에서 숫자들로 변환하고 그런 다음 중간 층 및 출력 층에서 처리한다.


컨볼루션 신경망과 순환 신경망이 가장 널리 사용되는 신경망들이다. 컨볼루션 신경망(CNN)은 이미지나 음성 파일 같은 입력 신호로부터 특징(Features)을 추출하며, 또 한편으로는 후속적인 분석을 위해서 특징들 사이의 공간적 관계를 보존한다. CNN은 얼굴 인식이나 음성 인식 같은 컴퓨터 비전 작업용으로 특히 효과적이며, 자율주행차에 사용하기에도 잘 맞는다. 주변의 다른 자동차, 보행자, 도로 상의 장애물 같은 것을 인식하고 자율주행 자동차에게 어떠한 잠재적인 위험을 알려주기 위해서 CNN의 이미지 인식 능력이 중요한 역할을 한다.


순환 신경망(RNN)은 프로세싱 층의 출력을 원래 왔던 층으로 입력으로서 되돌려 보내서 교정을 할 수 있다. 예측이 틀리면 시스템이 스스로 학습을 하고 다음번에 예측을 향상시킬 수 있다. 이 유형의 신경망은 텍스트를 음성으로 변환하는 작업에 특히 효과적이다. RNN은 문장이 이중적인 의미를 갖는 단어를 포함하거나(영어로 ‘crane’은 맥락에 따라서 새의 한 종류를 뜻하기도 하고 건설 장비를 뜻하기도 함) 또는 오디오 파일로 발음은 같은데 서로 다른 단어를 포함하는 경우(예를 들어서 ‘their’와 ‘there’) 같이 길고 맥락이 풍부한 입력에 주로 많이 사용된다.


끝으로, 대규모로 복잡한 작업의 경우에는 모듈러 신경망(MNN)이 필요할 수 있다. 이 신경망은 각기 다른 신경망들이 독립적인 방식으로 작동해서 세분화된 업무를 수행한다. 이들 신경망은 독립적으로 동작하므로 서로를 방해하지 않으며, 전반적인 처리 속도를 높인다. 


 

② 전이 학습(Transfer Learning) 

지도 학습을 위해서는 완벽하게 레이블링이 되어 있는 방대한 데이터셋을 필요로 한다. 하지만 매 애플리케이션마다 방대한 양의 포괄적인 데이터셋을 구축하기란 쉽지 않을 뿐만 아니라 현실성도 떨어진다. 전이 학습은 데이터셋을 사용해서 학습된 모델(사전에 학습된 모델)의 입력 층과 중간 층을 재사용하는 방법으로서, 구체적이고 포괄적인 데이터셋이 부족한 문제를 극복한다. 그러므로 새로운 작업을 하기 위해서 최종 층만 다시 학습을 시키면 된다. 사전에 학습된 모델의 파라미터들을 사용하고 그리고 학습 단계에서 최대의 정확도를 달성하도록 조절한다. 전이 학습은 매 특정한 애플리케이션마다 모든 층들을 처음부터 학습시킬 필요가 없으므로 전반적인 학습 시간을 크게 단축할 수 있다.


다수의 사전에 학습된 모델들이 나와 있는데, 대표적인 것은 물체 분할(Object instance segmentation)을 위한 Mask R-CNN 데이터셋, 물체 감지를 위한 YOLOv2, 얼굴 인식을 위한 VGG-Face 모델, 토마토의 숙성 정도를 분류하기 위한 Keras VGG-16 모델, 자동차 분류를 위한 Stanford Car 데이터셋을 들 수 있다. 전이 학습은 포괄적이고 구체적인 데이터셋이 부족한 문제를 해결하기는 하나, 단점 또한 가지고 있다. 이 학습은 왜곡을 방지하기 위해서 천천히 진행해야 하고, 사전에 학습된 데이터셋에 이미 존재하는 파라미터들에 의해서 제약을 받는다.


③ 비지도 학습(Unsupervised Learning) 

비지도 학습은 알고리즘이 레이블링이 되어 있지 않은 데이터로부터 특징을 추출하고 어떠한 명시적인 명령이 없이 기저의 패턴을 식별한다. 그러므로 비지도 학습은 그룹화(클러스터링)를 해서 특징이나 속성들 사이의 관련성을 판단하기 위한 작업에 유용하다. 예를 들어서 이러한 관련성을 이해함으로써 고객이 이전에 구매한 리스트를 바탕으로 이 고객이 어떤 다른 상품들을 좋아할지 예측할 수 있다. 비지도 학습은 주어지는 질문에 따라서 데이터를 다르게 조직화할 수 있다. 그러므로 비지도 학습을 위해서는 적절한 질문을 하는 것이 혹은 질문을 적절하게 하는 것이 다른 유형의 학습들에서보다 중요하다.


④ 반지도 학습(Semi-Supervised Learning) 

반지도 학습은 알고리즘이 부분적으로 레이블링이 되어 있는 데이터셋을 사용해서 학습한다. CT 스캔이나 MRI 사진으로 종양을 식별하는 것을 들 수 있다. 숙련된 방사선학자가 소량의 종양 데이터를 레이블링 해서 비지도 작업에 비해서 알고리즘의 정확도를 상당히 향상시킬 수 있으며, 그러므로 결과적으로 진단 정확도를 높일 수 있다.


⑤ 앙상블 학습(Ensemble Learning) 

이 학습은 다중의 알고리즘을 결합해서 어떤 한 알고리즘을 단독으로 사용해서 달성할 수 있는 것보다 더 정확한 예측을 할 수 있다. 이 기법의 유명한 사례가 2006년에 있었던 넷프릭스 프라이즈(Netflix Prize)이다. 이 대회에서는 참가 팀들에게 데이터셋의 절반의 사용자들이 다수의 영화들에 대해서 어떻게 평점을 매겼는지 정보를 주고 나머지 절반의 사용자들이 동일한 영화를 어떻게 평점을 매길지 예측하도록 했다. 우승 팀은 앙상블 기법을 사용해서 넷프릭스(Netflix)의 자체 알고리즘을 능가할 수 있었다. 


⑥ 강화 학습(Reinforcement Learning) 

강화 학습은 계속해서 주변 환경으로부터 단서를 분석해서 다음 단계에서 어떻게 가장 우수한 성과를 달성할지 계산한다. 제어 문제나 체스나 바둑 같은 게임에 주로 많이 사용된다. 일례로서 1990년대 후반에 IBM 딥블루(Deep Blue) 컴퓨터는 강화 학습을 사용해서 세계 체스 챔피언인 가리 파스파로프를 이길 수 있었다. 그리고 2018년에는 구글의 알파로(AlphaGo)가 동일한 기법을 사용해서 세계적인 바둑 고수인 이세돌을 이겼다.



클라우드와 엣지에서 머신러닝 

전통적으로 산업용 애플리케이션으로 머신러닝은 물리적인 데이터 센터나 가상의 클라우드에서 이루어졌으며 충분한 프로세싱 성능과 전력을 사용할 수 있었다. 하지만 IoT가 가속화함에 따라서 이 모델은 여러 가지 과제에 직면하고 있다. 중앙의 클라우드로부터 떨어져 있는 IoT 디바이스(엣지(Edge)) 상에서 갈수록 더 많은 데이터를 포착하고 있다. 이 데이터를 학습을 위해서 중앙의 클라우드로 전송하고 다시 엣지로 보내서 조치를 취하기 위해서는 비용과 시간을 많이 잡아먹는다. 이러한 지연시간은 자율 자동차나 군용 드론으로 필요로 하는 실시간 의사결정(또는 추론)을 어렵게 한다. 또한 데이터를 전송하기 위해서는 데이터 보안이나 무결성이 위험에 노출될 수 있다.


이 문제에 대한 한 가지 해결책은 엣지 상에서 머신러닝을 실행하는 것이다. 하지만 이 모델 역시도 단점을 가지고 있다. 예를 들어서 IoT 디바이스는 흔히 작은 배터리를 사용해서 구동하고 에너지 공급을 보충하기가 어려운 장소에 설치된다. 뿐만 아니라 IoT 디바이스의 프로세싱 성능은 머신러닝을 실행하기에 충분하지 않을 수 있다. 그러므로 엣지 상으로 머신러닝을 실행하기 위해서는 하드웨어를 향상시키는 것이 필요하다. 


* <전자기술 6월호>에서는 산업용과 IoT 엣지 머신러닝용으로 하드웨어 요구사항에 대해서 살펴보겠다. 


글 : 마크 패트릭(Mark Patrick), 마우저 일렉트로닉스(Mouser Electronics) 










배너









주요파트너/추천기업