일단 테크블로그😊

[AI/ML] 누구나 이해하는 지도학습 vs 비지도학습 vs 강화학습 개념 완벽 정리! 본문

AI/머신러닝

[AI/ML] 누구나 이해하는 지도학습 vs 비지도학습 vs 강화학습 개념 완벽 정리!

^__^/ 2024. 4. 21. 01:44

   머신러닝 공부 시작 때 항상 만나지만, 초보 수준에서는 항상 헷갈리는 개념이 있다. 바로 지도학습과 비지도학습, 강화학습 간의 개념 구별이다. 특히 비전공자인 일반인 분들 중에서 AI에 관심을 가지고자 할 때 가장 큰 장벽으로 작용하기도 하는 부분이기도 하다. 필자도 초보 시절에는 머신러닝이니 딥러닝이니 강화학습이니, 들으면 들을수록 헷갈렸고 멋있는 기술이 최강(?)인 줄 알았다. 본 포스팅을 통해서, 이 글을 보시는 여러분들이 딱 기억해 가야 할 것만을 정리하여, 더 이상 이런 개념의 혼돈이 없었으면 좋겠다.

 


  1. 머신 러닝(Machine Learning)이란?

  우선 다른 복잡한 생각은 제쳐두고, 머신러닝부터 집중해 보자. 우리는 컴퓨터가 발명된 이후, 컴퓨터를 통해 여러 문제를 해결하기 시작했다. 그리고 과거에는 주로 Rule-based 방식, 즉 규칙을 인간이 직접 프로그래밍하여 문제를 해결하는 방식이 주를 이루었다. 그러나 Real World의 문제들은 다양하고 복잡해서, 규칙 기반이나 수학적 알고리즘만으로는 문제에 유연하게 대처할 수 없는 경우가 더 많다. 이를 해결하고자 등장한 것이 머신러닝이다. 머신러닝이란, 기존과 같이 인간이 명시적으로 규칙을 프로그래밍하는 것이 아닌, 입력받은 데이터의 패턴을 기계가 스스로 학습할 수 있도록 하여 문제를 해결하는 방식이다. 

 

  2. 머신러닝 시스템의 종류(Learning Ways of Machine Learning)

  자, 이제 왜 머신러닝이 등장하게 되었는지 근본적으로 감이 왔을 것이다. 하지만 여전히 막연한 부분은 존재한다. 

그래서 컴퓨터가 어떻게 패턴을 학습하는데?

 

그렇다. 컴퓨터가 패턴을 학습하는 방법(=머신러닝 방식)이 무엇일까? 이 물음에 대한 답변이 바로 이 포스팅의 주제인 지도학습, 비지도학습, 강화학습이다.

 

👉대표적인 머신러닝 방식 3가지

1. 지도학습(Supervised Learning)
2. 비지도학습(Unsupervised Learning)
3. 강화학습(Reinforcement Learning)
4. 준지도학습(Semi-Supervised Learning)

 

그렇다면, 각각이 무엇인지 간단하고 확실하게 알아보자.

1. 지도학습(Supervised Learning)

  지도학습이란, 말 그대로 사람이 직접 지도하는 듯한 학습법이다. 지도학습에서는, 사용자가 훈련 데이터에 레이블(label)이라는, 정답을 포함시켜 컴퓨터에 제공하게 된다. 그렇기 때문에, 컴퓨터는 사용자가 제공한 정답을 기반으로 학습하게 된다. 쉽게 생각해서, 정답이 포함된(labeled) 데이터셋으로 머신러닝을 한다면 지도학습이다.

 

  이런 지도학습은 대표적으로 두 가지 task를 잘 수행하는데, 그것이 바로 분류(Classification)와 회귀(Regression)이다. 

  1. 분류(Classification): 정답과 데이터 간의 관계를 학습하여, 어떤 정답 없는 데이터가 주어졌을 때, 그 데이터를 분류하는 방식. 따라서, 출력값은 카테고리 값이다. (이런 데이터는 개라고 하는군... 이런 데이터는 고양이라고 하는군..... 등등..)
  2. 회귀(Regression): 정답과 데이터 간의 상관관계를 바탕으로, 특정 값(타깃)을 예측하는 방식. 따라서, 출력값은 수치값이다. (이러한 경향성을 바탕으로 학습한 내가 보았을 때, 이 값이 들어왔을 때의 결과는 이 값일 것 같아.)

