머신러닝, 인공지능, 딥러닝의 차이점
인공지능이란 게 가장 큰 범주에 해당된다. 그 인공지능이라는 기술을 구현하기 위한 방법으로 머신러닝이 있다. 그리고 또 머신러닝을 구현할 수 있는 여러 가지 알고리즘 중에 하나가 바로 딥러닝인 것이다.
인공지능, 머신러닝, 딥러닝 개념
- 인공지능
인공지능은 기계 혹은 컴퓨터가 인간의 지능을 모방해서 인간과 비슷하게 동작하도록 만들어진 모든 기술을 의미한다.
즉, 인간을 본떠서 만든 기술을 인공지능이라고 한다는 것이다.
- 머신러닝
머신러닝이란 인공지능을 만들기 위해서 어떻게 할지 방법이 많을 텐데, 그 중에 하나로 컴퓨터가 데이터를 학습하도록 하는 기술을 의미한다.
기계가 데이터를 학습하게 하는 것이 머신러닝으로, 머신러닝 안에는 로지스틱 리그레션, 결정트리, 서포트 벡터 머신등과 같은 다양한 알고리즘이 존재한다.
- 딥러닝
머신러닝의 여러 알고리즘 중 인공신경망을 사용하는 방법이 딥러닝이다. 다층 인공신경망 구조를 사용하여 굉장히 많은 데이터를 학습하고 있고, 최근에는 딥러닝을 활용해서 이미지인식 감정분석 그리고 자연어처리까지도 모두 엄청나게 뛰어난 성능을 보이고 있다.
머신러닝
머신러닝이란 기계와 컴퓨터에게 데이터를 제공해 주고 그 데이터를 학습하게 하는 방향을 말한다. 그렇기 때문에 머신러닝에서는 데이터가 필수적이다.
즉, 머신러닝을 도입하기 위해서는 그 머신에 학습시킬 데이터는 피루로 가지고 있어야 한다.
머신러닝의 원리
머신러닝 이전에 일반적인 컴퓨터 사이언스는 A와 B라는 인풋을 주면서 동시에 플러스를 하라는 프로그래밍 명령을 함께 제공한다.
하지만 머신러닝은 A와 B를 라는 인풋을 주는 것은 동일하지만, 이전에 같이 플러스라는 명령어를 제공하지 않고, 대신 C라는 최종 결과물을 주게 된다. 이를 통해 내부에서 어떤 일이 일어나는지 그 프로그래밍을 찾게 하는 것이 바로 머신러닝의 원리이다.
이미지 분석
고양이는 얼굴이 동그랗고, 눈도 두 개 동그랗게 있고, 귀가 뾰족하며 입은 세모라는 패턴을 찾아서 마스크를 만들어 고양이인지 아닌지 판별을 하게 된다.
다음과 같이 귀가 뾰족하지 않거나, 얼굴에 뭔가를 씌운 상태일 경우 마스크가 일치한다고 말하기 어렵다. 하지만 머신러닝의 핵심은 수 많은 데이터이고, 많은 데이터를 학습시키면 고양이라고 판단할 수 있다.
다음 사진을 보면 초록색 박스로 고양이와 얼마나 가까운지 판단하는 것을 볼 수 있다. 이는 ssd 오브젝트디렉션이라는 모델을 사용했다.
이를 통해 알 수 있는 것은 머신러닝의 핵심은 다양한 데이터로 컴퓨터에게 학습을 시켜서 모델을 만든다는 것이다.
머신러닝 차트
다음과 같이 머신러닝은 다양한한 종류를 버블 차트로 표시할 수 있는데, 이 중 가장 눈여겨 봐야 할 것은 Supervised Learning, Unsupervised Learning, Reinforcement Learning이다.
- Supervised Learning
Supervised Learning은 우리말로 지도학습, 감독학습이라고 한다. 가장 널리 연구되고 있는 분야이며 성능이 가장 높게 잘 나온다. 문제와 정답을 함께 제공하는게 다른 종류의 머신러닝과 가장 큰 차이점이라고 할 수 있다.
우리는 그 문제를 Feature, 정답을 Label이라 한다.
고양이 사진과 강아지 사진을 주면서 학습을 시킬 때 전부 하나하나 마킹해 두는 것을 의미한다. 즉, 문제와 정답을 함께 제공하는 것을 의미한다.
어떤 값을 예측하는 Regression, 혹은 미래에 어떻게 될지 추정하는 Forecatst, 그리고 여러 가지 중에서 어떤 것이 확률이 높은지 분류하는 Classification 문제에 널리 활용되고 있다.
예를 들어 고양이와 강아지 사진을 분류하는 것은 Classification, 하루 시간에 따른 커피 소비량 예측은 Regression에 널리 사용되고 있다.
- Unsupervised Learning
Unsupervised Learning은 우리말로 비지도 학습이라 한다. 지도학습과 다르게 문제만 제공한다(레이블을 제공하지 않는다). 그렇기 때문에 지도학습에서 풀었던 분류 혹은 예측 이런 것들이 아닌, 어떤 패턴이나 구조를 발견하고 그리고 아이템들을 그룹화 하는데 많이 사용된다.
시간에 따라서 값이 변화가 될 때 평소와 다른 값이 나타난 경우 평소가 어떤 값을 가지고, 그 외의 값이 어떤 값을 가졌는지 레이블링을 다 하지 않아도 그냥 평소와 다른 것들을 패턴으로 찾아낼 수 있기 때문에 비지도 학습으로 학습이 가능하다.
사과, 바나나, 망고가 있을 때 클러스터링 알고리즘을 적용시키면 알아서 학습을 시킨 다음, 빨갛고 동그랗게 생긴 것들만 모으고, 그 다음 길고 노란색만 모을 것이다. 이렇게 되면 어떤 것이 사과이며 바나나고, 망고인지 모르지만, 어쨋든 비슷한 것끼리 모으는게 가능하다. 이것이 바로 클러스터링이다.
- Reinforcement Learning
Reinforcement Learning이란 우리말로 강화학습이라 한다. 이는 정답을 주는 것이 아닌 보상을 제공하게 된다. 어떤 액션을 취했을 때 그 액션이 잘한 액션이면 플러스 점수를, 그렇게 하면 안 되는 거였으면 마이너스 점수를 주게 되며 최종 목표는 높은 점수를 따게 하는 방식으로 환경을 설정해 두면 게임이나 로봇을 학습 시키는 데 사용할 수 있다.
훈련이 덜 된 모델은 정확도가 높지 않지만, 많은 학습을 하게 되면 더 빠르고 정확하게 된다.
게임 뿐만 아니라 사람의 움직임을 따라할 때도 사용한다. 사람의 움직임과 비슷하면 비슷할수록 높은 점수를 받을 수 있기 때문이다.
알파고도 이 강화학습을 이용하여 만들어졌다.
다양한 머신러닝의 알고리즘 방법
다음 사진과 같이 리니어 리그레션, 리그레션 트리 등의 알고리즘이 굉장히 많이 존재한다.
어떤 것을 사용해야 한다는 법칙은 없지만, 어떤 것들을 어떤 문제를 풀 때 사용하면 좋다 라는 것들은 학습이 필요하다.
Neural Network가 딥러닝을 의미하는 것이다. 사람은 뇌로 학습을 하기에, 컴퓨터에도 뇌와 비슷한 구조를 만드는 것을 바로 인공 신경망이라 한다. 사람의 뉴런을 본 따서 만들어 놓은 것이 바로 인공신경이다.
즉, 인공 신경 노드가 있으면 주위로부터 입력을 받아서 신경망에서 처리한 다음 출력을 하게 되는 방식이고, 이 노드가 여러 층이 쌓이는 것이 바로 딥러닝이다.
그렇기에 딥러닝이란 이전에 없었던 새로운 방식이 아닌 기존에 있었던 인공신경망이라는 것을 여러층 쌓아서 만든 알고리즘이라고 생각하면 된다.