Компьютерная нейросеть. Характеристики искусственной нейронной системы


Нейронные сети (искусственная нейронная сеть) - это система соединенных и взаимодействующих между собой простых процессоров (искусственных нейронов). Такие процессоры обычно довольно просты (особенно в сравнении с процессорами, используемыми в персональных компьютерах). Каждый процессор подобной сети имеет дело только с сигналами, которые он периодически получает, и сигналами, которые он периодически посылает другим процессорам. И, тем не менее, будучи соединёнными в достаточно большую сеть с управляемым взаимодействием, эти процессоры вместе способны выполнять довольно сложные задачи, поскольку нейронные сети обучаются в процессе работы.

Не секрет, что сейчас нейросети чаще всего используются в фотографии. Мы уже видели, как они способны работать с анимацией на обычном компьютере, а картины, уходят с молотка дороже произведений именитых художников. Неудивительно, что именно нейросети легли в основу приложения FaceApp, которое за считанные дни завоевало популярность во всем мире, штурмуя магазины App Store и .

Илон Маск после того, как колонизировал Марс

Google представила новую экспериментальную нейросеть Translatotron, способную напрямую переводить речь на другой язык, не используя ее текстовое представление, и сохранять голосовые данные и темп речи говорящего, сообщается в блоге компании. Система с долгой краткосрочной памятью способна принимать голосовой ввод и обрабатывать его как спектрограмму, а затем генерировать на этой основе новую спектограмму на целевом языке. При определенных условиях это позволит увеличить не только скорость перевода, но и его точность. С более полным описанием новой разработки можно ознакомиться в статье, опубликованной в онлайн-репозитории научных статей arXiv.org.

В главе мы ознакомились с такими понятиями, как искусственный интеллект, машинное обучение и искусственные нейронные сети.

В этой главе я детально опишу модель искусственного нейрона, расскажу о подходах к обучению сети, а также опишу некоторые известные виды искусственных нейронных сетей, которые мы будем изучать в следующих главах.

Упрощение

В прошлой главе я постоянно говорил о каких-то серьезных упрощениях. Причина упрощений заключается в том, что никакие современные компьютеры не могут быстро моделировать такие сложные системы, как наш мозг. К тому же, как я уже говорил, наш мозг переполнен различными биологическими механизмами, не относящиеся к обработке информации.

Нам нужна модель преобразования входного сигнала в нужный нам выходной. Все остальное нас не волнует. Начинаем упрощать.

Биологическая структура → схема

В предыдущей главе вы поняли, насколько сложно устроены биологические нейронные сети и биологические нейроны. Вместо изображения нейронов в виде чудовищ с щупальцами давайте просто будем рисовать схемы.

Вообще говоря, есть несколько способов графического изображения нейронных сетей и нейронов. Здесь мы будем изображать искусственные нейроны в виде кружков.

Вместо сложного переплетения входов и выходов будем использовать стрелки, обозначающие направление движения сигнала.

Таким образом искусственная нейронная сеть может быть представлена в виде совокупности кружков (искусственных нейронов), связанных стрелками.

Электрические сигналы → числа

В реальной биологической нейронной сети от входов сети к выходам передается электрический сигнал. В процессе прохода по нейронной сети он может изменяться.

Электрический сигнал всегда будет электрическим сигналом. Концептуально ничего не изменяется. Но что же тогда меняется? Меняется величина этого электрического сигнала (сильнее/слабее). А любую величину всегда можно выразить числом (больше/меньше).

В нашей модели искусственной нейронной сети нам совершенно не нужно реализовывать поведение электрического сигнала, так как от его реализации все равно ничего зависеть не будет.

На входы сети мы будем подавать какие-то числа, символизирующие величины электрического сигнала, если бы он был. Эти числа будут продвигаться по сети и каким-то образом меняться. На выходе сети мы получим какое-то результирующее число, являющееся откликом сети.

Для удобства все равно будем называть наши числа, циркулирующие в сети, сигналами.

Синапсы → веса связей

Вспомним картинку из первой главы, на которой цветом были изображены связи между нейронами – синапсы. Синапсы могут усиливать или ослаблять проходящий по ним электрический сигнал.

Давайте характеризовать каждую такую связь определенным числом, называемым весом данной связи. Сигнал, прошедший через данную связь, умножается на вес соответствующей связи.

Это ключевой момент в концепции искусственных нейронных сетей, я объясню его подробнее. Посмотрите на картинку ниже. Теперь каждой черной стрелке (связи) на этой картинке соответствует некоторое число ​\(w_i \) ​ (вес связи). И когда сигнал проходит по этой связи, его величина умножается на вес этой связи.

На приведенном выше рисунке вес стоит не у каждой связи лишь потому, что там нет места для обозначений. В реальности у каждой ​\(i \) ​-ой связи свой собственный ​\(w_i \) ​-ый вес.

Искусственный нейрон

Теперь мы переходим к рассмотрению внутренней структуры искусственного нейрона и того, как он преобразует поступающий на его входы сигнал.

На рисунке ниже представлена полная модель искусственного нейрона.

Не пугайтесь, ничего сложного здесь нет. Давайте рассмотрим все подробно слева направо.

Входы, веса и сумматор

У каждого нейрона, в том числе и у искусственного, должны быть какие-то входы, через которые он принимает сигнал. Мы уже вводили понятие весов, на которые умножаются сигналы, проходящие по связи. На картинке выше веса изображены кружками.

Поступившие на входы сигналы умножаются на свои веса. Сигнал первого входа ​\(x_1 \) ​ умножается на соответствующий этому входу вес ​\(w_1 \) ​. В итоге получаем ​\(x_1w_1 \) ​. И так до ​\(n \) ​-ого входа. В итоге на последнем входе получаем ​\(x_nw_n \) ​.

Теперь все произведения передаются в сумматор. Уже исходя из его названия можно понять, что он делает. Он просто суммирует все входные сигналы, умноженные на соответствующие веса:

\[ x_1w_1+x_2w_2+\cdots+x_nw_n = \sum\limits^n_{i=1}x_iw_i \]

Математическая справка

Сигма – Википедия

Когда необходимо коротко записать большое выражение, состоящее из суммы повторяющихся/однотипных членов, то используют знак сигмы.

Рассмотрим простейший вариант записи:

\[ \sum\limits^5_{i=1}i=1+2+3+4+5 \]

Таким образом снизу сигмы мы присваиваем переменной-счетчику ​\(i \) ​ стартовое значение, которое будет увеличиваться, пока не дойдет до верхней границы (в примере выше это 5).

Верхняя граница может быть и переменной. Приведу пример такого случая.

Пусть у нас есть ​\(n \) магазинов. У каждого магазина есть свой номер: от 1 до ​\(n \) ​. Каждый магазин приносит прибыль. Возьмем какой-то (неважно, какой) ​\(i \) ​-ый магазин. Прибыль от него равна ​\(p_i \) ​.

\[ P = p_1+p_2+\cdots+p_i+\cdots+p_n \]

Как видно, все члены этой суммы однотипны. Тогда их можно коротко записать следующим образом:

\[ P=\sum\limits^n_{i=1}p_i \]

Словами: «Просуммируй прибыли всех магазинов, начиная с первого и заканчивая ​\(n \) ​-ым». В виде формулы это гораздо проще, удобнее и красивее.

Результатом работы сумматора является число, называемое взвешенной суммой.

Взвешенная сумма (Weighted sum ) (​\(net \) ​) - сумма входных сигналов, умноженных на соответствующие им веса.

\[ net=\sum\limits^n_{i=1}x_iw_i \]

Роль сумматора очевидна – он агрегирует все входные сигналы (которых может быть много) в какое-то одно число – взвешенную сумму, которая характеризует поступивший на нейрон сигнал в целом. Еще взвешенную сумму можно представить как степень общего возбуждения нейрона.

Пример

Для понимания роли последнего компонента искусственного нейрона – функции активации – я приведу аналогию.

Давайте рассмотрим один искусственный нейрон. Его задача – решить, ехать ли отдыхать на море. Для этого на его входы мы подаем различные данные. Пусть у нашего нейрона будет 4 входа:

  1. Стоимость поездки
  2. Какая на море погода
  3. Текущая обстановка с работой
  4. Будет ли на пляже закусочная

Все эти параметры будем характеризовать 0 или 1. Соответственно, если погода на море хорошая, то на этот вход подаем 1. И так со всеми остальными параметрами.

Если у нейрона есть четыре входа, то должно быть и четыре весовых коэффициента. В нашем примере весовые коэффициенты можно представить как показатели важности каждого входа, влияющие на общее решение нейрона. Веса входов распределим следующим образом:

Нетрудно заметить, что очень большую роль играют факторы стоимости и погоды на море (первые два входа). Они же и будут играть решающую роль при принятии нейроном решения.

Пусть на входы нашего нейрона мы подаем следующие сигналы:

Умножаем веса входов на сигналы соответствующих входов:

Взвешенная сумма для такого набора входных сигналов равна 6:

\[ net=\sum\limits^4_{i=1}x_iw_i = 5 + 0 + 0 + 1 =6 \]

Вот на сцену выходит функция активации.

Функция активации

Просто так подавать взвешенную сумму на выход достаточно бессмысленно. Нейрон должен как-то обработать ее и сформировать адекватный выходной сигнал. Именно для этих целей и используют функцию активации.

Она преобразует взвешенную сумму в какое-то число, которое и является выходом нейрона (выход нейрона обозначим переменной ​\(out \) ​).

Для разных типов искусственных нейронов используют самые разные функции активации. В общем случае их обозначают символом ​\(\phi(net) \) ​. Указание взвешенного сигнала в скобках означает, что функция активации принимает взвешенную сумму как параметр.

Функция активации (Activation function )(​\(\phi(net) \) ​) - функция, принимающая взвешенную сумму как аргумент. Значение этой функции и является выходом нейрона (​\(out \) ​).

