[Deep Learning] 신경망 구조

김희진·2021년 3월 29일

DeepLearning

목록 보기
6/12
post-thumbnail

📖 케라스 창시자에게 배우는 딥러닝 (프랑소와 숄레, 박해선, 길벗) 참고

🎀 Layer

층은 하나 이상의 텐서를 입력으로 받아 하나 이상의 텐서를 출력하는 데이터 처리 모듈이다. 대부분의 층은 weight, 가중치라는 층의 상태를 가진다. 가중치는 전 포스팅에서 설명한 경사하강에 의해 학습되는 텐서를 뜻한다. 이 가중치는 네트워크가 학습한 지식을 담고 있다.

  • Fully Connected Layer : 2D 텐서가 저장된 간단한 벡터 데이터
  • Dense Layer : 2D 텐서가 저장된 간단한 벡터 데이터
  • Recurrent Layer : 3D 텐서로 저장된 시퀀스 데이터
  • Convolution Layer : 4D 텐서로 저장된 이미지 데이터

각 층은 특정 크기의 입력 텐서만 받으며 특정 크기의 출력 텐서를 반환한다. 이를 Layer Compatibility, 층 호환성이라고 한다.

🎀 Model

딥러닝 모델은 층으로 만든 Directed Acyclic Graph, 비순환 유향 그래프이다.

  • 가지가 2개인 네트워크
  • 출력이 여러 개인 네트워크
  • 인셉션 블록
    등 다양한 네트워크 구조가 있다.

네트워크 구조는 Hypothesis Space 가설 공간을 정의한다. 네트워크 구조를 선택함으로써 가설 공간을 입력 데이터에서 출력 데이터로 매핑하는 일련의 특정 텐서 연산으로 제한하게 된다. 우리는 이 텐서 연산에 포함된 weight 텐서의 좋은 값을 찾는 것이 목표이다.

🎀 Loss Function & Optimizer

Loss Function 손실함수는 주어진 문제에 대한 성공 지표이며 훈련하는 동안 최소화되어야 하는 값이다.
Optimizer는 손실 함수를 기반으로 네트워크가 어떻게 업데이트될 것인지 결정한다.

여러 개의 출력을 가지는 신경망의 경우 여러 개의 손실 함수를 가질 수 있지만 경사 하강법 과정은 하나의 스칼라 손실 값을 기준으로 하기 때문에 모든 손실의 평균이 하나의 스칼라 양으로 합쳐지게 된다.

  • Binary Cross-Entropy Error
  • Categorical Cross-Entropy Error
  • Mean Squared Error

0개의 댓글