
📖 케라스 창시자에게 배우는 딥러닝 (프랑소와 숄레, 박해선, 길벗) 참고
층은 하나 이상의 텐서를 입력으로 받아 하나 이상의 텐서를 출력하는 데이터 처리 모듈이다. 대부분의 층은 weight, 가중치라는 층의 상태를 가진다. 가중치는 전 포스팅에서 설명한 경사하강에 의해 학습되는 텐서를 뜻한다. 이 가중치는 네트워크가 학습한 지식을 담고 있다.
각 층은 특정 크기의 입력 텐서만 받으며 특정 크기의 출력 텐서를 반환한다. 이를 Layer Compatibility, 층 호환성이라고 한다.
딥러닝 모델은 층으로 만든 Directed Acyclic Graph, 비순환 유향 그래프이다.
네트워크 구조는 Hypothesis Space 가설 공간을 정의한다. 네트워크 구조를 선택함으로써 가설 공간을 입력 데이터에서 출력 데이터로 매핑하는 일련의 특정 텐서 연산으로 제한하게 된다. 우리는 이 텐서 연산에 포함된 weight 텐서의 좋은 값을 찾는 것이 목표이다.
Loss Function 손실함수는 주어진 문제에 대한 성공 지표이며 훈련하는 동안 최소화되어야 하는 값이다.
Optimizer는 손실 함수를 기반으로 네트워크가 어떻게 업데이트될 것인지 결정한다.
여러 개의 출력을 가지는 신경망의 경우 여러 개의 손실 함수를 가질 수 있지만 경사 하강법 과정은 하나의 스칼라 손실 값을 기준으로 하기 때문에 모든 손실의 평균이 하나의 스칼라 양으로 합쳐지게 된다.