keras.layers.core.Dense(units, activation=None, use_bias=True, kernel_initializer='glorot_uniform', bias_initializer='zeros', kernel_regularizer=None, bias_regularizer=None, activity_regularizer=None, kernel_constraint=None, bias_constraint=None)
일반적인 연결 밀도가 높은 신경망 계층(Densely-connected NN layer)입니다.
Dense
는 다음과 같은 작업을 구현합니다:output = activation(dot(input, kernel) + bias)
이 때 activation
은 요소 단위의 활성화 함수로 activation
인수로 넘겨지고, kernel
은 계층에 의해 만들어진 가중치의 행렬이며, bias
는 계층에 의해 만들어진 편향 벡터입니다(use_bias
가 True
일 때만 적용할 수 있습니다).
kernel
과의 첫 내적에 앞서 평탄화(flatten) 됩니다.예제
# as first layer in a sequential model:
model = Sequential()
model.add(Dense(32, input_shape=(16,)))
# now the model will take as input arrays of shape (*, 16)
# and output arrays of shape (*, 32)
# after the first layer, you don't need to specify
# the size of the input anymore:
model.add(Dense(32))
인수
a(x) = x
).kernel
가중치 행렬을 위한 초기화기입니다(초기화기를 참조).kernel
가중치 행렬에 적용되는 정규화기 함수입니다(정규화기를 참조).kernel
가중치 행렬에 적용되는 제한 함수입니다(제한을 참조).입력 형태
다음과 같은 형태의 n차원 텐서 입니다: (batch_size, ..., input_dim)
.(batch_size, input_dim)
과 같은 2차원 입력 형태로 가장 흔히 쓰입니다.
출력 형태
다음과 같은 형태의 n차원 텐서 입니다: (batch_size, ..., units)
. 예를 들어, (batch_size, input_dim)
과 같은 형태의 2차원 입력에 대해 (batch_size, units)
과 같은 2차원 형태로 출력합니다.
keras.layers.core.Activation(activation)
출력에 대해 활성화 함수를 적용합니다.
인수
입력 형태
임의입니다. 이 계층을 모델의 첫번째 계층으로 쓰고자 할 때에는 키워드 인수 input_shape
(샘플 축을 포함하지 않는 정수 튜플)을 사용하세요.
출력 형태
입력과 동일한 형태 입니다.
keras.layers.core.Dropout(rate, noise_shape=None, seed=None)
입력에 대해 탈락(dropout)을 적용시킵니다.
탈락은 훈련 중 무작위로 각 업데이트마다 단위 입력을 일정 'rate'로 0으로 설정하여 과적합(overfitting)을 방지하도록 도움을 줍니다.
인수
(batch_size, timesteps, features)
과 같은 입력 형태에 대해 모든 'timesteps'에 동일하게 탈락 마스크를 적용하고자 한다면 noise_shape=(batch_size, 1, features)
과 같이 쓸 수 있습니다.참고
keras.layers.core.Flatten()
입력을 평탄화 합니다. batch의 크기에는 영향을 미치지 않습니다.
예제
model = Sequential()
model.add(Convolution2D(64, 3, 3,
border_mode='same',
input_shape=(3, 32, 32)))
# now: model.output_shape == (None, 64, 32, 32)
model.add(Flatten())
# now: model.output_shape == (None, 65536)