08.11.2018

Хайкин саймон нейронные сети полный курс скачать. Опечатки в книге Саймона Хайкина "Нейронные сети: полный курс"


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

Глава 1

  • С.32 второй абзац. Только здесь слово "производительность" может пониматься как скорость работы, мощность вычислителя. Далее в книге у "производительности" (performance) будет смыслом точность, качество работы нейросети (например, на с.73 во втором абзаце снизу).
  • С.35 п.7. "VLSI Implementability" лучше перевести не как "масштабируемость", а как "эффективная реализуемость на СБИС - сверхбольших интегральных схемах".
  • С.39 стр.7. Слово "spike"-"выброс, импульс" в русскоязычной нейронауке достаточно часто и привычно просто транслитерируется как "спайк".
  • С.49 название параграфа. Наверно, лучшим был бы термин "ориентированный граф" вместо "направленный граф".
  • C.76 третий абзац. Вместо ссылки наверно должна быть ссылка на книгу Эшби .
  • С.99 вывод 1. Нужно добавить еще и случай одновременного удовлетворения этих же условий и со знаком "
  • С.105 абзац 2. Нужно вставить слово "видимые" перед (visible).

Глава 2

  • С.94 сноска 2. Ссылка на скорее всего неправильна, т.к. не книга и по названию особо не подходит.
  • С.122 последний абзац. Посмеялся над фразой "деформация структуры нейронов": пока внешнее событие сотрясения мозга не устроит, человек это событие и не запомнит. Скорее всего утверждалось, что память реализуется только отключением синаптических входов (окончаний) от щупалец дендритов или переключением с одного щупальца на другое (термины с Рис.1.2 на с.40, поскольку этот рисунок хорошо подходит для иллюстрации). Т.е. мозги наши с вами живые и шевелятся.
  • С.129 формула (2.39). Вместо х должно быть х .
  • C.129 формулы (2.40), (2.41), (2.44). Верхний индекс должен быть q вместо m .
  • C.137 первый абзац и формула (2.61). Е должно быть курсивом. И в формулах (2.64), (2.65), (2.67), (2.68) на с.138 тоже.
  • С.142 формула (142). После первой стрелки добавить 0.
  • C.142 последний абзац. Перед последним словом вставить "минус".
  • C.147 первый абзац. |L |=l . Т.е. переменная l в правой части выражения должна быть дана курсивом (поскольку вариант в книге путает ее с единицей).
  • С.151 формула (2.90). В верхнюю строку после фигурной скобки вставить F .
  • C.151 формула (2.91). Вставить " при " перед N .
  • C.160 последний абзац в сноске. "при небольшом количестве" заменить на "при большом количестве".

Глава 3

  • С.173 Рис.3.1. Переменные надо дать курсивом в соответствии с принятыми в книге обозначениями, т.к. эти переменные скалярны.
  • С.176 формулы (3.5), (3.7). Должно быть w * вместо w * .
  • C.176 последняя строка. Скорее всего нужно ссылаться на , хотя в указанной этот вопрос тоже может быть рассмотрен.
  • С.179 сноска. Должно быть "производная f(w) по w"
  • С.180 последняя строка перед сноской. Вместо может быть лучше взять , а ссылка может быть неверной.
  • С.184 промежуточное выражение в верхней строке формулы (3.30). Вместо x (n ) должно быть x (i )
  • С.200 абзац после формулы (3.59). Посмеялся над "неравенством Гучи-Шварца". Должно быть всем известное по ВУЗовскому курсу вышки неравенство Коши-Шварца (Cauchy).
  • С.204 первый абзац раздела 3.10 - про превращение байесовского классификатора в линейный разделитель в условиях гауссовой среды. Имеется в виду условие одинаковости матриц ковариации обоих классов (будет введено в разделе на с.207), но у меня при фразе "гауссова среда" обычно вспоминается обобщенная ситуация двух нормальных распределений с произвольными матрицами ковариации, когда байес может и не вырождаться в линейный разделитель, а давать квадратичную разделяющую поверхность.
  • С.206 формула (3.77). Далее вместо указанной в формуле λ несколько раз в тексте и на рис.3.10 будет напечатана Λ.
  • С.216 задача 3.11. То, то дано в верхнем пределе суммы, должно быть перенесено под знак суммы (а минус можно вынести и перед сумму). Также в абзаце после этой формулы вместо w T x должно быть w T x

