인공지능, 머신러닝, 딥러닝의 정의 & 딥러닝과 머신러닝의 차이
# 딥러닝은 무엇인가요? 딥러닝과 머신러닝의 차이는?
인공지능: 인간의 학습 능력과 추론 능력, 언어 이해 능력을 컴퓨터 프로그램으로 실현하는 기술. '문제 해결 능력', '학습, '범용성'의 세 가지 특성을 지님. 기계 혹은 시스템에 의해 만들어진 지능으로, 지적 능력을 인공적으로 구현한 것들을 모두 포함하는 개념
머신러닝: 인공지능을 구현하는 대표적인 방법 중 하나. 사람이 할 수 없거나 하기 어려운 일을 대신 수행할 machine을 '학습'을 통해 만들어내는 작업. 즉, 컴퓨터가 데이터로부터 스스로 학습할 수 있도록 프로그래밍 하는 과학적인 활동. 전통적인 프로그래밍은 규칙과 데이터를 주면 해답을 준다. 반면 머신러닝은 해답과 데이터를 주면 규칙을 준다.
예시 데이터에서 주어진 입력과 출력의 관계를 잘 모방하고 본떠서 새로운 입력이 주어졌을 때 해당 task를 잘 수행할 수 있도록 하는 알고리즘. 특히 신경세포들이 서로 얼기설기 엮여서 정보를 교환하고 처리하는 과정을 본떠서 만든 게 딥러닝.
딥러닝: 머신러닝이라는 분야 안에 '인공 신경망'이라는 분야가 있고, 인공 신경망 중 망의 깊이가 깊은, 즉 '심층 신경망'을 이용해 머신러닝 알고리즘을 수행하는 기법이 딥러닝이다. 다시 말해, 심층 신경망을 학습시키는 알고리즘이 딥러닝이다. 심층 신경망은 구체적으로는 인공 신경망에서 hidden layer의 수가 2개 이상일때를 말한다.
인공 신경망: 동물의 '뉴런'을 모방하여 만들어진 머신러닝 알고리즘인 '퍼셉트론'으로 설계된 구조. Input layer, Hidden layer, Output layer로 구성되고, 이때 Hidden layer가 2층 이상이면 DNN(Deep Neural Network)이라고 한다. 입력값(Input)과 가중치(Weight)를 내적하여 선형결합하고, 편향(Bias)을 더한 후 활성화 함수(Activation function)를 적용하여 입력값을 다음 노드(뉴런)에 전달할지 말지 결정한다. 인공신경망과 ANN(Articical Neural Network), MLP(Multi Layer Perceptron)은 같은 말이다.
두뇌 속에 있는 신경세포들은 서로 연결 관계에 있어서, 들어오는 정보를 점점 더 고수준의 정보로 처리하고 여러 지능적인 task를 수행할 수 있도록 함. 즉, 신체 내에 두뇌의 동작 과정을 모방해서 수학적인 알고리즘으로 만든 것
머신러닝 vs 딥러닝: "사람의 개입 유무", 전통적인 머신러닝 기법은 그것을 적용하기 위해 기계에 학습시킬 데이터의 좋은 feature를 '사람이 직접' 뽑아야 한다. 그리고 그 뽑아낸 feature를 기계가 알아들을 수 있도록 정제까지 해야한다. 딥러닝 기법은 그러한 feature들을 '스스로' 뽑아서 '학습까지' 한다.
"인공지능이 수행하기 가장 어려운 일은 말을 이해하거나 사진 속에서 얼굴을 인식하는 것처럼 인간에게는 직관적이고 저절로 수행되지만 어떻게 해내는지 정형화시켜 설명하기 어려운 작업을 해내는 것이다." (Deep learning, Yoshua bengio et al, 2016)