본문 바로가기
machine-learning

인공지능, 머신러닝, 딥러닝... 뭐가 다른걸까?

by jiseok.woo 2020. 1. 21.
반응형

 

 

 

 

이미지 출처 : https://www.gigabitmagazine.com/ai/report-predicts-ai-spending-reach-almost-98bn-2023

 

 

 

최근 몇년간 IT업계에서 인공지능, 머신러닝, 딥러닝 등의 단어가 수도 없이 오르내리고 있다.

그런데 가만히 보면 AI, 머신러닝, 딥러닝은 분명히 다른 뜻인데 같은 뜻인것 처럼 혼용되는 경우가 많다.

특히 광고들을 보면 AI를 적용했느니 머신러닝을 적용했느니 하는 문구들을 자주 볼 수 있는데 대부분 자동화 정도인 경우가 많은 것 같다.

 

그러면 AI, 머신러닝, 딥러닝이 어떤 기술이고 무슨 차이점이 있는 걸까?

 

 

 

 


AI (인공지능)

 

 

먼저 AI를 살펴보자. AI는 "Artificial Intelligence"의 약자로 우리말로 해석하면 "인공지능"이라는 뜻이다.

AI는 1950년대 즈음부터 언급되기 시작한 단어인데 말그대로 인간의 지능을 인공적으로 만드는 것에 관한 기술이다.

사실 이리저리 구글링해봐도 AI의 정확한 정의를 찾기가 어렵다. 다 추상적인 정의들만 쓰여있을 뿐이다.

 

최초로 AI라는 단어를 언급했고 AI의 아버지라 불리는 존 매카시는 AI를 아래와 같이 정의했다.

 

The science and engineering of making intelligent machines.
지능이 있는 기계를 만드는 과학과 공학.
 - John McCarthy(존 매카시)

 

위의 정의 역시 추상적이기만 하다.

AI는 기계를 인간의 지능을 갖도록 구현하는 것에 대한 모든 분야를 통칭하는 단어라고 봐야 맞을 것 같다.

 

 

 

 

 

 


Machine Learning (머신러닝)

 

 

머신러닝은 AI의 한 분야이다.

우리말로 해석하면 기계학습. 말그대로 기계가 스스로 데이터를 학습하는 기술을 다루는 분야이다. 스스로 주어진 데이터를 학습해 향후 값을 예측 한다거나, 데이터를 자동으로 분류한다거나 하는 기술분야이라 보면 될 것 같다.

 

머신러닝은 학습시키는 방법에 따라 크게 3가지로 분류 할 수 있다.

 

  • 지도학습(Supervised learning) : 데이터와 라벨(정답)을 함께 학습
  • 비지도학습(Unsupervised learning) : 데이터만 가지고 학습
  • 강화학습(Reinforcement learning) : 현재 상태에 대한 행동을 평가해 보상을 주어 학습

 

 

1. 지도학습(Supervised learning)

 

지도학습은 학습을 시킬때 데이터와 그에 대한 라벨(정답)을 함께 제공해 학습시키는 방법이다. 즉, 이런 데이터들이 들어오면 결과는 이거야 라고 하나하나 알려주는 학습법이다.

 

예를들어 키/몸무게/성별/나이와 성인병 발병 여부의 연관을 학습시킨다 가정해보면 아래와 같이 키/몸무게/성별/나이와 함께 성인병 여부를 함께 학습시킨다. 정해진 알고리즘에 따라 데이터를 반복 학습하고 그 뒤에 키/몸부게/성별/나이에 따른 성인병 발병 여부를 확인해 볼 수 있도록 하는 것이다.

이와 같이 입력 받은 데이터가 어떤 분류로 나누는 방식을 지도학습 중에서도 분류(Classification)라고 한다.

 

지도학습 예제 1 - 키/몸무게/성별/나이와 성인병

 

 

또 다른 예로는 지금까지의 주식의 주가 예측이 있다. 많은 사람들이 머신러닝을 통해 주가예측을 시도하고 있고 나 또한 개인 프로젝트로 진행해볼 예정이다. 한 종목의 지금까지의 주식 데이터(예를들어 일별 시가/고가/저가/거래량)들을 수집해 그날의 결과인 종가와 함께 데이터를 학습시킨다. 그렇게 연속적인 데이터들을 학습하고 함수를 추론해 값을 예측하는 것이다.