분류의 예. 데이터셋에 답(레이블)이 적혀있고, 이를 바탕으로 학습한 모델이 답이 안 적힌 test 데이터를 분류하여 결과를 내는 것이다.

 

회귀의 예시. 경향성을 바탕으로 보았을 때, 어떤 Y값의 입력에 대해 X값을 예측해 줄 것이다.

대표적인 분류 알고리즘으로는 K-최근접 이웃 알고리즘(KNN), Naive Bayes, Support Vector Machine(SVM) 등이 있고,

대표적인 회귀 알고리즘으로는 Linear Regression, Ridge, Lasso regression 등이 있다.

 

2. 비지도학습(Unsupervised Learning)

  정답을 같이 제공하는 지도학습과 달리, 비지도학습은 컴퓨터가 아무런 도움 없이 데이터를 파악해야 한다. 그렇게 컴퓨터는 주어진 데이터로부터 파악한 특징 간의 연관성을 바탕으로 비슷한 데이터끼리 묶는 작업을 하게 되고, 이것이 바로 비지도학습의 대표적인 task인 군집화(Clustering)이다.

군집화(Clustering).컴퓨터가 복잡한 데이터셋의 특징을 파악하여 나름의 공통점을 가진 것들끼리 모으고 있다.

 

이외에도 대표적인 비지도학습 알고리즘으로는 K-means 알고리즘, 주성분 분석(PCA)을 통한 차원 축소(Dimension Reduction), GAN(Generative Adversarial Networks) 등이 있다.

 

 

3. 강화학습(Reinforcement Learning)

  강화학습은 머신러닝 방식 중 하나이지만, 지도학습이나 비지도학습과는 결이 조금 다르게 취급받는 학습방식이며, 우리가 잘 알고 있는 알파고가 본 방식으로 학습을 진행하였다. 학습하는 시스템을 에이전트(Agent)라고 할 때, 에이전트가 주어진 환경을 관찰하여 스스로 행동을 실행하고, 그 결과로 보상(reward) 또는 벌칙(penalty)을 제공받게 된다. 이러한 과정을 통해, 에이전트가 스스로 가장 큰 보상을 얻기 위한 최상의 전략을 학습하는 방식이다. 

  

대표적인 강화학습 알고리즘으로는 Q-Learning, DQN 등이 있다. 그러나, 강화학습은 성능향상을 위해 딥러닝과 연계되어 쓰이며 매우 복잡하다. 현재는 머신러닝만을 다루기 때문에, 간단히 넘어가자.

 

4. 준지도학습(Semi-supervised Learning)

  준지도학습은, 이름에서 예측할 수 있듯 지도학습과 비지도학습이 섞여 있는 학습 방법이며, 공식적인 머신러닝 학습법 3 대장은 아니다. Labeled data와 Unlabeled data가 섞여 있는 데이터셋에 대하여 학습하는 방식이며, 주로 labeled data가 적은 편일 때 사용된다. 대표적인 사용 이유는 다음과 같다.

  • Labeled data를 생성하는 것의 비용이 커서
  • Labeled data만을 쓰는 것보다, unlabeled data를 더해주는 편이 더 성능이 좋을 때가 있어서

대표적인 예시로는 구글 포토 호스팅 서비스가 있다. 사진을 서비스에 업로드하면, 사진에 있는 사람이 어디에 있는지 군집화(비지도학습)를 통해 인식한 뒤, 사람마다 레이블이 추가로 주어졌을 때, 사진에 있는 사람의 이름을 알 수 있고, 사진을 쉽게 찾을 수 있게 된다.

 


 

이렇게, 이번 포스팅을 통해 머신러닝의 등장 이유를 알아보았고, 머신러닝의 학습 방식에 대해 확실히 구별할 수 있게 되었다.

우리가 통상적으로 얘기하는 전통적인 머신러닝은 지도학습과 비지도학습이고, 그중에서도 초보자들은 지도학습부터 차근차근 학습하는 것을 추천한다. 이번 포스팅을 통하여 개념의 혼돈 없이 명확히 개념을 파악했으면 하는 바람이다. 이런 기반 개념에서 흔들리면 나중에 고생한다!

 

 

🌼세줄요약🌼
1. 머신러닝은 기존 Rule-Based 프로그래밍 방식의 한계를 극복하는 방식임.
2. 머신러닝 학습 방식지도학습(분류/회귀), 비지도학습(군집화), 강화학습이 있음.
3. 전통적인 머신러닝은 거의 지도학습을 칭함.

😊소중한 의견, 피드백 환영합니다!!😊