Е. Миркес - Учебное пособие по курсу «Нейроинформатика»
Построение оценки по интерпретатору
Если в качестве ответа нейронная сеть должна выдать число, то естественной оценкой является квадрат разности выданного сетью выходного сигнала и правильного ответа. Все остальные оценки для обучения сетей решению таких задач являются модификациями данной. Приведем пример такой модификации. Пусть при составлении задачника величина , являющаяся ответом, измерялась с некоторой точностью e. Тогда нет смысла требовать от сети обучиться выдавать в качестве ответа именно величину . Достаточно, если выданный сетью ответ попадет в интервал . Оценка, удовлетворяющая этому требованию, имеет вид:
Эту оценку будем называть оценкой числа с допуском e.
Для задач классификации также можно пользоваться оценкой типа суммы квадратов отклонений выходных сигналов сети от требуемых ответов. Однако, эта оценка плоха тем, что, во-первых, требования при обучении сети не совпадают с требованиями интерпретатора, во-вторых, такая оценка не позволяет оценить уровень уверенности сети в выданном ответе. Достоинством такой оценки является ее универсальность. Опыт работы с нейронными сетями, накопленный красноярской группой НейроКомп, свидетельствует о том, что при использовании оценки, построенной по интерпретатору, в несколько раз возрастает скорость обучения.
Для оценок, построенных по интерпретатору потребуется следующая функция оценки
и ее производная
Рассмотрим построение оценок по интерпретатору для четырех рассмотренных в предыдущем разделе интерпретаторов ответа.
1. Кодирование номером канала. Знаковый интерпретатор. Пусть для рассматриваемого примера правильным ответом является k-ый класс. Тогда вектор выходных сигналов сети должен удовлетворять следующей системе неравенств:
где e — уровень надежности.
Оценку, вычисляющую расстояние от точки a в пространстве выходных сигналов до множества точек, удовлетворяющих этой системе неравенств, можно записать в виде:
Производная оценки по i-му выходному сигналу равна
2. Кодирование номером канала. Максимальный интерпретатор. Пусть для рассматриваемого примера правильным ответом является k-ый класс. Тогда вектор выходных сигналов сети должен удовлетворять следующей системе неравенств: αk-e≥αi при i≠k. Оценкой решения сетью данного примера является расстояние от точки a в пространстве выходных сигналов до множества точек, удовлетворяющих этой системе неравенств. Для записи оценки, исключим из вектора выходных сигналов сигнал αk, а остальные сигналы отсортируем по убыванию. Обозначим величину αk-e через β0, а вектор отсортированных сигналов через β1≥β2≥…≥βN-1. Система неравенств в этом случае приобретает вид β0≥βi, при i>1. Множество точек удовлетворяющих этой системе неравенств обозначим через D. Очевидно, что если β0≥β1, то точка b принадлежит множеству D. Если β0<β1, то найдем проекцию точки b на гиперплоскость β0=β1. Эта точка имеет координаты
Если , то точка β¹ принадлежит множеству D. Если нет, то точку b нужно проектировать на гиперплоскость β0=β1=β2. Найдем эту точку. Ее координаты можно записать в следующем виде (b,b,b,β3,…,βN-1). Эта точка обладает тем свойством, что расстояние от нее до точки b минимально. Таким образом, для нахождения величины b достаточно взять производную от расстояния по b и приравнять ее к нулю:
Из этого уравнения находим b и записываем координаты точки β²:
Эта процедура продолжается дальше, до тех пор, пока при некотором l не выполнится неравенство
или пока l не окажется равной N–1. Оценкой является расстояние от точки b до точки
Она равна следующей величине
Производная оценки по выходному сигналу βm равна
Для перехода к производным по исходным выходным сигналам αi необходимо обратить сделанные на первом этапе вычисления оценки преобразования.
3. Двоичный интерпретатор. Оценка для двоичного интерпретатора строится точно также как и для знакового интерпретатора при кодировании номером канала. Пусть правильным ответом является k-ый класс, тогда обозначим через K множество номеров сигналов, которым в двоичном представлении k соответствуют единицы. При уровне надежности оценка задается формулой:
Производная оценки по i-му выходному сигналу равна:
4. Порядковый интерпретатор. Для построения оценки по порядковому интерпретатору необходимо предварительно переставить компоненты вектора a в соответствии с подстановкой, кодирующей правильный ответ. Обозначим полученный в результате вектор через βº. Множество точек, удовлетворяющих условию задачи, описывается системой уравнений , где e — уровень надежности. Обозначим это множество через D. Оценка задается расстоянием от точки b до проекции этой точки на множество D. Опишем процедуру вычисления проекции.
1. Просмотрев координаты точки βº, отметим те номера координат, для которых нарушается неравенство βºi+e≤βºi+1.
2. Множество отмеченных координат либо состоит из одной последовательности последовательных номеров i,i+1,…,i+l, или из нескольких таких последовательностей. Найдем точку β¹, которая являлась бы проекцией точки βº на гиперплоскость, определяемую уравнениями β¹i+e≤β¹i+1, где i пробегает множество индексов отмеченных координат. Пусть множество отмеченных координат распадается на n последовательностей, каждая из которых имеет вид , где m — номер последовательности. Тогда точка β¹ имеет вид:
3. Точка β¹ является проекцией, и следовательно, расстояние от βº до β¹ должно быть минимальным. Это расстояние равно
Для нахождения минимума этой функции необходимо приравнять к нулю ее производные по γm. Получаем систему уравнений
Решая ее, находим
4. Если точка удовлетворяет неравенствам, приведенным в первом пункте процедуры, то расстояние от нее до точки βº является оценкой. В противном случае, повторяем первый шаг процедуры, используя точку β¹ вместо βº; Объединяем полученный список отмеченных компонентов со списком, полученным при поиске предыдущей точки; находим точку β², повторяя все шаги процедуры, начиная со второго.
Отметим, что в ходе процедуры число отмеченных последовательностей соседних индексов не возрастает. Некоторые последовательности могут сливаться, но новые возникать не могут. После нахождения проекции можно записать оценку:
Обозначим через Im m-ую последовательность соседних координат, выделенную при последнем исполнении первого шага процедуры вычисления оценки: Im={im,im+1,…,im+lm}. Тогда производную оценки по выходному сигналу βºi можно записать в следующем виде:
Таким образом, построение оценки по интерпретатору сводится к следующей процедуре.
1. Определяем множество допустимых точек, то есть таких точек в пространстве выходных сигналов, которые интерпретатор ответа будет интерпретировать как правильный ответ со стопроцентным уровнем уверенности.