인공지능, 머신 러닝과 딥러닝
- 인공지능이란 인간의 지능을 모방하여 사람이 하는 일을 컴퓨터(기계)가 할 수 있도록 하는 기술

머신러닝이란?
- 간단히 말해서 주어진 데이터를 인간이 먼저 특성추출을하고나서 컴퓨터가 데이터를 분류하고 처리하는 것을 말한다.
Feature extraction
-데이터 별로 어떤 특징을 가지고 있는지 찾아내고 테이터를 벡터로 변환하는 작업.
-불필요한 정보들을 제거하고 핵심적인 정보만 추출하기 위함.
-N차원의 데이터를 M차원으로 축소하여 계산량을 줄이고 메모리를 감소시켜 시스템의 효율과 성능을 향상시키기 위함.
딥러닝이란?
- 머신러닝에서 인간이 하던 작업을 생략한다.
- 대량의 데이터를 신경망에 적용하면 컴퓨터가 스스로 분석한 수 답을 찾는 것을 말한다.
- 인간의 신경망 원리를 모방한 심층 신경망 이론을 기반으로 고안된 머신 러닝 방법의 일종

머신러닝과 딥러닝의 차이

퍼셉트론??
preception(지각)+Neuron(뉴런)+Perceptron(퍼셉트론)
- 초기 형태의 인공 신경망
- 다수의 입력으로부터 하나의 결과를 내보내는 알고리즘을 말한다.

퍼셉트론은 컴퓨터가 논리적으로 인삭하는 방식을 알아보기 위해 논리 게이트로 확인함.
1. AND gate
- 모든 입력이 1일때 작동. 즉, 입력중 어떤 하나라도 0을 갖는다면 작동을 멈춤.

2. OR gate
- 입력에서 둘 중 하나만 1이거나 둘 다 1일 때 작동. 즉, 입력 모두가 0을 갖는 경우를 제외한 나머지가 모두 1.

3. XOR gate
- 배타적 논리합이라는 용어, 입력 두개 중 한개만 1 일 때 작동.
- 데이터가 비 선형적으로 분리되기 때문에 제대로 된 분류가 어렵다.
- 단층 퍼셉트론에서는 AND, OR 연산에 대해서는 학습이 가능 하다.

TIP 이를 극복하기 위한 방안으로는 입력층과 출력층 사이에 하나 이상의 중간층(은닉층)을 두어 비선형적으로 분리되는 데이터에 대해서도 학습이 가능하도록 다층 퍼셉트론이 고안된다.
입력층과 출력층 사이에 은닉층이 여러 개 있는 신경망을 심층 신경망 (DNN, Deep Neeural Network)이라고 하며, 심층 신경망을 다른 이름으로 딥러닝이라고 한다.
딥러닝 학습: 순전파
- 네트워크에 훈련 데이터가 들어올 때 발생하며, 데이터를 기반으로 예측 값을 계산하기 위해 전체 신경망을 교차해서 지나감.
- 즉, 모든 뉴런이 이전 층의 뉴런에서 수신한 정보에 변환(가중합 및 활성화 함수)을 적용하여 다음 층(은닉층)의 뉴런으로 전송하는 방식이다.
- 네트워크를 통해 입력 데이터를 전달하며, 데이터가 모든 층을 통과하고 모든 뉴론이 계산을 완료하면 그 예측 값은 최종 층(출력층)에 도달하게 된다.


딥러닝 학습: 역전파
- 손실(오차)가 계산되면 그 정본느 여긍로 전파(출력층->은닉층->입력층)되기 때문에 역전파라고 함.
- 출력층에서 시작된 손실 비용은 은닉층의 모든 뉴런으로 전파되지만, 은닉층의 뉴런은 각 뉴런이 원래 출력에 기여한 상대적 기여도에 따라(즉, 가중치에 따라) 값이 달라진다.
- 이것을 수학적으로 표현하면 예측 값과 실제 값 차이를 각 뉴론의 가중치로 미분한 후 기존 기중치 값에서 빼는 과정을 말한다.
- 이 과정을 출력층->은닉층->입력층 순서로 모든 뉴런에 대해 진행하여 계산된 각 뉴런 결과를 또다시 순전파의 가중치 값으로 사용한다.

더 자세한 딥러닝에 대한 이야기는 다음에 계속~