AI/DL

[DL] 신경망 (ANN, DNN, RNN, CNN)

죵욜이 2025. 2. 12. 09:37

지난 두 포스팅 신경망의 기본원리신경망의 동작원리 를  보고오면 이해가 더 빠릅니다.

 

우리는 신경망에대해 어느정도 이해도가 생겼다고 생각한다.

 

퍼셉트론이 어떤 한계점을 갖고있었으며 이를 해결하기위해 다층 퍼셉트론(MLP)이 탄생했고 이것이 

딥러닝 시대의 시작 을 열었다.

 

우리가 기본으로 배운 신경망 (Neural Network)은 인간의 사고를 흉내내기 위함이라 뉴런을 퍼셉트론으로 모델링하면서

생물학적 신경망을 모방한것이라 인공 신경망(Artificial Neural Network, ANN) 이라 부르며 거의 같다고 보면된다.


ANN (Artificial Neural Network) -> 인공 신경망

  • 입력층(Input Layer)
  • 은닉층(Hidden Layer)
  • 출력층(Output Layer)

으로 구성 되었으며

 

순전파 - 손실계산 - 역전파 방식으로 동작한다.

 

출력 레이어는 신경망의 최종 예측 값을 출력하는 층으로, 문제의 유형에 따라 다양한 형태로 구성될 수 있다.

  1. 회귀 문제 (Regression):
    • 출력 레이어의 뉴런 수는 예측하려는 연속적인 값의 차원과 동일
    • 활성화 함수로는 주로 선형 함수(linear function)를 사용
  2. 이진 분류 문제 (Binary Classification):
    • 출력 레이어의 뉴런 수는 1
    • 활성화 함수로는 시그모이드 함수(Sigmoid Function)를 사용하여 출력 값을 0과 1 사이의 확률로 변환
  3. 다중 클래스 분류 문제 (Multi-Class Classification):
    • 출력 레이어의 뉴런 수는 예측하려는 클래스 수와 동일
    • 활성화 함수로는 소프트맥스 함수(Softmax Function)를 사용하여 각 클래스에 대한 확률을 출력

DNN (Deep Neural Network, 심층 신경망)

 

  • ANN 을 깊게 쌓아 은닉층이 여러 개 존재하는 모델
  • DNN 이 나오며 학습능력과 문제 해결력이 폭발적으로 향상

특징

  • DNN은 ANN의 하위 개념, 즉 깊은 ANN을 의미함.
  • 일반적으로 3개 이상의 은닉층(Hidden Layer)이 있는 모델을 DNN이라고 함.
  • MLP(다층 퍼셉트론)도 은닉층이 많아지면 DNN이라고 볼 수 있음.

활용 분야

  • 고차원의 복잡한 데이터 분석.
  • 이미지 분류, 자연어 처리 등 다양한 분야에서 활용되지만, 기본적으로 CNN, RNN보다 단순한 구조.

정리: ANN과 DNN은 구조적으로 동일하지만, DNN은 ANN보다 더 깊은 신경망을 의미

 

은닉층이 많은 ANN -> DNN


CNN (Convolutional Neural Network, 합성곱 신경망)

  • 이미지, 영상, 공간적 데이터를 처리하는 데 특화된 신경망

특징

  • 합성곱 연산(Convolution)과 풀링(Pooling) 기법을 사용하여 특징을 추출
  • 이미지의 공간적(위치적) 정보 유지 가능
  • Fully Connected Layer 대신 Conv Layer(합성곱층) + Pooling Layer(풀링층) + FC Layer(완전연결층) 구조

활용 분야

  • 이미지 인식 (Image Classification) → 예: ResNet, VGG, EfficientNet
  • 객체 탐지 (Object Detection) → 예: YOLO, Faster R-CNN
  • 자율주행, 의료 영상 분석, 얼굴 인식 등

정리: CNN은 ANN/DNN과 달리, 이미지 데이터를 처리하는 데 최적화된 신경망


RNN (Recurrent Neural Network, 순환 신경망)

  • 연속적인(시계열) 데이터를 처리하는 데 특화된 신경망

특징

  • 이전 시점의 정보를 기억하고, 다음 단계 계산에 활용할 수 있음.
  • 시퀀스 데이터를 다룰 때, 기존 신경망(ANN, DNN)은 독립적인 입력을 처리하지만, RNN은 연속적인 입력을 고려함.
  • 단점: 장기 의존성 문제(Long-Term Dependency) → LSTM, GRU 같은 변형 RNN으로 해결.