이렇게 연속적인 값들을 학습하고 그에 대한 함수를 추론해 앞으로의 값을 예측하는 방식회귀(Regression)라고 한다.

 

지도학습 예제 2 - 삼성전자 주가 예측

 

 

 

 

2. 비지도학습(Unsupervised learning)

 

비지도학습은 지도학습과는 다르게 별도의 라벨(정답)을 제공하지 않고 학습하는 방법이다. 입력된 데이터를 분석해 각 특징을 뽑아내고 그 특징별로 구분하는 방식이다. 솔직히 개인적으론 학습이라기 보다는 밀집도 분석?에 가깝다 생각한다.

예를들면 여러 종류의 동물을 두고 키와 몸무게로 그래프를 그려보자. 아래 표의 x축은 키, y축은 몸무게이다. 어떤 동물인지는 모르나 세 그룹으로 나뉘어지는 것을 볼 수 있다. 이렇게 입력 받은 데이터들의 특징을 파악해 여러개의 그룹으로 나누는 방식군집화(Clustering)이라고 한다.

 

비지도학습 예제 - 동물들의 키/몸무게에 따른 군집화

 

 

 

3. 강화학습(Reinforcement learning)

 

강화학습 현재 상태에서의 최적의 행위를 선택하고 그에 대한 보상이나 벌점을 부여받는 방식의 학습 방법이다.

쉽게 예를들어 보면 강화학습의 제일 대표적인 적용 사례가 바로 알파고다.

알파고는 현재 흰돌과 검은돌의 상태(state)를 분석하고 본인의 학습내용을 토대로 어떤 행위(action)가 최적인지 판단하고 실행에 옮긴다. 이때 그 행동이 옳았으면 보상(reward)을 받고 잘못되었으면 벌점(penalty)를 부여 받는다. 이런식으로 최적의 보상을 받는 방향으로 본인의 정책을 수정해가며 학습하는 방식강화학습이다.

 

이미지 출처 : https://www.neverstopbuilding.com/blog/minimax

 

 

 

 

 

 

 


Deep Learnin (딥러닝)

 

 

딥러닝은 머신러닝 알고리즘의 한 분야이다.

머신러닝은 위에서 이야기한 것 처럼 크게 3가지 방법으로 나뉜다.

그리고 이러한 지도학습, 비지도학습, 강화학습을 실제로 구현하는 수많은 알고리즘 모델들이 있다.

 

  • 의사결정 트리(Decision Tree)
  • 랜덤 포레스트(Random Forest)
  • K-최근접 이웃 알고리즘(K-nearest Neighbor)
  • 서포트 벡터 머신 - SVM(Support Vector Machine)
  • 인공신경망 - ANN(Artificial Neural Network)

 

위 알고리즘들은 수많은 머신러닝 알고리즘들 중 일부분이다. 딥러닝은 이러한 머신러닝 알고리즘 중 인공신경망(ANN)에 집중한 연구 분야이다.

 

인공신경망은 인간의 뇌에 존재하는 뉴런을 모델으로한 알고리즘이다. 뇌에 수많은 뉴런들이 존재하듯 뉴런 세포와 비슷한 구조의 셀들을 쭈욱 배치해두고 들어오는 여러 신호들에 대해 가중치를 주어 다음 셀로 넘겨가며 학습한다. 사실 이렇게 말하면 뭔말인지 하나도 이해가 안간다. 인공신경망은 나중에 직접 모델을 구현해보며 실습해봐야 정확히 감이 올거니 일단 그러려니 하고 넘어가자.

 

 

 

이미지 출처 : https://blog.knoldus.com/first-interaction-artificial-neural-network/amp/

 

 

 

 

 

 

 


인공지능 ⊃ 머신러닝 ⊃ 딥러닝

 

 

 

이제 정리해보자.

인공지능은 기계를 인간의 지능을 갖도록 구현하는 것에 대한 모든 분야이다.

그리고 그 분야 중 기계가 스스로 학습하도록 만드는 분야가 바로 머신러닝이다.

그리고 머신러닝을 구현하는 알고리즘 중 인공신경망 모델을 집중 연구하는 분야가 딥러닝이다.

 

 

 

 

 

 

 

머신러닝 특히 인공신경망은 알수록 참 재미있는 분야다.

앞으로 elasticsearch랑 같이 머신러닝도 실습해보는 포스팅을 올려야겠다.

 

 

 

역시 취미로 개발하는건 재밌다.

 

끝.

반응형

댓글