"…письмоводитель градоначальника,
вошедши утром с докладом в его кабинет, увидел такое зрелище: градоначальниково тело, облеченное в вицмундир, сидело
за письменным столом, а перед ним, на кипе недоимочных реестров, лежала, в виде щегольского пресс-папье, совершенно пустая
градоначальникова голова".
2.1. Нейронная сеть - средство распознавания
2.1.1. Построение обученной нейросети
Пусть перед нами экран, разбитый на двенадцать клеток, 4x3. Клетки отображают дискретность
элементов изображения. При фокусировании изображения клетка либо засвечивается, либо нет. "Засветка"
определяет единичное значение величины ее возбуждения, "не засветка" - нулевое. Так, буква О
определяет засветку клеток, определяемую на рис. 2.1. Буква А засвечивает
экран, как показано на рис. 2.2.
(рис 2.1) Обучение букве "О"
(рис 2.2) Обучение букве "А"Что надо сделать для распознавания этих двух букв? Для того,
чтобы некий конструируемый нами прибор мог сказать, какая это буква?
Очевидно, надо все сигналы возбуждения клеток экрана, засвечиваемой буквой О, подать на
конъюнктор, реализующий схему И. Единичный сигнал на выходе конъюнктора, как показано на рис. 2.1, сформируется тогда и только тогда, когда засветятся все клетки экрана, на которое
ложится изображение буквы О. Наличие единичного сигнала на выходе конъюнктора и определит ответ "Это
буква О ".
То же необходимо сделать и для буквы А.
Пометим каждую клетку экрана ее координатами. Тогда на языке математической логики сделанное нами
можно записать в виде логических высказываний - предикатов:
$$(1,2)\wedge (2,1)\wedge (2,3)\wedge (3,1)\wedge (3,3)\wedge (4,2) \to О$$
$$(1,2)\wedge (2,1)\wedge (2,3)\wedge (3,1)\wedge (3,2)\wedge (3,3)\wedge (4,1)\wedge (4,3) \to А$$.
Эти предикаты определяют "электронное" воплощение методами схемотехники.
При этом буквы не будут "мешать" друг другу, так как засветка соответствующих им клеток
экрана частично не совпадает и единичное значение конъюнкции определится только для одной из них.
А если на экран подать букву К? Тогда ни один из двух конъюнкторов не выработает единичное
значение, так как не произойдет полное совпадение засветки соответствующих им клеток экрана. Чтобы "научить"
систему букве К, необходимо ввести еще один конъюнктор и проделать те же построения, что и выше.
Таким образом, мы можем говорить, что построили систему распознавания
двух "правильно" заданных букв.
Но что делать, если буквы на экране пишутся дрожащей рукой? Тогда мы должны разрешить альтернативную
засветку каких-то соседних клеток экрана и учитывать это с помощью операции дизъюнкции, ИЛИ. Как известно,
в результате выполнения этой операции формируется единичный сигнал в том случае, если на входе есть хоть один
единичный сигнал.
Рассмотрим возможность распознавания буквы О, допустив
возможность засветки клеток (1,1), (1,3), (4,1), (4,3). Тогда ранее построенный предикат примет
вид
$$((1,1)\vee (1,2)\vee (1,3))\wedge (2,1)\wedge (2,3)\wedge (3,1)\wedge (3,3)\wedge ((4,1)\vee (4,2)\vee (4,3)) \to О$$.
Аналогично, для буквы А допустим засветку клеток (1,1) и (1,3):
$$((1,1)\vee (1,2)\vee (1,3))\wedge (2,1)\wedge (2,3)\wedge (3,1)\wedge (3,2)\wedge (3,3)\wedge (4,1)\wedge (4,3) \to А$$.
Объединив оба предиката, получим схему на рис. 2.3.
Таким образом, мы реализовали для обучения и распознавания
"схемотехнический" подход, основанный на применении булевых функций и оперирующий булевыми переменными 0, 1.
Теперь совершим тот шаг, тот переход, который и определяет гениальную простоту природного воплощения,
рассчитанного на неполноту данных, недостоверность, "зашумленность", высокое быстродействие, надежность
и унифицированность. Ибо мы не можем представить себе электронную схему, укрытую в черепной коробке.
(рис 2.3) Совместное обучение буквам "О" и "А"Природа (и мы, как ее часть) никогда не располагает точной, определенной и достоверной информацией.
Засветка клеток экрана, как и рецепторов нашего глаза, не бывает полной, образ не бывает правильным, присутствуют шумы, пропуски и т.д. Тогда жизненную
важность обретают понятия похожести, ассоциаций. "На что более всего похож "показанный" образ, возникшая ситуация, и какие ответные действия наиболее обоснованы?" - вот вопрос,
определяющий принцип нашей жизни среди многих опасностей и свершений. Ассоциативность нашего мышления является абсолютной.
Значит, надо уйти от вполне определенных булевых переменных (0, 1, "да - нет", "белое
- черное" и т.д.) в сторону неопределенности, достоверности или других оценок информации, - в сторону
действительных переменных.
Но тогда необходимо уйти и от булевой алгебры, так как понятия конъюнкции и дизъюнкции для действительных
переменных не определены.
Тут и приходит на помощь анализ и применение принципов природной реализации - принципов нейронной
сети, воплощенных в нашем мозге.
Преобразуем полученную нами обученную схему в нейронную сеть (рис. 2.4).
Каждая клетка экрана - это нейрон - рецептор,
который в результате засветки обретает некоторую величину возбуждения, принимающую значение между нулем и единицей. Рецепторы, заменившие экран, образуют входной, или рецепторный, слой нейросети. Каждый
конъюнктор и дизъюнктор заменим единой для всей сети моделью нейрона. Введем выходной слой
сети, состоящий в нашем примере из двух нейронов, возбуждение которых
определяет результат распознавания. Назовем нейроны выходного
слоя по названиям букв - О и А.
Рецепторы, подобно экрану, возбуждаются извне. Все же другие нейроны,
имитируя распространение возбуждения в мозге, реализуют передаточную функцию.
Она преобразует сигналы на входе нейрона, с учетом весов этих входов (пока отложим их рассмотрение),
в величину возбуждения данного нейрона, передаваемого далее по сети в соответствии со связями нейронов и достигающего выходного слоя.
Поскольку работа мозга имитируется на логическом уровне, передаточная
функция
выбирается достаточно простой. Так, в нашем примере достаточно выбрать следующую передаточную функцию для нахождения величины возбуждения i -го нейрона:
$$\begin{array}{l}
V=\sum_j V_j\\
V_i = \left \{
\begin{array}{ll}
V, \mbox{если } V > h \\
0, \mbox{в противном случае}
\end{array}
\right
\end{array}$$
(рис 2.4) Нейронная сеть для распознавания букв "О" и "А"Здесь суммируются все сигналы (величины возбуждения), которые пришли от нейронов,
связанных с данным. Порог может быть единым для всех нейронов.
Проверим, как построенная нейросеть реагирует на четко заданные эталоны
букв. Под четкостью будем понимать то, что величина возбуждения, реально отражающая достоверность, максимальна
и равна единице. Пусть при показе буквы О засветились нейроны - рецепторы (1, 1), (1, 2), (1, 3), (2, 1), (2, 3), (3, 1), (3, 3), (4, 2). Тогда, при h = 0 величины
возбуждения нейронов примут значения V1 = 3
, V2 =
1
, VO = 8
, VA = 7
. Нейрон О
возбудился более, чем нейрон А, указывая тем самым, что скорее всего была показана
буква О. Аналогично можно рассчитать реакцию нейросети на все возможные конфигурации четко заданных эталонов
букв.
А теперь введем ту самую неопределенность, к которой мы так стремились. Пусть в процессе показа буквы О четкость утрачена и величины возбуждения нейронов - рецепторов
принимают значения V(1,1) = 0,2
, V(1,2) = 0,7
, V(1,3) = 0
, V(2,1)
= 0,5
, V(2,2) =0,1
, V(2,3) = 0,5
, V(3,1) = 0,5
, V(3,2) = 0,5
, V(3,3) = 0,1
, V(4,1) = 0,4
, V(4,2) = 0,4
, V(4,3) = 0,5
. Считаем: V1
= 0,9
, V2 = 1,3
, VO = 3,8
, VA = 3,9
.
Что ж, по-видимому, мы потребовали невозможного. Ведь при таком "крупнозернистом" экране
налагаемые на него образы букв О и А пересекаются весьма
существенно, и зашумленный показ букв обладает малой устойчивостью.
Рассмотренный принцип распознавания является обобщением принципа
простейшего Персептрона, предложенного Ф. Розенблатом в 1959 г. [4] и ставшего классическим.
2.1.2. Обучение нейросети
Теперь предположим, что структура сети (рис. 2.5), а также передаточная функция (та же), заданы, и нам предстоит обучить сеть распознаванию букв О и А.
(рис 2.5) Нейросеть, подлежащая обучениюПусть экран разбит на столько же клеток, и мы убеждаемся лишь в том, что предложенная нейросеть содержит
не менее 12 нейронов входного слоя, а также не менее двух нейронов
выходного слоя.
Теперь возникла необходимость отразить истинный характер преобразования нейроном входной информации,
т.е. величин возбуждения нейронов, связанных с ним. Дело в том, что все входы нейронов обладают регулируемыми
(!) весами (синапсическими весами, весами связей), позволяющими направлять прохождение возбуждения в сети. С помощью
этого регулирования можно связывать конфигурации и возбуждения нейронов входного слоя
(посылка) с максимальным возбуждением определенных нейронов выходного слоя (следствие),
формируя связи "если $$\dots$$, то $$\dots$$ ".
В связи с этим передаточная функция нейрона,
в частности заданная нам или выбранная нами сознательно, имеет общий вид
$$\begin{array}{l}
V=\sum_j \omega_j V_j,\\
V_i = \left \{
\begin{array}{ll}
V, \mbox{если }V > h \\
0, \mbox{в противном случае}
\end{array}
\right
\end{array}$$
Здесь $$\omega _{j}$$ - синапсический вес входа или вес связи, по которой передается
возбуждение от нейрона j нейрону i.
Тогда задачей обучения является выбор высоких весов некоторых
связей и малых весов других связей так, чтобы в соответствии с функциональным назначением сети сложились
отношения "посылка - следствие", подобные тем, которые мы создали выше при построении уже обученной
сети. Они переводят возбуждение рецепторов, образующееся при "показе" эталонов и образов, в максимальное возбуждение тех нейронов выходного слоя, которые говорят, "что это такое".
(рис 2.6) Обученная нейросетьДля простоты положим максимальный вес связи единичным, а минимальный оставим нулевым. Это соответствует
тому, что, интерпретируя связи в сети как "проводочки", мы какие-то из них оставим (считая их сопротивление
нулевым), а другие, ненужные, "перекусим".
Изложенная идея обучения по четко заданным эталонам
воплощена в алгоритме трассировки нейросети.
На рис. 2.6 приведен результат такой трассировки для нашего примера,
где выделенные стрелки соответствуют связям с единичными весами, а другие - с нулевыми.
Просчитав несколько, в том числе "неопределенных", образов
на входе, можно убедиться в ее правильной работе, хотя и демонстрирующей изначально выбранное слабое отличие О от А.
Получилась интересная игра. Мы задаем на входе случайные возбуждения и спрашиваем: на что это больше
похоже из того, что "знает" нейросеть? Все, что надо сделать, это посчитать в едином цикле для
каждого нейрона значение передаточной
функции
и проанализировать величины возбуждения нейронов выходного
слоя.
2.2. Модель мозга
Нейросеть содержит узлы - аналоги нервных клеток - нейронов
(рис. 2.7) (нейроподобных элементов, НПЭ) и их соединения - синапсические связи.
(рис 2.7) НейронМодель нейрона во взаимодействии с другими нейронами
нейросети представлена на рис. 2.8.
(рис 2.8) Модель нейронаЗдесь Vki
- энергетические доли импульсов Vk
, выработанных
другими нейронами и поступивших на дендриты нейрона i, $$\omega _{ik}$$ - веса дендритов, hi
- пороги. В свою очередь, выработанный импульс Vi
также распределяется
между дендритами нейронов, с которыми связан нейрон i
с помощью ветвящегося аксона. В соответствии с законом распределения энергии, величина Vi
делится пропорционально
значениям весов дендритов "принимающих" нейронов.
Впрочем, проблему деления (или неделения), лежащую в основе практических моделей, мы еще обсудим
далее.
Каждый нейрон или управляем извне, или сети строятся по принципу
самоуправления, используя обратные связи. А именно, можно регулировать значения весов синапсических связей $$\{ \omega _{i}\}$$ и значения порогов hi
. Такое регулирование, во многих вариантах реализованное в разных моделях, и определяет возможность обучения и самообучения сети. Оно задает пути прохождения возбуждений через сеть, простейшим
образом формируя связи "посылка - следствие".
На рис. 2.9 дается фрагмент нейросети, по которому мы можем представить
следующее.
(рис 2.9) Нейронная сеть с "правдоподобным" распределением сигнала возбужденияФункции f бывают различны, но просты по объему вычислений. В простейшем случае f cовпадает с линейной формой - указанным аргументом. Т.е. по всем дендритам
с учетом их весов (на рис. 2.9) производится суммирование и сравнение с порогом
"
$$\begin{array}{l}
V_i = \xi (( \omega_{i1}V_2+\omega_{i2}V_4) -h),\\
\xi (x) = \left \{
\begin{array}{ll}
0, \mbox{при } x < 0 \\
x, \mbox{при } x \ge 0
\end{array}
\right
\end{array}$$
Величина превышения порога является величиной возбуждения нейрона или определяет значение величины возбуждения (например, в некоторых моделях
величина возбуждения всегда равна единице, а отсутствие возбуждения соответствует нулю). В некоторых моделях
допускают и отрицательную величину возбуждения. Значение возбуждения передается через ветвящийся аксон
в соответствии со связями данного нейрона с другими нейронами.
В общем случае по дендритам может передаваться как возбуждающее,
так и тормозящее воздействие. Первое может соответствовать положительному значению веса синапсической связи, второе - отрицательному. Аналогичный эффект достигается при передаче отрицательных
значений возбуждения нейронов.
В сети распознают входной (рецепторный) слой, воспринимающий внешние возбуждения (например, на
который подается видеоизображение), и выходной слой, определяющий результат решения задачи. Работа сети
тактируется для имитации прохождения по ней возбуждения и управления им.
Существуют два режима работы сети: режим обучения и режим распознавания (рабочий режим).
Установим случайным образом начальные значения весов дендритов
всей сети. Пусть нейросеть предназначена для распознавания рукописного
текста. Тогда входной слой аналогичен сетчатке глаза, на который ложится изображение. Его подача на входной слой
возбуждает в некоторой конфигурации множество нейронов - рецепторов.
Пусть мы на входной слой подали и поддерживаем некоторый эталон, например букву А. Через некоторое
время возбудится (максимально) нейрон выходного слоя, который мы можем отметить как образ А (прохождение возбуждения отмечено темным цветом). Т.е. его возбужденное состояние мы воспринимаем как ответ "Это буква А ".
Введем снова букву А, но с естественными искажениями, обусловленными почерком, дрожанием руки и т.д. Может возбудиться тот же нейрон,
но может и другой. Мы же хотим "научить" систему, заставить ее ответить, что это - тоже буква А, т.е. добиться возбуждения того же нейрона
выходного слоя.
Тогда по некоторому алгоритму (один из известных алгоритмов называется алгоритм обратного распространения
ошибки; в нем воспроизводится подход, используемый в динамическом программировании, здесь мы предлагаем алгоритм
"трассировки") мы меняем веса и, возможно, пороги в сети на пути прохождения
возбуждения так, чтобы заставить возбудиться нужный нейрон.
Таким способом, предъявляя множество эталонов и регулируя параметры,
мы производим обучение сети данному образу.
(Математические проблемы несовместимости управления параметрами для разных эталонов
оставим в стороне: в живой природе такой процесс проходит успешно, достаточно устойчиво при разумном отличии эталонов. Например, интуитивно ясно, что пытаться заставить один и тот же нейрон
выходного слоя возбуждаться и на строчную, и на прописную букву А вряд ли разумно. В лучшем случае он определит, что это буква вообще,
а не, скажем, знак пунктуации.)
Обучение заканчивается тогда, когда вероятность "узнавания"
достигнет требуемого значения, т.е. необходимость корректировки параметров по предъявляемым эталонам
возникает все реже. Теперь можно работать в режиме распознавания - в том ответственном режиме,
для которого сеть создавалась. Предъявляем сети различные буквы. Можем быть уверены, что с большой вероятностью, если мы предъявим случайно
искаженную и даже зашумленную букву А (конечно, в допустимых пределах), сеть ее распознает, т.е. максимально возбудится соответствующий нейрон выходного слоя.
Можно существенно облегчить обучение, предъявляя эталон
"в полном смысле", т.е., например, показывая букву, точно регламентируемую букварем. Тогда предусмотренная (!) степень
отклонения от этого эталона, обусловленная почерком, будет влиять на вероятность распознавания
этой буквы. Далее мы будем рассчитывать именно на такой способ обучения.
Теперь обобщим "специализацию" входного слоя, связав его с некоторыми характеристиками
исходной ситуации (входного вектора), по которой необходимо принимать решение - формировать выходной
вектор. Мы учим сеть по эталонным ситуациям, по которым мы знаем решение, а затем в рабочем режиме она
выдает нам решение во всем диапазоне ситуаций. При этом она автоматически решает проблему, на какую "знакомую"
ей ситуацию более всего похожа введенная ситуация, и, следовательно, какое решение следует выдать. Конечно, с определенной
вероятностью правильности.
Такая обработка входной информации при возможном применении в сфере развлечений показана на рис. 2.10 и рис. 2.11.
Отметим, что в экспертных системах требуются точные данные о ситуации, чтобы выдать соответствующее
ей заключение. Нейронной сети такой подход "чужд". Она выдает ответ на вопрос "На что похожа
данная ситуация?" и, следовательно, какое должно быть заключение. Это еще раз подтверждает, что нейросеть
имитирует ассоциативное мышление.
(рис 2.10) Реакция на угрозу
(рис 2.11) Реакция на поощрение2.3. Ввод и "разглядывание" эталонов и образов
Устройства ввода информации - эталонов, входных векторов, исходных
ситуаций - имеют определяющее значение для нейросети. С их помощью формируются и поддерживаются возбуждения
входного слоя. Однако связь модели живого организма с внешней средой естественно представляет собой сложную
проблему - конгломерат ряда частных технических и алгоритмических проблем. Среди них - успешно решаемая проблема
видеоввода. Однако ввести в компьютер "картинку" - это лишь часть дела. Картинку надо обработать - в целом
и по частям, чтобы по максимуму интересующей информации получить полные и достоверные выводы. Здесь мы ищем аналоги нашего
восприятия действительности.
Мы совершаем обзор представляемой нам картины тремя способами:
сканированием сектора обзора, разбитого на элементарные сегменты (рис. 2.12);
сканированием сектора обзора со "своим окном просмотра" (рис. 2.13);
спонтанным обзором, обусловленным привлечением внимания к цветовому или скоростному всплеску, быстрым
увеличением размера (угрожающим приближением) объекта, указанием извне (целеуказанием) и т.д. (рис. 2.14).
Третий способ также требует сканирования сектора обзора, однако со значительно меньшими энергетическими
затратами.
При первом и втором способах анализ сложнее, т.к. требует согласования всего виденного по сегментам.
Это, в свою очередь, требует включения высших уровней логического вывода (интеллекта).
При третьем же способе можно добиться избирательности, чрезвычайности реакции, например на резкие
движения, на бег, появление яркой расцветки в одежде и т.д. Это может с успехом использоваться в развлекательных,
игровых системах.
Все способы реализуются легче, если речь идет о единственном объекте единовременного распознавания,
например буквы, хозяина квартиры, подписи и т.д. Ибо любая сцена, например туристская группа, пришедшая полюбоваться "умным" монстром,
требует не только детального, но и совместного анализа этим монстром всех (многих) ее составляющих.
(рис 2.12) Сканирование по строкам
(рис 2.13) Реакция на внезапность
(рис 2.14) Беспорядочное сканированиеВпрочем, говоря о туристах, можно говорить о конечной, усредненной реакции на всю группу. Ведя обзор,
сеть постепенно, по критериям обучения "это хорошо - это плохо",
воспринимая "настроение" как последовательное добавление элементов радости и огорчения, приходит к некоторому
окончательному состоянию, обусловленному тем, сколько того и другого она увидела. Тогда для разных групп туристов или экскурсантов
это состояние будет разным. Это может стать источником веселья и шутливого "поощрения" той группы, которая привела объект
в радость, и "осуждение" группы, ввергнувшей его в печаль.
Итак, в каждом такте обзора, формируется сегмент, содержимое которого необходимо распознать. Чаще
всего целесообразно допущение о том, что в элементарном сегменте (или в "окне просмотра") при
дискретном сканировании находится не более чем один значимый объект. Пусть это - максимальная область текста,
вмещающая единственную букву, написанную с допустимой долей небрежности. Как помочь себе же разглядеть эту букву?
По-видимому, следует пытаться разместить эту букву на входном слое так, чтобы она максимально соответствовала тому
размещению эталонов, с помощью которых производилось обучение.
Тогда распознавание заработает правильно (рис. 2.15). Такой
процесс "разглядывания" может предполагать:
поиск возможности совмещения условного центра элемента изображения и центра экрана - входного рецепторного
слоя сети (фокусировка);
поиск варианта масштабирования элемента изображения (приближение - удаление);
поиск угла наклона и др.
В результате таких пробных действий может вдруг "запуститься" процесс распознавания,
хотя, возможно, и ошибочного. Что ж, в жизни бывает и так.
(рис 2.15) Поиск условия узнаванияЭтот процесс выделения и размещения в попытке инициировать распознавание
мы можем сравнить с концентрацией нашего внимания и с фокусировкой, понимая, что наше зрение в каждый момент всегда
сконцентрировано на элементе изображения, держа его в фокусе, в целом производя обзор и разглядывание всего изображения
[26].
Напомним, что работа нейросети тактируется. Тогда развитие сценария в увлекательной многофункциональной
детской игре с обучаемым компьютерным человечком КОМПИ может быть таким, как представлено на рис. 2.16.
(рис 2.16) Реакция на распознавание в реальном времени2.4. Кора
"Крошка сын к отцу пришел,
и спросила кроха:
- Что такое хорошо
и что такое плохо?"
Мы видим, что столь примитивная оптимизация целевой функции, принимающей только два значения - "хорошо"
и "плохо", может быть использована лишь на начальной стадии изучения и применения принципов нейросети. Можно
построить занимательную игрушку (как весь наш мир!), веселый аттракцион $$\dots$$
Очевидно, что мы не можем оставаться на том примитивном уровне, когда по предъявляемому изображению
мы получаем заключение типа "это буква х ", "это - хорошо (вкусно)", "это
- плохо" и т.д. В научном приложении на таких принципах можно построить модель собачки Павлова, демонстрирующую
условный рефлекс при предъявлении этикетки "Pedigrее".
Но более серьезные применения должны использовать более сложные критерии логической выводимости.
Ведь хронология Божественных событий Сотворения Мира закончилась созданием Человека!.. И тут начались
проблемы $$\dots$$ Эти проблемы обусловлены вопросом, запретным плодом райского сада: "Ну, и что же
из этого следует?"
Цепочки логических выводов, производимые человеком, содержат не одно, а много звеньев. Сделанные
выводы вновь входят в конфигурацию изображений (входных векторов) для новых выводов, действий и т.д.
Буква нужна, чтобы распознать слово. Слово - чтобы распознать предложение, уяснить его смысл, предпринять
адекватные действия и т.д. (вспомним исходную посылку Иоанна Евангелиста: "В начале было Слово").
Тогда возникает вопрос о целесообразной структуре сети, где одни выводы, собираясь в различные конфигурации,
как бы множась, вновь участвуют в формировании новых выводов. Здесь можно предположить как прямые, так и обратные
связи, когда попутно сделанные выводы уточняют правильность всего умозаключения.
Технически возникает вопрос о такой концентрации выводов, когда совмещены понятия входного и выходного
слоев. Это наводит на мысль о целесообразности существования такого универсального слоя - коры со связями
между отдельными нейронами и целыми областями. На коре концентрируются выводы
для немедленного участия в формировании других выводов.
По-видимому, таков ход мыслей Господа Бога, создавшего кору головного мозга не подумав о греховных
последствиях. Так чисто технически можно доказать ее целесообразность.
2.5. Устойчивость, помехозащищенность и локализация максимального возбуждения
" $$\dots$$ Цинциннат брал себя в
руки и, прижав к груди, относил в безопасное место".
На рассмотренном маленьком примере, где мы предположили жесткое закрепление нейронов
выходного слоя между образами, принцип ассоциации "на что более всего это похоже" пока не виден. Как же он появляется?
Уместны ассоциации, предположения о том, как это реализовано в природе.
Представим себе отдельно выходной слой (рис. 2.17).
(рис 2.17) Области возбужденияРассматривая прохождение возбуждения, например, при подаче того же изображения буквы А,
в модели нейросети, ближе к реальному мы можем предположить, что не один нейрон,
строго соответствующий этой букве, придет в возбужденное состояние, как это предполагается в логической модели, в
его окрестности возбудятся и другие нейроны. Эта величина возбуждения будет угасать
с ростом удаления. Нам же будет нужно, чтобы максимальной величиной возбуждения в этой окрестности обладал именно отмеченный нейрон. Более того, желательно, чтобы этот и только этот нейрон
обладал высокой, существенно различимой величиной возбуждения. Это обеспечит определенность и однозначность при дальнейшем использовании
полученного вывода для принятия решения и для построения других логических цепочек, использующих это решение. Такая локализация сигнала возбуждения
позволяет ответить на вопрос: "на что более всего похож предъявляемый образ, несмотря на случайные отличия и оказываемые
помехи?"
Кстати, такое предположение указывает на другое, фактически реализуемое предположение о непрерывности
перерастания свойства похожести одних образов в другие. Следование этому
принципу при принудительном закреплении нейронов выходного слоя способствует
построению адекватных моделей. А точнее, подавая первый раз букву А, не следует указывать системе, какой нейрон выходного слоя должен возбудиться. Лучше подать достаточно "правильный" эталон и посмотреть, какой нейрон возбудится. Этот нейрон и будет впредь соответствовать нашей букве. Возбуждения именно этого нейрона
мы будем добиваться при предъявлении других эталонов.
(Хотя, мы же далее предполагаем, на основе уже рассмотренных примеров, что первоначально сеть "пуста",
т.е. все веса - нулевые. Путь же возбуждения прокладывается, "трассируется".)
Способы максимизации и локализации уровня возбуждения
основаны на нахождении экстремума функции возбуждения, построенной на области
выходного слоя. Здесь нельзя обойтись без обмена тормозящими воздействиями между нейронами
выходного слоя. Простейшая идея состоит в следующем. Все нейроны области выходного слоя имеют
между собой синапсические связи, так что каждый нейрон
связан с ближайшими нейронами тормозящими связями, по модулю пропорциональными величине собственного возбуждения. Тогда в итоге взаимодействия
двух нейронов (один из алгоритмов такого взаимодействия нейронов выходного слоя
будет рассмотрен) более "сильный" нейрон сохранит положительный (хотя и меньший) потенциал, сообщив более
"слабому" нейрону тормозящее воздействие. Такое пошаговое "голосование" на фоне приходящего подтверждения
от эталона и выделит сильнейшего.
Итак, мы видим, что обучение сети неразрывно связано с локализацией возбуждения на выходном слое.
Анализируя все сказанное выше, мы можем попытаться собрать некоторую универсальную модель нейросети.
В ней будут присутствовать входной и выходной слои. Картина возбуждений выходного слоя при подаче изображения
на входной слой будет представлять собой (после аппроксимации в непрерывную область определения из дискретной)
непрерывную функцию, максимум которой должен определить нам необходимое заключение. Однако на этапе обучения
(да и в рабочем режиме - с удовлетворяющей нас достаточно малой вероятностью) по ряду предъявляемых эталонов этот
максимум не совпадает с желаемым ответом. Следовательно, путь распространения возбуждений внутри сети необходимо скорректировать изменением синапсических
весов нейронов, оказавшихся задействованными в этом процессе.
Было сказано, что предварительная локализация
максимума величины
сигнала производится в результате взаимодействия нейронов
в области или некоторой окрестности выходного слоя или коры. Получается так, что области возбуждений оказываются "закрепленными"
за типами объектов - за буквами, цифрами, продуктами питания и т.д. В развитой сети, где становится актуальным понятие коры, нейроны
отдельных ее областей через нейроны внутренних слоев вновь порождают пути прохождения возбуждений в другие области коры и т.д.
Пытаясь разгадать и воспроизвести универсальную нейросеть, мы вновь и вновь пытаемся "заглянуть
в зеркало". Мы видим, что хотя отдельный нейрон обладает возможностями
взаимодействия с огромным числом нейронов ( нейрон
имеет до 10 тысяч дендритов ), это взаимодействие характеризуется локальностью. А именно,
несмотря на случайность связей, вероятность связи с "близким" нейроном значительно
выше вероятности связи с нейроном "далеким". Об этом говорят даже исследованные длины дендритов и аксонов. (Длина дендрита
достигает одного миллиметра; однако длина аксона достигает сотен миллиметров. При этом применяется, по-видимому,
усредненная характеристика, вряд ли принимающая во внимание нейроны только лишь головного мозга.)
Такой принцип локальности, пронизывающий всю структуру сети, в сочетании с принципом иерархии - возможностью
построения новых выводов на основе сделанных - позволяет на деле реализовать связи "каждый с каждым".
Никакой вывод не может оставаться недоступным и неиспользованным при построении сложных умозаключений.
Принцип локальности обеспечивает минимизацию входной информации, существенное влияние лишь значимых
признаков на заключение, контролируемое и диагностируемое по функциональное разбиение областей нейросети,
определение и выделение той области нейросети, в синапсические веса которой необходимо внести поправки в процессе обучения (например, организовать прилив крови).
Принцип локальности не отвергает существования маловероятных связей "каждый с каждым".
Эта вероятность может быть высокой вследствие аномалий генетического характера. Например, человек,
которого мы относим к уникумам, может видеть кожей вследствие того, что нейроны,
воспринимающие кожные ощущения, сильно связаны с нейронами выходного слоя, "отвечающими"
за зрение. И вместо того чтобы возбуждение в сторону последних при слабых связях угасло, оно становится результативным. Ведь в целом
все нейроны устроены одинаково!
Большое число связей способствует высокой надежности мозга. Ведь ежедневная гибель огромного числа нейронов, подхлестанная алкоголем и наркотиками, а также травмы, компенсируются
другими путями прохождения возбуждений, иногда даже связанными с необходимостью переобучения. Впрочем, ограниченный
ресурс возможного не спасает, в конце концов, от деградации.
Итак, рассмотрим более подробно процесс локализации
максимальной величины возбуждения
на выходном слое, заключающейся в выделении того нейрона
некоторой малой области, величина возбуждения которого максимальна. Он основан на подавлении тех сигналов возбуждения нейронов,
которые не соответствуют нейрону с максимальным возбуждением. Т.е. если необходимо сконцентрировать сигнал и выделить нейрон
с максимальной величиной возбуждения, это достигается с помощью подавляющих связей, с которыми действуют друг на друга "соседние" нейроны выходного
слоя.
Пусть в целом над нейронами выходного слоя, условно расположенного
на плоскости (x, y), можно построить непрерывную функцию их возбуждения P(x, y)
(рис. 2.18), обусловленную прохождением сигналов возбуждений в сети на
основе предъявленного эталона. Будем считать, что эта функция имеет один или
более максимумов. Пусть Pij
- значение величины возбуждения нейрона
с координатами (i, j).
Каждый нейрон (i, j), действуя в своей окрестности,
рассылает соседним нейронам, на их дендриты
с отрицательными, не обязательно регулируемыми, весами, свою величину возбуждения Pij, первоначально полученную
из сети.
Представим взаимодействие двух "близких" нейронов, например (i, j) и (i, j+1), получивших первоначально разные значения величин возбуждения
из сети. Пусть Pij > Pi,j+1
. Тогда в очередном такте времени на входе нейрона (i, j) появится подавляющий сигнал Pi,j+1
,
а на входе нейрона (i, j+1), и так имеющего меньшее значение величины возбуждения,
- подавляющий, больший сигнал Pij
.
(рис 2.18) Проблема локализации возбужденияПри подтверждаемом на входном слое эталоне, т.е. при существовании
на некотором отрезке времени характера и величины возбуждений, обусловливающих возбуждение выходного слоя,
на выходном слое, в частности между нейронами (i, j) и (i,
j+1)
, происходит перераспределение величины возбуждения.
А именно: несомненно, уменьшится значение Pij
, но в еще большей степени уменьшится
значение Pi,j+1
. В следующем такте более "сильный" нейрон
еще более "ослабит" более "слабый" нейрон, который, в свою очередь, сможет
еще в меньшей степени "ослабить" более "сильный" нейрон и т.д. Более того,
"слабый" нейрон может "слабеть" до тех пор, пока взвешенная сумма подаваемых
ему сигналов не станет меньше его порога.
(рис 2.19) Локализация возбужденияРассматривая этот процесс в рамках взаимодействия всех нейронов
области выходного слоя, можно сделать вывод о постепенной концентрации высокого уровня возбуждения,
присущего одному или нескольким нейронам и определяющего один или несколько
локальных максимумов.
При таком взаимодействии нейронов области возбуждения выходного
слоя происходит лишь усиление сигнала наиболее возбужденного нейрона.
Полное подавление возможно лишь на границе этой области. Если где-то внутри области возбуждение некоторого нейрона окажется подавленным полностью (сигнал не преодолевает порога ),
то в следующем такте этот нейрон не сможет подавить сигнал того нейрона,
который до того имел более слабый сигнал возбуждения. Тогда возможно появление в такой области возбуждения нового локального максимума. Таким
образом, веса отрицательных связей должны способствовать максимальному усилению возбуждения того нейрона, который
первоначально продемонстрировал максимальное возбуждение, при затухании возбуждения нейронов в сторону периферии.
На человеческом языке это означает: "Любое угадывание не исключает сомнений".
Однако всегда ли необходимо на выходном слое локализовать величину возбуждения?
По-видимому, такое усиление уровня возбуждения необходимо для того, чтобы единственный нейрон
выходного слоя преодолел некоторую "планку" (изменяющуюся?), чтобы объявить себя ответственным за сделанный вывод или решение.
Однако следует отметить, что локализация
и максимизация возбуждения
на выходном слое особенно важны тогда, когда действительно необходима
высокая степень определенности. Это важно в том случае, если получаемый вывод (решение) немедленно участвует
в цепочке последующих, использующих его выводов.
(рис 2.20) НейродегустаторВ конце концов, все обусловлено назначением сети, решаемой задачей. Можно представить себе возможный
аттракцион - реакцию фантастического чудовища на изображение, как это представлено на
рис.
2.10
и рис. 2.11. По виду изображения инициируются те или иные программы действий:
радости, гнева, поднятия лап, виляния хвостом и т.д. Возбуждение определенных нейронов выходного
слоя связывается с запуском соответствующих программ. Величина возбуждения может являться основным параметром для этих программ. Программы
не исключают друг друга, и в одном такте могут запускаться несколько программ.
Можно представить радостную модель гурмана-дегустатора (рис. 2.20),
по аромату блюда определяющего состав использованных ингредиентов и приходящего в восторг или в уныние от
представленного букета.
В большинстве частных задач, где нейросеть обучается с помощью "учителя", т.е. на основе
действий извне при ее настройке, присутствует элемент принудительного закрепления нейронов
выходного слоя за выводами. В процессе последующего обучения преимущественно с помощью весов синапсических связей добиваются адекватной реакции сети.
2.6. Пространство признаков
Выше неявно проявилась лишь следующая модель. Образ буквы, например а, налагается на входной слой нейросети - рецепторы. Конфигурация
возбужденных рецепторов, порождая прохождение возбуждения через внутренние
слои нейросети (образуя путь возбуждения), определяла возбуждение (если не гасло по пути) одного из нейронов
выходного слоя, говорящего "это буква а ". Интуитивно ясно, что устойчивость такой схемы по отношению к огромному множеству
конфигураций возбуждений рецепторов, соответствующих одной только букве а, вряд ли высока. Вглядываясь
в себя, мы видим, что такое непосредственное распознавание осуществляется далеко не всегда, особенно на этапе
получения школьного образования, ибо наше образование получается на основе признаков и определений (правил вывода).
Как мы характеризуем строчную букву а? Это кружочек, справа примыкает палочка с хвостиком
вправо.
А прописная А? Две палочки с перекладинкой. Но ведь буква Н тоже соответствует
этому определению. Тогда мы добавляем: две палочки, соединенные вверху. (Кстати, соединение вверху может
быть в результате небрежности лишь обозначено. Тогда о намеке на него мы можем судить по наклону палочек.
Дальнейшая небрежность может привести к неразличимости букв А и Н.)
Значит, существует ряд признаков, лежащих в основе определений. И мы на интуитивном уровне понимаем,
что такой способ распознавания гораздо более устойчив к искажениям
и особенностям почерка, однозначен и надежен. Ведь при изображении буквы А можно допустить не только
небрежность в верхнем соединении палочек, но и значительную разницу в общем наклоне буквы, в длинах боковых палочек,
в месте расположения перекладины, в ее наклоне и длине и т.д. Искажение может привести к сомнениям лишь при крайней похожести
на цифру 4, на телеграфный столб или на греческую $$\Delta$$ . Но даже в этом случае окончательный вывод может быть сделан
на основе контекста, т.е. по использованию дополнительных признаков "по умолчанию".
Значит, в нашем случае необходимо ввести такие признаки, как наличие кружка, палочек, хвостиков,
их взаимного расположения и т.д. То есть необходимо построить пространство
признаков
, преобразовать наши входные изображения в это пространство, и тогда появится возможность получения
более определенного и устойчивого к искажениям заключения.
Перевод входного изображения в пространство признаков
значительно расширяет возможности "разглядывания" - масштабирования, размещения, поиска угла наклона
и т.д., т.е. позволяет с более высокой достоверностью производить распознавание.
Например, изображение танка может в разных ракурсах ложиться на входной слой рецепторов.
Конечно, можно запомнить, что "и это - танк", "и это - тоже танк" и т.д. Но если ввести хотя бы такое определение,
достаточное для соседки - тети Маши, как "массивный корпус на гусеничном ходу (тоже нуждается в определении!), а сверху башня с дулом
пушки, и все такое зелененькое", то это научит хотя бы принимать меры предосторожности.
"…письмоводитель градоначальника,
вошедши утром с докладом в его кабинет, увидел такое зрелище: градоначальниково тело, облеченное в вицмундир, сидело
за письменным столом, а перед ним, на кипе недоимочных реестров, лежала, в виде щегольского пресс-папье, совершенно пустая
градоначальникова голова".
2.1. Нейронная сеть - средство распознавания
2.1.1. Построение обученной нейросети
Пусть перед нами экран, разбитый на двенадцать клеток, 4x3. Клетки отображают дискретность
элементов изображения. При фокусировании изображения клетка либо засвечивается, либо нет. "Засветка"
определяет единичное значение величины ее возбуждения, "не засветка" - нулевое. Так, буква О
определяет засветку клеток, определяемую на рис. 2.1. Буква А засвечивает
экран, как показано на рис. 2.2.
(рис 2.1) Обучение букве "О"
(рис 2.2) Обучение букве "А"Что надо сделать для распознавания этих двух букв? Для того,
чтобы некий конструируемый нами прибор мог сказать, какая это буква?
Очевидно, надо все сигналы возбуждения клеток экрана, засвечиваемой буквой О, подать на
конъюнктор, реализующий схему И. Единичный сигнал на выходе конъюнктора, как показано на рис. 2.1, сформируется тогда и только тогда, когда засветятся все клетки экрана, на которое
ложится изображение буквы О. Наличие единичного сигнала на выходе конъюнктора и определит ответ "Это
буква О ".
То же необходимо сделать и для буквы А.
Пометим каждую клетку экрана ее координатами. Тогда на языке математической логики сделанное нами
можно записать в виде логических высказываний - предикатов:
$$(1,2)\wedge (2,1)\wedge (2,3)\wedge (3,1)\wedge (3,3)\wedge (4,2) \to О$$
$$(1,2)\wedge (2,1)\wedge (2,3)\wedge (3,1)\wedge (3,2)\wedge (3,3)\wedge (4,1)\wedge (4,3) \to А$$.
Эти предикаты определяют "электронное" воплощение методами схемотехники.
При этом буквы не будут "мешать" друг другу, так как засветка соответствующих им клеток
экрана частично не совпадает и единичное значение конъюнкции определится только для одной из них.
А если на экран подать букву К? Тогда ни один из двух конъюнкторов не выработает единичное
значение, так как не произойдет полное совпадение засветки соответствующих им клеток экрана. Чтобы "научить"
систему букве К, необходимо ввести еще один конъюнктор и проделать те же построения, что и выше.
Таким образом, мы можем говорить, что построили систему распознавания
двух "правильно" заданных букв.
Но что делать, если буквы на экране пишутся дрожащей рукой? Тогда мы должны разрешить альтернативную
засветку каких-то соседних клеток экрана и учитывать это с помощью операции дизъюнкции, ИЛИ. Как известно,
в результате выполнения этой операции формируется единичный сигнал в том случае, если на входе есть хоть один
единичный сигнал.
Рассмотрим возможность распознавания буквы О, допустив
возможность засветки клеток (1,1), (1,3), (4,1), (4,3). Тогда ранее построенный предикат примет
вид
$$((1,1)\vee (1,2)\vee (1,3))\wedge (2,1)\wedge (2,3)\wedge (3,1)\wedge (3,3)\wedge ((4,1)\vee (4,2)\vee (4,3)) \to О$$.
Аналогично, для буквы А допустим засветку клеток (1,1) и (1,3):
$$((1,1)\vee (1,2)\vee (1,3))\wedge (2,1)\wedge (2,3)\wedge (3,1)\wedge (3,2)\wedge (3,3)\wedge (4,1)\wedge (4,3) \to А$$.
Объединив оба предиката, получим схему на рис. 2.3.
Таким образом, мы реализовали для обучения и распознавания
"схемотехнический" подход, основанный на применении булевых функций и оперирующий булевыми переменными 0, 1.
Теперь совершим тот шаг, тот переход, который и определяет гениальную простоту природного воплощения,
рассчитанного на неполноту данных, недостоверность, "зашумленность", высокое быстродействие, надежность
и унифицированность. Ибо мы не можем представить себе электронную схему, укрытую в черепной коробке.
(рис 2.3) Совместное обучение буквам "О" и "А"Природа (и мы, как ее часть) никогда не располагает точной, определенной и достоверной информацией.
Засветка клеток экрана, как и рецепторов нашего глаза, не бывает полной, образ не бывает правильным, присутствуют шумы, пропуски и т.д. Тогда жизненную
важность обретают понятия похожести, ассоциаций. "На что более всего похож "показанный" образ, возникшая ситуация, и какие ответные действия наиболее обоснованы?" - вот вопрос,
определяющий принцип нашей жизни среди многих опасностей и свершений. Ассоциативность нашего мышления является абсолютной.
Значит, надо уйти от вполне определенных булевых переменных (0, 1, "да - нет", "белое
- черное" и т.д.) в сторону неопределенности, достоверности или других оценок информации, - в сторону
действительных переменных.
Но тогда необходимо уйти и от булевой алгебры, так как понятия конъюнкции и дизъюнкции для действительных
переменных не определены.
Тут и приходит на помощь анализ и применение принципов природной реализации - принципов нейронной
сети, воплощенных в нашем мозге.
Преобразуем полученную нами обученную схему в нейронную сеть (рис. 2.4).
Каждая клетка экрана - это нейрон - рецептор,
который в результате засветки обретает некоторую величину возбуждения, принимающую значение между нулем и единицей. Рецепторы, заменившие экран, образуют входной, или рецепторный, слой нейросети. Каждый
конъюнктор и дизъюнктор заменим единой для всей сети моделью нейрона. Введем выходной слой
сети, состоящий в нашем примере из двух нейронов, возбуждение которых
определяет результат распознавания. Назовем нейроны выходного
слоя по названиям букв - О и А.
Рецепторы, подобно экрану, возбуждаются извне. Все же другие нейроны,
имитируя распространение возбуждения в мозге, реализуют передаточную функцию.
Она преобразует сигналы на входе нейрона, с учетом весов этих входов (пока отложим их рассмотрение),
в величину возбуждения данного нейрона, передаваемого далее по сети в соответствии со связями нейронов и достигающего выходного слоя.
Поскольку работа мозга имитируется на логическом уровне, передаточная
функция
выбирается достаточно простой. Так, в нашем примере достаточно выбрать следующую передаточную функцию для нахождения величины возбуждения i -го нейрона:
$$\begin{array}{l}
V=\sum_j V_j\\
V_i = \left \{
\begin{array}{ll}
V, \mbox{если } V > h \\
0, \mbox{в противном случае}
\end{array}
\right
\end{array}$$
(рис 2.4) Нейронная сеть для распознавания букв "О" и "А"Здесь суммируются все сигналы (величины возбуждения), которые пришли от нейронов,
связанных с данным. Порог может быть единым для всех нейронов.
Проверим, как построенная нейросеть реагирует на четко заданные эталоны
букв. Под четкостью будем понимать то, что величина возбуждения, реально отражающая достоверность, максимальна
и равна единице. Пусть при показе буквы О засветились нейроны - рецепторы (1, 1), (1, 2), (1, 3), (2, 1), (2, 3), (3, 1), (3, 3), (4, 2). Тогда, при h = 0 величины
возбуждения нейронов примут значения V1 = 3
, V2 =
1
, VO = 8
, VA = 7
. Нейрон О
возбудился более, чем нейрон А, указывая тем самым, что скорее всего была показана
буква О. Аналогично можно рассчитать реакцию нейросети на все возможные конфигурации четко заданных эталонов
букв.
А теперь введем ту самую неопределенность, к которой мы так стремились. Пусть в процессе показа буквы О четкость утрачена и величины возбуждения нейронов - рецепторов
принимают значения V(1,1) = 0,2
, V(1,2) = 0,7
, V(1,3) = 0
, V(2,1)
= 0,5
, V(2,2) =0,1
, V(2,3) = 0,5
, V(3,1) = 0,5
, V(3,2) = 0,5
, V(3,3) = 0,1
, V(4,1) = 0,4
, V(4,2) = 0,4
, V(4,3) = 0,5
. Считаем: V1
= 0,9
, V2 = 1,3
, VO = 3,8
, VA = 3,9
.
Что ж, по-видимому, мы потребовали невозможного. Ведь при таком "крупнозернистом" экране
налагаемые на него образы букв О и А пересекаются весьма
существенно, и зашумленный показ букв обладает малой устойчивостью.
Рассмотренный принцип распознавания является обобщением принципа
простейшего Персептрона, предложенного Ф. Розенблатом в 1959 г. [4] и ставшего классическим.
2.1.2. Обучение нейросети
Теперь предположим, что структура сети (рис. 2.5), а также передаточная функция (та же), заданы, и нам предстоит обучить сеть распознаванию букв О и А.
(рис 2.5) Нейросеть, подлежащая обучениюПусть экран разбит на столько же клеток, и мы убеждаемся лишь в том, что предложенная нейросеть содержит
не менее 12 нейронов входного слоя, а также не менее двух нейронов
выходного слоя.
Теперь возникла необходимость отразить истинный характер преобразования нейроном входной информации,
т.е. величин возбуждения нейронов, связанных с ним. Дело в том, что все входы нейронов обладают регулируемыми
(!) весами (синапсическими весами, весами связей), позволяющими направлять прохождение возбуждения в сети. С помощью
этого регулирования можно связывать конфигурации и возбуждения нейронов входного слоя
(посылка) с максимальным возбуждением определенных нейронов выходного слоя (следствие),
формируя связи "если $$\dots$$, то $$\dots$$ ".
В связи с этим передаточная функция нейрона,
в частности заданная нам или выбранная нами сознательно, имеет общий вид
$$\begin{array}{l}
V=\sum_j \omega_j V_j,\\
V_i = \left \{
\begin{array}{ll}
V, \mbox{если }V > h \\
0, \mbox{в противном случае}
\end{array}
\right
\end{array}$$
Здесь $$\omega _{j}$$ - синапсический вес входа или вес связи, по которой передается
возбуждение от нейрона j нейрону i.
Тогда задачей обучения является выбор высоких весов некоторых
связей и малых весов других связей так, чтобы в соответствии с функциональным назначением сети сложились
отношения "посылка - следствие", подобные тем, которые мы создали выше при построении уже обученной
сети. Они переводят возбуждение рецепторов, образующееся при "показе" эталонов и образов, в максимальное возбуждение тех нейронов выходного слоя, которые говорят, "что это такое".
(рис 2.6) Обученная нейросетьДля простоты положим максимальный вес связи единичным, а минимальный оставим нулевым. Это соответствует
тому, что, интерпретируя связи в сети как "проводочки", мы какие-то из них оставим (считая их сопротивление
нулевым), а другие, ненужные, "перекусим".
Изложенная идея обучения по четко заданным эталонам
воплощена в алгоритме трассировки нейросети.
На рис. 2.6 приведен результат такой трассировки для нашего примера,
где выделенные стрелки соответствуют связям с единичными весами, а другие - с нулевыми.
Просчитав несколько, в том числе "неопределенных", образов
на входе, можно убедиться в ее правильной работе, хотя и демонстрирующей изначально выбранное слабое отличие О от А.
Получилась интересная игра. Мы задаем на входе случайные возбуждения и спрашиваем: на что это больше
похоже из того, что "знает" нейросеть? Все, что надо сделать, это посчитать в едином цикле для
каждого нейрона значение передаточной
функции
и проанализировать величины возбуждения нейронов выходного
слоя.
2.2. Модель мозга
Нейросеть содержит узлы - аналоги нервных клеток - нейронов
(рис. 2.7) (нейроподобных элементов, НПЭ) и их соединения - синапсические связи.
(рис 2.7) НейронМодель нейрона во взаимодействии с другими нейронами
нейросети представлена на рис. 2.8.
(рис 2.8) Модель нейронаЗдесь Vki
- энергетические доли импульсов Vk
, выработанных
другими нейронами и поступивших на дендриты нейрона i, $$\omega _{ik}$$ - веса дендритов, hi
- пороги. В свою очередь, выработанный импульс Vi
также распределяется
между дендритами нейронов, с которыми связан нейрон i
с помощью ветвящегося аксона. В соответствии с законом распределения энергии, величина Vi
делится пропорционально
значениям весов дендритов "принимающих" нейронов.
Впрочем, проблему деления (или неделения), лежащую в основе практических моделей, мы еще обсудим
далее.
Каждый нейрон или управляем извне, или сети строятся по принципу
самоуправления, используя обратные связи. А именно, можно регулировать значения весов синапсических связей $$\{ \omega _{i}\}$$ и значения порогов hi
. Такое регулирование, во многих вариантах реализованное в разных моделях, и определяет возможность обучения и самообучения сети. Оно задает пути прохождения возбуждений через сеть, простейшим
образом формируя связи "посылка - следствие".
На рис. 2.9 дается фрагмент нейросети, по которому мы можем представить
следующее.
(рис 2.9) Нейронная сеть с "правдоподобным" распределением сигнала возбужденияФункции f бывают различны, но просты по объему вычислений. В простейшем случае f cовпадает с линейной формой - указанным аргументом. Т.е. по всем дендритам
с учетом их весов (на рис. 2.9) производится суммирование и сравнение с порогом
"
$$\begin{array}{l}
V_i = \xi (( \omega_{i1}V_2+\omega_{i2}V_4) -h),\\
\xi (x) = \left \{
\begin{array}{ll}
0, \mbox{при } x < 0 \\
x, \mbox{при } x \ge 0
\end{array}
\right
\end{array}$$
Величина превышения порога является величиной возбуждения нейрона или определяет значение величины возбуждения (например, в некоторых моделях
величина возбуждения всегда равна единице, а отсутствие возбуждения соответствует нулю). В некоторых моделях
допускают и отрицательную величину возбуждения. Значение возбуждения передается через ветвящийся аксон
в соответствии со связями данного нейрона с другими нейронами.
В общем случае по дендритам может передаваться как возбуждающее,
так и тормозящее воздействие. Первое может соответствовать положительному значению веса синапсической связи, второе - отрицательному. Аналогичный эффект достигается при передаче отрицательных
значений возбуждения нейронов.
В сети распознают входной (рецепторный) слой, воспринимающий внешние возбуждения (например, на
который подается видеоизображение), и выходной слой, определяющий результат решения задачи. Работа сети
тактируется для имитации прохождения по ней возбуждения и управления им.
Существуют два режима работы сети: режим обучения и режим распознавания (рабочий режим).
Установим случайным образом начальные значения весов дендритов
всей сети. Пусть нейросеть предназначена для распознавания рукописного
текста. Тогда входной слой аналогичен сетчатке глаза, на который ложится изображение. Его подача на входной слой
возбуждает в некоторой конфигурации множество нейронов - рецепторов.
Пусть мы на входной слой подали и поддерживаем некоторый эталон, например букву А. Через некоторое
время возбудится (максимально) нейрон выходного слоя, который мы можем отметить как образ А (прохождение возбуждения отмечено темным цветом). Т.е. его возбужденное состояние мы воспринимаем как ответ "Это буква А ".
Введем снова букву А, но с естественными искажениями, обусловленными почерком, дрожанием руки и т.д. Может возбудиться тот же нейрон,
но может и другой. Мы же хотим "научить" систему, заставить ее ответить, что это - тоже буква А, т.е. добиться возбуждения того же нейрона
выходного слоя.
Тогда по некоторому алгоритму (один из известных алгоритмов называется алгоритм обратного распространения
ошибки; в нем воспроизводится подход, используемый в динамическом программировании, здесь мы предлагаем алгоритм
"трассировки") мы меняем веса и, возможно, пороги в сети на пути прохождения
возбуждения так, чтобы заставить возбудиться нужный нейрон.
Таким способом, предъявляя множество эталонов и регулируя параметры,
мы производим обучение сети данному образу.
(Математические проблемы несовместимости управления параметрами для разных эталонов
оставим в стороне: в живой природе такой процесс проходит успешно, достаточно устойчиво при разумном отличии эталонов. Например, интуитивно ясно, что пытаться заставить один и тот же нейрон
выходного слоя возбуждаться и на строчную, и на прописную букву А вряд ли разумно. В лучшем случае он определит, что это буква вообще,
а не, скажем, знак пунктуации.)
Обучение заканчивается тогда, когда вероятность "узнавания"
достигнет требуемого значения, т.е. необходимость корректировки параметров по предъявляемым эталонам
возникает все реже. Теперь можно работать в режиме распознавания - в том ответственном режиме,
для которого сеть создавалась. Предъявляем сети различные буквы. Можем быть уверены, что с большой вероятностью, если мы предъявим случайно
искаженную и даже зашумленную букву А (конечно, в допустимых пределах), сеть ее распознает, т.е. максимально возбудится соответствующий нейрон выходного слоя.
Можно существенно облегчить обучение, предъявляя эталон
"в полном смысле", т.е., например, показывая букву, точно регламентируемую букварем. Тогда предусмотренная (!) степень
отклонения от этого эталона, обусловленная почерком, будет влиять на вероятность распознавания
этой буквы. Далее мы будем рассчитывать именно на такой способ обучения.
Теперь обобщим "специализацию" входного слоя, связав его с некоторыми характеристиками
исходной ситуации (входного вектора), по которой необходимо принимать решение - формировать выходной
вектор. Мы учим сеть по эталонным ситуациям, по которым мы знаем решение, а затем в рабочем режиме она
выдает нам решение во всем диапазоне ситуаций. При этом она автоматически решает проблему, на какую "знакомую"
ей ситуацию более всего похожа введенная ситуация, и, следовательно, какое решение следует выдать. Конечно, с определенной
вероятностью правильности.
Такая обработка входной информации при возможном применении в сфере развлечений показана на рис. 2.10 и рис. 2.11.
Отметим, что в экспертных системах требуются точные данные о ситуации, чтобы выдать соответствующее
ей заключение. Нейронной сети такой подход "чужд". Она выдает ответ на вопрос "На что похожа
данная ситуация?" и, следовательно, какое должно быть заключение. Это еще раз подтверждает, что нейросеть
имитирует ассоциативное мышление.
(рис 2.10) Реакция на угрозу
(рис 2.11) Реакция на поощрение2.3. Ввод и "разглядывание" эталонов и образов
Устройства ввода информации - эталонов, входных векторов, исходных
ситуаций - имеют определяющее значение для нейросети. С их помощью формируются и поддерживаются возбуждения
входного слоя. Однако связь модели живого организма с внешней средой естественно представляет собой сложную
проблему - конгломерат ряда частных технических и алгоритмических проблем. Среди них - успешно решаемая проблема
видеоввода. Однако ввести в компьютер "картинку" - это лишь часть дела. Картинку надо обработать - в целом
и по частям, чтобы по максимуму интересующей информации получить полные и достоверные выводы. Здесь мы ищем аналоги нашего
восприятия действительности.
Мы совершаем обзор представляемой нам картины тремя способами:
сканированием сектора обзора, разбитого на элементарные сегменты (рис. 2.12);
сканированием сектора обзора со "своим окном просмотра" (рис. 2.13);
спонтанным обзором, обусловленным привлечением внимания к цветовому или скоростному всплеску, быстрым
увеличением размера (угрожающим приближением) объекта, указанием извне (целеуказанием) и т.д. (рис. 2.14).
Третий способ также требует сканирования сектора обзора, однако со значительно меньшими энергетическими
затратами.
При первом и втором способах анализ сложнее, т.к. требует согласования всего виденного по сегментам.
Это, в свою очередь, требует включения высших уровней логического вывода (интеллекта).
При третьем же способе можно добиться избирательности, чрезвычайности реакции, например на резкие
движения, на бег, появление яркой расцветки в одежде и т.д. Это может с успехом использоваться в развлекательных,
игровых системах.
Все способы реализуются легче, если речь идет о единственном объекте единовременного распознавания,
например буквы, хозяина квартиры, подписи и т.д. Ибо любая сцена, например туристская группа, пришедшая полюбоваться "умным" монстром,
требует не только детального, но и совместного анализа этим монстром всех (многих) ее составляющих.
(рис 2.12) Сканирование по строкам
(рис 2.13) Реакция на внезапность
(рис 2.14) Беспорядочное сканированиеВпрочем, говоря о туристах, можно говорить о конечной, усредненной реакции на всю группу. Ведя обзор,
сеть постепенно, по критериям обучения "это хорошо - это плохо",
воспринимая "настроение" как последовательное добавление элементов радости и огорчения, приходит к некоторому
окончательному состоянию, обусловленному тем, сколько того и другого она увидела. Тогда для разных групп туристов или экскурсантов
это состояние будет разным. Это может стать источником веселья и шутливого "поощрения" той группы, которая привела объект
в радость, и "осуждение" группы, ввергнувшей его в печаль.
Итак, в каждом такте обзора, формируется сегмент, содержимое которого необходимо распознать. Чаще
всего целесообразно допущение о том, что в элементарном сегменте (или в "окне просмотра") при
дискретном сканировании находится не более чем один значимый объект. Пусть это - максимальная область текста,
вмещающая единственную букву, написанную с допустимой долей небрежности. Как помочь себе же разглядеть эту букву?
По-видимому, следует пытаться разместить эту букву на входном слое так, чтобы она максимально соответствовала тому
размещению эталонов, с помощью которых производилось обучение.
Тогда распознавание заработает правильно (рис. 2.15). Такой
процесс "разглядывания" может предполагать:
поиск возможности совмещения условного центра элемента изображения и центра экрана - входного рецепторного
слоя сети (фокусировка);
поиск варианта масштабирования элемента изображения (приближение - удаление);
поиск угла наклона и др.
В результате таких пробных действий может вдруг "запуститься" процесс распознавания,
хотя, возможно, и ошибочного. Что ж, в жизни бывает и так.
(рис 2.15) Поиск условия узнаванияЭтот процесс выделения и размещения в попытке инициировать распознавание
мы можем сравнить с концентрацией нашего внимания и с фокусировкой, понимая, что наше зрение в каждый момент всегда
сконцентрировано на элементе изображения, держа его в фокусе, в целом производя обзор и разглядывание всего изображения
[26].
Напомним, что работа нейросети тактируется. Тогда развитие сценария в увлекательной многофункциональной
детской игре с обучаемым компьютерным человечком КОМПИ может быть таким, как представлено на рис. 2.16.
(рис 2.16) Реакция на распознавание в реальном времени2.4. Кора
"Крошка сын к отцу пришел,
и спросила кроха:
- Что такое хорошо
и что такое плохо?"
Мы видим, что столь примитивная оптимизация целевой функции, принимающей только два значения - "хорошо"
и "плохо", может быть использована лишь на начальной стадии изучения и применения принципов нейросети. Можно
построить занимательную игрушку (как весь наш мир!), веселый аттракцион $$\dots$$
Очевидно, что мы не можем оставаться на том примитивном уровне, когда по предъявляемому изображению
мы получаем заключение типа "это буква х ", "это - хорошо (вкусно)", "это
- плохо" и т.д. В научном приложении на таких принципах можно построить модель собачки Павлова, демонстрирующую
условный рефлекс при предъявлении этикетки "Pedigrее".
Но более серьезные применения должны использовать более сложные критерии логической выводимости.
Ведь хронология Божественных событий Сотворения Мира закончилась созданием Человека!.. И тут начались
проблемы $$\dots$$ Эти проблемы обусловлены вопросом, запретным плодом райского сада: "Ну, и что же
из этого следует?"
Цепочки логических выводов, производимые человеком, содержат не одно, а много звеньев. Сделанные
выводы вновь входят в конфигурацию изображений (входных векторов) для новых выводов, действий и т.д.
Буква нужна, чтобы распознать слово. Слово - чтобы распознать предложение, уяснить его смысл, предпринять
адекватные действия и т.д. (вспомним исходную посылку Иоанна Евангелиста: "В начале было Слово").
Тогда возникает вопрос о целесообразной структуре сети, где одни выводы, собираясь в различные конфигурации,
как бы множась, вновь участвуют в формировании новых выводов. Здесь можно предположить как прямые, так и обратные
связи, когда попутно сделанные выводы уточняют правильность всего умозаключения.
Технически возникает вопрос о такой концентрации выводов, когда совмещены понятия входного и выходного
слоев. Это наводит на мысль о целесообразности существования такого универсального слоя - коры со связями
между отдельными нейронами и целыми областями. На коре концентрируются выводы
для немедленного участия в формировании других выводов.
По-видимому, таков ход мыслей Господа Бога, создавшего кору головного мозга не подумав о греховных
последствиях. Так чисто технически можно доказать ее целесообразность.
2.5. Устойчивость, помехозащищенность и локализация максимального возбуждения
" $$\dots$$ Цинциннат брал себя в
руки и, прижав к груди, относил в безопасное место".
На рассмотренном маленьком примере, где мы предположили жесткое закрепление нейронов
выходного слоя между образами, принцип ассоциации "на что более всего это похоже" пока не виден. Как же он появляется?
Уместны ассоциации, предположения о том, как это реализовано в природе.
Представим себе отдельно выходной слой (рис. 2.17).
(рис 2.17) Области возбужденияРассматривая прохождение возбуждения, например, при подаче того же изображения буквы А,
в модели нейросети, ближе к реальному мы можем предположить, что не один нейрон,
строго соответствующий этой букве, придет в возбужденное состояние, как это предполагается в логической модели, в
его окрестности возбудятся и другие нейроны. Эта величина возбуждения будет угасать
с ростом удаления. Нам же будет нужно, чтобы максимальной величиной возбуждения в этой окрестности обладал именно отмеченный нейрон. Более того, желательно, чтобы этот и только этот нейрон
обладал высокой, существенно различимой величиной возбуждения. Это обеспечит определенность и однозначность при дальнейшем использовании
полученного вывода для принятия решения и для построения других логических цепочек, использующих это решение. Такая локализация сигнала возбуждения
позволяет ответить на вопрос: "на что более всего похож предъявляемый образ, несмотря на случайные отличия и оказываемые
помехи?"
Кстати, такое предположение указывает на другое, фактически реализуемое предположение о непрерывности
перерастания свойства похожести одних образов в другие. Следование этому
принципу при принудительном закреплении нейронов выходного слоя способствует
построению адекватных моделей. А точнее, подавая первый раз букву А, не следует указывать системе, какой нейрон выходного слоя должен возбудиться. Лучше подать достаточно "правильный" эталон и посмотреть, какой нейрон возбудится. Этот нейрон и будет впредь соответствовать нашей букве. Возбуждения именно этого нейрона
мы будем добиваться при предъявлении других эталонов.
(Хотя, мы же далее предполагаем, на основе уже рассмотренных примеров, что первоначально сеть "пуста",
т.е. все веса - нулевые. Путь же возбуждения прокладывается, "трассируется".)
Способы максимизации и локализации уровня возбуждения
основаны на нахождении экстремума функции возбуждения, построенной на области
выходного слоя. Здесь нельзя обойтись без обмена тормозящими воздействиями между нейронами
выходного слоя. Простейшая идея состоит в следующем. Все нейроны области выходного слоя имеют
между собой синапсические связи, так что каждый нейрон
связан с ближайшими нейронами тормозящими связями, по модулю пропорциональными величине собственного возбуждения. Тогда в итоге взаимодействия
двух нейронов (один из алгоритмов такого взаимодействия нейронов выходного слоя
будет рассмотрен) более "сильный" нейрон сохранит положительный (хотя и меньший) потенциал, сообщив более
"слабому" нейрону тормозящее воздействие. Такое пошаговое "голосование" на фоне приходящего подтверждения
от эталона и выделит сильнейшего.
Итак, мы видим, что обучение сети неразрывно связано с локализацией возбуждения на выходном слое.
Анализируя все сказанное выше, мы можем попытаться собрать некоторую универсальную модель нейросети.
В ней будут присутствовать входной и выходной слои. Картина возбуждений выходного слоя при подаче изображения
на входной слой будет представлять собой (после аппроксимации в непрерывную область определения из дискретной)
непрерывную функцию, максимум которой должен определить нам необходимое заключение. Однако на этапе обучения
(да и в рабочем режиме - с удовлетворяющей нас достаточно малой вероятностью) по ряду предъявляемых эталонов этот
максимум не совпадает с желаемым ответом. Следовательно, путь распространения возбуждений внутри сети необходимо скорректировать изменением синапсических
весов нейронов, оказавшихся задействованными в этом процессе.
Было сказано, что предварительная локализация
максимума величины
сигнала производится в результате взаимодействия нейронов
в области или некоторой окрестности выходного слоя или коры. Получается так, что области возбуждений оказываются "закрепленными"
за типами объектов - за буквами, цифрами, продуктами питания и т.д. В развитой сети, где становится актуальным понятие коры, нейроны
отдельных ее областей через нейроны внутренних слоев вновь порождают пути прохождения возбуждений в другие области коры и т.д.
Пытаясь разгадать и воспроизвести универсальную нейросеть, мы вновь и вновь пытаемся "заглянуть
в зеркало". Мы видим, что хотя отдельный нейрон обладает возможностями
взаимодействия с огромным числом нейронов ( нейрон
имеет до 10 тысяч дендритов ), это взаимодействие характеризуется локальностью. А именно,
несмотря на случайность связей, вероятность связи с "близким" нейроном значительно
выше вероятности связи с нейроном "далеким". Об этом говорят даже исследованные длины дендритов и аксонов. (Длина дендрита
достигает одного миллиметра; однако длина аксона достигает сотен миллиметров. При этом применяется, по-видимому,
усредненная характеристика, вряд ли принимающая во внимание нейроны только лишь головного мозга.)
Такой принцип локальности, пронизывающий всю структуру сети, в сочетании с принципом иерархии - возможностью
построения новых выводов на основе сделанных - позволяет на деле реализовать связи "каждый с каждым".
Никакой вывод не может оставаться недоступным и неиспользованным при построении сложных умозаключений.
Принцип локальности обеспечивает минимизацию входной информации, существенное влияние лишь значимых
признаков на заключение, контролируемое и диагностируемое по функциональное разбиение областей нейросети,
определение и выделение той области нейросети, в синапсические веса которой необходимо внести поправки в процессе обучения (например, организовать прилив крови).
Принцип локальности не отвергает существования маловероятных связей "каждый с каждым".
Эта вероятность может быть высокой вследствие аномалий генетического характера. Например, человек,
которого мы относим к уникумам, может видеть кожей вследствие того, что нейроны,
воспринимающие кожные ощущения, сильно связаны с нейронами выходного слоя, "отвечающими"
за зрение. И вместо того чтобы возбуждение в сторону последних при слабых связях угасло, оно становится результативным. Ведь в целом
все нейроны устроены одинаково!
Большое число связей способствует высокой надежности мозга. Ведь ежедневная гибель огромного числа нейронов, подхлестанная алкоголем и наркотиками, а также травмы, компенсируются
другими путями прохождения возбуждений, иногда даже связанными с необходимостью переобучения. Впрочем, ограниченный
ресурс возможного не спасает, в конце концов, от деградации.
Итак, рассмотрим более подробно процесс локализации
максимальной величины возбуждения
на выходном слое, заключающейся в выделении того нейрона
некоторой малой области, величина возбуждения которого максимальна. Он основан на подавлении тех сигналов возбуждения нейронов,
которые не соответствуют нейрону с максимальным возбуждением. Т.е. если необходимо сконцентрировать сигнал и выделить нейрон
с максимальной величиной возбуждения, это достигается с помощью подавляющих связей, с которыми действуют друг на друга "соседние" нейроны выходного
слоя.
Пусть в целом над нейронами выходного слоя, условно расположенного
на плоскости (x, y), можно построить непрерывную функцию их возбуждения P(x, y)
(рис. 2.18), обусловленную прохождением сигналов возбуждений в сети на
основе предъявленного эталона. Будем считать, что эта функция имеет один или
более максимумов. Пусть Pij
- значение величины возбуждения нейрона
с координатами (i, j).
Каждый нейрон (i, j), действуя в своей окрестности,
рассылает соседним нейронам, на их дендриты
с отрицательными, не обязательно регулируемыми, весами, свою величину возбуждения Pij, первоначально полученную
из сети.
Представим взаимодействие двух "близких" нейронов, например (i, j) и (i, j+1), получивших первоначально разные значения величин возбуждения
из сети. Пусть Pij > Pi,j+1
. Тогда в очередном такте времени на входе нейрона (i, j) появится подавляющий сигнал Pi,j+1
,
а на входе нейрона (i, j+1), и так имеющего меньшее значение величины возбуждения,
- подавляющий, больший сигнал Pij
.
(рис 2.18) Проблема локализации возбужденияПри подтверждаемом на входном слое эталоне, т.е. при существовании
на некотором отрезке времени характера и величины возбуждений, обусловливающих возбуждение выходного слоя,
на выходном слое, в частности между нейронами (i, j) и (i,
j+1)
, происходит перераспределение величины возбуждения.
А именно: несомненно, уменьшится значение Pij
, но в еще большей степени уменьшится
значение Pi,j+1
. В следующем такте более "сильный" нейрон
еще более "ослабит" более "слабый" нейрон, который, в свою очередь, сможет
еще в меньшей степени "ослабить" более "сильный" нейрон и т.д. Более того,
"слабый" нейрон может "слабеть" до тех пор, пока взвешенная сумма подаваемых
ему сигналов не станет меньше его порога.
(рис 2.19) Локализация возбужденияРассматривая этот процесс в рамках взаимодействия всех нейронов
области выходного слоя, можно сделать вывод о постепенной концентрации высокого уровня возбуждения,
присущего одному или нескольким нейронам и определяющего один или несколько
локальных максимумов.
При таком взаимодействии нейронов области возбуждения выходного
слоя происходит лишь усиление сигнала наиболее возбужденного нейрона.
Полное подавление возможно лишь на границе этой области. Если где-то внутри области возбуждение некоторого нейрона окажется подавленным полностью (сигнал не преодолевает порога ),
то в следующем такте этот нейрон не сможет подавить сигнал того нейрона,
который до того имел более слабый сигнал возбуждения. Тогда возможно появление в такой области возбуждения нового локального максимума. Таким
образом, веса отрицательных связей должны способствовать максимальному усилению возбуждения того нейрона, который
первоначально продемонстрировал максимальное возбуждение, при затухании возбуждения нейронов в сторону периферии.
На человеческом языке это означает: "Любое угадывание не исключает сомнений".
Однако всегда ли необходимо на выходном слое локализовать величину возбуждения?
По-видимому, такое усиление уровня возбуждения необходимо для того, чтобы единственный нейрон
выходного слоя преодолел некоторую "планку" (изменяющуюся?), чтобы объявить себя ответственным за сделанный вывод или решение.
Однако следует отметить, что локализация
и максимизация возбуждения
на выходном слое особенно важны тогда, когда действительно необходима
высокая степень определенности. Это важно в том случае, если получаемый вывод (решение) немедленно участвует
в цепочке последующих, использующих его выводов.
(рис 2.20) НейродегустаторВ конце концов, все обусловлено назначением сети, решаемой задачей. Можно представить себе возможный
аттракцион - реакцию фантастического чудовища на изображение, как это представлено на
рис.
2.10
и рис. 2.11. По виду изображения инициируются те или иные программы действий:
радости, гнева, поднятия лап, виляния хвостом и т.д. Возбуждение определенных нейронов выходного
слоя связывается с запуском соответствующих программ. Величина возбуждения может являться основным параметром для этих программ. Программы
не исключают друг друга, и в одном такте могут запускаться несколько программ.
Можно представить радостную модель гурмана-дегустатора (рис. 2.20),
по аромату блюда определяющего состав использованных ингредиентов и приходящего в восторг или в уныние от
представленного букета.
В большинстве частных задач, где нейросеть обучается с помощью "учителя", т.е. на основе
действий извне при ее настройке, присутствует элемент принудительного закрепления нейронов
выходного слоя за выводами. В процессе последующего обучения преимущественно с помощью весов синапсических связей добиваются адекватной реакции сети.
2.6. Пространство признаков
Выше неявно проявилась лишь следующая модель. Образ буквы, например а, налагается на входной слой нейросети - рецепторы. Конфигурация
возбужденных рецепторов, порождая прохождение возбуждения через внутренние
слои нейросети (образуя путь возбуждения), определяла возбуждение (если не гасло по пути) одного из нейронов
выходного слоя, говорящего "это буква а ". Интуитивно ясно, что устойчивость такой схемы по отношению к огромному множеству
конфигураций возбуждений рецепторов, соответствующих одной только букве а, вряд ли высока. Вглядываясь
в себя, мы видим, что такое непосредственное распознавание осуществляется далеко не всегда, особенно на этапе
получения школьного образования, ибо наше образование получается на основе признаков и определений (правил вывода).
Как мы характеризуем строчную букву а? Это кружочек, справа примыкает палочка с хвостиком
вправо.
А прописная А? Две палочки с перекладинкой. Но ведь буква Н тоже соответствует
этому определению. Тогда мы добавляем: две палочки, соединенные вверху. (Кстати, соединение вверху может
быть в результате небрежности лишь обозначено. Тогда о намеке на него мы можем судить по наклону палочек.
Дальнейшая небрежность может привести к неразличимости букв А и Н.)
Значит, существует ряд признаков, лежащих в основе определений. И мы на интуитивном уровне понимаем,
что такой способ распознавания гораздо более устойчив к искажениям
и особенностям почерка, однозначен и надежен. Ведь при изображении буквы А можно допустить не только
небрежность в верхнем соединении палочек, но и значительную разницу в общем наклоне буквы, в длинах боковых палочек,
в месте расположения перекладины, в ее наклоне и длине и т.д. Искажение может привести к сомнениям лишь при крайней похожести
на цифру 4, на телеграфный столб или на греческую $$\Delta$$ . Но даже в этом случае окончательный вывод может быть сделан
на основе контекста, т.е. по использованию дополнительных признаков "по умолчанию".
Значит, в нашем случае необходимо ввести такие признаки, как наличие кружка, палочек, хвостиков,
их взаимного расположения и т.д. То есть необходимо построить пространство
признаков
, преобразовать наши входные изображения в это пространство, и тогда появится возможность получения
более определенного и устойчивого к искажениям заключения.
Перевод входного изображения в пространство признаков
значительно расширяет возможности "разглядывания" - масштабирования, размещения, поиска угла наклона
и т.д., т.е. позволяет с более высокой достоверностью производить распознавание.
Например, изображение танка может в разных ракурсах ложиться на входной слой рецепторов.
Конечно, можно запомнить, что "и это - танк", "и это - тоже танк" и т.д. Но если ввести хотя бы такое определение,
достаточное для соседки - тети Маши, как "массивный корпус на гусеничном ходу (тоже нуждается в определении!), а сверху башня с дулом
пушки, и все такое зелененькое", то это научит хотя бы принимать меры предосторожности.