Глава 4

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

Что хотелось бы видеть в главе (или книге) дополнительно. Во-первых, отличные от метода наименьших квадратов целевые функции, особенно для обучения сети-классификатора (например, кросс-энтропийная функция). Во-вторых, более четкое выделение возможности иметь состоящую из нескольких слагаемых целевую функцию: на примере регуляризации по Тихонову через явную минимизацию кроме собственно значения ошибки еще и скалярного квадрата градиента выходных сигналов сети по весам синапсов (совместные работы ЛеКуна и Дракера 1991-92гг), либо на примере метода Flat minina search Хохрейтера и Шмидхубера, либо на примере метода CLearning очистки входных сигналов сети Андреаса Вайгенда с соавторами. В третьих, более детальное расписывание возможности вычисления вторых производных в сети (указанные работы ЛеКуна и Дракера, методы, перечисленных в обзоре ). В четвертых, более детальное описание методов вычисления информативности-полезности разных элементов и сигналов в сети (т.е. определение информативности входов, возможности редукции не только синапсов описанными в книге методами, но и редукции целых нейронов, да и для редукции синапсов тоже есть куча других методов). В пятых - явное указание (читатели ведь не сообразят сами) на возможность считать градиент и по входным сигналам сети (для решения обратных задач на нейросетях, обученных решению прямой задачи, для изложения метода CLearning). Плюс для этой и других глав, где встает задача обучения с учителем, детальнее расписать идею кривых обучения для нейронных сетей .

Глава 5

  • С.357 после формулы (5.23). Далее на нескольких страницах E может быть дана курсивом или жирным шрифтом, причем смена формы записи достаточно бессистемна. Правильнее - курсивом, для E(F) , E s (F) , E c (F) , E(F,h) .
  • С.361 формула (5.31). Вместо нижнего индекса H должно быть H .
  • С.363 последний абзац. "…линейной комбинацией…" вместо "…линейной суперпозицией…".
  • С.364 формула (5.43). Убрать 1/λ.
  • С.367 формула (5.59). σ вместо δ.
  • С.369 после формулы (5.65). Снова должна быть "линейная комбинация" вместо "линейной суперпозиции".
  • С.373 третья строка формулы (5.74). Вставить открывающую скобку перед вторым t i .
  • С.382 формула (5.112). В нижнем пределе суммы дописать "не равно k ".
  • С.390 название раздела 5.12. В русскоязычной науке обычно вместо "регрессии ядра" используются термины "непараметрическая регрессия" (именно так называется этот метод статистики на русском) или "ядерная регрессия" (если переводить "в лоб").
  • С.393 формула (5.135). Вставить "…для всех…", как в (5.139) на след.стр.
  • С.399 "средний" абзац. "…алгоритм кластеризации по k -средним …", далее слово "средним" пропускаться больше не будет.
  • С.403 ненумерованный список. Слишком уж глобальные и однозначные выводы делают авторы из одного эксперимента, хотя во многом согласен.
  • С.404 первый пункт списка. Не понял, особенно в части "влияния на входные параметры". Скорее, чем больше значение λ, тем меньше влияние данных вообще на итоговые свойства модели.
  • С.408 первый абзац. Сомнительна ссылка на , может быть подойдет .
  • С.408 строка 6 абзаца 2. "базисной функции" вместо "фундаментальной функции".

Глава 6

  • С.431 последнее предложение перед разделом 6.4. Не понял "лучшести" предлагаемого выбора через среднее по выборке (да и вроде при этом получить правильное b 0 будет нельзя).
  • С.434 формула (6.35). Индекса i у последнего x быть не должно.
  • С.435 ненумерованные формулы в теореме Мерсера. Вместо ψ должна быть φ.
  • С.444 сноска. Фамилия Huber на русский язык раньше переводилась как Хьюбер, а не Габер (например, перевод его книги во времена СССР: Хьюбер, "Робастность в статистике").

