지난 공학트렌드에서는  공지능의  분야   러닝  대해 살펴보았다 . 딥 러닝의  의와 학습 방법  유형 에 대해 알아 보고 적용 사례를 살펴보면서  용 방법을 고민해보았다 . 이번 공학트렌드에서는 머신 러닝에 대해 알아본다 . 머신 러닝에는 다양한 개념과 방법이 존재하기 때문  주요 한 개념과  주 사용되는 알고리즘 중심으로 알아본다 . 지난 공학트렌드의 딥 러닝도 머신러닝의 한  분이다 .

 

머신 러닝의 정의

사전적인 정의를 살펴보면, 백과사전에서는 머신 러닝을 인공지능의 연구 분야  하나로, 인간의 학습 능력과 같은 기능을 컴퓨터에서 실현하고자 하는 기술  기법이다 라고 정의한다. 조금 좁혀서 정의하면 엄청난 양의 데이터를 스스로 학습하고 정리하여 문제에 대한 해답을 찾아내는 기법이다 라고 할  있다. 최근에는 학습된 내용을 기반으로 미래를 예측 하는 것까지 범위에 포함시키고 있다.

사람은 고양이가 어떤 생김새인지 알고 있으면, 처음  고양이라도 고양이로 인식한다(그림 1 참조). 하지만, 기계의 경우 고양이마다 고양이라는 인식표를 붙여서 데이터베이스에 저장해야 한다(그림 2 참조).

 

<그림 1> 사람의 고양이 인식 

 

< 그림 2> 기계의 고양이 인식

 

 

머신 러닝은 기계에게 고양이를 반복해서 알려주고 사람처럼 처음  고양이도 사람처럼 고양이로 인식하도록 하는 것이다.  , 고양이를 반복 학습시키기 위해서는 다양한 고양이 데이터가 필요하고, 이를 기억하기 위해서 학습 알고리즘이 필요하다. 기계는 학습 알고리즘을 통해 학습 데이터를 반복 학습하, 일정 수준 이하의 오차로 줄어들면 기계는 학습 결과를 최종 저장하게 된다.


머신 러닝의 중요성 증가 

초기 머신 러닝이 성공하지 못했던 이유는 크게  가지로 본다. 학습 알고리즘이 있었지만 충분한 학습에 필요한 데이터가 부족했던 것과 당시의 컴퓨터 사양이 낮아 학습하는 시간이 너무 오래 걸렸다. 지금은 빅데이터가 존재하고 컴퓨터 사양이 어느정도 보장되었기 때문에 머신 러닝의 관심이 다시 높아지고 있다.

마이크로소프트 (Microsoft) CEO 사티야 나델라는 미래의 시대를 여는 기술로 사물인터넷, 클라우드 컴퓨팅, 빅데이터, 머신 러닝을지목했다. 사물인터넷이 대중화되면서 방대한 데이터가 스스로 생성되며 빅데이터화 되고, 이를 관리하기 위해 클라우드 컴퓨팅이일반화 되고 있다. 생성된 빅데이터는 사람이 분석하지 못하고 기계가 대신 분석해야  정도로 많아지기 때문에 빅데이터를 스스로학습하면서 분석하는 머신 러닝의 중요성은 더욱 증가할 것으로 보인다. 빅데이터와 머신 러닝은 미래를 이끌어가는 주요 ICT 기술이라고   있다.

 

 

머신 러닝의 학습 방법

머신 러닝에는 3가지 학습 방법이 있다.


지도 학습 (Supervised Learning) 

머신 러닝에서 일반적으로  사용되는 학습 방법으로 기계가  학습 할  때, 학습 결과가  이미  정해진 경우를 지도 학습이라고 한다.  위의  <그림 2>와 같이 고양이 사진을 보여주며 계속 “이것은 고양이다”라고 알려주는 것이다.

지도 학습을 설명할 때 아파트를 예로 많이 드는데, 예를 들어 “서울에 있는 24평 아파트의 가격은 5억이다”라고 결과값을 정해놓는 경우다. 사람이 학습에 개입을 하기 때문에 정확도가 높다는 장점이  있지만  사람이 직접 학습 데이터를 만들어야 하기 때문에 시간도 오래 걸리고 학습 데이터 양이  많지 않다 는 단점이 있다.

 

<그림 3> 지도 학습의 속성

 

 