Функция единичного скачка

Самый простой вид функции активации. Выход нейрона может быть равен только 0 или 1. Если взвешенная сумма больше определенного порога ​\(b \) ​, то выход нейрона равен 1. Если ниже, то 0.

Как ее можно использовать? Предположим, что мы поедем на море только тогда, когда взвешенная сумма больше или равна 5. Значит наш порог равен 5:

В нашем примере взвешенная сумма равнялась 6, а значит выходной сигнал нашего нейрона равен 1. Итак, мы едем на море.

Однако если бы погода на море была бы плохой, а также поездка была бы очень дорогой, но имелась бы закусочная и обстановка с работой нормальная (входы: 0011), то взвешенная сумма равнялась бы 2, а значит выход нейрона равнялся бы 0. Итак, мы никуда не едем.

В общем, нейрон смотрит на взвешенную сумму и если она получается больше его порога, то нейрон выдает выходной сигнал, равный 1.

Графически эту функцию активации можно изобразить следующим образом.

На горизонтальной оси расположены величины взвешенной суммы. На вертикальной оси - значения выходного сигнала. Как легко видеть, возможны только два значения выходного сигнала: 0 или 1. Причем 0 будет выдаваться всегда от минус бесконечности и вплоть до некоторого значения взвешенной суммы, называемого порогом. Если взвешенная сумма равна порогу или больше него, то функция выдает 1. Все предельно просто.

Теперь запишем эту функцию активации математически. Почти наверняка вы сталкивались с таким понятием, как составная функция. Это когда мы под одной функцией объединяем несколько правил, по которым рассчитывается ее значение. В виде составной функции функция единичного скачка будет выглядеть следующим образом:

\[ out(net) = \begin{cases} 0, net < b \\ 1, net \geq b \end{cases} \]

В этой записи нет ничего сложного. Выход нейрона (​\(out \) ​) зависит от взвешенной суммы (​\(net \) ​) следующим образом: если ​\(net \) ​ (взвешенная сумма) меньше какого-то порога (​\(b \) ​), то ​\(out \) ​ (выход нейрона) равен 0. А если ​\(net \) ​ больше или равен порогу ​\(b \) ​, то ​\(out \) ​ равен 1.

Сигмоидальная функция

На самом деле существует целое семейство сигмоидальных функций, некоторые из которых применяют в качестве функции активации в искусственных нейронах.

Все эти функции обладают некоторыми очень полезными свойствами, ради которых их и применяют в нейронных сетях. Эти свойства станут очевидными после того, как вы увидите графики этих функций.

Итак… самая часто используемая в нейронных сетях сигмоида - логистическая функция .

График этой функции выглядит достаточно просто. Если присмотреться, то можно увидеть некоторое подобие английской буквы ​\(S \) ​, откуда и пошло название семейства этих функций.

А вот так она записывается аналитически:

\[ out(net)=\frac{1}{1+\exp(-a \cdot net)} \]

Что за параметр ​\(a \) ​? Это какое-то число, которое характеризует степень крутизны функции. Ниже представлены логистические функции с разным параметром ​\(a \) ​.

Вспомним наш искусственный нейрон, определяющий, надо ли ехать на море. В случае с функцией единичного скачка все было очевидно. Мы либо едем на море (1), либо нет (0).

Здесь же случай более приближенный к реальности. Мы до конца полностью не уверены (в особенности, если вы параноик) – стоит ли ехать? Тогда использование логистической функции в качестве функции активации приведет к тому, что вы будете получать цифру между 0 и 1. Причем чем больше взвешенная сумма, тем ближе выход будет к 1 (но никогда не будет точно ей равен). И наоборот, чем меньше взвешенная сумма, тем ближе выход нейрона будет к 0.

Например, выход нашего нейрона равен 0.8. Это значит, что он считает, что поехать на море все-таки стоит. Если бы его выход был бы равен 0.2, то это означает, что он почти наверняка против поездки на море.

Какие же замечательные свойства имеет логистическая функция?

  • она является «сжимающей» функцией, то есть вне зависимости от аргумента (взвешенной суммы), выходной сигнал всегда будет в пределах от 0 до 1
  • она более гибкая, чем функция единичного скачка – ее результатом может быть не только 0 и 1, но и любое число между ними
  • во всех точках она имеет производную, и эта производная может быть выражена через эту же функцию

Именно из-за этих свойств логистическая функция чаще всего используются в качестве функции активации в искусственных нейронах.

Гиперболический тангенс

Однако есть и еще одна сигмоида – гиперболический тангенс. Он применяется в качестве функции активации биологами для более реалистичной модели нервной клетки.

Такая функция позволяет получить на выходе значения разных знаков (например, от -1 до 1), что может быть полезным для ряда сетей.

Функция записывается следующим образом:

\[ out(net) = \tanh\left(\frac{net}{a}\right) \]

В данной выше формуле параметр ​\(a \) ​ также определяет степень крутизны графика этой функции.

А вот так выглядит график этой функции.

Как видите, он похож на график логистической функции. Гиперболический тангенс обладает всеми полезными свойствами, которые имеет и логистическая функция.

Что мы узнали?

Теперь вы получили полное представление о внутренней структуре искусственного нейрона. Я еще раз приведу краткое описание его работы.

У нейрона есть входы. На них подаются сигналы в виде чисел. Каждый вход имеет свой вес (тоже число). Сигналы на входе умножаются на соответствующие веса. Получаем набор «взвешенных» входных сигналов.

Затем взвешенная сумма преобразуется функцией активации и мы получаем выход нейрона .

Сформулируем теперь самое короткое описание работы нейрона – его математическую модель:

Математическая модель искусственного нейрона с ​\(n \) ​ входами:

где
​\(\phi \) ​ – функция активации
\(\sum\limits^n_{i=1}x_iw_i \) ​ – взвешенная сумма, как сумма ​\(n \) ​ произведений входных сигналов на соответствующие веса.

Виды ИНС

Мы разобрались со структурой искусственного нейрона. Искусственные нейронные сети состоят из совокупности искусственных нейронов. Возникает логичный вопрос – а как располагать/соединять друг с другом эти самые искусственные нейроны?

Как правило, в большинстве нейронных сетей есть так называемый входной слой , который выполняет только одну задачу – распределение входных сигналов остальным нейронам. Нейроны этого слоя не производят никаких вычислений.

Однослойные нейронные сети

В однослойных нейронных сетях сигналы с входного слоя сразу подаются на выходной слой. Он производит необходимые вычисления, результаты которых сразу подаются на выходы.

Выглядит однослойная нейронная сеть следующим образом:

На этой картинке входной слой обозначен кружками (он не считается за слой нейронной сети), а справа расположен слой обычных нейронов.

Нейроны соединены друг с другом стрелками. Над стрелками расположены веса соответствующих связей (весовые коэффициенты).

Однослойная нейронная сеть (Single-layer neural network ) - сеть, в которой сигналы от входного слоя сразу подаются на выходной слой, который и преобразует сигнал и сразу же выдает ответ.

Многослойные нейронные сети

Такие сети, помимо входного и выходного слоев нейронов, характеризуются еще и скрытым слоем (слоями). Понять их расположение просто – эти слои находятся между входным и выходным слоями.

Такая структура нейронных сетей копирует многослойную структуру определенных отделов мозга.

Название скрытый слой получил неслучайно. Дело в том, что только относительно недавно были разработаны методы обучения нейронов скрытого слоя. До этого обходились только однослойными нейросетями.

Многослойные нейронные сети обладают гораздо большими возможностями, чем однослойные.

Работу скрытых слоев нейронов можно сравнить с работой большого завода. Продукт (выходной сигнал) на заводе собирается по стадиям. После каждого станка получается какой-то промежуточный результат. Скрытые слои тоже преобразуют входные сигналы в некоторые промежуточные результаты.

Многослойная нейронная сеть (Multilayer neural network ) - нейронная сеть, состоящая из входного, выходного и расположенного(ых) между ними одного (нескольких) скрытых слоев нейронов.

Сети прямого распространения

Можно заметить одну очень интересную деталь на картинках нейросетей в примерах выше.

Во всех примерах стрелки строго идут слева направо, то есть сигнал в таких сетях идет строго от входного слоя к выходному.

Сети прямого распространения (Feedforward neural network ) (feedforward сети) - искусственные нейронные сети, в которых сигнал распространяется строго от входного слоя к выходному. В обратном направлении сигнал не распространяется.

Такие сети широко используются и вполне успешно решают определенный класс задач: прогнозирование, кластеризация и распознавание.

Однако никто не запрещает сигналу идти и в обратную сторону.

Сети с обратными связями

В сетях такого типа сигнал может идти и в обратную сторону. В чем преимущество?

Дело в том, что в сетях прямого распространения выход сети определяется входным сигналом и весовыми коэффициентами при искусственных нейронах.

А в сетях с обратными связями выходы нейронов могут возвращаться на входы. Это означает, что выход какого-нибудь нейрона определяется не только его весами и входным сигналом, но еще и предыдущими выходами (так как они снова вернулись на входы).

Возможность сигналов циркулировать в сети открывает новые, удивительные возможности нейронных сетей. С помощью таких сетей можно создавать нейросети, восстанавливающие или дополняющие сигналы. Другими словами такие нейросети имеют свойства кратковременной памяти (как у человека).

Сети с обратными связями (Recurrent neural network ) - искусственные нейронные сети, в которых выход нейрона может вновь подаваться на его вход. В более общем случае это означает возможность распространения сигнала от выходов к входам.

Обучение нейронной сети

Теперь давайте чуть более подробно рассмотрим вопрос обучения нейронной сети. Что это такое? И каким образом это происходит?

Что такое обучение сети?

