- •Нейрокомпьютерная техника: Теория и практика
- •Предисловие
- •Благодарности
- •Введение
- •Почему именно искусственные нейронные сети?
- •Свойства искусственных нейронных сетей
- •Обучение
- •Обобщение
- •Абстрагирование
- •Применимость
- •Исторический аспект
- •Искусственные нейронные сети сегодня
- •Перспективы на будущее
- •Искусственные нейронные сети и экспертные системы
- •Соображения надежности
- •Литература
- •Глава 1. Основы искусственных нейронных сетей
- •Биологический прототип
- •Искусственный нейрон
- •Активационные функции
- •Однослойные искусственные нейронные сети
- •Многослойные искусственные нейронные сети
- •Нелинейная активационная функция
- •Сети с обратными связями
- •Терминология, обозначения и схематическое изображение искусственных нейронных сетей
- •Терминология
- •Дифференциальные уравнения или разностные уравнения
- •Графическое представление
- •Обучение искусственных нейронных сетей
- •Цель обучения
- •Обучение с учителем
- •Обучение без учителя
- •Алгоритмы обучения
- •Литература
- •Глава 2. Персептроны персептроны и зарождение искусственных нейронных сетей
- •Персептронная представляемость
- •Проблема функции исключающее или
- •Линейная разделимость
- •Преодоление ограничения линейной разделимости
- •Эффективность запоминания
- •Обучение персептрона
- •Алгоритм обучения персептрона
- •Дельта-правило
- •Трудности с алгоритмом обучения персептрона
- •Литература
- •Глава 3. Процедура обратного распространения
- •Введение в процедуру обратного распространения
- •Обучающий алгоритм обратного распространения
- •Сетевые конфигурации
- •Многослойная сеть.
- •Обзор обучения
- •Дальнейшие алгоритмические разработки
- •Применения
- •Предостережение
- •Паралич сети
- •Локальные минимумы
- •Размер шага
- •Временная неустойчивость
- •Литература
- •Глава 4. Сети встречного распространения
- •Введение в сети встречного распространения
- •Структура сети
- •Нормальное функционирование
- •Слои Кохоненна
- •Слой Гроссберга
- •Обучение слоя кохонена
- •Предварительная обработка входных векторов
- •Выбор начальных значений весовых векторов
- •Режим интерполяции
- •Статистические свойства обученной сети
- •Обучение слоя гроссберга
- •Сеть встречного распространения полностью
- •Приложение: сжатие данных
- •Обсуждение
- •Литература
- •Глава 5. Стохастические методы
- •Использование обучения
- •Больцмановское обучение
- •Обучение Коши
- •Метод искусственной теплоемкости
- •Приложения к общим нелинейным задачам оптимизации
- •Обратное распространение и обучение коши
- •Трудности, связанные с обратным распространением
- •Трудности с алгоритмом обучения Коши
- •Комбинирование обратного распространения с обучением Коши
- •Обсуждение
- •Литература
- •Глава 6. Сети Хопфилда
- •Конфигурации сетей с обратными связями
- •Бинарные системы
- •Устойчивость
- •Ассоциативная память
- •Непрерывные системы
- •Сети Хопфилда и машина Больцмана
- •Термодинамические системы
- •Статистичекие сети Хопфилда
- •Обобщенные сети
- •Приложения
- •Аналого-цифровой преобразователь
- •Задача коммивояжера
- •Обсуждение
- •Локальные минимумы
- •Скорость
- •Функция энергии
- •Емкость сети
- •Литература
- •Глава 7. Двунаправленная ассоциативная память
- •Структура дап
- •Восстановление запомненных ассоциаций
- •Кодирование ассоциаций
- •Емкость памяти
- •Непрерывная дап
- •Адаптивная дап
- •Конкурирующая дап
- •Заключение
- •Литература
- •Глава 8. Адаптивная резонансная теория
- •Архитектура apt
- •Описание apt
- •Упрощенная архитектура apt
- •Функционирование сети apTв процессе классификации
- •Реализация apt
- •Функционирование сетей apt
- •Пример обучения сети apt
- •Характеристики apt
- •Инициализация весовых векторов т
- •Настройка весовых векторов Вj
- •Инициализация весов bij
- •Теоремы apt
- •Заключение
- •Литература
- •Глава 9. Оптические нейронные сети
- •Векторно-матричные умножители
- •Электронно-оптические матричные умножители
- •Сети Хопфилда на базе электронно-оптических матричных умножителей
- •Голографические корреляторы
- •Объемные голограммы
- •Оптическая сеть Хопфилда, использующая объемные голограммы
- •Заключение
- •Литература
- •Глава 10. Когнитрон и неокогнитрон
- •Когнитрон
- •Структура
- •Обучение
- •Неокогнитрон
- •Структура
- •Обобщение
- •Вычисления
- •Обучение
- •Заключение
- •Литература
- •Приложение а. Биологические нейронные сети
- •Человеческий мозг: биологическая модель для искусственных нейронных сетей
- •Организация человеческого мозга
- •Мембрана клетки
- •Компьютеры и человеческий мозг
- •Приложение б. Алгоритмы обучения
- •Обучение с учителем и без учителя
- •Метод обучения хэбба
- •Алгоритм обучения Хэбба
- •Метод сигнального обучения Хэбба
- •Метод дифференциального обучения Хэбба
- •Входные и выходные звезды
- •Обучение входной звезды
- •Обучение выходной звезды
- •Обучение персептрона
- •Метод обучения уидроу-хоффа
- •Методы статистического обучения
- •Самоорганизация
- •Литература
Алгоритм обучения персептрона
Персептрон обучают, подавая множество образов по одному на его вход и подстраивая веса до тех пор, пока для всех образов не будет достигнут требуемый выход. Допустим, что входные образы нанесены на демонстрационные карты. Каждая карта разбита на квадраты и от каждого квадрата на персептрон подается вход. Если в квадрате имеется линия, то от него подается единица, в противном случае – ноль. Множество квадратов на карте задает, таким образом, множество нулей и единиц, которое и подается на входы персептрона. Цель состоит в том, чтобы научить персептрон включать индикатор при подаче на него множества входов, задающих нечетное число, и не включать в случае четного.
Рис. 1.10. Персептронная система распознавания изображений
На рис. 2.10 показана такая персептронная конфигурация. Допустим, что вектор Хявляется образом распознаваемой демонстрационной карты. Каждая компонента (квадрат)Х– (x1, x2, …, xn) – умножается на соответствующую компоненту вектора весов W– (w1, w2, ..., wn). Эти произведения суммируются. Если сумма превышает порог Θ, то выход нейрона Yравен единице (индикатор зажигается), в противном случае он– ноль. Как мы видели в гл. 1, эта операция компактно записывается в векторной форме как Y = XW,а после нее следует пороговая операция.
Для обучения сети образ Хподается на вход и вычисляется выход Y. Если Y правилен, то ничего не меняется. Однако если выход неправилен, то веса, присоединенные к входам, усиливающим ошибочный результат, модифицируются, чтобы уменьшить ошибку.
Чтобы увидеть, как это осуществляется, допустим, что демонстрационная карта с цифрой 3 подана на вход и выход Y равен 1 (показывая нечетность). Так как это правильный ответ, то веса не изменяются. Если, однако, на вход подается карта с номером 4 и выход Yравен единице (нечетный), то веса, присоединенные к единичным входам, должны быть уменьшены, так как они стремятся дать неверный результат. Аналогично, если карта с номером 3 дает нулевой выход, то веса, присоединенные к единичным входам, должны быть увеличены, чтобы скорректировать ошибку.
Этот метод обучения может быть подытожен следующим образом:
1. Подать входной образ и вычислить Y.
2 а. Если выход правильный, то перейти на шаг 1;
б. Если выход неправильный и равен нулю, то добавить все входы к соответствующим им весам; или
в. Если выход неправильный и равен единице, то вычесть каждый вход из соответствующего ему веса.
3. Перейти на шаг 1.
За конечное число шагов сеть научится разделять карты на четные и нечетные при условии, что множество цифр линейно разделимо. Это значит, что для всех нечетных карт выход будет больше порога, а для всех четных – меньше. Отметим, что это обучение глобально, т. е. сеть обучается на всем множестве карт. Возникает вопрос о том, как это множество должно предъявляться, чтобы минимизировать время обучения. Должны ли элементы множества предъявляться- последовательно друг за другом или карты следует выбирать случайно? Несложная теория служит здесь путеводителем.