Я перебрал много разных способов обучения селектора и оракула (учителя и ученика). Пришёл к выводу, что подобные системы неустойчивы.
Статический и квазистатический селекторы гораздо устойчивее и дают лучший результат. Эти селекторы не являются умными, они выбирают каждый следующий каре-пиксель независимо от обработки предыдущего каре-пикселя.
Моя же вожделенная цель - разработать
умный селектор. Такой селектор должен учитывать апостериорную информацию и выбирать такие координаты следующего пикселя, чтобы показать лучшую точность распознавания.
Сейчас идея такая: обучаем
оракулов с квазистатическим селектором, который выбирает фиксированный 1-каре пиксель. Селектора тут по сути нет, так как выбора на самом деле нет, селектор вырожденный. У каждого из таких оракулов достигаемая точность ориентировочно 56,2% на тестовых данных (см. выше). (Особо отмечу, что слой SoftOrdering для такой нейросети не требуется, только слой билинейной интерполяции.)
После обучения оракулов на датасете измеряем частотные характеристики оракулов, а именно: получаем вероятности, с которыми эти оракулы правильно предсказывают те или иные классы изображений. То есть у каждого
-го оракула имеется характеристика
. Эти вероятности в сумме не равны единице, если что.
Я хочу вместо нейросетевого селектора разработать обычный алгоритм, работающий на основе теории вероятностей. Этот селектор выбирает не координаты, а оракулов с их координатами.
Постановка математической задачи. Даны
оракулов с известными вероятностными характеристиками и дано
предсказаний оракулов, которые уже являются распределением вероятностей
, в котором сумма вероятностей равна единице. Нужно выбрать очередного оракула, который даст наилучшую точность распознавания.
Может эту задачу в соответствующий раздел поместить?