지도 학습에는 크게 회귀 문제(Regression Problem) 분류 문제(Classification Problem) 있다. 목적값이 연속성을 가질  회귀문제(그림 4 참조) 하고, 목적값에 연속성이 없고 끊어지는 값을 가질  분류 문제(그림 5 참조)라고 한다.

 

<그림 4> 회귀 문제(Regression Problem)

 

 

<그림 5> 분류 문제(Classification Problem)

 

 

비지도 학습(Unsupervised Learning) 

학습 데이터에 목적값이 없는 학습 방법을 말한다. 구분 데이터 간의 유사성에 따라 데이터 요소를 군집화하거나 밀도를 추론한다. <그림 6> 좌측을 살펴보면, “O” 양성”, “X”  음성이라고   명확하게 구분을   있지만, 우측을 살펴보면 모두 “O”  표시되어 있어 구분을   없다. 대신에  개의 군집으로 나눌  있는데 이러한 것을 군집화 (Clustering)라고 한다. 군집화에서 나아가 데이터가 흩뿌려져 있을  분포 추정(Underlying Probability Density Estimation)이라고 한다.

 

<그림 6> 지도 학습과 비지도 학습의 비교

 

 

강화 학습(Reinforcement Learning) 

지도 학습과 비지도 학습은 사람이 구분을 제시한 것으로 학습했지만 강화 학습은 현재의 상태(State)에서 어떤 행동(Action) 취하는 것이 최적인지를 학습하는 것이다. 행동을 취할 때마다 외부에서 보상(Reward) 주어지는데, 보상이 최대화 되도록 학습을반복한다. 일반적으로 지도 학습의 결과를 가지고 강화 학습을 이어간다.

 

< 참고 >

  • 강화 학습의 예

대표적으로 게임 인공지능을 만드는 것을 생각해볼  있다. 체스에서 현재 나와 적의 말의 배치가 상태가 되고 여기서 어떤 말을 어떻게움직일지가 행동이 된다. 상대 말을 잡게 되면 보상이 주어지는데, 상대 말이 멀리 떨어져 이동할 때까지의 시간이 필요할  있으므로, 상대 말을 잡는 보상은 당장 주어지지 않는 경우도 생길  있다(지연된 보상). 따라서 강화 학습에서는 당장의 보상이 조금은 적더라도, 나중에 얻을 값을 포함한 보상의  합이 최대가 되도록 행동을 선택해야 하며, 게다가 행동하는 플레이어는 어떤 행동을 해야  보상의합이 최대화되는지 모르기 때문에, 미래를 고려하면서 가장 좋은 선택이 뭔지 행동을 여러 방식으로 수행하며 고민해야 한다. 좋은 선택이 뭔지 행동을 찾는 것을 탐색, 지금까지 나온 지식을 기반으로 가장 좋은 행동을 찾아 그것을 수행하는 것을 활용한다고 하여, 강화 학습을 푸는 알고리즘은   사이의 균형을 어떻게 잡아야 할지에 초점을 맞춘다.  방법들과는 다르게 실시간으로 학습을 진행하는 것이 일반적이다.

자료 : Wiki


강화 학습이 알파고의 머신 러닝의 기본적인 방법으로 사용되었다. 바둑알이 놓여지는 행동마다 보상과 지연된 보상이 발생하고 보상의 합이 최대가 되는 곳에 바둑알을 놓게 되는 방식이다. 바둑알이 놓여진 결과를 많이 알수록 강화 학습의 효과는  커질  있다. 알파고가 수십만 번의 기보를 학습한 효과가 여기에서 나타나는 것이다.

 

머신 러닝에서 활용되는 자세한 알고리즘은 아래 사이트를 참고한다.

 

< 참고사이트 >


머신 러닝 알고리즘



머신 러닝의 사례

최근 들어 머신 러닝 적용 사례가 늘어나는 추세다. 가장  이유는 기업에서 빅데이터가 많이 쌓이고 이를 활용하려는 노력이 많이나타나고 있기 때문이다. IoT  확대로 머신 러닝의 기회는  늘어날 것으로 보인다.


넷플릭스의 컨텐츠 추천 

2000 년말부터 넷플릭스와 아마존은 머신 러닝을 통해 사용자에게 비디오 추천 기능을 제공했다.  중에서도 추천 정확도를 높이기 위해 머신 러닝과 데이터 마이닝 경진대회를 개최했다. 이후 서비스 가입자들로부터 얻어진 빅데이터를 기반으로 넷플릭스 퀀텀이론이라는 기법을 활용하여 컨텐츠 추천 서비스를 하고 있다 (그림 7 참조).

 

