일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- flask
- Wil
- 코딩테스트
- 도커
- SQL
- 장고
- ERD
- 세션(Session)
- viewsets
- 자료구조
- NoSQL
- github
- Til
- 오블완
- django
- 연습
- git
- CS
- Doker
- web
- redis
- JWT
- Python
- 티스토리챌린지
- 쿠키(cookie)
- 파이썬
- nginx
- 개발공부
- 아티클 스터디
- docker
- Today
- Total
SteadyDrills
딥러닝(deep learning) 개론 본문
250203
딥 러닝이란?
딥러닝의 정의
딥러닝(Deep Learning)은 인공지능(AI)의 한 분야로, 인간의 뇌 신경망을 모방한 인공신경망(Artificial Neural Network, ANN)을 활용하여 데이터를 학습하는 기술 심층 신경망(Deep Neural Network, DNN)을 활용하여 데이터를 학습하고 패턴을 추론하는 기술이다. 알고리즘을 통해 스스로 특징을 학습하고 특징을 추출한다.
*머신러닝과 딥러닝의 차이
구분 | 머신러닝(ML) | 딥러닝(DL) |
학습 방식 | 사람이 설계한 특징 기반 학습 | 스스로 특징 학습 |
데이터 요구량 | 비교적 적은 데이터 | 많은 데이터 |
복잡성 및 성능 | 단순한 문제에 적합 | 복잡한 문제에 뛰어난 성능 |
특징 추출 | 사람이 직접 추출 | 알고리즘이 자동 추출 |
딥러닝의 주요 개념
- 신경망의 구조
퍼셉트론(Perceptron)
퍼셉트론은 DL의 신경망의 기본 단위로, 사람의 뉴런(neuron) 동작과정을 흉내내어 만든 수학적 모델. 입력값을 받아 가중치를 적용한 후 활성화 함수(Activation Function)를 거쳐 출력값을 생성하는 구조로 되어있으며, 단순한 선형 분류 문제를 해결할 수 있다.
수식
Y=f(WX+b)Y = f(WX + b)
여기서,
- XX : 입력 벡터
- WW : 가중치 벡터
- bb : 편향(bias)
- f(⋅)f(\cdot) : 활성화 함수
- YY : 출력값
다층 신경망 (Multi-Layer Perceptron, MLP)
단일 퍼셉트론으로는 XOR 문제와 같은 비선형 문제를 해결할 수 없음. 이를 보완하기 위해 생겨 난게 다층 신경망(MLP)으로
MLP는 입력층(Input Layer), 은닉층(Hidden Layer), 출력층(Output Layer)으로 구성되며, 각 층에서 활성화 함수를 적용하여 데이터를 비선형 변환한다.
활성화 함수 (Activation Function)
활성화 함수는 뉴런이 출력할 값을 결정하는 함수로, 비선형성을 추가하여 신경망이 복잡한 패턴을 학습할 수 있도록 돕는다.
대표적인 활성화 함수
- 시그모이드(Sigmoid): f(x)=11+e−xf(x) = \frac{1}{1+e^{-x}}
- ReLU (Rectified Linear Unit): f(x)=max(0,x)f(x) = max(0, x)
- 소프트맥스(Softmax): 다중 클래스 분류에서 확률을 출력하는 함수
- 딥러닝 학습
순전파 (Forward Propagation)
입력 데이터를 신경망을 통해 흐르게 하여 예측값을 출력하는 과정. 각 층의 노드에서 가중치와 편향을 적용하고 활성화 함수를 거쳐 다음 층으로 전달.
손실 함수 (Loss Function)
모델이 출력한 예측값과 실제 정답 간의 차이를 정량적으로 측정하는 함수로, 일반적으로 다음과 같은 손실 함수를 사용한다.
- MSE(Mean Squared Error, 평균 제곱 오차): 회귀 문제에서 사용
- 크로스 엔트로피(Cross Entropy): 분류 문제에서 사용
역전파 (Backpropagation)
오차를 최소화하기 위해 가중치를 업데이트하는 과정으로, 각 층에서 오차를 계산하고, 체인 룰(Chain Rule)을 이용하여 가중치의 기울기(Gradient)를 구한 뒤, 이를 기반으로 가중치를 조정한다.
최적화 알고리즘 (Optimization Algorithm)
신경망을 학습할 때 가중치를 효율적으로 업데이트하는 알고리즘이다.
- 확률적 경사 하강법(SGD, Stochastic Gradient Descent)
- Adam(Adaptive Moment Estimation): 학습 속도를 자동으로 조절하는 방법
- RMSProp (Root Mean Square Propagation): 변화량이 큰 가중치의 학습률을 줄이는 방식
-딥러닝의 발전
합성곱 신경망 (Convolutional Neural Network, CNN)
CNN은 이미지 데이터를 처리하는 데 특화된 신경망 구조로, 합성곱 레이어(Convolution Layer)와 풀링 레이어(Pooling Layer)를 사용하여 특징을 추출하고, 최종적으로 완전 연결층(Fully Connected Layer)에서 예측을 수행한다.
CNN의 대표적인 모델 예시
- LeNet-5 (1998)
- AlexNet (2012)
- VGGNet (2014)
- ResNet (2015)
순환 신경망 (Recurrent Neural Network, RNN)
RNN은 시퀀스 데이터를 처리하는 데 적합한 신경망 구조이다. 이전 단계의 출력을 다음 단계로 전달하여 시간적 패턴을 학습할 수 있다. 하지만, 장기 의존성 문제(Long-Term Dependency Problem)가 발생하여 이를 해결하기 위해 LSTM(Long Short-Term Memory)과 GRU(Gated Recurrent Unit) 같은 개선된 구조가 등장하였습니다.
트랜스포머 (Transformer)
트랜스포머는 자연어 처리(NLP)에서 혁신적인 성과를 거둔 모델로, 셀프 어텐션(Self-Attention) 메커니즘을 활용하여 문장 내 단어 간 관계를 학습합니다. 대표적인 트랜스포머 기반 모델에는 BERT, GPT, T5 등이 있다.