Глава 7 (не полностью)

  • С.459 третья строка сверху. Расшифровка термина "слабый алгоритм обучения" дана на с.467 во втором абзаце сверху.
  • С.459 ненумерованные подпункты в п.2. Термин "шлюзовая сеть" как перевод термина "gating network" слишком уж корявый, но иного (и при этом хорошего) варианта на русском пока нет. Наверно, лучше было бы использовать термин "взвешивающая сеть", универсальный как для случая жесткого переключения (коэффициенты-множители 0 или 1 для управляемого сигнала), так и для мягкого управления коэффициентом затухания (множителями из диапазона ).
  • С.463 п.2. Частицу "не" убираем из этого предложения - дисперсия ансамбля меньше дисперсии отдельных функций.
  • С.471 первые строки. "Производительность" (напоминаем, что "производительность-performance" здесь понимается не в смысле скорости, а в смысле точности решения и обобщения - см. наш комментарий к с.32) исходного метода усиления тоже зависит от распределений, формируемых в процессе его работы для второго и последующих экспертов.
  • С.472 таблица 7.2 последняя строка. Должно быть F fin (x )=…

Библиография

  • Кучу раз слова application, approximation, approach, applied, support, mapping, applicability, upper написаны с одной p .
  • . Правильное написание фамилии одного из авторов можно увидеть в .
  • . Правильная фамилия Мюллера - как у его однофамильца .
  • . Первый автор - Bu ntine.
  • . Вышло в том же NIPS, что и .
  • . Последний из авторов правильно назван в .
  • . Надо weak вместо week.
  • . Последний автор правильно назван в .
  • . Первый - Landau .
  • . Это глава в книге .
  • . Schö lkopf.
  • . В названии - "… bias term". В дубле написано правильно.
  • . В названии - "…gammon ".
  • . Повтор .


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

Фильтр Хебба

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

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

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

Где n – дискретный шаг по времени, – параметр скорости обучения.

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

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

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

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

Малость параметра скорости обучения позволяет переписать предыдущую формулу в виде ряда по :

Если отбросить слагаемые второго порядка и выше, то получится правило обучения Ойа (Oja, 1982):

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

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

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

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

Главные компоненты

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

Усреднение значений дает математическое ожидание случайной величины X , обозначаемое, как E(X ). Если мы отцентрируем данные так, чтобы E(X )=0, то облако точек будет сконцентрировано вокруг начала координат.

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

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

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

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

Предположим, что всего у нас n событий. Каждое событие описывается вектором . Компоненты этого вектора:

Для каждого признака можно записать, как он проявлял себя в каждом из событий:

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

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

Если скорректировать ковариацию на среднеквадратические отклонения, свойственные признакам, то мы получим линейный коэффициент корреляции, называемый еще коэффициентом корреляции Пирсона:

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

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

Так вот оказывается, что для главных компонент справедливо:

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

Зная все главные компоненты , для каждого события , являющегося реализацией X , можно записать его проекции на главные компоненты:

Таким образом, можно представить все исходные события в новых координатах, координатах главных компонент:

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

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

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

Немного поясню суть факторов на бытовом уровне. Предположим, вы менеджер по персоналу. К вам приходит множество людей, и относительно каждого вы заполняете определенную форму, куда записываете разные наблюдаемые данные о посетителе. Просмотрев потом свои записи, вы можете обнаружить, что некоторые графы имеют определенную взаимосвязь. Например, стрижка у мужчин будет в среднем короче, чем у женщин. Лысых людей вы, скорее всего, встретите только среди мужчин, а красить губы будут только женщины. Если к анкетным данным применить факторный анализ, то именно пол и окажется одним из факторов, объясняющим сразу несколько закономерностей. Но факторный анализ позволяет найти все факторы, которые объясняют корреляционные зависимости в наборе данных. Это значит, что кроме фактора пола, который мы можем наблюдать, выделятся и другие, в том числе и неявные, ненаблюдаемые факторы. И если пол явным образом будет фигурировать в анкете, то другой важный фактор останется между строк. Оценивая способность людей связано излагать свои мысли, оценивая их карьерную успешность, анализируя их оценки в дипломе и тому подобные признаки, вы придете к выводу, что есть общая оценка интеллекта человека, которая явным образом в анкете не записана, но которая объясняет многие ее пункты. Оценка интеллекта – это и есть скрытый фактор, главная компонента с высоким объясняющим эффектом. Явно мы эту компоненту не наблюдаем, но мы фиксируем признаки, которые с ней коррелированы. Имея жизненный опыт, мы можем подсознательно по отдельным признакам формировать представление об интеллекте собеседника. Та процедура, которой при этом пользуется наш мозг, и есть, по сути, факторный анализ. Наблюдая за тем, как те или иные явления проявляются совместно, мозг, используя формальную процедуру, выделяет факторы, как отражение устойчивых статистических закономерностей, свойственных окружающему нас миру.

