[인공지능] 심층 신경망 (Deep Neural Network)

라떼뚜이·2025년 4월 22일

인공지능

목록 보기
5/23

들어가며

앞에서는 지금까지 단일 퍼셉트론부터, 은닉층이 존재하는 다층 퍼셉트론에 대해서 보았다. 지금 볼 심층 신경망은 Deep Neural Network에 해당하며 여러개의 은닉층을 가지고 있다. 이는 MLP(Multi-layer Perceptron)의 확장된 형태라고 보면된다. 모든 DNN은 MLP 구조를 기반으로 하지만, MLP 중 은닉층이 많은 구조를 DNN이라고 생각하면 된다. 아래는 단일 퍼셉트론, 다층 퍼셉트론, 심층 신경망의 도식화된 그림이다.

  • 3-Layer Perceptron 은 기본적인 다층 퍼셉트론 구조
  • n-Layer Perceptron 은 은닉층을 여러 개 쌓아 딥러닝이라고 부르며 복잡한 문제도 해결이 가능하다.


→ 서로 다른 레이어 타입을 혼합해서 사용하는 것이 일반적이다 !

딥 뉴럴 네트워크(DNN, Deep Neural Network) 는 뉴런의 연결 방식에 따라 여러 종류로 나뉜다.

  • Fully-Connected Network : 기본적인 MLP 구조
  • Convolutional Neural Network(CNN) : 이미지 처리에 강함
  • Recurrent Neural Network(RNN) : 시계열, 텍스트 등 순서가 중요한 데이터에 적합
  • 이외에도 다양한 변형이 존재한다. (LSTM, Transformer 등)

왜 딥러닝이 필요한가 ?

1. XOR 문제 해결

XOR문제는 선형 분리가 불가능하기 때문에 단일 퍼셉트론으로는 해결할 수 없다. 그러나, 은닉층을 도입하면 변환된 공간으로 매핑해서 선형 분리가 가능하다. 즉, 단순한 퍼셉트론이 해결하지 못하는 문제도 은닉층을 쌓으면 해결이 가능하다.

2. 추상화 수준이 높아짐

층을 깊게 쌓으면 추상화 수준이 높아진다.

  • 앞쪽은 선, 모서리 같은 low-level feature
  • 중간은 눈, 코 같은 mid-level feature
  • 뒤쪽은 얼굴 전체, 사람 이름 같은 high-level feature

딥러닝은 계층적으로 정보를 표현하므로 복잡한 문제도 처리할 수 있다.

  • 예를 들어, 사람 얼굴을 인식할 때는 피부색 → 눈 → 얼굴 → 사람 이름 순으로 추상화됨

그냥, 뉴런 수만 많은 얕은 네트워크를 사용하면 안됨 ?

  • 얕은 네트워크는 표현력의 한계가 있고 매우 많은 뉴런이 필요
  • 비효율적

반면, 깊은 네트워크는 재사용성과 표현력이 뛰어나다.


Forward Propagation (순전파)

입력 → 은닉층 → 출력층 으로 정보가 흐르며 계산되는 과정


경사하강법 (Gradient Descent)

앞서 다층 퍼셉트론에서 본 것처럼 딥러닝에서도 똑같이 작동된다.

출력층까지 전달된 오차가 은닉층의 가중치 하나 wijw_{ij}에 얼마나 영향을 주는지를 계산하는 방식이다.

➡ '출력층 오차 ∘ 그 오차가 은닉층까지 어떻게 영향을 미치는가 ∘ 해당 입력값' 을 전부 곱한게 하나의 가중치 wijw_{ij}에 미치는 영향이 된다.

출력층에서부터 오차를 구해서,
각 층마다 오차 ∘ 활성화 미분 ∘ 입력을 곱해서
기울기(gradient)를 구하고
그걸 다음 층으로 전파하는 방식

  1. forward propagation
  • 입력 → 은닉층 → 출력까지 계산
  • 최종 출력과 실제 값 비교해서 오차 계산
  1. backpropagation
  • 출력층부터 시작해서 각 층에 대해
    gradient 계산
    다음층으로 오차 전파
  1. 계산된 gradient를 기반으로 가중치와 편향을 갱신

정리

  1. 입력 데이터를 주면 → 순전파로 예측
  2. 정답과 비교해서 오차 계산
  3. 그 오차를 거꾸로 각 층에 전파해서
  4. 각 층의 기울기를 구하고
  5. 그걸 이용해서 경사하강법으로 파라미터 업데이트

하이퍼파라미터 (Hyperparameters)

사람이 직접 설정하는 학습 관련 설정값

Optimizer 관련

  • learning rate
  • epoch 수
  • batch size

구조 관련

  • 은닉층 수
  • 은닉 노드 수
  • 활성화 함수 수

모델 유형 관련

  • convolution layer
  • dense layer

좋은 성능을 위해서는 하이퍼파라미터 튜닝이 매우 중요하다

0개의 댓글