나는 Keras 함수 Dropout에 대해 noise_shape 인수와 관련하여 질문이 있습니다.Keras Dropout with noise_shape
질문 1 :의 의미는 무엇
당신의 입력은 모양 (BATCH_SIZE, 시간 단계, 기능)을 가지고 있고 당신은 당신이 = (noise_shape를 사용할 수 있으며, 드롭 아웃 마스크는 모든 시간 단계에 대해 동일 할 경우 batch_size, 1, features)? 그리고이 인수를 추가하면 어떤 이점이 있습니까?
탈락 될 뉴런 수는 시간 단계에 따라 동일하다는 것을 의미합니까? 어떤 시간 단계마다 n 개의 뉴런이 떨어지겠습니까?
질문 2 : 모델을 만들 때 noise_shape에 'batch_size'를 포함시켜야합니까? -> 다음 예제를 참조하십시오.
(10000, 1, 100, 2) -> (데이터 수, 채널 수, 시간 단계, 기능 수)의 형태로 다 변수 시계열 데이터가 있다고 가정합니다.
:> 나는 밖으로 드롭과 CNN 모델을 만들려면 (64, 1, 100, 2), 내가 사용 Keras 기능 API -
은 그 때 나는 64의 배치 크기와 배치를 만들 층 max1의 출력 형태가되어야하므로
inp = Input([1, 100, 2])
conv1 = Conv2D(64, kernel_size=(11,2), strides(1,1),data_format='channels_first')(inp)
max1 = MaxPooling2D((2,1))(conv1)
max1_shape = max1._keras_shape
drop1 = Dropout((0.1, noise_shape=[**?**, max1._keras_shape[1], 1, 1]))
(없음, 64, 50, 1), 및 I는 I는 I이 대처 방법을 생각해
을 (BATCH_SIZE 대응) 물음표에 없음을 지정할 수 없다 ? noise_shape로 (64, 1, 1)을 사용해야할까요? 또는 'batch_size'라는 변수를 정의하고 (batch_size, 64, 1, 1)와 같이이 인수에 전달해야합니까?