<그림 7> 넷플릭스의 컨텐츠 추천 방법

 

 

분류된 장르 카테고리는 제작된 지역, 작품의 특징을 수식하는 부사(Adjectives), 명사(Noun), 배경(Set in), 무엇에 관한(About) 영화인지, 시청 연령대 등과 같은 정보로 구성되었고, 이러한 분류법에 의해 생성되는 장르 카테고리는 로맨틱한 중국 범죄 영화(Romantic Chinese Crime Movies)’ 같이 특징이 잘 나타나도록 구체적으로 저장되었다. 넷플릭스 장르 카테고리는  76,897개에 이르는 것으로 나타났다. 사용자가 최초 접속  취향 카테고리를 3  선택하면, 컨텐츠를 보면 볼수록 수많은 태그를 학습하면서 취향에 맞는 컨텐츠를 자동으로 추천해준다.

넷플릭스 학습 방법의 특징은 비지도 학습 방법으로 사용자의 선호도가 높은 카테고리의 군집화가 일어나기 때문에 취향 카테고리를 찾아낼  있고, 그에 맞는 컨텐츠를 추천하게 된다.


페이스북의 얼굴인식 

페이스북은 사진에서 사람의 얼굴을 정확히 인지할  있는 기능을 머신 러닝으로 구현하였다. 얼굴 인식률은 98% 정확성을 나타내고, 8  건의 사진을 5  이내에 확인 가능하다. 정면 사진이 아니라도 머신 러닝으로 사진  다른 요소와 연계해서 분석한다.

유명인의 사진 DB 기반(13,000  ) 헤어스타일, 안경,  등을 변수로 학습시켜 사람이 아닌 물체와 얼굴을 구분할  있도록 하였고, 원본과 비교본 이미지 사이에 유사성을 설정하고 머신 러닝 알고리즘을 활용하여 학습하도록 하였다.

페이스북은 세계에서 가장 많은 양의 사진 데이터를 보유한 것으로 알려지고 있다. 이를 토대로 사람 얼굴을 인식하는  페이스(DeepFace) 프로그램을 개발했다. 정확도는 인간 눈의 인식율과 거의 일치한다. 기본적으로 얼굴의 , , 입의 거리나 높이 등을파악하는 방법을 썼고 머신 러닝을 통해 불규칙한 데이터를 보정하였다(그림 8 참조).

 

<그림 8>  페이스 (DeepFace) 프로그램의 인식

 

 

페이스북의 학습 방법의 특징은 지도 학습  강화 학습을  것으로 반복적인 학습을 통해 이미지 인식율을 높였다. 현재는 오류가거의 없을 정도의 정확도를 보이고 있다.

 

< 참고사이트 >


페이스북에 사용된 기술 소개 사이트



마무리 하며

최근 수년 동안 빅데이터는 ICT 산업에서 가장 주목받는 분야였다. 과거에는 상상   없을 만큼의 데이터를 분석해 객관적인 데이터로 정리하고 미래까지 예측   있다는 것은 빅데이터에 대한 무한한 기대감이 있었다. 하지만, 워낙 많은 데이터를 다뤄야 하다보니 사람의 능력으로 감당하기 어려웠다. 머신 러닝은 사람의 한계를 넘는 빅데이터를 다루고, 빅데이터를 활용한 새로운 정보까지알아내는 능력도 갖추고 있다. 학습 알고리즘이  정교하게 완성된다면 예측 분야에서  많은 역할이 기대된다.

지금까지 2회에 걸쳐 인공지능 분야에서 주목받고 있는 머신 러닝과  러닝에 대해서 살펴보았다. 불과 얼마 전까지도 인공지능은아직  것으로만 알려져 있었지만, 빅데이터의 등장은 인공지능을 현실화 시키는 도화선이 되었고, 기하급수적으로 늘어나는 빅데이터 양은 자동 학습에 기반한 머신 러닝과  러닝 발전에 지대한 영향을 끼칠 것으로 보인다. 앞으로 더욱 사람과 유사한 예측과판단을  것으로 보이는 인공지능의 발전은 다양한 산업 발전에 기여할 것으로 기대된다.


출처: http://www.sw-eng.kr/member/customer/Webzine/BoardView.do?boardId=00000000000000040877&currPage=&searchPrefaceId=&titOrder=&writeOrder=&regDtOrder=&searchCondition=TOT&searchKeyword=

Posted by insightalive
,