0

컨볼 루션 신경망 모델에 입력하려는 이미지의 데이터 세트가 있습니다. 그러나이 이미지들 각각에 이미지와 연관된 오브젝트와의 거리 또는 거리가 있습니다.길쌈 신경망 입력에 추가 값을 추가 하시겠습니까?

이 범위를 CNN 모델의 추가 컨텍스트로 입력하고 싶습니다.

추가 정보를 제공하면 어떤 이점이 있습니까? 그것을하는 것이 이치에 맞습니까? Keras에서 실행 가능합니까?

감사합니다.

+0

귀하의 질문은 불행히도 너무 광범위하게 표시되었습니다. 어떤 유형의 출력을 예측하고 Keras 코드 몇 줄을 추가하여 네트워크 구조가 현재 어떻게 보이는지 설명하기 위해 편집을 제안합니다. 이것은 질문을 더 구체적으로해야합니다. – Imran

답변

0

여기에 몇 가지 옵션이 있습니다. 하나는 숫자 값을 입력에 기능 평면으로 인코딩하는 것입니다. 숫자 값이 c 인 경우 모든 픽셀에서 값이 c 인 각 입력 이미지에 채널을 추가 할 수 있습니다.

또 다른 옵션은 값을 완전히 연결된 레이어의 추가 입력으로 병합하는 것입니다.

이 같은 보일 것 keras에서

: 당신은 당신의 데이터를 여부 따라 달라집니다 선택 옵션을 사용하면 숫자 기능을 더 길쌈 층 도움이 입력을 이해하는 것이라고 생각, 또는 당신이 생각인지

conv = Sequential() 
conv.add(Conv2D(32, kernel_size=(3, 3), strides=(1, 1), 
       activation='relu', 
       input_shape=input_shape)) 
conv.add(MaxPooling2D(pool_size=(2, 2))) 
conv.add(Flatten()) 
conv.add(Dense(512, activation='relu')) 

range = Sequential() 
range.add(Dense(1, input_shape=(1,), activation='relu')) 

merged = Concatenate([conv, range]) 
merged.add(Dense(n_classes, activation='softmax')) 

merged.compile(optimizer='adam', loss='binary_crossentropy', 
      metrics=['accuracy']) 

을 나중에 필요하지 않습니다. 시간이 있다면 두 아키텍처를 모두 시도해 볼 수 있으며 더 나은 성능을 볼 수 있습니다.