더북(TheBook)

자동 크기 추론: 동적으로 층 만들기

레고 블록처럼 호환되는 층만 서로 연결할 수 있습니다. 층 호환(layer compatibility) 개념은 모든 층이 특정 크기의 입력 텐서만 받고, 특정 크기의 출력 텐서만 반환한다는 사실을 의미합니다. 다음 예를 생각해 보죠.

from tensorflow.keras import layers
layer = layers.Dense(32, activation="relu") ----- 32개의 출력 유닛을 가진 밀집 층

이 층은 첫 번째 차원이 32인 텐서를 반환합니다. 입력으로 32차원의 벡터를 기대하는 후속 층에만 연결할 수 있습니다.

케라스를 사용할 때 대부분의 경우 크기 호환성에 대해 걱정할 필요가 없습니다. 모델에 추가하는 층은 앞선 층의 크기에 맞도록 동적으로 만들어지기 때문입니다. 예를 들어 다음과 같은 경우를 생각해 보죠.

from tensorflow.keras import models 
from tensorflow.keras import layers

model = models.Sequential([
    layers.Dense(32, activation="relu"),
    layers.Dense(32)
])

이 층들은 입력 크기에 대해 어떤 정보도 받지 않습니다. 그 대신 입력 크기를 처음 본 입력의 크기로 추론합니다.

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