더북(TheBook)

이 출력에 담긴 주요 정보는 다음과 같습니다.

층의 이름과 종류(첫 번째 열)

각 층의 출력 크기(두 번째 열). 거의 항상 첫 번째 (배치) 차원으로 null 차원을 담고 있습니다. 이 차원은 사전에 결정되지 않은 가변적인 배치 크기를 나타냅니다.

각 층의 가중치 파라미터 개수(세 번째 열). 층의 가중치를 구성하는 배열의 원소 개수입니다. 한 개 이상의 가중치를 가진 층의 경우 모든 가중치를 더합니다. 예를 들어 이 예제의 첫 번째 밀집 층은 두 개의 가중치를 가지고 있습니다. [12, 50] 크기의 커널3[50] 크기의 편향입니다. 따라서 12 * 50 + 50 = 650개의 파라미터가 있습니다.

모델의 전체 가중치 개수(화면 출력 아래 부분)가 훈련 가능한 파라미터 개수와 훈련되지 않는 파라미터 개수로 나뉘어져 표시됩니다. 지금까지 본 모델은 훈련 가능한 파라미터만 가지고 있습니다. 이런 모델 가중치는 tf.Model.fit()이 호출될 때 업데이트됩니다. 5장에서 전이 학습과 모델 세부 튜닝에 관해 이야기할 때 학습되지 않는 가중치를 설명하겠습니다.

2장에 있는 순수한 선형 모델의 model.summary() 출력은 다음과 같습니다. 이 선형 모델과 비교해 보면, 두 개의 층을 가진 모델은 54배나 많은 가중치 파라미터를 가지고 있습니다. 추가된 가중치 대부분은 은닉층에 있습니다.

_________________________________________________________________
Layer (type)                 Output shape              Param #
=================================================================
dense_Dense3 (Dense)         [null,1]                  13
=================================================================
Total params: 13
Trainable params: 13
Non-trainable params: 0

두 개의 층을 가진 모델은 층과 가중치 파라미터가 더 많기 때문에 훈련과 추론에 더 많은 자원을 사용하고 시간도 오래 걸립니다. 이런 비용이 정확도 측면에서 가치가 있을까요? 이 모델을 200번의 에포크 동안 훈련하면 테스트 세트에서 최종 MSE가 14-15 범위가 됩니다(랜덤한 초기화 때문에 변동성이 조금 있습니다). 반면 선형 모델은 약 25 정도의 테스트 세트 손실을 얻었습니다. 달러로 환산하면, 새로운 모델이 3,700~3,900달러의 예측 오차를 내고 이전의 순수한 선형 모델은 약 5,000달러의 예측 오차를 내므로 상당히 향상된 것입니다.

 

 

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.