2017-11-10 2 views
1

간단한 이미지 분류 작업을하고 있습니다. 각 물체는 재료 (알루미늄, 철, 구리)를 기반으로 한 카테고리 중 하나에 적합해야합니다. 각 클래스에 대해 하나의 그림 만 있습니다. 모든 알루미늄 재료는 예를 들어 철 재료와 함께 동일한 사진에 나타나지 않습니다. 모델이 잘 작동하고 정확도가 뛰어납니다. 그러나 나는이 3 가지 카테고리 중 어느 것에도 맞지 않는 이미지를 다루는 방법을 모른다. 제가 나무 조각 사진을 제출한다고 가정 해 봅시다. 이것은 뚜렷하게 3 가지 범주 중 어느 것에도 적합하지 않지만 내 모델은 그 중 하나를 "추측"하여 이러한 임의의 범주 중 하나에 높은 확률과 함께 거짓 긍정을 부여하는 것으로 보입니다. 나는 model.predict()의 결과가 0 일 수 없다는 것을 이해한다. 이상적인 시나리오이다. softmax 및 sigmoid 정품 인증을 모두 테스트했습니다. 나는 또한 "none"이라는 모호한 범주를 만들려고 노력했으며 전술 한 자료가없는 개체의 임의의 사진으로 모델을 교육했습니다. 그 결과 전체 모델이 신뢰할 수 없게되었고 이전에 내가 가진 정확성을 대부분 잃어 버렸습니다.Keras 모델에서 "위의 레이블 없음"레이블을 만드는 방법

model = Sequential() 
model.add(Conv2D(32, kernel_size=(3, 3), 
       activation='relu', 
       input_shape=(64, 64, 3))) 

model.add(Conv2D(64, (3, 3), activation='relu')) 
model.add(MaxPooling2D(pool_size=(2, 2))) 
model.add(Dropout(0.25)) 
model.add(Flatten()) 
model.add(Dense(128, activation='relu')) 


model.add(Dropout(0.5)) 

model.add(Dense(classes, activation='sigmoid')) 

model.compile(loss='binary_crossentropy', 


       optimizer='adam', 
       metrics=['accuracy']) 

checkpoint = ModelCheckpoint(filepath='c:/Users/data/models/model-{epoch:02d}-{val_loss:.2f}.hdf5',save_best_only=True) 
callbacks_list = [checkpoint] 

model.fit(x_train, y_train, 
      batch_size=75, 
      epochs=20, 
      verbose=1, 
      validation_data=(x_valid, y_valid), callbacks=[checkpoint]) 
+0

임계 값을 설정할 수 있습니다. 모델의 신뢰도가 임계 값보다 높으면 모델에서 3 가지 범주를 예측하고, 그렇지 않으면 "기타"로 예측합니다. 그것은 자동으로 수행 할 수 없습니다. 원할 경우, 4 개의 클래스로 모델을 훈련해야하는데, 필요한 경우 3 개가 필요하고 다른 모델의 경우 4 번째입니다. –

+0

Vivek에 감사드립니다. 문제는 모델이 잘못된 분류에 대한 자신감을 갖게한다는 것입니다. 다음은 model.predict()가 검색하는 내용입니다. c : /users/data/wood.jpg --------------------- 알루미늄 : 99.99147653579712 % 기타 2.371654261867917e-08 % 철 : 0.008510933548677713 % 구리 : 2.7863444884701494e-07 % – beponto

답변

-1

내 이해에 따르면, 이것은 감독 학습에서는 거의 불가능합니다.

감독 학습은 일부 데이터 집합을 가져 와서 시스템을 학습시킵니다. 그러나 "none"에 속하는 범주는 단순히 너무 많습니다. 없음의 범주에서 다른 모든 자료를 다루는 것은 거의 불가능합니다. 최악의 경우 감독 학습은 주로 훈련 된 것을 인식하게됩니다. 그래서 완전히 새로운 것들이 테스트에 나타납니다. 그것은 가능성이 매우 높습니다, 시스템은 무시하거나 주어진 훈련을 기반으로 결과 중 하나를 제공합니다.

응용 프로그램에 더 적합한 한 가지 방법은 자율 학습입니다. 이미지 분류에 대한 감독되지 않은 학습을 사용하는 데는 많은 자원과 연구가 있어야합니다. 샘플 용지 중 하나

https://www.cv-foundation.org/openaccess/content_cvpr_2013/papers/Siva_Looking_Beyond_the_2013_CVPR_paper.pdf

모든 의견을 환영합니다. 나는 교정했다. 감사합니다.

+0

감사합니다. 링크가 깨졌습니다. – beponto

+0

@beponto, 불편을 끼쳐 드려 죄송합니다. –

관련 문제