Есть ли пример использования взвешенных потерь для задач сегментации/классификации по пикселям?

Я делаю семантическую сегментацию FCN32 на своих данных. Я запустил алгоритм для тонкой настройки моих данных (изображения в градациях серого только с одним каналом) до 80 000 итераций; однако потери и точность колеблются, а выходное изображение полностью черное. Даже потери настолько высоки после 80 000 итераций. Я думал, что классификатор не может хорошо обучать мои данные. Так что буду тренироваться с нуля. С другой стороны, мои данные имеют несбалансированные члены класса. Фоновые пиксели больше, чем у остальных четырех классов. Некоторые исследователи предлагают использовать взвешенную потерю. У кого-нибудь есть идеи? Правильно ли я поступаю? Как я могу добавить эту взвешенную потерю в train_val.prototxt?

Я буду признателен, если вы знаете какие-либо ресурсы/примеры, связанные с тренировками с потерей веса, пожалуйста, поделитесь со мной здесь.

Спасибо еще раз


person S.EB    schedule 16.01.2017    source источник


Ответы (1)


Вы можете устранить дисбаланс классов, используя "InfogainLoss". Этот убыток можно рассматривать как расширение "SoftmaxWithLoss", которое позволяет вам «оплачивать» различное значение убытка для каждой метки.
Если вы хотите использовать "InfogainLoss" для прогнозов по пикселям, вам может потребоваться использовать BVLC/caffe PR#3855.

person Shai    schedule 16.01.2017