수식이 나오지 않는다면 새로고침(F5)을 해주세요
모바일은 수식이 나오지 않습니다.
📌 인공신경망(ANN)이란?
1. ANN 기본 개념
인공신경망(Artificial Neural Network, ANN)은 인간의 두뇌 신경세포(뉴런)의 구조와 작동 원리를 본떠 만든 컴퓨팅 모델이다. 사람의 뇌는 수십억 개의 뉴런이 서로 연결되어 정보를 전달하고 처리하는데, ANN은 이 개념을 수학적으로 모델링하여 데이터로부터 학습하고, 예측하고, 분류할 수 있는 시스템을 구현한다.
초기의 ANN은 단순한 입력-출력 관계를 학습하는 모델이었지만, 현재에 와서는 딥러닝(Deep learning)의 근간이 되는 구조로 발전하여 이미지 인식, 자연어 처리, 게임, 자율주행 등 다양한 분야에서 활용되고 있다.
2. ANN의 알고리즘 구조
1) 기본 구조
ANN은 입력층, 은닉층, 출력층의 세 가지 계층으로 구성된다.
- 입력층 : 학습할 데이터를 입력받는 층. 예: 이미지의 픽셀 값, 주가 수치 등
- 은닉층 : 입력을 처리하고, 중간 표현을 학습하는 층. 하나 또는 여러개가 존재할 수 있다.
- 출력층 : 최종 결과를 출력, 분류 문제라면 Softmax를, 회귀 문제라면 선형 함수를 일반적으로 사용한다.
2) 뉴런의 연산 방식
- Forward Propagation (순전파) :
(1) 입력 벡터 $\mathbf{x}$가 가중치 벡터 $\mathbf{w}$와 곱해진다. > $z = \mathbf{w}^t\mathbf{x} + b$
(2) 비선형 활성화 함수 $f$를 적용하여 출력을 생성 > $a = f(z)$
여기서 $b$는 편향(bias)
- Loss Function (손실함수) :
모델의 예측값과 실제 정답의 차이를 계산하는 함수 (예: MSE[회귀], Corss-Entropy[분류])
- Backward Propagation (역전파) :
손실 함수의 값을 줄이기 위해 기울기(Gradient)를 계산하고, 가중치 $\mathbf{w}$와 편향 $b$를 업데이트. 이 때 사용하는 것이 경사하강법
3) 요약
1. 입력값 $\mathbf{x}$를 뉴런에 전달 > 출력값 $a$ 계산
2. 손실 함수로 예측값과 실제값의 차이 계산
3. 역전파로 각 가중치의 기울기 계산
4. 경사하강법으로 가중치 조정
5. 이 과정을 반복하면서 모델을 최적화
3. ANN의 장점과 단점
1) 장점
- 비선형 함수 학습 가능
- 범용 근사기(Universal Approximator) : 수학적으로 ANN은 많은 뉴런과 은닉층이 있다면 어떤 연속적인 함수도 근사 할 수 있음
- 다양한 문제 적용 가능 : 스팸 메일 분류, 주식 가격 예측, 패턴 인식 등
- 데이터 기반 학습 : 사전 정의된 규칙이 없어도 데이터만 주어지면 자동으로 규칙 학습 가능
2) 단점
- 복잡한 문제에 대한 한계
: ANN은 기본적으러 은닉층이 1~2개 정도인 얕은 구조(Shallow Network)로, 고차원 복잡한 문제(이미지, 음성 인식)를 처리하는데 어려움
- 과적합 위험
- 계산 비용과 시간
- 지역 최솟값 (Local Minima) 문제
: 손실 함수가 비선형일 때, 경사하강법이 전역 최솟값이 아닌 지역 최솟값에 머물 가능성이 존재.
> 추가 설명 자료
[Deep Learning] 경사하강법과 역전파 알고리즘
경사하강법(Gradient Descent)와 역전파 알고리즘(Backpropagation)은 딥러닝하면 빼놓을 수 없이 항상 같이 나오는 알고리즘들 입니다. 이들이 뭐고 왜 중요할까요? 딥러닝의 학습 구조는 크게 아래와 같
datanovice.tistory.com
📌 딥 뉴럴 네트워크란(DNN)?
1. DNN의 기본 개념
딥 뉴럴 네트워크(Deep Neural Network, DNN)은 말 그대로 깊은 인공신경망이다.
기존의 얕은 구조를 가진 ANN은 은닉층이 1~2개에 불과했지만, DNN은 은닉층을 여러 개(3개 이상) 쌓은 구조로 훨씬 복잡한 패턴까지 학습할 수 있다.
이 깊은 구조 덕분에 DNN은 이미지 인식, 자연어 처리, 음성 인식, 자율 주행 등 고차원 문제를 효과적으로 해결할 수 있는 기반이 되었다.
2. DNN의 알고리즘 구조
항목 | ANN | DNN |
은닉층 수 | 1~2개 | 3개 이상 |
학습 능력 | 단순 함수 근사 | 복잡한 고차원 함수 근사 |
특징 추출 방식 | 입력 -> 추출 직접 연결 | 단계별 특징 추출 (low-level to high-level) |
- 저층 (lower layers) : 입력 데이터의 기본 특징 추출
- 중간층 (Mid layers) : 추출한 특징의 조합 학습
- 고층 (Higher layers) : 최종적으로 의미 있는 패턴 생성
층이 깊어지면서 ANN이 겪었던 기울기 소실, 과적합, 계산량 문제를 해결하기 위해 다음 기술들이 도입되었음
- ReLU : Sigmoid, Tanh 대신 사용되는 활성화 함수로 기울기 소실 문제 완화
- Dropout : 일부 뉴런을 랜덤하게 비활성화시켜 과적합 방지
- Batch Normalization : 학습 안정성 향상 및 수렴 속도 개선
- Adam Optimizer : SGD보다 빠르고 안정적인 가중치 업데이트 방법
- GPU 병렬 연산 : 대규모 연산을 빠르게 수행 가능하게 함
> 추가 설명 자료
활성화 함수들의 정의와 활용 : 시그모이드, 소프트맥스, ReLU, Leakly ReLU
📌 활성화 함수(Activation Functions)?? 머신 러닝과 딥러닝에서, 특히 딥러닝에서 활성화 함수는 신경망의 핵심 요소 중 하나로, 모델이 복잡한 문제를 해결할 수 있도록 합니다. 활성화 함수는 신경
datanovice.tistory.com
드롭 아웃(Drop out)과 정규화(Regularization)
뉴럴네트워크에서 또한 정규화가 이루어집니다. 추가로 과적합을 피하기 위한 다른 방법인 드롭아웃에 대해 알아보겠습니다. 📌 정규화(Regularization) 정규화를 통해 모델 복잡성을 제어하여 과
datanovice.tistory.com
경사 하강법 : 배치, 확률적, 미니 배치 경사하강법(Batch, Stochastic, Mini Batch)
이번 포스팅은 경사 하강법입니다. 굳이 Deep learning 카테고리에 추가 안 해도 됐지만.. 뉴럴 네트워크와 연결되니 여기에 포스팅하는 걸로! 📌 Batch Gradient Descent(배치경사하강법) 앞선 포스팅에
datanovice.tistory.com
3. DNN의 장점과 단점
1) 장점
- 고차원 특징 학습
: DNN은 데이터에서 추상적이고 고차원적인 특징을 자동으로 학습할 수 있다.
- 이미지, 텍스트, 음성 등 다양한 데이터 처리
: CNN, RNN, Transformer 같은 도메인 특화 딥러닝 모델들도 모두 DNN을 기반으로 만들어진 것이고, 다양한 현태의 데이터에도 강하다
- End to End 학습 가능
: 전통적인 머신러닝처럼 특징 추출, 전처리, 분류기가 따로 분리되어 있지 않고, 하나의 모델이 처음부터 끝까지 모든 과정을 자동 학습함.
2) 단점
- 대용량 데이터 필요
- 연산 자원 소모
- 해석력 부족 (Balck Box의 문제)
'👨💻 Deep Learning > Deep learning' 카테고리의 다른 글
[Deep Learning] RNN에 대한 기본 설명 (0) | 2025.05.22 |
---|---|
[Deep Learning] CNN에 대한 기본 설명 (with pooling, padding) (0) | 2025.05.20 |
[Deep Learning] 경사하강법과 역전파 알고리즘 (0) | 2025.05.13 |
[Pytorch] squeeze, unsqueeze 란? (0) | 2025.04.21 |
[Pytorch] ANN 구현과 용어 설명 (0) | 2025.02.12 |