Учебник ИИ. _Учебник ИНС_2014_Э4743. Учебник рекомендовано Ученым советом Вятгу в качестве учебного пособия Киров 2014
Скачать 3.7 Mb.
|
1 МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ «ВЯТСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ» В.С. Ростовцев ИСКУССТВЕННЫЕ НЕЙРОННЫЕ СЕТИ УЧЕБНИК Рекомендовано Ученым советом ВятГУ в качестве учебного пособия Киров 2014 2 Печатается по решению редакционно-издательского совета Вятского государственного университета УДК 004.891(07) Р783 Рецензент: кандидат технических наук, доцент кафедры автоматики и телемеханики Вятского государственного университета В.И. Семёновых Ростовцев В.С. Искусственные нейронные сети: учебник / В.С. Ростовцев. – Киров: Изд-во ВятГУ, 2014. – 208 с. Э4743 В учебном пособии рассмотрены теоретические и практические сведения по разработке, обучению и применению искусственных нейронных сетей для различных областей народного хозяйства. Учебное пособие предназначено для студентов 1 курса магистратуры очного отделения направления 230101.68.05 «Информатика и вычислительная техника» при изучении дисциплины «Искусственные нейронные сети». Пособие может быть полезно студентам других специальностей при изучении нейросетевых технологий, а также для слушателей курсов повышения квалификации и профессиональной переподготовки. Редактор А. В. Куликова Подписано в печать Усл. печ. л. 13 Бумага для офисной техники Печать цифровая Заказ № __ Тираж 50 Бесплатно Текст напечатан с оригинала-макета, представленного автором. 610000, г. Киров, ул. Московская, 36 Оформление обложки, изготовление ПРИП ВятГУ В.С. Ростовцев, 2014 Вятский государственный университет, 2014 3 Оглавление 1. ОСНОВНЫЕ ПОНЯТИЯ И ОБЛАСТИ ПРИМЕНЕНИЯ ИСКУССТВЕННЫХ НЕЙРОННЫХ СЕТЕЙ .......................................................... 9 1.1. Определения и терминология ................................................................... 9 1.2. Свойства биологических нейронных сетей ........................................... 12 1.3. История развития нейрокомпьютерных вычислений ............................ 16 1.4. Области применения искусственных нейронных сетей ......................... 19 1.5. Классификация нейронных сетей ........................................................... 25 1.6. Элементная база для аппаратной реализации нейрокомпьютеров ........ 29 2. ОСНОВЫ ТЕОРИИ НЕЙРОННЫХ СЕТЕЙ ............................................ 36 2.1. Нейросеть - виртуальная модель мультипроцессорной системы ........... 36 2.2. Формальная модель нейрона .................................................................. 37 2.2.1. Биологический нейрон ......................................................................... 37 2.2.2. Понятие искусственного нейрона ........................................................ 38 2.2.3. Основные типы функций активации ................................................... 40 2.2.4. Нейрон с векторным входом................................................................ 42 2.3. Архитектура нейронных сетей ............................................................... 43 2.4. Пример моделирования однослойной нейронной сети в MATLAB ................................................................................................................. 45 3. МНОГОСЛОЙНАЯ НЕЙРОННАЯ СЕТЬ ................................................. 50 3.1. Принципы построения многослойных нейронных сетей ....................... 50 3.2. Алгоритм обратного распространения ошибки ..................................... 51 3.3. Нормализация входной и выходной информации .................................. 58 3.4. Пример расчёта параметров сети в алгоритме обученияОшибка! Закладка не определена. 3.5. Недостатки алгоритма обратного распространения ошибки ................. 65 4 3.6. Параметры, влияющие на обучение многослойной нейронной сети ......................................................................................................................... 66 3.7. Выполнение режима трассировки нейронной сети ................................ 69 4. НЕЙРОННЫЕ СЕТИ С РАДИАЛЬНО-БАЗИСНЫМИ ФУНКЦИЯМИ ........................................................................................................ 78 4.1. Общие сведения о нейронных сетях с радиальными базисными функциями .............................................................................................................. 78 4.2. Математические основы функционирования радиальных нейронных сетей ..................................................................................................... 82 4.3. Нелинейная модель расчёта параметров радиальной базисной функции .................................................................................................................. 85 5. САМООРГАНИЗУЮЩИЕСЯ НЕЙРОННЫЕ СЕТИ ............................... 88 5.1. Принцип работы сети Кохонена ............................................................. 88 5.2. Алгоритм обучения сети Кохонена ........................................................ 89 5.3. Сети на встречного распространения ..................................................... 91 6. НЕЙРОННЫЕ СЕТИ АДАПТИВНОЙ РЕЗОНАНСНОЙ ТЕОРИИ ......... 96 6.1. Сети на основе теории адаптивного резонанса ...................................... 96 6.2. Нейронная сеть ART-1 ........................................................................... 97 6.3. Процесс функционирования сетей ART -1 ............................................ 99 6.4. Обучение сети ART -1 .......................................................................... 101 7. РЕКУРРЕНТНЫЕ НЕЙРОННЫЕ СЕТИ................................................. 104 7.1. Основные типы рекуррентных нейронных сетей ................................. 104 7.2. Модели релаксационных нейронных сетей .......................................... 105 7.3. Нейронная сеть Хопфилда .................................................................... 106 7.4. Машина Больцмана .............................................................................. 111 7.5. Нейронная сеть Хемминга .................................................................... 114 7.6. Двунаправленная ассоциативная память ............................................. 117 7.7. Многопрофильная модель релаксационной нейронной сети ............... 121 5 8. ПРИМЕРЫ МОДЕЛИРОВАНИЯ НЕЙРОННЫХ СЕТЕЙ В СРЕДЕ MATLAB ............................................................................................................... 123 8.1. Моделирование многослойных нейронных сетей для аппроксимации функций sin(x) и cos(x) ............................................................... 123 8.2. Моделирование комбинационной логической схемы ......................... 129 8.3. Моделирование радиально-базисных нейронных сетей для аппроксимации функций sin(x) и cos(x) ............................................................... 134 8.4. Моделирование обобщенных регрессионных нейронных сетей (GRNN) для аппроксимации функций sin(x) и cos(x) ........................................... 139 8.5. Влияние параметра SPREAD нейронной сети на результаты аппроксимации ..................................................................................................... 144 8.6. Моделирование вероятностных нейронных сетей (PNN) для задач классификации векторов ............................................................................. 155 8.7. Моделирование радиально-базисных нейронных сетей для аппроксимации функции tang(x) .......................................................................... 158 8.8. Пример моделирования задачи кластеризации с помощью нейронной сети Кохонена ..................................................................................... 161 8.9. Пример моделирования задачи кластеризации с помощью LVQ нейронной сети ..................................................................................................... 170 9. МОДЕЛИРОВАНИЕ РЕШЕНИЯ СИСТЕМЫ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ С ИСПОЛЬЗОВАНИЕМ НЕЙРОСЕТЕВЫХ ТЕХНОЛОГИЙ ..................................................................... 178 9.1. Объект моделирования - система дифференциальных уравнений ....... 178 9.2. Объект моделирования - система линейных дифференциальных уравнений.............................................................................................................. 179 9.3. Выбор алгоритма обучения и параметров трехслойной сети обратного распространения .................................................................................. 180 6 9.4. Варьирование параметра SPREAD для нейронной радиально- базисной сети ........................................................................................................ 181 9.5. Выбор оптимальной архитектуры нейронной сети .............................. 182 9.6. Варьирование количества примеров обучающей выборки .................. 184 9.7. Моделирование системы нелинейных дифференциальных уравнений.............................................................................................................. 187 9.8. Моделирование системы нелинейных дифференциальных уравнений с разрывной правой частью ................................................................ 189 9.9. Аппаратная поддержка моделирования системы дифференциальных уравнений на ПЛИС ............................................................. 192 10. ПРИМЕРЫ РЕАЛИЗАЦИИ ПАКЕТОВ НЕЙРОСЕТЕВЫХ ПРОГРАММ ......................................................................................................... 199 10.1 Анализ преимуществ коммерческих нейросетевых программ ........... 199 10.2. Универсальный нейропакет NeuroSolutions ....................................... 200 10.3. NeuralWorks Professional II/Plus .......................................................... 201 10.4. Нейропакет Process Advisor ................................................................ 202 10.5. Нейропакет NeuroShell 2 ..................................................................... 202 Список сокращений и обозначений ............................................................ 205 Библиографический список ........................................................................ 206 7 ВВЕДЕНИЕ Нейронные сети способны обучаться распознаванию образов, пониманию речи, предсказанию погоды и управлению системами различной сложности. Эта новая технология должна сыграть важную роль в управлении энергетическими системами, индустриальными объектами, интеллектуальными роботами и во многих других практически важных приложениях. В частности нейронные сети интересны как основа для разработки параллельных архитектур. Наряду с развитием персональных ЭВМ, сетей ЭВМ и высокопроизводительных суперЭВМ традиционной архитектуры в последние годы существенно повысился интерес к разработке и созданию компьютеров нетрадиционного типа и, прежде всего, нейрокомпьютеров. Связано это с тем, что, несмотря на высокую производительность современных суперЭВМ, приближающуюся к предельно допустимой, все ещё остается много практически важных проблем, для решения которых нужны более мощные и более гибкие вычислительные средства. Они необходимы для глобального моделирования процессов в экосистемах, при решении задач нейрофизиологии, искусственного интеллекта, метеорологии, сейсмологии и т.п. Необходимы они и при создании систем управления адаптивных интеллектуальных роботов. Управляющие ЭВМ таких роботов должны воспринимать большие объемы информации, поступающей от многих параллельно функционирующих датчиков, эффективно обрабатывать эту информацию и формировать управляющие воздействия на исполнительные системы в реальном масштабе времени. Более того, управляющие компьютеры интеллектуальных роботов должны оперативно 8 решать задачи распознавания образов, самообучения, самооптимизации, самопрограммирования, т. е. те задачи, которые весьма сложны для традиционных ЭВМ и суперЭВМ. Поэтому остается актуальной необходимость в поиске новых подходов к построению высокопроизводительных ЭВМ нетрадиционной архитектуры. Среди таких подходов центральное место занимает нейрокомпьютерный подход. Его суть состоит в разработке принципов построения новых мозгоподобных архитектур сверхпроизводительных вычислительных систем – нейрокомпьютеров. Подобно мозгу, такие системы должны обладать глобальным параллелизмом, самообучением, самооптимизацией, самопрограммированием и другими свойствами биологических систем. Ожидается, что нейрокомпьютеры в принципе смогут решить многие из тех проблем, которые сдерживают дальнейшее развитие научно- технического прогресса. По современным представлениям нейрокомпьютер (НК) – это система, предназначенная для организации нейровычислений путем воспроизведения информационных процессов, протекающих в нейронных сетях мозга. Структурной единицей НК служит специфический процессор – нейропроцессор (НП), имитирующий информационное функционирование отдельных нервных клеток – нейронов. Нейропроцессоры связываются друг с другом в нейроподобные структуры, имитирующие нейронные сети мозга. По этой причине, чем точнее НП воспроизводит информационную деятельность нервных клеток, и чем ближе конфигурации искусственных нейронных сетей к конфигурациям сетей естественных, тем больше шансов воспроизвести в НК самообучение, самопрограммирование и другие свойства живых систем[1,4,11-14]. 9 1. ОСНОВНЫЕ ПОНЯТИЯ И ОБЛАСТИ ПРИМЕНЕНИЯ ИСКУССТВЕННЫХ НЕЙРОННЫХ СЕТЕЙ 1.1. Определения и терминология Нейрокомпьютинг или обработка данных с помощью нейроподобных сетей, реализованных на компьютерах либо в виде программ, либо аппаратным образом, в настоящее время все более широко используется для решения многих плохо формализуемых задач. Нейрокомпьютинг (нейровычисления) относятся к сравнительно новому направлению информационных технологий, которое получило название Machine Leaning – ML, т. е. машинное обучение. Это важное научное направление информатики обобщает результаты и идеи, связанные с нейросетевыми вычислениями, эволюционными и генетическими алгоритмами, нечеткими множествами, итерационными самонастраивающимися алгоритмами. Появление обобщающего термина Machine Leaning связывают с именем К. Самуэля, опубликовавшего в 1963 г. в сборнике Computers and Thought (Mc Craw-Hill, N. Y.) статью под названием «Some studies in machine leaning using the game of checkers» («Некоторые проблемы обучения машины на примере игры в шахматы»). Принцип нейроподобных вычислений отличается от привычных стандартных методов последовательной и параллельной организации вычислений отсутствием необходимости программирования и, самое главное, возможностью использования механизмов обучения нейрокомпьютера для решения задач, как правило, плохо формализуемых, с нечетко заданными начальными данными и условиями. 10 Искусственные нейро́нные се́ти (ИНС) — математические модели, а также их программные или аппаратные реализации, построенные по принципу организации и функционирования биологических нейронных сетей — сетей нервных клеток живого организма. Это понятие возникло при изучении процессов, протекающих в мозге, и при попытке смоделировать эти процессы. Первой такой попыткой были нейронные сети Мак-Каллока и Питтса 1 . Впоследствии, после разработки алгоритмов обучения, получаемые модели стали использовать в практических целях: в задачах прогнозирования, для распознавания образов, в задачах управления и др. ИНС представляют собой систему соединённых и взаимодействующих между собой простых процессоров (искусственных нейронов). Такие процессоры обычно довольно просты, особенно в сравнении с процессорами, используемыми в персональных компьютерах. Каждый процессор подобной сети имеет дело только с сигналами, которые он периодически получает, и сигналами, которые он периодически посылает другим процессорам. И тем не менее, будучи соединёнными в достаточно большую сеть с управляемым взаимодействием, такие локально простые процессоры вместе способны выполнять довольно сложные задачи. С точки зрения машинного обучения, нейронная сеть представляет собой частный случай методов распознавания образов, дискриминантного анализа, методов кластеризации и т. п. С математической точки зрения, обучение нейронных сетей — это многопараметрическая задача нелинейной оптимизации. С точки зрения кибернетики, нейронная сеть используется в задачах адаптивного управления и как алгоритмы для 1 Мак-Каллок У. С., Питтс В., Логическое исчисление идей, относящихся к нервной активности // В сб.: «Автоматы» под ред. К. Э. Шеннона и Дж. Маккарти. — М.: Изд-во иностр. лит., 1956. — с.363-384. (Перевод английской статьи 1943 г.) 11 робототехники. С точки зрения развития вычислительной техники и программирования, нейронная сеть — способ решения проблемы эффективного параллелизма [1]. С точки зрения искусственного интеллекта, ИНС является основой философского течения коннективизма и основным направлением в структурном подходе по изучению возможности построения (моделирования) естественного интеллекта с помощью компьютерных алгоритмов. Нейронные сети не программируются, а обучаются. Возможность обучения — одно из главных преимуществ нейронных сетей перед традиционными алгоритмами. Технически обучение заключается в нахождении коэффициентов связей между нейронами. В процессе обучения нейронная сеть способна выявлять сложные зависимости между входными данными и выходными, а также выполнять обобщение. Это значит, что в случае успешного обучения сеть сможет вернуть верный результат на основании данных, которые отсутствовали в обучающей выборке. Теория нейронных сетей включают широкий круг вопросов из разных областей науки: биофизики, математики, информатики, схемотехники и информационной технологии. Поэтому понятие "нейронные сети" детально определить сложно. Искусственные нейронные сети (ИНС) – совокупность моделей биологических нейронных сетей. ИНС представляют собой сеть искусственных нейронов, связанных между собой синаптическими соединениями. Сеть обрабатывает входную информацию и в процессе изменения своего состояния во времени формирует совокупность выходных сигналов. Работа сети состоит в преобразовании входных сигналов во времени, в результате чего меняется внутреннее состояние сети и формируются 12 выходные воздействия. Обычно ИНС оперирует цифровыми, а не символьными величинами. Все модели ИНС требуют обучения или расчёта весов связей. В общем случае, обучение – такой выбор параметров сети, при котором сеть лучше всего справляется с поставленной проблемой. Обучение — это задача многомерной оптимизации, и для ее решения существует множество алгоритмов. |