글 수 106

딥러닝의 미래는 바로 비지도학습

조회 수 2154 추천 수 0 2019.06.06 04:04:01


autoencoder_schema

 

https://www.dlology.com/blog/how-to-do-unsupervised-clustering-with-keras/

 

 

 

머신러닝은 크게 세가지 종류로 구분됩니다. 첫째는 지도학습(supervised learning)입니다. 입력에 따른 정답을 알려주고 똑같은 결과가 나오도록 학습합니다. 둘째는 비지도학습(unsupervised learning)입니다. 라벨이 없이 스스로 입력 데이터의 패턴을 구분하도록 배웁니다. 셋째는 강화학습(reinforcement learning)입니다. 라벨이 없는 것은 비지도학습과 비슷하지만, 환경으로부터 보상값을 받아야 하는 차이가 있습니다. 또한 연속된 행동을 수행하는데 적합합니다.

 

비지도학습의 대표적인 방법으로 클러스터링(clustering)이 있습니다. 입력의 특성값이 유사한 것끼리 서로 묶어 패턴을 파악합니다. 이런 방법을 딥러닝을 이용하여 구현하는 글입니다. 먼저 오토인코더(autoencoder)로 입력값의 정보가 압축된 벡터를 얻습니다. 그리고 이를 K-Means 알고리즘으로 클러스터링을 하였습니다. MNIST 손글씨 데이터를 라벨없이 학습했는데 96%의 정확도를 달성하였습니다.

 

 

 

오토인코더는 자기지도학습(self-supervised learning)이라 볼 수 있습니다. 클러스터링과 달리 라벨이 필요하긴 합니다. 다만 입력에서 스스로 라벨을 만들어 지도학습을 합니다. 최근 자연어처리에서 BERT나 GPT2도 이런 기법을 사용합니다. 얀 르쿤은 비지도학습을 자기지도학습으로 부르자고 제안하기도 했습니다. 개인적으로도 비지도학습과 자기지도학습은 같은 것이라 생각됩니다. 둘 다 입력에서 스스로 패턴을 뽑아내는 것이기 때문입니다.

 

최근 제프리 힌튼과 얀 르쿤이 강조하는게, 앞으로 비지도학습이 딥러닝의 새로운 주역으로 떠오를 것이라고 말합니다. 지금처럼 사람이 일일이 데이터에 라벨을 부여하는 방식은 한계가 있습니다. 기계 스스로 배워나가야 합니다. 그래야 범용적인 인공지능이 가능해집니다.

 

사람은 주변을 관찰하면서 혼자 세상의 원리를 파악하고 법칙을 이해합니다(비지도학습). 그리고 책이나 다른 사람들이 가르쳐주면 그걸 자기가 알고있던 패턴과 연결합니다(지도학습). 또한 지금까지 습득한 지식을 기반으로 직접 해보고, 그 결과에 따라 경험으로 배우기도 합니다(강화학습). 이처럼 모든 학습은 기본적으로 비지도학습을 통한 패턴 인식이 가장 선행되어야 합니다.

 

 

 

현재 강화학습은 입력 받은 이미지에서 바로 행동을 학습합니다. 만약 비지도학습으로 미리 이미지의 패턴을 이해하고, 이 추상화된 정보만 사용하여 강화학습을 한다면 더욱 효과적일지도 모릅니다. 구글에서 발표한 월드 모델(world models)이 이런 방식과 비슷합니다.

 

http://aidev.co.kr/deeplearning/4304

 

VAE로 과거와 현재 이미지의 추상화된 패턴(latent vector)을 얻습니다. 그다음 RNN을 통해 바로 다음에 올 미래 이미지를 예측합니다. 최종적으로 이들 정보를 가지고 행동을 학습합니다. DQN과 같은 강화학습이지만 비지도학습이 사용되었다는 점에서 차이가 있습니다.

 

현재 딥러닝에서 큰 인기를 얻고 있는 생성 모델인 GAN과 VAE도 비지도학습의 한 종류라 볼 수 있습니다. 앞으로 범용 인공지능(artificial general intelligence)을 구현하기 위한 핵심은 바로 비지도학습에 있다고 믿습니다.

엮인글 :
List of Articles
제목 글쓴이 날짜 조회 수sort
딥러닝의 종류 간단 설명 file 깊은바다 2017-03-11 12679
딥러닝 이미지 편집 프로그램 - GAN Paint 깊은바다 2019-01-12 5535
딥러닝 합성곱 신경망(CNN) 개요 file 깊은바다 2017-03-05 4982
YOLO, Object Detection Network - 알고리즘 설명 file 깊은바다 2019-06-02 4750
구글 텐서플로우 첫걸음 - Tensorflow2.0 소개 [1] 깊은바다 2019-03-27 3475
RNN과 LSTM에 대한 설명 [3] 깊은바다 2017-08-09 3384
알파고의 딥러닝 알고리즘 file 깊은바다 2017-03-12 3335
텐서플로우에서 딥러닝 CNN으로 숫자 인식 구현 file 깊은바다 2017-03-11 3018
구글의 새로운 딥러닝 강화학습인 월드 모델(World Models) file [4] 깊은바다 2018-04-01 2907
텐서플로와 케라스 코드 비교 깊은바다 2018-06-06 2521
Quick, Draw! - 구글이 만든 그림 맞추기 깊은바다 2017-02-28 2284
딥러닝으로 2D 얼굴사진을 3D로 생성 file 깊은바다 2017-09-19 2283
이미지 탐지기 쉽게 구현하기 - Tensorflow Hub 깊은바다 2018-06-20 2240
딥러닝의 미래는 바로 비지도학습 깊은바다 2019-06-06 2154
경쟁을 통해 이미지를 생성하는 법을 배우는 GAN file 깊은바다 2017-03-20 2008