Е. Миркес - Учебное пособие по курсу «Нейроинформатика»
Интерпретатор для кинетической оценки строится следующим образом. Для построения разделителя i-го и j-го классов строим плоскость, перпендикулярную к вектору (Bi-Bj). Уравнение этой плоскости можно записать в виде
Для определения константы D находим среди точек i-го класса ближайшую к барицентру j-го класса. Подставляя координаты этой точки в уравнение гиперплоскости, получаем уравнение на D. Решив это уравнение, находим величину D1. Используя ближайшую к барицентру i-го класса точку j-го класса, находим величину D2. Искомая константа D находится как среднее арифметическое между D1 и D2. Для отнесения произвольного вектора к i-му или j-му классу достаточно подставить его значения в левую часть уравнения разделяющей гиперплоскости. Если значение левой части уравнения получается больше нуля, то вектор относится к j-му классу, в противном случае — к i-му.
Интерпретатор работает следующим образом: если для i-го класса все разделители этого класса с остальными классами выдали ответ i-ый класс, то окончательным ответом является i-ый класс. Если такого класса не нашлось, то ответ «не знаю». Ситуация, когда для двух различных классов все разделители подтвердили принадлежность к этому классу, невозможна, так как разделитель этих двух классов должен был отдать предпочтение одному из них.
Рассмотренный пример решения задачи с использованием нелокальной оценки позволяет выделить основные черты обучения с нелокальной оценкой:
1. Невозможность оценить решение одного примера.
2. Невозможность оценить правильность решения примера до окончания обучения.
3. Невозможность построения интерпретатора ответа до окончания обучения.
Этот пример является отчасти надуманным, поскольку его можно решить с использованием более простых локальных оценок. Ниже приведен пример задачи, которую невозможно решить с использованием локальных оценок.
Генератор случайных чисел. Необходимо обучить сеть генерировать последовательность случайных чисел из диапазона [0,1]с заданными k первыми моментами. Напомним, что для выборки роль первого момента играет среднее значение, второго — средний квадрат, третьего — средний куб и так далее. Есть два пути решения этой задачи. Первый — используя стандартный генератор случайных чисел подготовить задачник и обучить по нему сеть. Этот путь плох тем, что такой генератор будет просто воспроизводить последовательность чисел, записанную в задачнике. Для получения такого результата можно просто хранить задачник.
Второй вариант — обучать сеть без задачника! Пусть нейросеть принимает один входной сигнал и выдает один выходной. При использовании сети выходной сигнал первого срабатывания сети (первое случайное число) будет служить входным сигналом для второго срабатывания сети и так далее.
Для построения оценки зададимся тремя наборами чисел: Mi — необходимое значение i-го момента, Li — длина последовательности, на которой i-ый момент сгенерированной последовательности должен не более чем на si отличаться от Mi. si — точность вычисления i-го момента.
Выборочная оценка совпадения i-го момента в сгенерированной последовательности на отрезке, начинающемся с j-го случайного числа, вычисляется по следующей формуле:
где αl — выходной сигнал, полученный на l-ом срабатывании сети. Для оценки точности совпадения i-го момента в сгенерированной последовательности на отрезке, начинающемся с j-го случайного числа, воспользуемся оценкой числа с допуском si:
Таким образом, при обучении сети генерации последовательности из N случайных чисел оценку можно записать в следующем виде:
Производная оценки по выходному сигналу l-го срабатывания сети можно записать в следующем виде:
Используя эту оценку можно обучать сеть генерировать случайные числа. Удобство этого подхода к решению задачи обучения генератора случайных чисел в том, что можно достаточно часто менять инициирующий сеть входной сигнал, что позволит сети генерировать не одну, а много различных последовательностей, обладающих всеми необходимыми свойствами.
При использовании предложенной оценки нет никаких гарантий того, что в генерируемой сетью последовательности не появятся сильно скоррелированные подпоследовательности. Для удаления корреляций можно модифицировать оценку так, чтобы она возрастала при появлении корреляций. Рассмотрим две подпоследовательности длинны L, первая из которых начинается с αi, а другая с αi+k. Коэффициент корреляции этих последовательностей записывается в виде:
В этой формуле приняты следующие обозначения: — среднее по последовательности, начинающейся с αi; — средний квадрат последовательности начинающейся с αi. Вычисление такого коэффициента корреляции довольно долгий процесс. Однако вместо выборочных моментов в формулу можно подставить значения моментов, которые последовательность должна иметь. В этом случае формула сильно упрощается:
Добавку для удаления корреляций последовательностей длиной от L1 до L2 и смещенных друг относительно друга на смещения от h1 до h2 можно записать в виде:
При необходимости можно ввести и другие поправки, учитывающие требования к генератору случайных чисел.
Составные интерпретатор ответа и оценка
При использовании нейронных сетей для решения различных задач возникает необходимость получать от сети не один ответ, а несколько. Например, при обучении сети решению задачи диагностики отклонений в реакции на стресс нейронная сеть должна была определить наличие или отсутствие тринадцати различных патологий. Если одна сеть может выдавать только один ответ, то для решения задачи необходимо задействовать тринадцать сетей. Однако в этом нет необходимости. Поскольку каждый ответ, который должна выдавать сеть, имеет только два варианта, то можно использовать для его получения классификатор на два класса. Для такого классификатора необходимо два выходных сигнала. Тогда для решения задачи достаточно получать 26 выходных сигналов: первые два сигнала — для определения первой патологии, третий и четвертый — для второй и так далее. Таким образом, интерпретатор ответа для этой задачи состоит из тринадцати интерпретаторов, а оценка из тринадцати оценок. Более того, нет никаких ограничений на типы используемых интерпретаторов или оценок. Возможна комбинация, например, следующих ответов: число с допуском, классификатор на восемь классов, случайное число.
При использовании таких составных оценок и интерпретаторов каждый из этих компонентов должен следить за тем, чтобы каждая частная оценка или интерпретатор получали на вход те данные, которые им необходимы.
Лекция 11.1. Исполнитель
Компонент исполнитель является служебным. Это означает, что он универсален и невидим для пользователя. В отличие от всех других компонентов исполнитель не выполняет ни одной явной функции в обучении нейронных сетей, а является вспомогательным для компонентов учитель и контрастер. Задача этого компонента — упростить работу компонентов учитель и контрастер. Этот компонент выполняет всего несколько запросов, преобразуя каждый из них в последовательность запросов к различным компонентам. В данной главе содержательно рассмотрены алгоритмы исполнения всех запросов исполнителя.
Как было описано в главе «Двойственные сети», исполнитель выполняет четыре вида запросов.
1. Тестирование решения примера.
2. Оценивание решения примера.
3. Оценивание решения примера с вычислением градиента.
4. Оценивание и тестирование решения примера.
Таблица 1. Параметры запроса для позадачной работы
Название параметра 1 2 3 4 Перейти к следующему примеру +/– +/– +/– +/– Остановиться в конце обучающего множества +/– +/– +/– +/– Вычислять оценку – + + + Интерпретировать ответ + – – + Вычислять градиент – – + – Подготовка к контрастированию – – +/– –Все перечисленные запросы работают с текущей сетью и текущим примером задачника. Однако компоненту задачник необходимо указать, какой пример подлежит обработке. Кроме того, в главе «Оценка и интерпретатор ответа» введен класс оценок, вычисляемых по всему обучающему множеству. Такие оценки позволяют существенно улучшить обучаемость сети и ускорить ее обучение. Нет смысла возлагать перебор примеров на учителя, поскольку это снижает полезность компонента исполнитель. Таким образом, возникает еще четыре вида запросов.