Искусственная нейронная сеть – это совокупность искусственных нейронов. Теперь давайте возьмем, например, 100 нейронов и соединим их друг с другом. Ясно, что при подаче сигнала на вход, мы получим что-то бессмысленное на выходе.

Значит нам надо менять какие-то параметры сети до тех пор, пока входной сигнал не преобразуется в нужный нам выходной.

Что мы можем менять в нейронной сети?

Изменять общее количество искусственных нейронов бессмысленно по двум причинам. Во-первых, увеличение количества вычислительных элементов в целом лишь делает систему тяжеловеснее и избыточнее. Во-вторых, если вы соберете 1000 дураков вместо 100, то они все-равно не смогут правильно ответить на вопрос.

Сумматор изменить не получится, так как он выполняет одну жестко заданную функцию – складывать. Если мы его заменим на что-то или вообще уберем, то это вообще уже не будет искусственным нейроном.

Если менять у каждого нейрона функцию активации, то мы получим слишком разношерстную и неконтролируемую нейронную сеть. К тому же, в большинстве случаев нейроны в нейронных сетях одного типа. То есть они все имеют одну и ту же функцию активации.

Остается только один вариант – менять веса связей .

Обучение нейронной сети (Training) - поиск такого набора весовых коэффициентов, при котором входной сигнал после прохода по сети преобразуется в нужный нам выходной.

Такой подход к термину «обучение нейронной сети» соответствует и биологическим нейросетям. Наш мозг состоит из огромного количества связанных друг с другом нейросетей. Каждая из них в отдельности состоит из нейронов одного типа (функция активации одинаковая). Мы обучаемся благодаря изменению синапсов – элементов, которые усиливают/ослабляют входной сигнал.

Однако есть еще один важный момент. Если обучать сеть, используя только один входной сигнал, то сеть просто «запомнит правильный ответ». Со стороны будет казаться, что она очень быстро «обучилась». И как только вы подадите немного измененный сигнал, ожидая увидеть правильный ответ, то сеть выдаст бессмыслицу.

В самом деле, зачем нам сеть, определяющая лицо только на одном фото. Мы ждем от сети способности обобщать какие-то признаки и узнавать лица и на других фотографиях тоже.

Именно с этой целью и создаются обучающие выборки .

Обучающая выборка (Training set ) - конечный набор входных сигналов (иногда вместе с правильными выходными сигналами), по которым происходит обучение сети.

После обучения сети, то есть когда сеть выдает корректные результаты для всех входных сигналов из обучающей выборки, ее можно использовать на практике.

Однако прежде чем пускать свежеиспеченную нейросеть в бой, часто производят оценку качества ее работы на так называемой тестовой выборке .

Тестовая выборка (Testing set ) - конечный набор входных сигналов (иногда вместе с правильными выходными сигналами), по которым происходит оценка качества работы сети.

Мы поняли, что такое «обучение сети» – подбор правильного набора весов. Теперь возникает вопрос – а как можно обучать сеть? В самом общем случае есть два подхода, приводящие к разным результатам: обучение с учителем и обучение без учителя.

Обучение с учителем

Суть данного подхода заключается в том, что вы даете на вход сигнал, смотрите на ответ сети, а затем сравниваете его с уже готовым, правильным ответом.

Важный момент. Не путайте правильные ответы и известный алгоритм решения! Вы можете обвести пальцем лицо на фото (правильный ответ), но не сможете сказать, как это сделали (известный алгоритм). Тут такая же ситуация.

Затем, с помощью специальных алгоритмов, вы меняете веса связей нейронной сети и снова даете ей входной сигнал. Сравниваете ее ответ с правильным и повторяете этот процесс до тех пор, пока сеть не начнет отвечать с приемлемой точностью (как я говорил в 1 главе, однозначно точных ответов сеть давать не может).

Обучение с учителем (Supervised learning ) - вид обучения сети, при котором ее веса меняются так, чтобы ответы сети минимально отличались от уже готовых правильных ответов.

Где взять правильные ответы?

Если мы хотим, чтобы сеть узнавала лица, мы можем создать обучающую выборку на 1000 фотографий (входные сигналы) и самостоятельно выделить на ней лица (правильные ответы).

Если мы хотим, чтобы сеть прогнозировала рост/падение цен, то обучающую выборку надо делать, основываясь на прошлых данных. В качестве входных сигналов можно брать определенные дни, общее состояние рынка и другие параметры. А в качестве правильных ответов – рост и падение цены в те дни.

Стоит отметить, что учитель, конечно же, не обязательно человек. Дело в том, что порой сеть приходится тренировать часами и днями, совершая тысячи и десятки тысяч попыток. В 99% случаев эту роль выполняет компьютер, а точнее, специальная компьютерная программа.

Обучение без учителя

Обучение без учителя применяют тогда, когда у нас нет правильных ответов на входные сигналы. В этом случае вся обучающая выборка состоит из набора входных сигналов.

Что же происходит при таком обучении сети? Оказывается, что при таком «обучении» сеть начинает выделять классы подаваемых на вход сигналов. Короче говоря – сеть начинает кластеризацию.

Например, вы демонстрируете сети конфеты, пирожные и торты. Вы никак не регулируете работу сети. Вы просто подаете на ее входы данные о данном объекте. Со временем сеть начнет выдавать сигналы трех разных типов, которые и отвечают за объекты на входе.

Обучение без учителя (Unsupervised learning ) - вид обучения сети, при котором сеть самостоятельно классифицирует входные сигналы. Правильные (эталонные) выходные сигналы не демонстрируются.

Выводы

В этой главе вы узнали все о структуре искусственного нейрона, а также получили полное представление о том, как он работает (и о его математической модели).

Более того, вы теперь знаете о различных видах искусственных нейронных сетей: однослойные, многослойные, а также feedforward сети и сети с обратными связями.

Вы также ознакомились с тем, что представляет собой обучение сети с учителем и без учителя.

Вы уже знаете необходимую теорию. Последующие главы – рассмотрение конкретных видов нейронных сетей, конкретные алгоритмы их обучения и практика программирования.

Вопросы и задачи

Материал этой главы надо знать очень хорошо, так как в ней содержатся основные теоретические сведения по искусственным нейронным сетям. Обязательно добейтесь уверенных и правильных ответов на все нижеприведенные вопросы и задачи.

Опишите упрощения ИНС по сравнению с биологическими нейросетями.

1. Сложную и запутанную структуру биологических нейронных сетей упрощают и представляют в виде схем. Оставляют только модель обработки сигнала.

2. Природа электрических сигналов в нейронных сетях одна и та же. Разница только в их величине. Убираем электрические сигналы, а вместо них используем числа, обозначающие величину проходящего сигнала.

Функцию активации часто обозначают за ​\(\phi(net) \) ​.

Запишите математическую модель искусственного нейрона.

Искусственный нейрон c ​\(n \) ​ входами преобразовывает входной сигнал (число) в выходной сигнал (число) следующим образом:

\[ out=\phi\left(\sum\limits^n_{i=1}x_iw_i\right) \]

Чем отличаются однослойные и многослойные нейронные сети?

Однослойные нейронные сети состоят из одного вычислительного слоя нейронов. Входной слой подает сигналы сразу на выходной слой, который и преобразует сигнал, и сразу выдает результат.

Многослойные нейронные сети, помимо входного и выходного слоев, имеют еще и скрытые слои. Эти скрытые слои проводят какие-то внутренние промежуточные преобразования, наподобие этапов производства продуктов на заводе.

В чем отличие feedforward сетей от сетей с обратными связями?

Сети прямого распространения (feedforward сети) допускают прохождение сигнала только в одном направлении – от входов к выходам. Сети с обратными связями данных ограничений не имеют, и выходы нейронов могут вновь подаваться на входы.

Что такое обучающая выборка? В чем ее смысл?

Перед тем, как использовать сеть на практике (например, для решения текущих задач, ответов на которые у вас нет), необходимо собрать коллекцию задач с готовыми ответами, на которой и тренировать сеть. Это коллекция и называется обучающей выборкой.

Если собрать слишком маленький набор входных и выходных сигналов, то сеть просто запомнит ответы и цель обучения не будет достигнута.

Что понимают под обучением сети?

Под обучением сети понимают процесс изменения весовых коэффициентов искусственных нейронов сети с целью подобрать такую их комбинацию, которая преобразует входной сигнал в корректный выходной.

Что такое обучение с учителем и без него?

При обучении сети с учителем ей на входы подают сигналы, а затем сравнивают ее выход с заранее известным правильным выходом. Этот процесс повторяют до тех пор, пока не будет достигнута необходимая точность ответов.

Если сети только подают входные сигналы, без сравнения их с готовыми выходами, то сеть начинает самостоятельную классификацию этих входных сигналов. Другими словами она выполняет кластеризацию входных сигналов. Такое обучение называют обучением без учителя.

Интеллектуальные системы на основе искусственных нейронных сетей позволяют с успехом решать проблемы распознавания образов, выполнения прогнозов, оптимизации, ассоциативной памяти и управления.

17.04.1997 Жианчанг Мао, Энил Джейн

Интеллектуальные системы на основе искусственных нейронных сетей позволяют с успехом решать проблемы распознавания образов, выполнения прогнозов, оптимизации, ассоциативной памяти и управления. Известны и иные, более традиционные подходы к решению этих проблем, однако они не обладают необходимой гибкостью за пределами ограниченных условий. ИНС дают многообещающие альтернативные решения, и многие приложения выигрывают от их использования.

Интеллектуальные системы на основе искусственных нейронных сетей (ИНС) позволяют с успехом решать проблемы распознавания образов, выполнения прогнозов, оптимизации, ассоциативной памяти и управления. Известны и иные, более традиционные подходы к решению этих проблем, однако они не обладают необходимой гибкостью за пределами ограниченных условий. ИНС дают многообещающие альтернативные решения, и многие приложения выигрывают от их использования. Данная статья является введением в современную проблематику ИНС и содержит обсуждение причин их стремительного развития. Здесь описаны также основные принципы работы биологического нейрона и его искусственной вычислительной модели. Несколько слов будет сказано о нейросетевых архитектурах и процессах обучения ИНС. Венчает статью знакомство с проблемой распознавания текста - наиболее успешной реализацией ИНС.

