이 모델을 실행하려면 2장에서 언급한 것처럼 먼저 npx http-server를 실행합니다. 웹 페이지가 열리면 화면에 있는 신경망 회귀 모델 훈련 (은닉층 한 개) 버튼을 클릭하여 모델 훈련을 시작합니다.
이 모델은 두 개의 층을 가진 네트워크입니다. 첫 번째 층은 50개의 유닛을 가진 밀집 층입니다.1 이 층은 3.1.2절에서 설명할 활성화 함수와 커널 초기화 방법을 사용합니다. 이 층은 모델 밖에서 직접 보이지 않기 때문에 은닉층(hidden layer)이라 부릅니다. 두 번째 층은 기본 활성화 함수(선형 활성화 함수)2를 가진 밀집 층입니다. 2장에서 순수한 선형 모델을 만들 때 사용한 것과 구조적으로 같은 층입니다. 이 층의 출력이 모델의 최종 출력이고 predict() 메서드에서 반환되는 값이기 때문에 출력층(output layer)이라고 부릅니다. 이 코드에 있는 함수 이름은 다층 퍼셉트론(MultiLayer Perceptron, MLP)이란 모델을 의미합니다. 다층 퍼셉트론은 1) 반복이 없는 단순한 구조(이를 피드포워드 신경망(feedforward neural network)이라고도 부릅니다)이고 2) 적어도 하나의 은닉층을 가지는 신경망을 의미하는 것으로 자주 사용되는 용어입니다. 이 장에서 볼 모든 모델은 이 정의에 속합니다.
코드 3-1에 있는 model.summary() 호출은 처음 등장합니다. TensorFlow.js 모델의 구조를 (브라우저의 개발자 도구나 Node.js의 표준 출력으로) 콘솔에 출력해 주는 진단/리포팅 도구입니다. 두 개의 층을 가진 모델의 출력 내용은 다음과 같습니다.
_________________________________________________________________ Layer (type) Output shape Param # ================================================================= dense_Dense1 (Dense) [null,50] 650 _________________________________________________________________ dense_Dense2 (Dense) [null,1] 51 ================================================================= Total params: 701 Trainable params: 701 Non-trainable params: 0