일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- machinelearning
- 결정계수
- dataframe
- 선형회귀분석
- GridSearchCV
- DataScience
- 딥러닝
- 데이터전처리
- 비지도학습
- LinearRegression
- scikitlearn
- 의사결정나무
- deeplearning
- OrdinalEncoder
- RegressionTree
- 지도학습
- ML
- LogisticRegression
- time series
- Python
- 다중선형회귀분석
- 분류
- 시계열 데이터
- 데이터분석
- 잔차분석
- 손실함수
- 로지스틱회귀분석
- 하이퍼파라미터
- 시계열데이터
- 단순선형회귀분석
- Today
- Total
IE가 어른이 되기까지
[Deep Learning] 딥러닝이란 ? 본문
기계학습이란 주어진 데이터를 바탕으로 지식을 자동으로 습득하여
스스로 성능을 향상하도록 하는 기술입니다.
데이터를 기반으로 모델을 자동으로 생성한 후,
규칙이나 패턴을 발견하여 미래를 예측하기도 합니다.
인공신경망 (ANN, Artificial Neural Network)
1943년 사람의 생물학적 신경세포를 모델링한
맥클로크 - 피츠 모델이 등장합니다.
뉴런의 수상돌기는 인공신경망 모델 (ANN) 에서
수치화된 값을 입력하는 역할을 합니다.
시냅스는 노드 간의 연결 세기로 표현되며
세포체는 연산자를 통한 가중합을 구현합니다.
마지막 임계치는 활성함수를 통해 구현을 하게 됩니다.
하지만 이러한 인공신경망에도
한계가 존재합니다.
이러한 경우엔 하나의 직선으로
파란색과 빨간색 점을 구별해 낼 수 없습니다.
다층신경망 (DNN, Deep Neural Net)
이러한 한계점을 해결할 수 있는 다층신경망이
등장합니다.
이를 해결하기 위해 여러 개의 퍼셉트론을
여러 층으로 연결하여 복잡한 영역을 곡면으로 둘러싸는
결정영역을 구할 수 있게 됩니다.
이때 Hidden Layer (은닉층) 이
2개 이상이 있을 때를 DNN (Deep Neural Network) 이라고
정의합니다.
이러한 DNN을 학습하는 알고리즘을
딥러닝이라고 부릅니다.
경사 하강법
이러한 인공신경망의 가장 큰 목표는
적절한 가중치를 찾는 것입니다.
적절한 가중치를 찾기 위해선 전체 학습 데이터에 대한
전체 오차를 최소화하는 방향으로 가중치(w)를 업데이트합니다.
Loss Function (손실함수) 을 최소화하는 가중치를 찾는 대표적인 방법으론
경사 하강법 (gradient descent) 이 있습니다.
이는 Loss Function의 최솟값을 찾기 위해
기울기 (gradient) 를 구하고 지속적으로 변화시켜 가며
최적의 가중치를 탐색합니다.
Loss Function의 최솟값은 미분하여 기울기가 0일 때가 될 것입니다.
활성함수
마지막으로 인공신경망 구조에서
거듭 강조되는 활성함수에 대해 알아보도록 하겠습니다.
활성함수는 이전 층 (Layer) 의 결과값을 반환하여
다른 층의 뉴런으로 신호를 전달하는 역할을 합니다.
특히 앞서 말했던 인공신경망의 한계점이었던 비선형 문제를
해결하는 데에 중요한 역할을 합니다.
활성함수를 통해 입력값에 대한 출력값이 비선형적으로 나오기 때문에
활성함수로 비선형 함수만을 사용하게 됩니다.
1. Sigmoid
모든 실수 입력값을 0보다 크고 1보다 작은 미분 가능한 수로
변환하는 활성함수로 0과 1 사이의 확률 값을
얻고자 할 때 사용합니다.
2. ReLU
입력값이 0보다 작으면 0으로 출력,
0보다 크면 입력값 그대로 출력하는 활성함수로 딥러닝에서
가장 많이 사용됩니다.
3. Softmax
세 개 이상으로 분류하는 다중 클래스 분류에서 사용되는 활성함수로
각 클래스에 속할 확률을 추정합니다.
역전파 알고리즘
처음 DNN이 등장했을 땐, 비선형 문제를 해결을 할 수는 있으나
학습시키는 방법이 존재하지 않았습니다.
이때 역전파 알고리즘이 등장하게 됩니다.
역전파 알고리즘은 input과 output을 모두 알고 있는 상태에서
신경망을 학습시키는 방법입니다.
실제값과 모델의 예측 결과인 output이 어라나 차이가 나는지를 확인하고
그 오차를 줄이기 위해 가중치와 편향을 뒤에서부터 앞으로
업데이트시켜나갑니다.
기계학습 (인공지능) vs 딥러닝
기존 데이터 마이닝 알고리즘은
중요한 변수를 선택하고 학습한 후 예측하였습니다.
이때 변수가 적절하지 않으면 예측값이 실제값과의 차이를 보이기도 했습니다.
딥러닝은 변수를 선택하고 학습하는 과정을 하나로 통일하여
원하는 결과값이 나오도록 계속 새로운 변수를 만들어낸다는 장점이 존재합니다.
하지만 그만큼 어떠한 변수가 중요한지 알 수 없는
블랙박스와도 같은 특성을 지녔습니다.
'DL > Algorithms' 카테고리의 다른 글
[Deep Learning] Convolutional Neural Network (CNN) (0) | 2023.02.28 |
---|---|
[Deep Learning] Generative Adversarial Network (GAN) (0) | 2023.02.17 |
[Deep Learning] AutoEncoder (AE) (0) | 2023.02.17 |