Длительный период эволюции придал мозгу человека много качеств, которые отсутствуют как в машинах с архитектурой фон Неймана, так и в современных параллельных компьютерах. К ним относятся:

  • массовый параллелизм;
  • распределенное представление информации и вычисления;
  • способность к обучению и способность к обобщению;
  • адаптивность;
  • свойство контекстуальной обработки информации;
  • толерантность к ошибкам;
  • низкое энергопотребление.

Можно предположить, что приборы, построенные на тех же принципах, что и биологические нейроны, будут обладать перечисленными характеристиками.

От биологических сетей к ИНС

Современные цифровые вычислительные машины превосходят человека по способности производить числовые и символьные вычисления. Однако человек может без усилий решать сложные задачи восприятия внешних данных (например, узнавание человека в толпе только по его промелькнувшему лицу) с такой скоростью и точностью, что мощнейший в мире компьютер по сравнению с ним кажется безнадежным тугодумом. В чем причина столь значительного различия в их производительности? Архитектура биологической нейронной системы совершенно не похожа на архитектуру машины фон Неймана (Таблица 1), существенно влияет на типы функций, которые более эффективно исполняются каждой моделью.

Таблица 1. Машина фон Неймана по сравнению с биологической нейронной системой

Машина фон Неймана Биологическая нейронная система
Процессор Сложный Простой
Высокоскоростной Низкоскоростной
Один или несколько Большое количество
Память Отделена от процессора Интегрирована в процессор
Локализована Распределенная
Адресация не по содержанию Адресация по содержанию
Вычисления Централизованные Распределенные
Последовательные Параллельные
Хранимые программы Самообучение
Надежность Высокая уязвимость Живучесть
Специализация Численные и символьные oперации Проблемы восприятия
Среда функционирования Строго определенная Плохо определенная
Строго ограниченная Без ограничений

Подобно биологической нейронной системе ИНС является вычислительной системой с огромным числом параллельно функционирующих простых процессоров с множеством связей. Модели ИНС в некоторой степени воспроизводят "организационные" принципы, свойственные мозгу человека. Моделирование биологической нейронной системы с использованием ИНС может также способствовать лучшему пониманию биологических функций. Такие технологии производства, как VLSI (сверхвысокий уровень интеграции) и оптические аппаратные средства, делают возможным подобное моделирование.

Глубокое изучение ИНС требует знания нейрофизиологии, науки о познании, психологии, физики (статистической механики), теории управления, теории вычислений, проблем искусственного интеллекта, статистики/математики, распознавания образов, компьютерного зрения, параллельных вычислений и аппаратных средств (цифровых/аналоговых/VLSI/оптических). С другой стороны, ИНС также стимулируют эти дисциплины, обеспечивая их новыми инструментами и представлениями. Этот симбиоз жизненно необходим для исследований по нейронным сетям.

Представим некоторые проблемы, решаемые в контексте ИНС и представляющие интерес для ученых и инженеров.

Классификация образов. Задача состоит в указании принадлежности входного образа (например, речевого сигнала или рукописного символа), представленного вектором признаков, одному или нескольким предварительно определенным классам. К известным приложениям относятся распознавание букв, распознавание речи, классификация сигнала электрокардиограммы, классификация клеток крови.

Кластеризация/категоризация. При решении задачи кластеризации, которая известна также как классификация образов "без учителя", отсутствует обучающая выборка с метками классов. Алгоритм кластеризации основан на подобии образов и размещает близкие образы в один кластер. Известны случаи применения кластеризации для извлечения знаний, сжатия данных и исследования свойств данных.

Аппроксимация функций. Предположим, что имеется обучающая выборка ((x 1 ,y 1 ), (x 2 ,y 2 )..., (x n ,y n )) (пары данных вход-выход), которая генерируется неизвестной функцией (x), искаженной шумом. Задача аппроксимации состоит в нахождении оценки неизвестной функции (x). Аппроксимация функций необходима при решении многочисленных инженерных и научных задач моделирования.

Предсказание/прогноз. Пусть заданы n дискретных отсчетов {y(t 1 ), y(t 2 )..., y(t n )} в последовательные моменты времени t 1 , t 2 ,..., t n . Задача состоит в предсказании значения y(t n+1 ) в некоторый будущий момент времени t n+1 . Предсказание/прогноз имеют значительное влияние на принятие решений в бизнесе, науке и технике. Предсказание цен на фондовой бирже и прогноз погоды являются типичными приложениями техники предсказания/прогноза.

Оптимизация. Многочисленные проблемы в математике, статистике, технике, науке, медицине и экономике могут рассматриваться как проблемы оптимизации. Задачей алгоритма оптимизации является нахождение такого решения, которое удовлетворяет системе ограничений и максимизирует или минимизирует целевую функцию. Задача коммивояжера, относящаяся к классу NP-полных, является классическим примером задачи оптимизации.

Память, адресуемая по содержанию. В модели вычислений фон Неймана обращение к памяти доступно только посредством адреса, который не зависит от содержания памяти. Более того, если допущена ошибка в вычислении адреса, то может быть найдена совершенно иная информация. Ассоциативная память, или память, адресуемая по содержанию, доступна по указанию заданного содержания. Содержимое памяти может быть вызвано даже по частичному входу или искаженному содержанию. Ассоциативная память чрезвычайно желательна при создании мультимедийных информационных баз данных.

Управление. Рассмотрим динамическую систему, заданную совокупностью {u(t), y(t)}, где u(t) является входным управляющим воздействием, а y(t) - выходом системы в момент времени t. В системах управления с эталонной моделью целью управления является расчет такого входного воздействия u(t), при котором система следует по желаемой траектории, диктуемой эталонной моделью. Примером является оптимальное управление двигателем.

Краткий исторический обзор

Исследования в области ИНС пережили три периода активизации. Первый пик в 40-х годах обусловлен пионерской работой МакКаллока и Питтса . Второй возник в 60-х благодаря теореме сходимости перцептрона Розенблатта и работе Минского и Пейперта , указавшей ограниченные возможности простейшего перцептрона. Результаты Минского и Пейперта погасили энтузиазм большинства исследователей, особенно тех, кто работал в области вычислительных наук. Возникшее в исследованиях по нейронным сетям затишье продлилось почти 20 лет. С начала 80-х годов ИНС вновь привлекли интерес исследователей, что связано с энергетическим подходом Хопфилда и алгоритмом обратного распространения для обучения многослойного перцептрона (многослойные сети прямого распространения), впервые предложенного Вербосом и независимо разработанного рядом других авторов. Алгоритм получил известность благодаря Румельхарту в 1986году Андерсон и Розенфельд подготовили подробную историческую справку о развитии ИНС.

Биологические нейронные сети

Нейрон (нервная клетка) является особой биологической клеткой, которая обрабатывает информацию (рис. 1). Она состоит из тела клетки (cell body), или сомы (soma), и двух типов внешних древоподобных ветвей: аксона (axon) и дендритов (dendrites). Тело клетки включает ядро (nucleus), которое содержит информацию о наследственных свойствах, и плазму, обладающую молекулярными средствами для производства необходимых нейрону материалов. Нейрон получает сигналы (импульсы) от других нейронов через дендриты (приемники) и передает сигналы, сгенерированные телом клетки, вдоль аксона (передатчик), который в конце разветвляется на волокна (strands). На окончаниях этих волокон находятся синапсы (synapses).

Рис. 1.

Синапс является элементарной структурой и функциональным узлом между двумя нейронами (волокно аксона одного нейрона и дендрит другого). Когда импульс достигает синаптического окончания, высвобождаются определенные химические вещества, называемые нейротрансмиттерами. Нейротрансмиттеры диффундируют через синаптическую щель, возбуждая или затормаживая, в зависимости от типа синапса, способность нейрона-приемника генерировать электрические импульсы. Результативность синапса может настраиваться проходящими через него сигналами, так что синапсы могут обучаться в зависимости от активности процессов, в которых они участвуют. Эта зависимость от предыстории действует как память, которая, возможно, ответственна за память человека.

Кора головного мозга человека является протяженной, образованной нейронами поверхностью толщиной от 2 до 3 мм с площадью около 2200 см 2 , что вдвое превышает площадь поверхности стандартной клавиатуры. Кора головного мозга содержит около 1011 нейронов, что приблизительно равно числу звезд Млечного пути . Каждый нейрон связан с 103 - 104 другими нейронами. В целом мозг человека содержит приблизительно от 1014 до 1015 взаимосвязей.

Нейроны взаимодействуют посредством короткой серии импульсов, как правило, продолжительностью несколько мсек. Сообщение передается посредством частотно-импульсной модуляции. Частота может изменяться от нескольких единиц до сотен герц, что в миллион раз медленнее, чем самые быстродействующие переключательные электронные схемы. Тем не менее сложные решения по восприятию информации, как, например, распознавание лица, человек принимает за несколько сотен мс. Эти решения контролируются сетью нейронов, которые имеют скорость выполнения операций всего несколько мс. Это означает, что вычисления требуют не более 100 последовательных стадий. Другими словами, для таких сложных задач мозг "запускает" параллельные программы, содержащие около 100 шагов. Это известно как правило ста шагов . Рассуждая аналогичным образом, можно обнаружить, что количество информации, посылаемое от одного нейрона другому, должно быть очень маленьким (несколько бит). Отсюда следует, что основная информация не передается непосредственно, а захватывается и распределяется в связях между нейронами. Этим объясняется такое название, как коннекционистская модель, применяемое к ИНС.

