0

Я работаю над проблемой, в которой я пытаюсь обучить нейронную сеть для обнаружения различных html-объектов, таких как текстовое поле, радиообъект, кнопка и выпадающий список в данном снимке веб-страницы. Я поставляю патчи, созданные из режима работы в режиме скользящего окна на 1500 изображениях (Training set), на мой CNN для обучения. Набор ярлыков представляет собой 5-канальную матрицу для 5 классов объектов (включая фон, обозначенный как класс 0, другие области объектов обозначаются как класс 1,2, ... 4).Как обучить CNN различать объекты HTML (переднего плана) и фон на скриншоте веб-страницы с использованием caffe?

Я попытался использовать архитектуру Con-Decon в этом наборе данных тренировки, используя Caffe. Но проблема, с которой происходит ИМХО, заключается в том, что в фактическом выпуске есть сильный уклон к классу 0, так как большая часть области в моей тренировке с раздвижным окном - это фон. Следовательно, он классифицирует все пиксели в фактическом выходе как класс 0, который является фоном, и не может обнаружить другие тестовые изображения меток классов 1,2, ... 4 на тестовых изображениях, которые я поставляю в сеть.

Любая идея, как обойти эту проблему?

+0

вы можете попытаться наложить штраф на функцию потерь, когда она выбирает класс 0. Или просто сбалансировать свои данные обучения. – gidim

+0

Я создал 2 набора патчей для обучения, то есть 1-й набор содержит только патчи, в которых есть по крайней мере один html-объект. Второй набор содержит патчи, которые не содержат в них каких-либо объектов. Я поставляю все патчи первого набора для обучения, но только 5% второго набора для обучения, чтобы ограничить количество патчей без объектов, попадающих в сеть. Но этот подход не помог улучшить модель. – shripati007

+0

Вы имеете дело с несбалансированным набором данных, есть некоторые стратегии, которые могут помочь вам в этом ответе: http://stats.stackexchange.com/questions/193887/classification-with-a-neural-network-when-one-class -а-непропорционально-много – 7VoltCrayon

ответ

0

Эта проблема присутствует во множестве наборов данных реального мира.

Одним из способов решения этой проблемы было бы представить ваши нефонические данные (классы 1,2,3 ...) в нейронную сеть больше раз, чем вы представляете фоновые данные. Это может быть сделано путем искусственного дублирования данных, у которых у вас меньше выборок.

+0

Спасибо за информацию! Очень признателен. – shripati007

0

Вы также можете установить:

ignore_label: 0 

Это могло бы помочь.

+0

Я попробую этот подход и проверю. Спасибо. – shripati007

+0

Это работало? @ shripati007 – thigi

Смежные вопросы