Выделение набора факторов

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

Обобщенный алгоритм Хебба (Хайкин, 2006)

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

А поправка к синоптическим весам как

где от 1 до , а от 1 до .

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

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

Представим, что у нас есть два слоя нейронов Z 1 и Z 2 . Активность нейронов первого слоя образует некую картину, которая проецируется по аксонам на следующий слой.


Проекция одного слоя на другой

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

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

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

Функцию активности нейрона можно записать:

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

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

Обучение синаптических весов делается аналогично фильтру Хебба:

Латеральные веса обучаются по анти-Хеббовскому правилу, увеличивая торможение между «похожими» нейронами:

Суть этой конструкции в том, что Хеббовское обучение должно привести к выделению на весах нейрона значений, соответствующих первому главному фактору, характерному для подаваемых данных. Но нейрон способен обучаться в сторону какого-либо фактора, только если он активен. Когда нейрон начинает выделять фактор и, соответственно, реагировать на него, он начинает блокировать активность нейронов, попадающих в его зону подавления. Если на активацию претендует несколько нейронов, то взаимная конкуренция приводит к тому, что побеждает сильнейший нейрон, угнетая при этом все остальные. Другим нейронам не остается ничего другого, кроме как обучаться в те моменты, когда рядом нет соседей с высокой активностью. Таким образом, происходит декорреляция, то есть каждый нейрон в пределах области, размер которой определяется размером зоны подавления, начинает выделять свой фактор, ортогональный всем остальным. Этот алгоритм называется алгоритмом адаптивного извлечения главных компонент (APEX) (Kung S., Diamantaras K.I., 1990).

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

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

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

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

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

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

Книги

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

  • Ф. Уоссермен, Нейрокомпьютерная техника: Теория и практика. 1992 г.
    В книге в общедоступной форме излагаются основы построения нейрокомпьютеров. Описана структура нейронных сетей и различные алгоритмы их настройки. Отдельные главы посвящены вопросам реализации нейронных сетей.
  • С. Хайкин, Нейронные сети: Полный курс. 2006 г.
    Здесь рассматриваются основные парадигмы искусственных нейронных сетей. Представленный материал содержит строгое математическое обоснование всех нейросетевых парадигм, иллюстрируется примерами, описанием компьютерных экспериментов, содержит множество практических задач, а также обширную библиографию.
  • Д. Форсайт, Компьютерное зрение. Современный подход. 2004 г.
    Компьютерное зрение – это одна из самых востребованных областей на данном этапе развития глобальных цифровых компьютерных технологий. Оно требуется на производстве, при управлении роботами, при автоматизации процессов, в медицинских и военных приложениях, при наблюдении со спутников и при работе с персональными компьютерами, в частности, поиске цифровых изображений.

Видео

Нет ничего доступнее и понятнее, чем визуальное обучение при помощи видео:

  • Чтобы понять,что такое вообще машинное обучение, посмотрите вот эти две лекции от ШАДа Яндекса.
  • Введение в основные принципы проектирования нейронных сетей - отлично подходит для продолжения знакомства с нейронными сетями.
  • Курс лекций по теме «Компьютерное зрение» от ВМК МГУ. Компьютерное зрение - теория и технология создания искусственных систем, которые производят обнаружение и классификацию объектов в изображениях и видеозаписях. Эти лекции можно отнести к введению в эту интересную и сложную науку.

Образовательные ресурсы и полезные ссылки

  • Портал искусственного интеллекта.
  • Лаборатория «Я - интеллект».
  • Нейронные сети в Matlab .
  • Нейронные сети в Python (англ.):
    • Классификация текста с помощью ;
    • Простой .
  • Нейронная сеть на .

Серия наших публикаций по теме

Ранее у нас публиковался уже курс #neuralnetwork@tproger по нейронным сетям. В этом списке публикации для вашего удобства расположены в порядке изучения.