Основные понятия

Модель технического нейрона

МакКаллок и Питтс предложили использовать бинарный пороговый элемент в качестве модели искусственного нейрона. Этот математический нейрон вычисляет взвешенную сумму n входных сигналов x j , j = 1, 2... n, и формирует на выходе сигнал величины 1, если эта сумма превышает определенный порог u, и 0 - в противном случае.

Часто удобно рассматривать u как весовой коэффициент, связанный с постоянным входом x 0 = 1. Положительные веса соответствуют возбуждающим связям, а отрицательные - тормозным. МакКаллок и Питтс доказали, что при соответствующим образом подобранных весах совокупность параллельно функционирующих нейронов подобного типа способна выполнять универсальные вычисления. Здесь наблюдается определенная аналогия с биологическим нейроном: передачу сигнала и взаимосвязи имитируют аксоны и дендриты, веса связей соответствуют синапсам, а пороговая функция отражает активность сомы.

Архитектура нейронной сети

ИНС может рассматриваться как направленный граф со взвешенными связями, в котором искусственные нейроны являются узлами. По архитектуре связей ИНС могут быть сгруппированы в два класса (рис. 2): сети прямого распространения, в которых графы не имеют петель, и рекуррентные сети, или сети с обратными связями.

Рис. 2.

В наиболее распространенном семействе сетей первого класса, называемых многослойным перцептроном, нейроны расположены слоями и имеют однонаправленные связи между слоями. На рис. 2 представлены типовые сети каждого класса. Сети прямого распространения являются статическими в том смысле, что на заданный вход они вырабатывают одну совокупность выходных значений, не зависящих от предыдущего состояния сети. Рекуррентные сети являются динамическими, так как в силу обратных связей в них модифицируются входы нейронов, что приводит к изменению состояния сети.

Обучение

Способность к обучению является фундаментальным свойством мозга. В контексте ИНС процесс обучения может рассматриваться как настройка архитектуры сети и весов связей для эффективного выполнения специальной задачи. Обычно нейронная сеть должна настроить веса связей по имеющейся обучающей выборке. Функционирование сети улучшается по мере итеративной настройки весовых коэффициентов. Свойство сети обучаться на примерах делает их более привлекательными по сравнению с системами, которые следуют определенной системе правил функционирования, сформулированной экспертами.

Для конструирования процесса обучения, прежде всего, необходимо иметь модель внешней среды, в которой функционирует нейронная сеть - знать доступную для сети информацию. Эта модель определяет парадигму обучения . Во-вторых, необходимо понять, как модифицировать весовые параметры сети - какие правила обучения управляют процессом настройки. Алгоритм обучения означает процедуру, в которой используются правила обучения для настройки весов.

Существуют три парадигмы обучения: "с учителем", "без учителя" (самообучение) и смешанная. В первом случае нейронная сеть располагает правильными ответами (выходами сети) на каждый входной пример. Веса настраиваются так, чтобы сеть производила ответы как можно более близкие к известным правильным ответам. Усиленный вариант обучения с учителем предполагает, что известна только критическая оценка правильности выхода нейронной сети, но не сами правильные значения выхода. Обучение без учителя не требует знания правильных ответов на каждый пример обучающей выборки. В этом случае раскрывается внутренняя структура данных или корреляции между образцами в системе данных, что позволяет распределить образцы по категориям. При смешанном обучении часть весов определяется посредством обучения с учителем, в то время как остальная получается с помощью самообучения.

Теория обучения рассматривает три фундаментальных свойства, связанных с обучением по примерам: емкость, сложность образцов и вычислительная сложность. Под емкостью понимается, сколько образцов может запомнить сеть, и какие функции и границы принятия решений могут быть на ней сформированы. Сложность образцов определяет число обучающих примеров, необходимых для достижения способности сети к обобщению. Слишком малое число примеров может вызвать "переобученность" сети, когда она хорошо функционирует на примерах обучающей выборки, но плохо - на тестовых примерах, подчиненных тому же статистическому распределению. Известны 4 основных типа правил обучения: коррекция по ошибке, машина Больцмана, правило Хебба и обучение методом соревнования.

Правило коррекции по ошибке. При обучении с учителем для каждого входного примера задан желаемый выход d. Реальный выход сети y может не совпадать с желаемым. Принцип коррекции по ошибке при обучении состоит в использовании сигнала (d-y) для модификации весов, обеспечивающей постепенное уменьшение ошибки. Обучение имеет место только в случае, когда перцептрон ошибается. Известны различные модификации этого алгоритма обучения .

Обучение Больцмана. Представляет собой стохастическое правило обучения, которое следует из информационных теоретических и термодинамических принципов . Целью обучения Больцмана является такая настройка весовых коэффициентов, при которой состояния видимых нейронов удовлетворяют желаемому распределению вероятностей. Обучение Больцмана может рассматриваться как специальный случай коррекции по ошибке, в котором под ошибкой понимается расхождение корреляций состояний в двух режимах.

Правило Хебба. Самым старым обучающим правилом является постулат обучения Хебба . Хебб опирался на следующие нейрофизиологические наблюдения: если нейроны с обеих сторон синапса активизируются одновременно и регулярно, то сила синаптической связи возрастает. Важной особенностью этого правила является то, что изменение синаптического веса зависит только от активности нейронов, которые связаны данным синапсом. Это существенно упрощает цепи обучения в реализации VLSI.

Обучение методом соревнования. В отличие от обучения Хебба, в котором множество выходных нейронов могут возбуждаться одновременно, при соревновательном обучении выходные нейроны соревнуются между собой за активизацию. Это явление известно как правило "победитель берет все". Подобное обучение имеет место в биологических нейронных сетях. Обучение посредством соревнования позволяет кластеризовать входные данные: подобные примеры группируются сетью в соответствии с корреляциями и представляются одним элементом.

При обучении модифицируются только веса "победившего" нейрона. Эффект этого правила достигается за счет такого изменения сохраненного в сети образца (вектора весов связей победившего нейрона), при котором он становится чуть ближе ко входному примеру. На рис. 3 дана геометрическая иллюстрация обучения методом соревнования. Входные векторы нормализованы и представлены точками на поверхности сферы. Векторы весов для трех нейронов инициализированы случайными значениями. Их начальные и конечные значения после обучения отмечены Х на рис. 3а и 3б соответственно. Каждая из трех групп примеров обнаружена одним из выходных нейронов, чей весовой вектор настроился на центр тяжести обнаруженной группы.

Рис. 3.

Можно заметить, что сеть никогда не перестанет обучаться, если параметр скорости обучения не равен 0. Некоторый входной образец может активизировать другой выходной нейрон на последующих итерациях в процессе обучения. Это ставит вопрос об устойчивости обучающей системы. Система считается устойчивой, если ни один из примеров обучающей выборки не изменяет своей принадлежности к категории после конечного числа итераций обучающего процесса. Один из способов достижения стабильности состоит в постепенном уменьшении до 0 параметра скорости обучения. Однако это искусственное торможение обучения вызывает другую проблему, называемую пластичностью и связанную со способностью к адаптации к новым данным. Эти особенности обучения методом соревнования известны под названием дилеммы стабильности-пластичности Гроссберга.

В Таблице 2 представлены различные алгоритмы обучения и связанные с ними архитектуры сетей (список не является исчерпывающим). В последней колонке перечислены задачи, для которых может быть применен каждый алгоритм. Каждый алгоритм обучения ориентирован на сеть определенной архитектуры и предназначен для ограниченного класса задач. Кроме рассмотренных, следует упомянуть некоторые другие алгоритмы: Adaline и Madaline , линейный дискриминантный анализ , проекции Саммона , анализ главных компонентов .

Таблица 2. Известные алгоритмы обучения

Парадигма Обучающее правило Архитектура Алгоритм обучения Задача
С учителем Коррекция ошибки Однослойный и многослойный перцептрон Алгоритмы обучения перцептрона
Обратное распространение
Adaline и Madaline
Классификация образов
Аппроксимация функций
Предскащание, управление
Больцман Рекуррентная Алгоритм обучения Больцмана Классификация образов
Хебб Линейный дискриминантный анализ Анализ данных
Классификация образов
Соревнование Соревнование Векторное квантование Категоризация внутри класса Сжатие данных
Сеть ART ARTMap Классификация образов
Без учителя Коррекция ошибки Многослойная прямого распространения Проекция Саммона Категоризация внутри класса Анализ данных
Хебб Прямого распространения или соревнование Анализ главных компонентов Анализ данных
Сжатие данных
Сеть Хопфилда Обучение ассоциативной памяти Ассоциативная память
Соревнование Соревнование Векторное квантование Категоризация
Сжатие данных
SOM Кохонена SOM Кохонена Категоризация
Анализ данных
Сети ART ART1, ART2 Категоризация
Смешанная Коррекция ошибки и соревнование Сеть RBF Алгоритм обучения RBF Классификация образов
Аппроксимация функций
Предсказание, управление

Многослойные сети прямого распространения

Стандартная L-слойная сеть прямого распространения состоит из слоя входных узлов (будем придерживаться утверждения, что он не включается в сеть в качестве самостоятельного слоя), (L-1) скрытых слоев и выходного слоя, соединенных последовательно в прямом направлении и не содержащих связей между элементами внутри слоя и обратных связей между слоями. На рис. 4 приведена структура трехслойной сети.

Рис. 4.

Многослойный перцептрон

Наиболее популярный класс многослойных сетей прямого распространения образуют многослойные перцептроны, в которых каждый вычислительный элемент использует пороговую или сигмоидальную функцию активации. Многослойный перцептрон может формировать сколь угодно сложные границы принятия решения и реализовывать произвольные булевы функции . Разработка алгоритма обратного распространения для определения весов в многослойном перцептроне сделала эти сети наиболее популярными у исследователей и пользователей нейронных сетей. Геометрическая интерпретация объясняет роль элементов скрытых слоев (используется пороговая активационная функция).

