AI vs 머신러닝 vs 딥러닝
위와같은 상관관계를 가지게 됩니다. 인공지능은 지식 기반, 룰 기반의 학습 알 말하고, 기계학습은 그것의 subset이고 잘 코딩하지 않아도 학습할 수 있는, 어떤 데이터의 "feature"사이의 "패턴(Pattern)"이나 "상관관계(Correlation)"을 뽑아내는 것을 말합니다. 그 subset에는 깊은 학습(Deep Learning)이 있는데, 이는 더 추상화를 해서 Deep Neural Network(DNN, 깊은 심층망)의 2층 이상의 인공 신경망으로 표현됩니다.
- 머신러닝(ML) -> logistic regression
- 표현학습 (representation learning) -> shallow neral network
- 딥러닝 (Deep learning)
- 기존의 ANN은 선형문제만 풀 수 있다는 문제점이 있었는데 이를 극복하기 위해
- 은닉층을 두어 비선형 변환 활성 함수(activation functon)을 layer사이에 넣어, 비선형으로 변형 시키는 작업을 해서 이러한 문제를 해결했습니다.
- 좌표계를 변환시키는 작업이라고 할 수 있습니다!
이렇게 1번 은닉층을 통해 분류하는 것은 어느정도 한계가 있을 수 있습니다. 그래서 2번 이상을 추가해서 어떤 패턴이나 상관관계를 함수로써 표현한 것을 딥러닝이라고 하는 것입니다.
전통적인 머신러닝은 위와같이 최신 논문임에도 불구하고 Hand Craft 피처 엔지니어링을 하는 것을 볼 수 있습니다. 그래서 SVM을 위한 input을 제공하기도 하죠. 하지만 딥러닝은 이러한 Hand Craft 피처 엔지니어링을 DNN이 어느정도 알아서 분류하는 것을 말합니다. Low-level Feature ->High-Level Feature로 가면서 말이죠. Low-Level은 Mid-Level Feature에서의 윤곽, 특징들을 분류하기 위한 DNN의 초기 과정이라고 할 수 있는 것입니다.
기계 학습(ML)의 종류
기계학습은 말 그대로 기계가 일일이 코드로 명시하지 않은 동작을 데이터로부터 학습할 수 있게 하는 방법을 말합니다.
그리고 지도학습 p(y|x), 비지도학습 p(x) 이렇게 표현할 수 있는데, 사실 이 둘 간의 경계는 엄밀하게 구분되어 있지 않습니다. 위의 예시를 보면, 비지도 학습에서 p(x)에서 x를 날씨에 대한 정보라고 보면, 이전 날씨에 영향을 받아서 나온 식일 수 있다는 것입니다. 이를 자가 회귀(autoregressive)라고 하기도 하는데, 이와 같은 식 처럼 보면 지도 학습처럼 풀 수 있습니다.
또한 지도학습도 결합 분포(joint distribution)형태로 나타내면 p(x, y)를 학습하는 비지도 학습으로 변환해서 풀 수도 있습니다. 즉 이 둘 간의 경계는 매우 말랑말랑합니다.
그 외에도 준지도 학습, 자기 지도 학습등의 기계학습 방법론이 존재합니다. 천천히 알아가 보겠습니다.
마지막으로 강화 학습입니다. 강화학습에는 학습하는 시스템인 에이전트(Agent)는 환경(Environment)을 관찰해서 나온 상태(State)가 주어졌을 때, 정책(Policy)에 기반하여 Action을 실행하고 보상(Reward)를 받습니다. 이 때 가장 큰 누적 보상을 얻을 수 있는 최적화된 정책을 스스로 학습하는 것을 강화학습이라고 합니다.