
이 글은 데이터 스테이션님의 딥러닝 신경망 알고리즘 이해하기 ! 강의를 듣고 작성되었습니다.


데이터 연산이 처리되는 각 층을 연결
층간 활성함수에 의한 연산으로 다양하고 복잡한 형태의 계산이 가능
점진적(Foward pass)으로 데이터가 정제되어 처리될 수 있는 구조 형성
층(layer)에서 입력 데이터(input data)가 처리되는 정보는 Weight(해당 layer의 parameter)라는 Vector에 저장되어 있음
딥러닝의 목표
: 예측을 정확하게 하기 위한 Weight를 찾는 것정답지가 연속형,이산형,카테고리형 등에 따라 어떤 방식으로 weight를 찾을지 결정.
Backpropagation(역전파) 알고리즘을 구현한 Optimizer를 이용해 Update
Training Loop를 통해, 최초의 부여받은 Random Weight에서 Cost Function이 가장 낮아지는 Weight를 도출
손실함수 (Cost Function or Objective Function)
- 예측값과 실제 값의 차이(오차)를 계산한 함수.
- 신경망 출력 제어의 지표가 됨.
- 신경망이 얼마나 잘 만들어졌는가, 잘만들어 지고 있는가를 파악할 수 있음
- 손실함수가 최소가 되는 방향으로 weight를 Update
처리 순서
- 여러개의 Batch를 나눠 학습 (몇 번 반복할 것인가 결정 : Epoch)
- 데이터가 각 층을 통과하며, Node에 있는 함수에 의해 처리 (Forward Pass)
- 실측값과 신경망에 의한 예측값을 비교해 오차 계산
- chain Rule을 통해 오차에 대한 각 Node에 있는 기여도를 계산 (Backward Pass)
- 오차가 감소하도록 Weight를 계산


Perceptron Model
Multi Layer Perceptron
Deep Neural Network, DNN
DNN의 2가지 종류
1. Convolutional Neural Network, CNN
- 합성곱신경망
- 사람의 시신경 구조를 모방한 알고리즘
- 데이터를 특정 차원으로 추출하여, 해당 차원의 패턴을 파악하는 구조
- 데이터 펼쳐져 있을때 특정 특징들을 추출해 모아 하나의 Convilution Layer를 만들고 그 안에서 데이터를 줄이며 학습하는 형태
- Convolution과정과 Pooling과정을 통해 진행
- 이미지 처리에 주로 사용되다가 자연어 처리에도 사용하기도 함
2. Recurrent Neural Network, RNN
- 순환신경망 알고리즘
- 반복적이고 순차적인 데이터를 순서대로 처리하는 형태의 알고리즘
- 알고리즘 내부의 순환구조가 존재하여, 과거의 학습을 Weight를 활용해 현재의 Node에 Weight를 반영하는 알고리즘
- 시계열 데이터 처리할 때 사용