신경망 구성

suhan cho·2022년 5월 20일
0

신경망 구성

  • 입력층: 입력 특성들의 층 a[0]로 표기
  • 은닉층: 입력층과 출력층 사이에 있는 모든 층
  • 출력층: 출력 특성들의 층

신경망의 개수를 셀 때 입력층은 세지 않는다. 입력층은 공식적인 신경망으로 치지 않음

  • 위 그림은 1개의 은닉층을 가지는 얕은 신경망으로 1개의 각 입력층, 은닉층, 출령층을 가지고 있다
  • 은닉층이(4x3) 벡터로
    • 4행은 첫 번째 좌표로 해당 층(은닉층)에 있는 노드 의미
    • 3열은 두 번째 좌표로 입력 특성(입력층)이 3개를 가지고 있다는 것을 의미
  • 출력층이 (2x4) 벡터로
    • 2행은 첫 번째 좌표로 해당 층에 있는 노드를 의미
    • 4열은 두 번째 좌표로 입력 특성이 4개를 가지고 있다는 것을 의미

  • 신경망 a[m]n에서
    • m은 은닉층, 출력층 등인 레이어를 의미
    • n은 해당 레이어의 구성 요소인 노드를 의미

신경망 출력 계산

입력값이 노드를 통과할 때, 두 가지 과정을 거치게 된다

  • 입력 함수 z=wX + b (w=가중치 b=잔차), 활성화 함수 sigmoid인 층에서
    (1) 입력값이 해당 층에서 함수 z가 실행되고, (2)활성화 함수 sigmoid함수 실행
  • 예측값은 심층 신경망인 경우 다음 층에서 새로운 입력값으로 적용되고 여은 신경망에서 결과로 출력

  • 벡터화에서 표기법을 정확하게 입력하는 것이 중요
    [0] 입력층, [1] 은닉층, [2] 출력층
    (1),(2)는 1번째, 2번째 훈련 샘플을 의미

벡터화

활성화 함수

sigmoid 함수

  • 0에서 1사이의 값을 가진다.
  • 은닉층에서는 별로 사용하지 않지만, 이항분류에서는 사용하기도 한다
  • 기준값을 0.5로 설정하면, 결과값이 0.5이상인 경우 분류에 해당하고, 반대로 0.5미만인 경우 분류에 해당하지 않는 것으로 계산
  • tanh함수는 -1에서 1사이값 가지기에, 이항분류는 0과1 사이값을 가지는 시그모이드가 효율적
  • 큰 양수, 큰 음수값을 가질 경우 기울기가 0에 가까워져 경사하강법이 매우 느려짐

Tanh 함수

  • -1에서 1사이의 값을 갖는다.
  • 평균값이 0이기 때문에, 데이터를 원점으로 이동하는 효과 있다
  • 평균이 0.5인 sigmoid함수보다 더 효율적
  • 큰 양수, 큰 음수값을 가질 경우 기울기가 0에 가까워져 경사하강법이 매우 느려짐

Relu 함수

  • 입력값이 0보다 작으면 0을 출력, 0보다 크면 입력값 그대로 출력

  • a=max(0,z)로 음수일 때 기울기는 0이지만, 양수일 때는 자기 자신이기에 기울기 1이다.

  • 다른 함수에 비해 0보다 큰 활성화 함수의 미분 값이 많아서 빠르게 학습 가능

  • 음수 경우 미분 값이0이기에, 이를 대비하여 음수에 약간의 기울기를 가지는 leaky Relu함수가 있다

profile
안녕하세요

0개의 댓글