RBF-сети

Сети, использующие радиальные базисные функции (RBF-сети), являются частным случаем двухслойной сети прямого распространения. Каждый элемент скрытого слоя использует в качестве активационной функции радиальную базисную функцию типа гауссовой. Радиальная базисная функция (функция ядра) центрируется в точке, которая определяется весовым вектором, связанным с нейроном. Как позиция, так и ширина функции ядра должны быть обучены по выборочным образцам. Обычно ядер гораздо меньше, чем обучающих примеров. Каждый выходной элемент вычисляет линейную комбинацию этих радиальных базисных функций. С точки зрения задачи аппроксимации скрытые элементы формируют совокупность функций, которые образуют базисную систему для представления входных примеров в построенном на ней пространстве.

Существуют различные алгоритмы обучения RBF-сетей . Основной алгоритм использует двушаговую стратегию обучения, или смешанное обучение. Он оценивает позицию и ширину ядра с использованием алгоритма кластеризации "без учителя", а затем алгоритм минимизации среднеквадратической ошибки "с учителем" для определения весов связей между скрытым и выходным слоями. Поскольку выходные элементы линейны, применяется неитерационный алгоритм. После получения этого начального приближения используется градиентный спуск для уточнения параметров сети.

Этот смешанный алгоритм обучения RBF-сети сходится гораздо быстрее, чем алгоритм обратного распространения для обучения многослойных перцептронов. Однако RBF-сеть часто содержит слишком большое число скрытых элементов. Это влечет более медленное функционирование RBF-сети, чем многослойного перцептрона. Эффективность (ошибка в зависимости от размера сети) RBF-сети и многослойного перцептрона зависят от решаемой задачи.

Нерешенные проблемы

Существует множество спорных вопросов при проектировании сетей прямого распространения - например, сколько слоев необходимы для данной задачи, сколько следует выбрать элементов в каждом слое, как сеть будет реагировать на данные, не включенные в обучающую выборку (какова способность сети к обобщению), и какой размер обучающей выборки необходим для достижения "хорошей" способности сети к обобщению.

Хотя многослойные сети прямого распространения широко применяются для классификации и аппроксимации функций , многие параметры еще должны быть определены путем проб и ошибок. Существующие теоретические результаты дают лишь слабые ориентиры для выбора этих параметров в практических приложениях.

Самоорганизующиеся карты Кохонена

Самоорганизующиеся карты Кохонена (SOM) обладают благоприятным свойством сохранения топологии, которое воспроизводит важный аспект карт признаков в коре головного мозга высокоорганизованных животных. В отображении с сохранением топологии близкие входные примеры возбуждают близкие выходные элементы. На рис. 2 показана основная архитектура сети SOM Кохонена. По существу она представляет собой двумерный массив элементов, причем каждый элемент связан со всеми n входными узлами.

Такая сеть является специальным случаем сети, обучающейся методом соревнования, в которой определяется пространственная окрестность для каждого выходного элемента. Локальная окрестность может быть квадратом, прямоугольником или окружностью. Начальный размер окрестности часто устанавливается в пределах от 1/2 до 2/3 размера сети и сокращается согласно определенному закону (например, по экспоненциально убывающей зависимости). Во время обучения модифицируются все веса, связанные с победителем и его соседними элементами.

Самоорганизующиеся карты (сети) Кохонена могут быть использованы для проектирования многомерных данных, аппроксимации плотности и кластеризации. Эта сеть успешно применялась для распознавания речи, обработки изображений, в робототехнике и в задачах управления . Параметры сети включают в себя размерность массива нейронов, число нейронов в каждом измерении, форму окрестности, закон сжатия окрестности и скорость обучения.

Модели теории адаптивного резонанса

Напомним, что дилемма стабильности-пластичности является важной особенностью обучения методом соревнования. Как обучать новым явлениям (пластичность) и в то же время сохранить стабильность, чтобы существующие знания не были стерты или разрушены?

Карпентер и Гроссберг, разработавшие модели теории адаптивного резонанса (ART1, ART2 и ARTMAP) , сделали попытку решить эту дилемму. Сеть имеет достаточное число выходных элементов, но они не используются до тех пор, пока не возникнет в этом необходимость. Будем говорить, что элемент распределен (не распределен), если он используется (не используется). Обучающий алгоритм корректирует имеющийся прототип категории, только если входной вектор в достаточной степени ему подобен. В этом случае они резонируют. Степень подобия контролируется параметром сходства k, 0

Чтобы проиллюстрировать модель, рассмотрим сеть ART1, которая рассчитана на бинарный (0/1) вход. Упрощенная схема архитектуры ART1 представлена на рис. 5. Она содержит два слоя элементов с полными связями.

Рис. 5.

Направленный сверху вниз весовой вектор w j соответствует элементу j входного слоя, а направленный снизу вверх весовой вектор i связан с выходным элементом i; i является нормализованной версией w i . Векторы w j сохраняют прототипы кластеров. Роль нормализации состоит в том, чтобы предотвратить доминирование векторов с большой длиной над векторами с малой длиной. Сигнал сброса R генерируется только тогда, когда подобие ниже заданного уровня.

Модель ART1 может создать новые категории и отбросить входные примеры, когда сеть исчерпала свою емкость. Однако число обнаруженных сетью категорий чувствительно к параметру сходства.

Сеть Хопфилда

Хопфилд использовал функцию энергии как инструмент для построения рекуррентных сетей и для понимания их динамики . Формализация Хопфилда сделала ясным принцип хранения информации как динамически устойчивых аттракторов и популяризовала использование рекуррентных сетей для ассоциативной памяти и для решения комбинаторных задач оптимизации.

Динамическое изменение состояний сети может быть выполнено по крайней мере двумя способами: синхронно и асинхронно. В первом случае все элементы модифицируются одновременно на каждом временном шаге, во втором - в каждый момент времени выбирается и подвергается обработке один элемент. Этот элемент может выбираться случайно. Главное свойство энергетической функции состоит в том, что в процессе эволюции состояний сети согласно уравнению она уменьшается и достигает локального минимума (аттрактора), в котором она сохраняет постоянную энергию.

Ассоциативная память

Если хранимые в сети образцы являются аттракторами, она может использоваться как ассоциативная память. Любой пример, находящийся в области притяжения хранимого образца, может быть использован как указатель для его восстановления.

Ассоциативная память обычно работает в двух режимах: хранения и восстановления. В режиме хранения веса связей в сети определяются так, чтобы аттракторы запомнили набор p n-мерных образцов {x 1 , x 2 ,..., x p ), которые должны быть сохранены. Во втором режиме входной пример используется как начальное состояние сети, и далее сеть эволюционирует согласно своей динамике. Выходной образец устанавливается, когда сеть достигает равновесия.

