В этой главе будут описаны различные виды входных сигналов и способы их предобработки. В качестве примера будут рассмотрены сети с сигмоидными нелинейными преобразователями. Однако, описываемые способы предобработки применимы для сетей с произвольными нелинейными преобразователями. Единственным исключением является раздел «Оценка способности сети решить задачу», который применим только для сетей с нелинейными преобразователями, непрерывно зависящими от своих аргументов.
Наиболее важным в данной являются следующее.
При предобработке качественных признаков не следует вносить недостоверную информацию.
Сформулирована мера сложности нейросетевой задачи.
Выборочная оценка константы Липшица и оценка константы Липшица нейронной сети позволяют легко оценить способность нейронной сети решить поставленную задачу. Эти легко реализуемые процедуры позволяют сэкономить время и силы.
Правильно выбранная предобработка упрощает нейросетевую задачу.
Нейроны, используемые в большинстве нейронных сетей, имеют структуру, приведенную на рис. 1. На рис. 1 использованы следующие обозначения:
x — вектор входных сигналов нейрона;
α — вектор синаптических весов нейрона;
Σ — входной сумматор нейрона;
p = (α,x) — выходной сигнал входного сумматора;
σ — функциональный преобразователь;
y — выходной сигнал нейрона.
Обычно нейронные сети называют по виду функции σ(p) . Хорошо известны и наиболее часто используются два вида сигмоидных сетей:
S 1: σ( p ) = 1/(1+exp(- cp )),
S 2: σ( p ) = p /( c +| p |),
где c — параметр, называемый «характеристикой нейрона». Обе функции имеют похожие графики.
Каждому типу нейрона соответствует свой интервал приемлемых входных данных. Как правило, этот диапазон либо совпадает с диапазоном выдаваемых выходных сигналов (например для сигмоидных нейронов с функцией S 1 ), либо является объединением диапазона выдаваемых выходных сигналов и отрезка, симметричного ему относительно нуля (например, для сигмоидных нейронов с функцией S 2 ), Этот диапазон будем обозначать как [ a,b ]
Различимость входных данных
Очевидно, что входные данные должны быть различимы. В данном разделе будут приведены соображения, исходя из которых, следует выбирать диапазон входных данных. Пусть одним из входных параметров нейронной сети является температура в градусах Кельвина. Если речь идет о температурах близких к нормальной, то входные сигналы изменяются от 250 до 300 градусов. Пусть сигнал подается прямо на нейрон (синаптический вес равен единице). Выходные сигналы нейронов с различными параметрами приведены в табл. 1.
Таблица 1
Входной сигнал |
Нейрон типа S 1 |
Нейрон типа S 2 |
c =0.1 |
c =0.5 |
c =1 |
c =2 |
c =0.1 |
c =0.5 |
c =1 |
c =2 |
250 |
1.0 |
1.0 |
1.0 |
1.0 |
0.99960 |
0.99800 |
0.99602 |
0.99206 |
275 |
1.0 |
1.0 |
1.0 |
1.0 |
0.99964 |
0.99819 |
0.99638 |
0.99278 |
300 |
1.0 |
1.0 |
1.0 |
1.0 |
0.99967 |
0.99834 |
0.99668 |
0.99338 |
Совершенно очевидно, что нейронная сеть просто неспособна научиться надежно различать эти сигналы (если вообще способна научиться их различать!). Если использовать нейроны с входными синапсами, не равными единице, то нейронная сеть сможет отмасштабировать входные сигналы так, чтобы они стали различимы, но при этом будет задействована только часть диапазона приемлемых входных данных — все входные сигналы будут иметь один знак. Кроме того, все подаваемые сигналы будут занимать лишь малую часть этого диапазона. Например, если мы отмасштабируем температуры так, чтобы 300 соответствовала величина суммарного входного сигнала равная 1 (величина входного синапса равна 1/300), то реально подаваемые сигналы займут лишь одну шестую часть интервала [0,1] и одну двенадцатую интервала [-1,1]. Получаемые при этом при этом величины выходных сигналов нейронов приведены в табл. 2.
Таблица 2
Входной сигнал |
Нейрон типа S 1 |
Нейрон типа S 2 |
c =0.1 |
c =0.5 |
c =1 |
c =2 |
c =0.1 |
c =0.5 |
c =1 |
c =2 |
250 (0.83) |
0.52074 |
0.60229 |
0.69636 |
0.84024 |
0.89286 |
0.62500 |
0.45455 |
0.29412 |
275 (0.91) |
0.52273 |
0.61183 |
0.71300 |
0.86057 |
0.90164 |
0.64706 |
0.47826 |
0.31429 |
300 (1.0) |
0.52498 |
0.62246 |
0.73106 |
0.88080 |
0.90909 |
0.66667 |
0.50000 |
0.33333 |
Сигналы, приведенные в табл. 2 различаются намного сильнее соответствующих сигналов из табл. 1. Таким образом, необходимо заранее позаботиться о масштабировании и сдвиге сигналов, чтобы максимально полно использовать диапазон приемлемых входных сигналов. Опыт использования нейронных сетей с входными синапсами свидетельствует о том, что в подавляющем большинстве случаев предварительное масштабирование и сдвиг входных сигналов сильно облегчает обучение нейронных сетей. Если заранее произвести операции масштабирования и сдвига входных сигналов, то величины выходных сигналов нейронов даже при отсутствии входных синапсов будут различаться еще сильнее (см. табл. 3).
Читать дальше