딥러닝(알고리즘)
딥러닝 특징
딥러닝 이란? : 여러 비선형 변환기법의 조합을 통해 높은 수준의 추상화를 시도하는 기계학습 알고리즘의 집합이다.
ANN, DNN, CNN, RNN
-
ANN(Artificial Neural Network)
-
ANN 이란: 머신러닝의 한 분야인 딥러닝은 인공신경망을 기초로 하고 있는데, 인공신경망이라고 불리는 ANN은 사람의 신경망 원리와 구조를 모방하여 만든 기계학습 알고리즘이다.
-
신경망은 다수의 입력 데이터를 받는 입력층, 데이터 출력을 담다아는 출력층, 입력층과 출력층 사이에 존재하는 은닉츠잉 존재한다.
-
은닉층에서 활성화 함수를 사용하여 최적의 weight와 bias를 찾아내는 역할을 한다.
-
ANN의 문제점: 학습과정에서 파라미터의 최적값을 찾기 어렵다.(weight가 0과 1사이면 한없이 작아지고 1보다 크면 한없이 커지기 때문), Overfitting 문제, 학습시간이 너무느리다.
-
-
DNN(Deep Neural Network)
-
ANN 기법의 여러문제가 해결되면서 모델 내 은닉층을 많이 늘려서 학습의 결과를 향상시킨다.
-
은닉층을 2개이상 지닌 학습 방법을 뜻합니다.
-
DNN을 응용한 알고리즘이 바로 CNN,RNN,LSTM,GRI 등이 있다.
-
-
CNN(Convolution Neural Network)
-
기존은 데이터에서 지식을 추출해 학습이 이루어지는 방식이라면, CNN은 데이터의 특징을 추출하여 특징들의 패턴을 파악하는 구조이다.
-
Convolution과정과 Pooling 과정을 통해 진행된다.
-
Convolution과정은 데이터의 특징을 추출하는 과정으로 데이터에 각 성분의 인접 성분들을 조사해 특징을 파악하고 파악한 특징을 한장으로 도출하는 과정이다.
- Pooling과정은 Convolution 과정을 거친 레이어의 사이즈를 줄여주는 과정으로 단순히 데이터의 사이즈를 줄여주고, 노이즈를 상쇄시켜준다.
- Flatten은 CNN에서 Convolution Layer와 Pooling Layer과정을 반복적으로 거치면서 주요 특징만 추출되는데 이 때 추출된 주요 특징은 2차원 데이터로 이루어져 있지만 Dense와 같이 분류를 위한 학습 레이어에서는 1차원 데이터로 바꾸어서 학습이 되어야 한다. 이때 Flatten이 이 역할을 수행한다.
-
-
RNN(Recurrent Neural Network)
-
반복적이고 순차적인 데이터학습에 특화된 인공신경망의 한 종류로써 내부의 순환구조가 들어있다는 특징을 가지고 있다.
-
순환구조를 이용하여 과거 학습의 weight를 통해 현재 학습에 반영한다.
-
Leave a comment