Сколько примеров могут быть сохранены в сети с n бинарными элементами? Другими словами, какова емкость памяти сети? Она конечна, так как сеть с n бинарными элементами имеет максимально 2n различных состояний, и не все из них являются аттракторами. Более того, не все аттракторы могут хранить полезные образцы. Ложные аттракторы могут также хранить образцы, но они отличаются от примеров обучающей выборки. Показано, что максимальное число случайных образцов, которые может хранить сеть Хопфилда, составляет Pmax (0.15 n. Когда число сохраняемых образцов p (0.15 n, достигается наиболее успешный вызов данных из памяти. Если запоминаемые образцы представлены ортогональными векторами (в отличие от случайных), то количество сохраненных в памяти образцов будет увеличиваться. Число ложных аттракторов возрастает, когда p достигает емкости сети. Несколько правил обучения предложено для увеличения емкости памяти сети Хопфилда . Заметим, что в сети для хранения p n-битных примеров требуется реализовать 2n связей.

Минимизация энергии

Сеть Хопфилда эволюционирует в направлении уменьшения своей энергии. Это позволяет решать комбинаторные задачи оптимизации, если они могут быть сформулированы как задачи минимизации энергии. В частности, подобным способом может быть сформулирована задача коммивояжера.

Приложения

В начале статьи были описаны 7 классов различных приложений ИНС. Следует иметь в виду, что для успешного решения реальных задач необходимо определить ряд характеристик, включая модель сети, ее размер, функцию активации, параметры обучения и набор обучающих примеров. Для иллюстрации практического применения сетей прямого распространения рассмотрим проблему распознавания изображений символов (задача OCR, которая состоит в обработке отсканированного изображения текста и его преобразовании в текстовую форму).

Система OCR

Система OCR обычно состоит из блоков препроцессирования, сегментации, выделения характеристик, классификации и контекстуальной обработки. Бумажный документ сканируется, и создается изображение в оттенках серого цвета или бинарное (черно-белое) изображение. На стадии препроцессирования применяется фильтрация для удаления шума, область текста локализуется и преобразуется к бинарному изображению с помощью глобального и локального адаптивного порогового преобразователя. На шаге сегментации изображение текста разделяется на отдельные символы. Эта задача особенно трудна для рукописного текста, который содержит связи между соседними символами. Один из эффективных приемов состоит в расчленении составного образца на малые образцы (промежуточная сегментация) и нахождении точек правильной сегментации с использованием выхода классификатора по образцам. Вследствие различного наклона, искажений, помех и стилей письма распознавание сегментированных символов является непростой задачей.

Схемы вычислений

На рис. 6 представлены две основные схемы использования ИНС в OCR системах. Первая выполняет явное извлечение характерных признаков (не обязательно на нейронной сети). Например, это могут быть признаки обхода по контуру. Выделенные признаки подаются на вход многослойной сети прямого распространения . Эта схема отличается гибкостью в отношении использования большого разнообразия признаков. Другая схема не предусматривает явного выделения признаков из исходных данных. Извлечение признаков происходит неявно в скрытых слоях ИНС. Удобство этой схемы состоит в том, что выделение признаков и классификация объединены и обучение происходит одновременно, что дает оптимальный результат классификации. Однако схема требует большего размера сети, чем в первом случае.

Рис. 6.

Типичный пример подобной интегрированной схемы рассмотрен Куном для распознавания zip-кода.

Результаты

ИНС очень эффективно применяются в OCR-приложениях. Однако, нет убедительных доказательств их превосходства над соответствующими статистическими классификаторами. На первой конференции по OCR-системам в 1992 г. более 40 систем распознавания рукописного текста были сопоставлены для одних и тех же данных. Из них 10 лучших использовали вариант многослойной сети прямого распространения или классификатор "ближайшего соседа". ИНС имеют тенденцию к превосходству по скорости и требуемой памяти по сравнению с методом "ближайшего соседа", в отличие от которого скорость классификации с применением ИНС не зависит от объема обучающей выборки. Точность распознавания лучших OCR-систем на базе данных предварительно сегментированных символов составила около 98% для цифр, 96% для заглавных букв и 87 - для строчных. (Низкая точность для строчных букв вызвана в значительной степени тем, что тестовые данные существенно отличались от тренировочных.) По данным теста можно сделать вывод, что на изолированных символах OCR система близка по точности к человеку. Однако человек опережает системы OCR на свободных от ограничений и рукописных документах.

***

Развитие ИНС вызвало немало энтузиазма и критики. Некоторые сравнительные исследования оказались оптимистичными, другие - пессимистичными. Для многих задач, таких как распознавание образов, пока не создано доминирующих подходов. Выбор лучшей технологии должен диктоваться природой задачи. Нужно пытаться понять возможности, предпосылки и область применения различных подходов и максимально использовать их дополнительные преимущества для дальнейшего развития интеллектуальных систем. Подобные усилия могут привести к синергетическому подходу, который объединяет ИНС с другими технологиями для существенного прорыва в решении актуальных проблем. Как недавно заметил Минский, пришло время строить системы за рамками отдельных компонентов. Индивидуальные модули важны, но мы также нуждаемся в методологии интеграции. Ясно, что взаимодействие и совместные работы исследователей в области ИНС и других дисциплин позволят не только избежать повторений, но и (что более важно) стимулируют и придают новые качества развитию отдельных направлений.

Литература

1. DARPA Neural Network Study, AFCEA Int"l Press, Fairfax, Va., 1988.
2. J. Hertz, A. Krogh, and R.G. Palmer, Introduction to the Theory of Neural Computation, Addison-Wesley, Reading, Mass., 1991.
3. S. Haykin, Neural Networks: A Comprehensive Foundation, MacMillan College Publishing Co., New York, 1994.
4. W.S. McCulloch and W. Pitts, "A logical Calculus of Ideas Immanent in Nervous Activity", Bull. Mathematical Biophysics, Vol. 5, 1943, pp. 115-133.
5. R.Rosenblatt, "Principles of Neurodynamics", Spartan Books, New York, 1962.
6. M. Miтnsky and S. Papert, "Perceptrons: An Introduction to Computational Geometry", MIT Press, Cambridge, Mass., 1969.
7. J.J. Hopfield, "Neural Networks and Physical Systems with Emergent Collective Computational Abilities", in Proc. National Academy of Sciencies, USA 79, 1982, pp. 2554-2558.
8. P. Werbos, "Beyond Regression: New Tools for Prediction and Analysis in the Behavioral Sciences", Phd Thesis, Dept. of Applied Mathematics, Harvard University, Cambridge, Mass., 1974.
9. D.E. Rumelhart and J.L. McClelland, Parallel Distributed Processing: Exploration in the Microstructure of Cognition, MIT Press, Cambridge, Mass., 1986.
10. J.A. Anderson and E. Rosenfeld, "Neurocomputing: Foundation of Research", MIT Press, Cambridge, Mass., 1988.
11. S. Brunak and B. Lautrup, Neural Networks, Computers with Intuition, World Scientific, Singapore, 1990.
12. J. Feldman, M.A. Fanty, and N.H. Goddard, "Computing with Structured Neural Networks", Computer, Vol. 21, No. 3, Mar.1988, pp. 91-103.
13. D.O. Hebb, The Organization of Behavior, John Wiley & Sons, New York, 1949.
14. R.P.Lippmann, "An Introduction to Computing with Neural Nets", IEEE ASSP Magazine, Vol.4, No.2, Apr. 1987, pp. 4-22.
15. A.K. Jain and J. Mao, "Neural Networks and Pattern Recognition", in Computational Intelligence: Imitating Life, J.M. Zurada, R.J. Marks II, and C.J. Robinson, eds., IEEE Press, Piscataway, N.J., 1994, pp. 194-212.
16. T. Kohonen, SelfOrganization and Associative Memory, Third Edition, Springer-Verlag, New York, 1989.
17. G.A.Carpenter and S. Grossberg, Pattern Recognition by SelfOrganizing Neural Networks, MIT Press, Cambridge, Mass., 1991.
18. "The First Census Optical Character Recognition System Conference", R.A.Wilkinson et al., eds., . Tech. Report, NISTIR 4912, US Deop. Commerse, NIST, Gaithersburg, Md., 1992.
19. K. Mohiuddin and J. Mao, "A Comparative Study of Different Classifiers for Handprinted Character Recognition", in Pattern Recognition in Practice IV, E.S. Gelsema and L.N. Kanal, eds., Elsevier Science, The Netherlands, 1994, pp. 437-448.
20. Y.Le Cun et al., "Back-Propagation Applied to Handwritten Zip Code Recognition", Neural Computation, Vol 1, 1989, pp. 541-551.
21. M. Minsky, "Logical Versus Analogical or Symbolic Versus Connectionist or Neat Versus Scruffy", AI Magazine, Vol. 65, No. 2, 1991, pp. 34-51.

Анил К. Джейн ([email protected]) - Мичиганский университет; Жианчанг Мао, К М. Моиуддин - Исследовательский Центр IBM в Альмадене.

Anil K., Jain, Jianchang Mao, K.M. Mohiuddin. Artificial Neural Networks: A Tutorialп, IEEE Computer, Vol.29, No.3, March/1996, pp. 31-44. IEEE Computer Society. All rights reserved. Reprinted with permission.



1.2 Области применения нейронных сетей

Искусственные нейронные сети в настоящее время широко используются при решении самых разных задач и активно применяются там, где обычные алгоритмические решения оказываются неэффективными или вовсе невозможными. В числе задач, решение которых доверяют искусственным нейронным сетям, можно назвать следующие: распознавание текстов, системы безопасности и видео-наблюдения, автоматизация процессов распознавания образов, адаптивное управление, аппроксимация функционалов, прогнозирование – и это далеко не все. С помощью нейросетей можно выполнять распознавание оптических или звуковых сигналов. Аппаратные реализации ИНС идеально подходят для решения задач идентификации и управления, так как обеспечивают, благодаря параллельной структуре, чрезвычайно высокую скорость выполнения операций.

Описанные возможности в основном относятся к слоистым нейронным сетям, обучаемым алгоритмом обратного распространения, и растущим нейронным сетям на основе вариантов алгоритма каскадной корреляции. Но существуют и другие классы нейронных сетей − нейросети ассоциативной памяти, нейросети для квантования данных, сжатия данных путем построения главных независимых компонент, нейронные сети для разделения смеси сигналов и др. Т.е. круг задач, решаемых нейронными сетями, очень и очень широк, поскольку широк и сам набор нейросетевых алгоритмов.

1.3 Классификация нейронных сетей

Существует широкий спектр достаточно универсальных способов организации инструментальных средств и собственно процесса применения нейронных сетей на различной программно-аппаратной базе. Всегда можно подобрать наиболее оптимальный для некоторой задачи − всё определяется свойствами задачи и требованиями к решению.

Однако применение нейросетей осложняется рядом причин. Нельзя придумать какую то одну универсальную ИНС, которая бы подошла для различных типов задач. Нейросети используют в двух вариантах:

1) Строится нейросеть, решающая определенный класс задач,

2) Под каждый экземпляр задачи строится некоторая нейросеть, находящая квази-оптимальное решение этой задачи.

Существуют несколько видов нейросетей. Их классификация представлена на рисунке 1.1

Рисунок 1.1 Классификация ИНС


Наиболее распространенным семейством сетей прямого действия являются многослойные персептроны, в них нейроны расположены слоями и соединены однонаправленными связями, идущими от входа к выходу сети. Сети прямого действия являются статическими в том смысле, что на заданный вход они вырабатывают одну совокупность выходных значений, не зависящих от предыдущего состояния сети.

Рекуррентные сети являются динамическими, так как в силу обратных связей в них модифицируются входы нейронов, что приводи к изменению состояния сети. Поведение рекуррентных сетей описывается дифференциальными или разностными уравнениями, как правило, первого порядка. Это гораздо расширяет области применения нейросетей и способы их обучения. Сеть организована так, что каждый нейрон получает входную информацию от других нейронов, возможно, и от самого себя, и от окружающей среды.

Так же можно выделить два основных подхода к реализации нейросетей: цифровой и аналоговый. Преимуществом аналоговых реализаций являются: высокое быстродействие, надежность и экономичность. Однако сфера возможного массового использования обучаемых аналоговых нейрочипов достаточно узка. Это обусловлено большой сложностью аппаратной реализации высокоэффективных обучающих алгоритмов и необходимостью специальной подготовки потенциальных пользователей для оптимальной организации адаптивного процесса. В то же время широкое распространение могут получить обученные аналоговые нейрокомпьютеры (нейросети) с фиксированной или незначительно подстраиваемой структурой связей – нейропроцессоры.

Задача создания нейропроцессоров сводится к обучению цифровой нейросетевой модели нужному поведению на обычном цифровом компьютере.