활용 분야:

  • 자연어 처리 (NLP, Natural Language Processing) → 번역, 챗봇 (예: Transformer 이전 모델들)
  • 음성 인식 → Siri, Google Assistant 등
  • 주식 가격 예측, 시계열 데이터 분석

정리: RNN은 CNN처럼 공간적 정보를 보는 게 아니라, 시간 순서(시퀀스) 데이터를 다룸


RNN 은 DNN 의 한계점 -> 순서데이터, 시퀀스형 데이터 를 처리하는데(예측) 한계를 느낌

을 해결하기위해 등장했고

내가 공부할 LLM 의 할아버지 격이다.

그래서 조금더 다뤄보고자 한다.

 

RNN의 기본 구조

  • 순환 신경망(Recurrent Neural Network, RNN)은 시계열 데이터나 순차적인 데이터를 처리하기 위해 설계된 신경망
  • RNN은 이전 시간 단계의 정보를 현재 시간 단계로 전달해, 시퀀스 데이터의 패턴을 학습할 수 있다.

 

RNN 의 동작 원리

  • 순환 구조
    • RNN은 입력 데이터와 이전 시간 단계의 은닉 상태(hidden state)를 입력으로 받아, 현재 시간 단계의 은닉 상태를 출력
    • 은닉 상태는 시퀀스의 정보를 저장하고, 다음 시간 단계로 전달
  • 동작 원리
    • RNN은 시퀀스의 각 시간 단계에서 동일한 가중치를 공유하여, 시퀀스의 패턴을 학습
    • 순전파(Forward Propagation)와 역전파(Backpropagation Through Time, BPTT)를 통해 가중치를 학습

 


LSTM 과 GRU

  • RNN은 장기 의존성 문제(long-term dependency problem)를 겪을 수 있습니다. 이를 해결하기 위해 LSTM과 GRU가 개발되었습니다.

 

LSTM(Long Short-Term Memory)

  • LSTM은 셀 상태(cell state)와 게이트(gate) 구조를 도입, 장기 의존성을 효과적으로 학습가능 합니다.
  • LSTM은 입력 게이트(input gate), 출력 게이트(output gate), 망각 게이트(forget gate)를 사용하여 정보를 조절합니다.

GRU (Gated Recurrent Unit)

  • GRU는 LSTM의 변형으로, 셀 상태 대신 은닉 상태(hidden state)만을 사용하여 구조를 단순화합니다.
  • GRU는 업데이트 게이트(update gate)와 리셋 게이트(reset gate)를 사용하여 정보를 조절합니다.

 

차이점

  • LSTM은 셀 상태와 은닉 상태를 모두 사용하며, 더 복잡한 게이트 구조를 가집니다.
  • GRU는 은닉 상태만을 사용하며, 더 간단한 게이트 구조를 가집니다. 따라서 계산 비용이 적고, 학습이 빠를 수 있습니다.

 


RNN을 이용한 시계열 데이터 처리 방법

RNN은 시계열 데이터나 순차적인 데이터를 처리하는 데 적합합니다. 예를 들어, 주식 가격 예측, 날씨 예측, 텍스트 생성 등이 있습니다.

  1. 데이터 전처리:
    • 시계열 데이터를 적절한 형태로 변환하고, 정규화(normalization)합니다.
    • 입력 시퀀스와 출력 시퀀스를 정의합니다.
  2. 모델 구축:
    • RNN, LSTM, GRU 등의 모델을 정의합니다.
    • 입력 크기, 은닉 상태 크기, 출력 크기 등을 설정합니다.
  3. 모델 학습:
    • 손실 함수와 최적화 알고리즘을 정의합니다.
    • 순전파와 역전파를 통해 모델을 학습시킵니다.
  4. 모델 평가:
    • 테스트 데이터를 사용하여 모델의 성능을 평가합니다.

 

'AI > DL' 카테고리의 다른 글

[DL] 어텐션 (Attention)  (0) 2025.02.16
[DL] 신경망의 동작원리  (0) 2025.02.06
[DL] 신경망의 기본원리  (0) 2025.01.24
[DL] 딥러닝이란?  (0) 2025.01.09