Training Neural Network

jbro321·2022년 2월 22일
0

AI부트캠프_Section_04

목록 보기
2/12

Training Neural Network


Neural Networks


1.


QnA
신경망 학습 과정

  • 순전파
    • 입력층 - 은닉층 - 출력층
    • 가중합, 활성화 함수 반복적 시행
  • 손실함수
    • 순전파 -> 예측값 - 타겟값 차이
    • 손실함수 ex)케라스 기준
      • 회귀 : mse
      • 이중 분류 : binary_crossentropy
      • 다중 분류 : categorical_crossentropy(원핫 001 010 100),
        sparse_categorical_crossentropy(정수형 0 1 2)
  • 역전파
    • 손실함수 출력층 -> 입력측
    • 손실 줄이는 방향으로 가중치 업데이트 -> 경사하강법

역전파

  • 경사하강법(GD)
    • 가중치 수정 방향 결정
    • 손실함수 미분값(기울기) -> 작아지도록 가중치 변경
  • 편미분, 체인룰
    • 가중치 기울기 -> 손실함수를 해당 가중치로 편미분
    • 모든 가중치 값 -> 체인룰
  • 옵티마이저
    • 경사를 내려가는 방법 결정
    • GD -> 모든 데이터 사용 -> 느림
    • SGD -> 1개 데이터 사용 -> 빠름 / 불안정한 경사하강
    • 미니 배치 GD -> n개 데이터
      배치 사이즈 : 클수록 안정적, 2의 배수
      배치 크기는 보통 2의 제곱수를 사용합니다. ex) 2, 4, 8, 16, 32, 64... 그 이유는 CPU와 GPU의 메모리가 2의 배수이므로 배치크기가 2의 제곱수일 경우에 데이터 송수신의 효율을 높일 수 있다고 합니다.
      미니 배치 경사 하강법에서
      batch_size가 떨어지게 설정하는 것이 좋지만,
      batch_size가 떨어지지 않을 경우, 나머지는 버리는게 좋다고 합니다.

예를 들어, 1050개의 데이터에서, 배치 크기를 100으로 나누고 싶은 경우,
나머지 50개는 버리는 것이 좋습니다. ( 무작위 선택해서 버려야 됩니다. )
10개의 배치는 1/100의 비중으로 선택이 되지만
나머지 11번째 배치는 1/50의 비중으로 선택이 되서
동등한 비중의 평가가 이루어지지 않기 때문입니다.

  • of data = batch-size x iteration -> 1 epoch





👉 과정 한눈에 보기

profile
I believe I can fly

0개의 댓글