Сети также можно классифицировать по числу слоев. В этом случае важную роль играет нелинейность активационной функции, так как, если бы она не обладала данным свойством или не входила в алгоритм работы каждого нейрона, результат функционирования любой n-слойной нейронной сети сводился бы к перемножению входного вектора сигналов φ на матрицу весовых коэффициентов. То есть фактически такая нейронная сеть эквивалентна однослойной нейросети с весовой матрицей единственного слоя W. Кроме того, нелинейность иногда вводится и в синаптические связи.

1.4 Структура и принципы работы нейронной сети

В качестве модели нейрона был выбран бинарный пороговый элемент, вычисляющий взвешенную сумму входных сигналов и формирующий на выходе сигнал величины 1, если эта сумма превышает определенное пороговое значение, и 0 – в противном случае. К настоящему времени данная модель не претерпела серьезных изменений. Были введены новые виды активационных функций. Структурная модель технического нейрона представлена на рисунке 1.3

Рисунок 1.3 Формальная модель искусственного нейрона

На вход искусственного нейрона поступает некоторое множество сигналов, каждый из которых является выходом другого нейрона, или входным сигналом нейросетевой модели. Каждый вход умножается на соответствующий вес, аналогичный синаптической силе биологического нейрона. Вес определяет, насколько соответствующий вход нейрона влияет на его состояние. Все произведения суммируются, определяя уровень активации нейрона s. Состояние нейрона определяется по формуле.

где φ – множество сигналов, поступающих на вход нейрона,

w i – весовые коэффициенты нейрона.

, (1.2)

где n – размерность вектора входов,

w 0 – «нейронное смещение», вводимое для инициализации сети, - подключается к неизменяемому входу +1,

F – активационная функция нейрона.

Нейроны могут группироваться в сетевую структуру различным образом. Функциональные особенности нейронов и способ их объединения в сетевую структуру определяет особенности нейросети. Для решения задач идентификации и управления наиболее адекватными являются многослойные нейронные сети (МНС) прямого действия или многослойные персептроны. При проектировании МНС нейроны объединяют в слои, каждый из которых обрабатывает вектор сигналов от предыдущего слоя. Минимальной реализацией является двухслойная нейронная сеть, состоящая из входного (распределительного), промежуточного (скрытого) и выходного слоя.


Рисунок 1.4 Структурная схема двухслойной нейронной сети.

Реализация модели двухслойной нейронной сети прямого действия имеет следующее математическое представление:

, (1.7)

где n φ – размерность вектора входов φ нейронной сети;

n h – число нейронов в скрытом слое;

θ – вектор настраиваемых параметров нейронной сети, включающий весовые коэффициениы и нейронные смещения (w ji , W ij)

f j (x) – активационная функция нейронов скрытого слоя;

F i (x) – активационная функция нейронов выходного слоя.

Персептрон представляет собой сеть, состоящую из нескольких последовательно соединенных слоев формальных нейронов (рисунок 1.3). На низшем уровне иерархии находится входной слой, состоящий из сенсорных элементов, задачей которого является только прием и распространение по сети входной информации. Далее имеются один или, реже, несколько скрытых слоев. Каждый нейрон на скрытом слое имеет несколько входов, соединенных с выходами нейронов предыдущего слоя или непосредственно со входными сенсорами φ 1 ..φ n , и один выход. Нейрон характеризуется уникальным вектором настраиваемых параметров θ. Функция нейрона состоит в вычислении взвешенной суммы его входов с дальнейшим нелинейным преобразованием ее в выходной сигнал:




Экспертных систем (А. Батуро), а также лекции проф. А.Н. Горбаня по нейронным сетям. Приложение 1. Плакаты для защиты диплома. ТЕХНОЛОГИЯ ИЗВЛЕЧЕНИЯ ЗНАНИЙ ИЗ НЕЙРОННЫХ СЕТЕЙ: ¨ АПРОБАЦИЯ, ¨ ПРОЕКТИРОВАНИЕ ПО, ¨ ИСПОЛЬЗОВАНИЕ В ПСИХОЛИНГВИСТИКЕ ЦЕЛЬ РАБОТЫ ¨ апробация гибкой технологии извлечения...

МП к некритическому экстраполированию результата считается его слабостью. Сети РБФ более чувствительны к «проклятию размерности» и испытывают значительные трудности, когда число входов велико. 5. МОДЕЛИРОВАНИЕ НЕЙРОННЫХ СЕТЕЙ ДЛЯ ПРОГНОЗИРОВАНИЯ СТОИМОСТИ НЕДВИЖИМОСТИ 5.1 Особенности нейросетевого прогнозирования в задаче оценки стоимости недвижимости Использование нейронных сетей можно...

Анализировать их тенденции и прогнозировать ситуацию в будущем. Все участники рынка ценных бумаг планируют свои операции только после тщательного анализа. Статистические методы прогнозирования развития рынка ценных бумаг основаны на построении фондовых индексов, расчете показателей дисперсии, вариации, ковариации, экстраполяции и интерполяции. Фондовые индексы являются самыми популярными во всём...


На 20.05.06 (прайс-лист «Платан») – 2654 руб. ПРИЛОЖЕНИЕ Г Исходные данные для выполнения организационно – экономической части Тема выпускной квалификационной работы: Нейросетевая система для диагностики и управления штанговой глубиннонасосной установкой. Место прохождения преддипломной практики: УГАТУ Цена аналога: 40000 руб. Цена спроса: 35000 руб. Объем спроса: 1 шт. Разряд...

Нейронные сети представляют собой математическую модель, построенную на основе принципов работы бионических нейросетей. Знакомство с этим явлением следует начать с понятия многослойного перцептрона как первого варианта воплощения этой системы как компьютерной модели.

Что такое многослойный персептрон кратко

Многослойный персептрон – это иерархическая вычислительная модель, где вычислитель строится из совокупности нейронов простых узлов, имеющих множество входов и один выход. С каждым входом (синапсом) связан некоторый вес.

На входы системы подаются значения, которые распространяются по межнейронным связям. Эти значения, являющиеся действительными числами, умножаются на веса связей.

Логическую схему принципа функционирования перцептрона легче всего представить с помощью графического рисунка с различными цветами и связями между ними:

Использование нейронных сетей

Данный метод используется в самых разных целях. Например, если на вход подать котировки ценных бумаг на бирже, то получившийся результат может быть интерпретирован как сигнал того, что бумага подешевеет или подорожает в будущем.

Еще одним примером будущего использования нейросетей является более точное предсказание мировых и финансовых рецессий.

Если на вход подать, к примеру, значение яркости совокупности точек растра, то на выходе можно получить решение о том, что из себя представляет картинка.

По данной схеме нейросети научились подражать полотнам известных художников, в том числе Ван Гога, а так же сами рисовать уникальные изображения в самых разнообразных художественных стилях.

Для столь существенного достижения в области разработки нейронных сетей был предложен компанией Google термин инцепционизм – живопись, созданная искусственным интеллектом и характеризующаяся крайней психоделичностью в лучших традициях .

Разумеется, для того, чтобы система выдавала правильные ответы, необходимо ее подстроить. Первоначально принцип действия основывался на рандомизированном подборе случайных величин. Поэтому суть алгоритма сводится к тому, чтобы настроить систему на наиболее верные ответы.

С этой целью нейросетевая структура была дополнена алгоритмом коррекции весов, позволяющая минимизировать ошибки. Это чрезвычайно полезная вещь, много раз зафиксированная при использовании множества коммерческих продуктов.

Однако, как не парадоксально, система всё никак не становилась похожей на человеческий мозг. Стало понятно, что для решения задач более серьезных, чем биржевой прогноз, например, для системы управления сложным роботом с многомодальной информацией, нейросеть должная быть большой, в то время как традиционные нейронные сети трудно сделать такими.

Дело в том, что головной мозг состоит из 10 миллиардов нейронов, каждый из которых имеет по 10 000 связей. Это чрезвычайно энергоэкономичная и помехоустойчивая система, созданная миллионами лет . В чем же состоит отличие?

Различия принципа работы мозга и нейронных сетей

Всё дело в разном принципе передачи сигналов нашей биологической сети нейронов и перцептрона. В многослойном персептроне нейроны обмениваются между собой значениями, являющимися действительными числами. А в головном мозге происходит обмен импульсами со строго фиксированной амплитудой и малой длительностью. То есть испульсы практически мгновенные.

Из этого вытекает целый набор преимуществ и выгод. Во-первых, такие сигнальные линии очень экономичные и малоактивные – по связям между нейронами почти ничего не распространяется. В перцептроне же каждая сигнальная линия должна нести на себе реально значимую величину.

Во-вторых, импульсная схема передачи сигналов наравне с энергоэффективностью обеспечивает еще и простоту в реализации, так как генерация и обработка импульсов может осуществляться с помощью простейших аналоговых схем, в отличие от сложной машинерии для поддержки передачи реальных значений.

В-третьих, импульсные (спайковые) сети защищены от помех. Мы имеем калиброванный импульс, накладывание шума на который не препятствует работе системы. Действительные числа же подвержены воздействию шумов.

И, разумеется, если говорить о численном моделировании с цифровой, а не аналоговой передачей, то для кодирования 1 байта информации нам понадобится 8 сигнальных линий вместо одной.

То есть цифровая реализация подобных систем также не выход. Даже установка многоуровневых маршрутизаторов не решает проблемы, так как нейронная сеть замедляется и продолжает оставаться неэффективной.

Поэтому очевидно, что для создания масштабных нейросетей следует применять бионический подход, а именно пытаться создавать систему по образу и подобию головного мозга.

Об этом интереснейшем классе импульсных нейронных сетей мы поговорим далее:

Видео на тему сути нейронный сетей простым языком:









2024 © radiocodes.ru.