📍딥 뉴럴 네트워크(Deep Neural Network, DNN)이란?
- 딥 뉴럴 네트워크(Deep Neural Network, DNN)는 인공 신경망(Artificial Neural Network, ANN)의 한 형태로, 여러 개의 은닉층(hidden layers)을 포함한 신경망입니다
- 비선형도 가능 : 퍼셉트론의 한계(예측 변수와 결과 간의 관계가 비선형인 경우, 성능 저하)
📍Multi Layer Perceptron (MLP)
• MLP는 말 그대로 여러 perceptron을 결합한 알고리즘을 의미함
• 즉, 복잡한 문제들을 바로 해결하는 게 어렵다면 해결 할 수 있는 심플한 문제로 분해하여 해결을 하려는 접근 방법
• MLP는 비선형 활성화 함수와 역전파 알고리즘을 사용하여 학습하는 특징이 있습니다.
1. MLP의 구조
- 입력층(Input Layer): 입력 데이터를 받아들이는 층입니다.
- 은닉층(Hidden Layer): 입력층과 출력층 사이에 위치하며, 여러 개의 뉴런으로 구성됩니다. 비선형 활성화 함수를 사용하여 데이터를 변환하고, 네트워크의 표현력을 높입니다.
- 출력층(Output Layer): 최종 결과를 출력하는 층으로, 문제의 성격에 따라 회귀(regression) 또는 분류(classification) 결과를 도출합니다.
2. 활성화 함수 (Activation Function)
- 시그모이드(Sigmoid): \( \sigma(x) = \frac{1}{1 + e^{-x}} \)
- 하이퍼볼릭 탄젠트(Tanh): \( \tanh(x) = \frac{e^x - e^{-x}}{e^x + e^{-x}} \)
- 렐루(ReLU): \( \text{ReLU}(x) = \max(0, x) \)
📍학습방법
1. 순전파 (Forward Propagation)
입력 데이터를 네트워크를 통해 순차적으로 전달하여 최종 출력을 계산합니다.
2. 손실 함수 (Loss Function)
출력값과 실제 값 사이의 차이를 계산하여 손실(loss)을 구합니다.
- 평균 제곱 오차(MSE): \[L = \frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2\]
- 교차 엔트로피 손실(Cross-Entropy Loss): \[ L = -\frac{1}{n} \sum_{i=1}^{n} [y_i \log(\hat{y}_i) + (1 - y_i) \log(1\hat{y}_i)]\]
3. 역전파 (Backpropagation)
- 출력층에서 시작하여 각 층의 가중치에 대한 손실의 기울기를 계산
- 역전파 알고리즘은 MLP를 학습시키는 핵심 방법으로, 출력층에서부터 입력층으로 오차를 전파하여 가중치를 업데이트하는 과정
- 신경망 학습에서 손실(loss)을 최소화하기 위해 가중치(weight)를 조절하는 방법
- 오차 계산: 출력층에서 시작하여 각 층의 오차를 계산합니다.
- 기울기 계산: 각 층의 가중치에 대한 손실 함수의 기울기를 계산합니다.
- 가중치 업데이트: 기울기를 사용하여 가중치를 업데이트합니다. 일반적으로 경사 하강법(Gradient Descent)을 사용합니다.
\[\theta_{new} = \theta_{old} - \eta \cdot \nabla_\theta L\]
여기서 \( \theta \)는 가중치와 바이어스를 의미하고, \( \eta \)는 학습률(learning rate)입니다.
📍 과적합 방지 (Overfitting Prevention)
DNN은 데이터에 과적합(overfitting)될 수 있으므로, 이를 방지하기 위해 다양한 기법이 사용됩니다.
- **정규화 (Regularization)**: L1, L2 정규화를 통해 가중치를 규제합니다.
- **드롭아웃 (Dropout)**: 학습 중 일부 뉴런을 무작위로 비활성화하여 모델이 특정 뉴런에 의존하지 않도록 합니다.
- **데이터 증강 (Data Augmentation)**: 학습 데이터를 인위적으로 늘려 모델이 더 일반화된 패턴을 학습하도록 합니다.
📍 응용 분야
DNN은 다양한 분야에서 활용되고 있습니다.
- **컴퓨터 비전 (Computer Vision)**: 이미지 인식, 객체 검출, 이미지 생성 등
- **자연어 처리 (Natural Language Processing)**: 번역, 감성 분석, 챗봇 등
- **음성 인식 (Speech Recognition)**: 음성 명령 인식, 음성 합성 등
- **추천 시스템 (Recommendation Systems)**: 사용자 맞춤형 추천 등
'인공지능 > 머신러닝' 카테고리의 다른 글
Word Embedding( 단어 임베딩) (0) | 2024.06.15 |
---|---|
Text analysis (0) | 2024.06.14 |
KNN 알고리즘 (0) | 2024.06.12 |
Model Evaluation (0) | 2024.06.09 |