4.2.7 충분히 큰 중간층을 두어야 하는 이유
앞서 언급한 것처럼 마지막 출력이 46차원이기 때문에 중간층의 중간 유닛이 46개보다 많이 적어서는 안 됩니다. 46차원보다 훨씬 작은 중간층(예를 들어 4차원)을 두면 정보의 병목이 어떻게 나타나는지 확인해 보겠습니다.
코드 4-22 정보 병목이 있는 모델
64, ="relu"),
layers.Dense(4, ="relu"),
layers.Dense(46, ="softmax")
])
.compile( ="rmsprop",
="categorical_crossentropy",
=["accuracy"])
.fit(partial_x_train,
partial_y_train,
=20,
=128,
=(x_val, y_val))
= keras.Sequential([
layers.Dense(검증 정확도의 최고 값은 약 71%로 8% 정도 감소되었습니다. 이런 손실의 원인 대부분은 많은 정보(클래스 46개의 분할 초평면을 복원하기에 충분한 정보)를 중간층의 저차원 표현 공간으로 압축하려고 했기 때문입니다. 이 모델은 필요한 정보 대부분을 4차원 표현 안에 구겨 넣었지만 전부는 넣지 못했습니다.