MLOps 프로젝트/도서 '케라스 창시자에게 배우는 딥러닝'

1부 3.1 신경망의 구조

youjin86 2021. 8. 28. 15:52

1부 딥러닝의 기초

3장 신경망 시작하기


3.1 신경망의 구조

  • 네트워크(또는 모델)을 구성하는
  • 입력 데이터와 그에 상응하는 타깃
  • 학습에 사용할 피드백 신호를 정의하는 손실 함수
  • 학습 진행 방식을 결정하는 옵티마이저

연속된 층으로 구성된 네트워크가 입력 데이터를 예측으로 매핑

손실 함수는 예측과 타깃을 비교하여 네트워크의 예측을 기댓값에 얼마나 잘 맞는지를 측정하는 손실 값 만듦.

옵티마이저는 손실 값을 사용하여 네트워크 가중치를 업데이트

 

출처 : https://tensorflow.blog/%EC%BC%80%EB%9D%BC%EC%8A%A4-%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/

 

가중치

확률적 경사 하강법에 의해 학습되는 하나 이상의 텐서

여기에 네트워크가 학습한 지식이 담겨 있음.

 

층(layer, 딥러닝의 구성 단위)

하나 이상의 텐서를 입력으로 받아 하나 이상의 텐서를 출력하는 데이터 처리 모듈

대부분의 경우 가중치라는 층의 상태 가짐.

 

보통의 데이터 처리 방식

2D 텐서 3D 텐서 4D 텐서
밀집 연결 층(densely connected layer)
= 완전 연결층(fully connected layer)
= 밀집 층(dense layer)
순환층(recurrent layer) 합성곱 층(convolution layer)

 

모델(model, 층의 네트워크)

층으로 만ㄷ느 비순환 유향 그래프

하나의 입력을 하나의 출력으로 매핑하는 층을 순서대로 쌓는 것

 

네트워크 구조

가설 공간(hypothesis space, 가능성 있는 공간)을 정의

 

자주 등장하는 네트워크 구조

  • 가지(branch)가 2개인 네트워크
  • 출력이 여러 개인 네트워크
  • 인셉션(Inception) 블록

 

손실함수(loss function, 목적 함수(objective function)) - 학습 과정을 조절

훈련하는 동안 최소화될 값

주어진 문제에 대한 성공 지표가 됨.

 

옵티마이저(optimizer) - 학습 과정을 조절

손실 함수를 기반으로 네트워크가 어떻게 업데이트될지 결정

여러 개의 출력을 내는 신경망은 여러 개의 손실 함수를 가질 수 있음. (출력당 하나씩)

 

특정 종류의 확률적 경사 하강법(SGD)을 구현

경사 하강법 과정은 하나의 스칼라 손실 값을 기준으로 함. (모든 소실이 평균을 내 하나의 스칼라 양으로 합체)