[DNN] 신경망의 구조

올리브수
|2022. 2. 7. 04:40
728x90

층(Layer)

  • 완전 연결 층(fully connected layer) = 밀집 층(dense layer)
    • 한 층의 모든 뉴런이 다음층의 모든 뉴런과 연결된 상태
    • 목적 : Convolution / Pooling 의 결과를 취하여 이미지를 정의된 라벨로 분류
    • 과정 : 활성화 함수로 뉴런 활성화 → 분류(Softmax) 함수로 분류
  • 밀집 층(dense layer)
    • 다층 퍼셉트론 신경망에서 사용되는 레이어
    • 목적 : 입력과 출력을 모두 이어준다.
tf.keras.layers.Dense(
    units,
    activation=None,
    use_bias=True,
    kernel_initializer="glorot_uniform",
    bias_initializer="zeros",
    kernel_regularizer=None,
    bias_regularizer=None,
    activity_regularizer=None,
    kernel_constraint=None,
    bias_constraint=None,
    **kwargs
)
  • 밀집 연결 층(densely connected layer)
  • 순환 층(recurrent layer)

 


손실함수

  • Reference
 

Binary crossentropy loss function | Peltarion Platform

The loss function binary crossentropy is used on yes/no decisions, e.g., multi-label classification. The loss tells you how wrong your model's predictions are.

peltarion.com

 


이진 크로스엔트로피(binary crossentropy)

  tf.keras.losses.BinaryCrossentropy(
      from_logits=False, label_smoothing=0, axis=-1,
      reduction=losses_utils.ReductionV2.AUTO, name='binary_crossentropy'
  )
  • 이진 분류 작업에 이용
  • 각 분류가 이진 선택(예 또는 아니오, 0 또는 1)으로 축소될 수 있는 경우 사용한다.
  • Sigmoid 함수와 호환이 가능하다.
 

범주형 크로스엔트로피(categorial crossentropy)

  tf.keras.losses.CategoricalCrossentropy(
      from_logits=False, label_smoothing=0, axis=-1,
      reduction=losses_utils.ReductionV2.AUTO,
      name='categorical_crossentropy'
  )
  • 다중 클래스 분류 작업에 이용
  • 가능한 많은 범주 중 하나에만 속해야 할 경우 사용한다.
  • Softmax 함수와 호환이 가능하다.

 


$$
L(y, ŷ) =
\frac{1}{N} ∑^N_{i=0} (y−y_i)^2
$$

tf.keras.losses.MeanSquaredError(
    reduction=losses_utils.ReductionV2.AUTO, name='mean_squared_error'
)

평균 제곱 오차(MSE)

  • 회귀 분석 시 사용
  • 손실 값은 실제 값과 예측 값 사이의 제곱차의 평균이 된다.
  • 💡 제곱인 이유?
    음의 값과 양의 값을 모두 처리해주기 위함

 

 

728x90