본문 바로가기
AI | 딥러닝/Concept

[AI/머신 러닝] 머신러닝의 종류 (Supervised, Unsupervised, Reinforcement)

by 고뭉나무 2021. 8. 24.

머신 러닝 종류에는 3가지가 있다.

  • Supervised learning (지도 학습)
  • Unsupervised learning (비지도 학습)
  • Reinforcement learning (강화 학습)

 

머신 러닝 종류 3가지

3가지 모두 학습 시키는 방식이 다르며, 고도화된 딥러닝 네트워크를 위해서 한 네트워크에서 3가지 모두 사용하기도 한다.

 

 

Supervised learning

Label(정답)을 알려주면서 컴퓨터를 학습시킨다.

보통 Task를 강화하는 목적으로 사용되며, 종류로는 Classification과 Regression이 있다.

 

Classification과 Regression

Classification은 결과 data를 통해 정답을 이분법으로 정한다. A 아니면 B로 정답을 결정한다.

Regression은 결과 data의 경향을 통해 새로운 수치를 발견한다. 예를 들어 연봉 5000만원의 근속 4년차 사원의 1억 대출 이자는 얼마일까? 에 대한 답을 찾는 것이다.

 

이와 같은 방식에 많이 사용하므로 input과 output(label)을 모두 필요로 한다. 그리고 무엇보다 Label data를 확보하는 것이 중요하다.

그래서 필요한 방식이 'Unsupervised learning' 이다.

 

 

Unsupervised learning

Supervised learning과 달리 label(정답)을 알려주지 않고 비슷한 데이터를 군집화한다.

Data를 Grouping 하는 것이 목적이다.

그래서 보통 unsupervised learning을 하고 supervised learning을 진행한다.

대표적인 종류로는 Clustering이 있다.

Clustering

사실 여러 데이터를 모아 놓고 분류하라고 하면 여러 가지 방식으로 분류 할 수 있다.

(갑자기 예전에 스펀지라는 프로그램에서 서양과 동양 사람들에게 바나나, 풀, 원숭이, 토끼 등등을 놓고 분류해보라고 했던 실험이 생각난다. 살아온 사고 방식의 차이로 동양과 서양 사람들의 Clustering 방식이 확연히 차이났었다.)

 

그래서 이 clustering을 통해 적절한 특징(feature)를 찾아낼 수 있다.

따라서 unsupervised learning은 예측이 아닌 데이터가 어떻게 구성되어 있는지 밝히는 데 주로 사용한다.

 

 

아래 사진으로 supervised learning과 unsupervised learning 을 명확히 구분할 수 있다.

아래는 'terminal spot welding'으로 용접 부분이다. 납땜을 하듯 용접 양이 너무 많아도 적어도 전류 흐름에 문제가 생긴다.

Deep learning systems can label images using unsupervised and supervised modes.

출처 사이트

 

unsupervised learning은 이미지만 통째로 넣어주는 것이다. 그리고 labeling은 합격인지 불합격인지만 구분한다. 그래서 비지도 학습은 학습된 이미지와의 차이점이 발생 시에 불량으로 판정한다. 만약 양품의 패턴이 달라진다하더라도 불량으로 판정될 수 있는 오류가 발생한다. 대신 양품의 모양이 그대로 유지된다면 예상하기 어려운 불량을 효과적으로 검출할 수 있다.

supervised learning은 defect 영역을 일일이 labeling 해주는 것이다. 어떤 것이 defect 인지를 인지 시켜준다. 그래서 정확도는 unsupervised learning보다 높지만 초기 데이터 가공에 많은 시간이 필요하다.

 

 

Reinforcement learning

머신러닝의 꽃이라 불리며 supervised learning, unsupervised learning과는 조금 다른 개념이다.

행동 심리학에서 나온 이론으로 분류를 할 수 있는 데이터가 존재하는 것이 아니고 데이터가 있다 해도 정답이 따로 정해져 있는 것도 아니다. 자신이 한 행동에 대해 보상(Reward)를 받으며 학습을 하는 것이다.

 

그래서 아래 구조가 중요하다.

Reinforcement learning 구조

 

Reinforcement learning은 에이전트(agent), 환경(environment), 상태(state), 행동(action), 보상(reward)의 요인들이 사용된다.

 

게임을 예로들면, 게임의 규칙을 따로 입력하지 않고 자신(agent)가 게임 환경(environment)에서 현재 상태(state)에서 높은 점수(reward)를 얻는 방법을 알아내며 행동(action)을 하는 학습 하는 것이다.

특정 학습 횟수를 초과하면 높은 점수(reward)를 획득할 수 있는 전략이 형성되게 되며 행동(action)을 위한 행동 목록 등은 사전에 정의가 되어 있어야 한다.

 

말그대로 학습 능력을 점차 강화시키는 것으로 '알파고'의 사례와 같이 머신러닝을 넘어 딥러닝을 발전하게 된 계기를 마련한 기술이다.

 

 

 

아래는 머신러닝 종류 3가지의 특징을 정리한 그림이다. 참고하면 좋을 것 같다:)

머신러닝 종류들의 특징

 

위 글이 도움이 되셨나면, 아래 하트를 눌러주세요↓

감사합니다 \( ˆoˆ )/​

반응형

댓글