728x90
반응형

신경망 훈련 구조

  • 네트워크(또는 모델)를 구성하는
    • 입력 데이터를 예측으로 매핑
  • 입력 데이터와 그에 상응하는 타깃
  • 학습에 사용할 피드백 신호를 정의하는 손실 함수
    • 예측과 타깃을 비교해 네트워크의 예측이 기댓값에 얼마나 잘 맞는지를 측정하는 손실 값을 만든다.
  • 학습 진행 방식을 결정하는 옵티마이저
    • 손실 값을 사용해 네트워크 가중치를 업데이트 한다.

 

[그림1] 네트워크, 층, 손실 함수, 옵티마이저 사이의 관계 출처 : https://pulsar-kkaturi.tistory.com/entry/%EC%BC%80%EB%9D%BC%EC%8A%A4-%EC%B0%BD%EC%8B%9C%EC%9E%90%EC%97%90%EA%B2%8C-%EB%B0%B0%EC%9A%B0%EB%8A%94-%EB%94%A5%EB%9F%AC%EB%8B%9D-3-%EC%8B%A0%EA%B2%BD%EB%A7%9D-%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0

 

 

 

 

 

층 : 딥러닝의 구성 단위

  • 하나 이상의 텐서를 입력으로 받아 하나 이상의 텐서를 출력하는 데이터 처리 모듈
  • 가중치라는 층의 형태를 가진다.
  • 케라스에서는 호환 가능한 층들을 엮어 데이터 변환 파이프라인(pipeline)을 구성해 딥러닝 모델을 만든다.

 

 

모델 : 층의 네트워크

  • 딥러닝 모델은 층으로 만든 비순환 유향 그래프(Directed Acyclic Graph, DAG)다.
  • 자주 등장하는 네트워크 구조
    • 가지(branch)가 2개인 네트워크
    • 출력이 여러 개인 네트워크
    • 인셉션(Inception) 블록
  • 네트워크 구조는 가설 공간(hypothesis space)를 정의한다.

 

 

손실 함수와 옵티마이저 : 학습 과정을 조절하는 열쇠

  • 손실 함수(loss function)(목적 함수(objective function) : 훈련하는 동안 최소화될 값, 주어진 문제에 대한 성공 지표과 된다.
  • 옵티마이저(optimizer) : 손실 함수를 기반으로 네트워크가 어떻게 업데이트될지 결정한다. 
    • 특정 종류의 확률적 경사 하강법(SGD)을 구현한다.
  • 여러 개의 출력을 내는 신경망은 여러 개의 손실 함수를 가질 수 있다. (출력당 하나씩)
  • 2개의 클래스가 있는 분류 문제에는 이진 크로스엔트로피(binary crossentropy)
  • 여러 개의 클래스가 있는 분류 문제에는 범주형 크로스엔트로피(categorical crossentropy)
  • 회귀 문제에는 평균 제곱 오차
  • 시퀀스 학습 문제에는 CTC(Connection Temporal Classification)등을 사용한다.
    • CTC는 음성 인식이나 필기 인식처럼 입력에 레이블 할당 위치를 정하기 어려운 연속적인 시퀀스를 다루는 문제에 사용하는 손실 함수다.

 

 

 

 

 

비순환 유향 그래프(Directed Acyclic Graph, DAG)

  • 그래프 이론에서 비순환 유향 그래프는 그래프의 에지(edge)에 방향이 있고 한 노드(node)에서 다시 자기 자신으로 돌아올 경로가 없는 그래프를 말한다.

 

 

 

출처 :

www.yes24.com/Product/Goods/65050162?OzSrank=1

 

케라스 창시자에게 배우는 딥러닝

단어 하나, 코드 한 줄 버릴 것이 없다!창시자의 철학까지 담은 딥러닝 입문서케라스 창시자이자 구글 딥러닝 연구원인 저자는 ‘인공 지능의 민주화’를 강조한다. 이 책 역시 많은 사람에게

www.yes24.com

 

728x90
반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기