Data Science/AI

Deep Learning - DNN에 대해 알아보자 | ANN, DNN

토마토. 2021. 9. 25. 18:33

Index

  • 딥러닝
  • ANN
  • DNN

딥러닝

 

- 인공지능

인간의 지능을 기계 등에 인공적으로 구현한 것

 

- 머신러닝

컴퓨터가 명시적으로 프로그램 되지 않고도 학습할 수 있도록 하는 연구 분야

 

- 딥러닝

머신러닝의 한 분야로, 여러 비선형 변환기법의 조합을 통해 높은 수준의 추상화를 시도하는 머신러닝 알고리즘

 


ANN Artificial Neural Network

사람의 신경망 원리와 구조를 모방하여 만든 기계학습 알고리즘

 

Input data

Weight

Output data

nonlinear modeling

 

ANN의 공통 요소

뉴런(노드)

시냅스

weight

Bias

Activation Function

 

뉴런 Neuron

node, edge로 표현한다.

node : 단일 뉴런 연산

edge : 뉴런의 연결성

 

ANN은 최적의 weight, bias를 찾고자 한다.

input layer / hidden layer / output layer로 구성됨.

 

fully connected layer

이전 계층과 모든 뉴런이 서로 연결된 계층을 의미한다.

 

 

NN의 문제점

- vanishing gradient

: 층이 깊어질수록 역전파되는 기울기값이 작아져 0에 수렴하여, 학습이 잘 되지 않는 문제

- overfitting


DNN Deep Neural Network

- 입력층과 출력층 사이에 여러 개의 은닉층으로 이루어진 인공 신경망

- 비선형 관계 모델링

- 마찬가지로, 최적의 weight를 찾는 것이 목표이다.

 

DNN의 기본 구조

X : training data, W : weight

순 방향

x > WX > activation function > Y

역방향

loss(L) > back propagation 을 통한 가중치 업데이트

 

학습 방법

- GD (SGD, momentum..)

 

DNN의 문제점

overfitting

- 파라미터 수가 많을수록, train data에 과적합되기가 쉽다.

 

높은 시간 복잡도

 

-> L1, L2 Regularization

-> GPU, Mini batch, drop out