brunch

You can make anything
by writing

C.S.Lewis

by 라인하트 Sep 16. 2019

인공지능의 이해 (6/6): 지도 학습과 강화 학습

인공지능은 크게 3 가지 방법으로 학습합니다.  


지도 학습 (Supervised Learning)
지도 학습은 인공 지능이 답을 가지고 있는 데이터 셋을 통해 학습 방식
고양이 사진 수천 장, 수만 장을 가지고 컴퓨터가 고양이 사진의 특성을 학습

비지도 학습(Unsupervised Learning)
비지도 학습은 인공지능이 답이 없는 데이터를 통해 컴퓨터가 스스로 학습 방식 
데이터의 특성을 분석하거나 가공하기 위해 활용
사람의 뇌처럼 스스로 사고하고 판단하는 인공지능  

강화 학습(Reinforcement Learning)
강화 학습은 데이터 없이 시행착오를 통해 컴퓨터가 학습 방식  
인공지능은 행동에 따른 보상이 최대화가 되는 방향으로 학습


지도 학습을 활용한 인공지능 - 개 사진을 구분하기

   지금까지 살펴본 머신 러닝 기법들은 답이 있는 데이터 셋 (Labeling) 활용한 지도 학습 방식입니다. 지도 학습은 레이블링된 학습 데이터(Train Set)를 학습한 후 레이블링 되지 않은 데이터 셋(Test Set)을 통해 얼마나 정확하게 답을 맞히는 지를 확인하여 성능을 결정합니다. 즉, 개 사진수 만장이 있는 트레인 셋으로 학습한 인공지능에게 테스트 셋을 입력하여 얼마나 정답을 맞히는지가 성능을 평가하는 요소입니다.



 





비지도 학습을 활용한 인공지능 - 클러스터링(군집화)

   비지도 학습은 수많은 데이터를 활용하여 기계 학습이 진행되는 방식입니다. 인간의 뇌와 같은 인공지능을 만들기 위해 이 학습방식을 사용합니다.


   데이터들이 아래 그림과 같이 분포되어 있다고 할 때 자동으로 그룹화하기 위해 사용합니다. 그래프 상에 임의의 중심점 몇 개를 찍은 후 각 점을 중심으로 가장 가까운 점부터 그룹에 편입시킵니다. 이렇게 만들어진 그룹의 평균값을 구하고 다시 새로운 중심점을 설정하면서 그룹들이 만들어집니다. 이런 과정을 반복하면서 데이터 셋이 갖는 고유한 군집 특성이 차즘 드러나게 됩니다. 이것이 클러스터링 또는 군집분석 알고리즘인 K-means입니다.





비지도 학습을 활용한 인공지능 알고리즘 - GAN 

   GAN(Generative Adversarial Network)은 진짜 같은 가짜를 생성하는 알고리즘입니다. GAN은 진짜 데이터를 학습하여 진짜와 유사한 완전한 가짜 데이터를 생성하는 제너레이터(Generator)와 진짜 데이터와 가짜 데이터를 판별하는 디스크리미네이터 (Discriminator)를 두어 서로 경쟁하도록 하였습니다. 제너레이터는 디스크리미네이터가 틀린 데이터의 특성 또는 맞춘 데이터의 특성을 계속 학습하여 감별자가 맞추기 어렵게 계속 진화합니다. 디스크리미네이터는 제너레이터가 만든 가짜의 특성을 계속 학습하여 판별 능력을 향상합니다. 결국, 서로 경쟁하는 과정을 통해 진짜와 가짜를 구분할 수 없는 수준의 산출물을 만들게 되어, 디스크리미네이터가 맞추는 확률이 50%가 되면 학습이 마무리됩니다. 


   GAN은 저해도 이미지를 고해상도로 개선하거나, 음성 복원, 게임 배경화면 생성, 예술 창작활동 등 다양한 분야에 쓰일 것으로 기대되는 기술입니다.




강화 학습을 이용한 알고리즘 - Frozen Lake

   강화 학습은 알파고 제로를 가능하게 한 머신 러닝 기법입니다. 경험과 시행착오에 따른 보상체계를 기반으로 학습이 이루어집니다. 주어진 데이터는 없고, 일단 부딪혀보면서 될 때까지 학습하는 막무가내 기법입니다. 


   아래 그림은 강화 학습의 유명한 예제인 'Frozen lake' 게임입니다. 4*4 사각형은 얼음 호수의 표면을 나타내고, 파란색은 출발지, 녹색은 도착지, 갈색은 함정입니다. 게임의 목표는 출발점에서 시작하여 도착점까지 구멍에 빠지지 않고 도착하는 것입니다. 무턱대고 일단 출발하면 계속 구멍에 빠지거나 뱅뱅 돌거나 하면서 좀처럼 도착점을 찾지 못할 것입니다. 


   그렇게 계속 실패를 하다가 언젠가는 우연히 목표점에 도착하는 경우가 생길 것입니다.  그때 보상 점수가 부여하지만 도착점인 녹색 바로 전까지만 점수를 부여합니다. 다시 학습을 시작하다 보면 또 우연히 빨간 1점이 있는 박스로 들어서는 경우가 생길 것입니다. 그때 보상 점수를 부여하지만 도착점인 빨간 1점 바로 전인 파란 1점까지만 점수를 부여합니다. 같은 방법을 반복하면 출발점에서 도착점으로 가는 경로가 만들어집니다.  



   'Frozen Lake'는 간단한 게임이므로 이런 막무가내식으로 학습이 가능합니다. 복잡한 현실 문제는 이런 방법으로 성공하기 어렵습니다. 현실에서는 일정 기간 죽지 않고 살아만 있어도 보상을 준다던가, 매번 확인된 길만 가는 것이 아니라 일정 비율로 안 가본 길을 가도록 하는 좀 더 복잡한 보상체계와 학습체계를 활용합니다. 



강화 학습을 활용한 알고리즘 - 알파고 제로

   강화 학습은 게임과 같은 제한된 조건을 가진 환경에서는 막강한 성능을 보여줍니다. 강화 학습을 기반으로 만들어진 인공지능인 알파고 제로가 지도 학습으로 학습한 알파고 마스터를 압도적으로 이기기도 하였습니다. 알파고 마스터는 3000만 기보를 보며 학습을 한 후 알파고 끼리의 셀프 대국을 통한 강화 학습을 하였습니다. 알파고 제로는 기보에 대한 학습과 훈련 없이 알파고 제로끼리 셀프 대국을 하면서 강화 학습을 하였습니다. 최종 승률이 가장 높은 수를 스스로 학습하고 바둑 이론을 업데이트하였습니다. 


   



참고자료:

   이 글은 송경빈 님의 브런치에 있는 '인공지능 기술/원리의 이해'라는 글을 필자가 공부하면서 각색하였습니다. 원문이 훨씬 더 이해하기 쉽고 자세합니다.  원문은 아래 링크를 참조하시기 바랍니다. 





매거진의 이전글 인공지능의 이해 (5/6): 순환 신경망(RNN)
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari