SoftCraft
разноликое программирование

Top.Mail.Ru

Нейроинформатика. Учебное пособие


Оглавление | Введение | П1 | П2 | П3 | Литература
Лекции: 1, 2-3, 4-6, 7.1, 7.2, 8, 9, 10, 11.1, 11.2-12, 13-14, 15-16


Введение

Данное учебное пособие подготовлено на основе курса лекций по дисциплине «Нейроинформатика», читавшегося с 1994 года на факультете Информатики и вычислительной техники Красноярского государственного технического университета.

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

Рабочая программа по курсу «Нейроинформатика»

НАГРУЗКА

Лекции32 часа
Лабораторные занятия64 часа
Самостоятельная работа20 часов
Всего116 часов

ПРОГРАММУ СОСТАВИЛИ:

д.ф.-м.н., профессор А.Н.Горбань,

д.т.н., доцент Е.М.Миркес

к.т.н., доцент Н.Ю.Сиротинина

ЦЕЛИ И ЗАДАЧИ КУРСА

Цель преподавания дисциплины:

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

В результате изучения дисциплины студенты должны:

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

СОДЕРЖАНИЕ КУРСА

Тема 1. Введение. 2 часа

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

Тема 2. Сети естественной классификации. 4 часа

Задача естественной классификации. Основные методы решения. Метод динамических ядер и сети Кохонена.

Тема 3. Сети ассоциативной памяти. 6 часов

Сети Хопфилда и их обобщения. Инвариантная обработка изображений (по отношению к переносам, поворотам). Ассоциативная память.

Тема 4. Сети, обучаемые методом обратного распространения ошибки. 16 часов

Идея универсального нейрокомпьютера. Выделение компонентов универсального нейрокомпьютера. Задачник. Методы предобработки. Нейронная сеть (быстрое дифференцирование и метод двойственности). Оценка и интерпретатор ответа. Учитель. Контрастер. Логически прозрачные нейронные сети и получение явных знаний из данных.

Тема 5. Персептрон Розенблатта. 4 часа

Правило Хебба. Персептрон и его обучение. Ограничения и возможности персептрона.

ОСНОВНАЯ ЛИТЕРАТУРА

  1. Горбань А.Н., Россиев Д.А. Нейронные сети на персональном компьютере. – Новосибирск: Наука. Сибирская издательская фирма РАН, 1996.
  2. Миркес Е.М. Нейрокомпьютер. Проект стандарта. Новосибирск: Наука, Сибирская издательская фирма РАН, 1998, 337 С
  3. Минский М., Пайперт С. Персептроны. - М.: Мир, 1971.

Задания для лабораторных работ

По курсу «Нейроинформатика» студенты выполняют 7 лабораторных работ. Каждая из лабораторных работ преследует свои цели. Все лабораторные выполняются группами по 2-4 человека.

Лабораторная №1

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

Используемые программы. Лабораторная выполняется на программе CLAB.

Задание. Данная лабораторная выполняется в несколько этапов.

  1. Необходимо выбрать задачу. Примерами таких задач могут служить следующие: «Мужчина/женщина», «Студент/преподаватель», «Студенты живущие дома/в общежитии» и др.
  2. Необходимо составить вопросник из 20 косвенных вопросов, по ответам на которые, с точки зрения студента, возможно провести разделение. Список вопросов утверждается преподавателем. Примером косвенного вопроса в задаче «Мужчина/женщина» может служить вопрос «Носите ли Вы дома халат», однако вопросы «Носите ли вы дома юбку» или «Приходится ли Вам по утрам бриться» косвенными считаться не могут.
  3. Пронумеровать вопросы по убыванию предполагаемой значимости вопросов для решения задачи.
  4. Необходимо проанкетировать не менее 20 человек по составленному вопроснику.
  5. На основе анкетирования подготовить файлы Ptn и Pbl в соответствии с требованиями пакета CLAB.
  6. Провести пробное обучение. В случае, если нейронная сеть не может обучиться решению задачи проанализировать задачник на предмет непротиворечивости. Если противоречий нет, обратиться к преподавателю.
  7. Провести минимизацию задачника.
    1. В режиме тестирования предъявить сети все примеры. Расставить «места» значимости всех вопросов в каждом примере (Самый важный – 1, второй по значимости – 2 и т.д.). В следующей таблице приведен пример результатов данного этапа. В таблице рассмотрены результаты только для четырех примеров задачника. При выполнении задания необходимо использовать все примеры.
Пример Вопрос
1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 18 20
2 1 6 12 10 15 2 7 13 17 3 8 11 16 18 4 20 9 14 5 19
3 17 6 5 8 10 12 3 1 13 15 11 9 7 19 2 4 20 16 18 14
4 8 12 11 3 17 14 6 1 13 16 18 4 7 10 9 2 20 19 15 5
Итого 27 26 31 25 47 34 23 23 42 44 48 36 43 61 30 42 66 67 56 48
Место 14 15 12 16 6 11 17 17 9 7 5 10 9 3 13 8 2 1 4 5
    1. Исключить из задачника (и вопросника) несколько (обычно пять) вопросов, занявших первые места (имеющие наибольшие значения в строке «Итого». В приведенном выше примере следует исключать либо четыре, либо шесть вопросов, поскольку на пятом месте сразу два вопроса – одиннадцатый и двадцатый.
    2. Обучить сеть по новому задачнику. Если обучение удалось, то переходим к шагу 7.1. В противном случае возвращаемся к предыдущему задачнику и исключаем меньшее число вопросов. Если не удалось обучить сеть при исключении одного вопроса, то процесс минимизации завершен. Следует отметить, что в силу особенности программной реализации необходимо оставить не менее двух вопросов.
  1. Составляется отчет, в который должны входить исходный задачник, таблицы фиксации значимостей, окончательный задачник. В случае, если оставшиеся вопросы по первоначальной классификации являлись не самыми значимыми, желательно включить в отчет анализ причин, по которым они оказались наиболее значимыми. Кроме того, окончательный вариант сети демонстрируется преподавателю.

Лабораторная № 2

Цель работы. Освоение работы с сетями Кохонена.

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

  1. Расстояние между классами.
  2. Максимальное расстояние от точек класса до ядра класа.
  3. Число точек в классе.
  4. Число точек каждого из «правильных» классов (например число «мужчин» и «женщин») в каждом классе.

Все результаты отражаются в отчете.

 

Лабораторная № 3

Цель работы. Сравнить два вида сетей ассоциативной памяти.

Используемые программы. Лабораторная выполняется на программе Hopfield.

Задание.

  1. Подобрать пять образов, которые способна запомнить классическая сеть Хопфилда.
  2. Определить максимальный уровень шума, при котором сеть продолжает правильно воспроизводить все образы.
  3. Определить минимальный радиус контрастирования, при котором сеть может правильно воспроизвести все образы.
  4. Определить максимальный уровень шума, при котором отконтрастированная сеть продолжает правильно воспроизводить все образы.
  5. Переключить программу в режим работы проекционной сети ассоциативной памяти. И повторить этапы со второго по четвертый.

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

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

Лабораторная № 4

Цель работы. Исследование стратегий обучения нейронных сетей

Используемые программы. Лабораторная выполняется на программе Sigmoid.

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

  1. Формирование задачника.
  2. Установка параметров метода обучения.
  3. Обучение нейронной сети.
  4. Тестирование обученной нейронной сети (статистический тест).
  5. Повторение этапов 2–4 для других методов обучения.
  6. Анализ полученных результатов.

Методы обучения:

  1. Градиентный с mParTan
  2. Градиентный без mParTan
  3. Случайный без mParTan
  4. Случайный с mParTan

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

Лабораторная № 5

Цель работы. Исследование влияния различных видов функции оценки на обучение нейронных сетей

Используемые программы. Лабораторная выполняется на программе Sigmoid.

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

  1. Формирование задачника.
  2. Установка параметров оценки.
  3. Обучение нейронной сети.
  4. Тестирование обученной нейронной сети (статистический тест).
  5. Повторение этапов 2–4 для других методов оценки.
  6. Анализ полученных результатов.

Исследуемые оценки:

  1. Метод наименьших квадратов.
  2. Расстояние до множества с уровнем надежности 0,1.
  3. Расстояние до множества с уровнем надежности 1,8.

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

Лабораторная № 6

Цель работы. Контрастирование нейронных сетей

Используемые программы. Лабораторная выполняется на программе Sigmoid.

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

  1. Формирование задачника.
  2. Обучение нейронной сети.
  3. Тестирование обученной нейронной сети.
  4. Контрастирование обученной нейронной сети.
  5. Тестирование контрастированной нейронной сети.
  6. Анализ полученных результатов.

Контрастирование нейронной сети проводится до получения минимальной нейронной сети – сети из которой нельзя удалить ни одной связи.

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

 

 

Лабораторная № 7

Цель работы. Сравнить сети использующие различные виды нейронов.

Используемые программы. Лабораторная выполняется на программах Sigmoid, Pade, Sinus.

Задание. Необходимо обучить нейронные сети, реализованные в программах Sigmoid, Pade и Sinus с максимальным уровнем надежности. Для программы Sigmoid (сигмоидная сеть) максимальным , но недостижимым уровнем надежности является 2. На практике удается обучить сеть с уровнем надежности 1,9 - 1,98.Для Паде сети (программа Pade)нет ограничения на достижимый уровень надежности, однако в программе установлено ограничение на уровень существенности – 200. В программе Sinus (сеть с синусоидной характеристикой) максимальный уровень надежности 2 является достижимым.

Для каждой сети определяются следующие показатели:

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

Вопросы к экзамену

  1. Основные принципы инженерного направления в нейроинформатике
  2. Классическая сеть Хопфилда. Ее свойства и методы расширения возможностей.
  3. Проекционная сеть ассоциативной памяти
  4. Тензорная сеть ассоциативной памяти
  5. Автокорреляторы в обработке изображений. Сети Хопфилда с автокорреляторами.
  6. Сети естественной классификации. Метод динамических ядер. Пространственная сеть Кохонена.
  7. Бинарные сети. Метод обучения бинарных сетей. Правило Хебба, его достоинства и недостатки.
  8. Персептрон Розенблатта. Теорема о достаточности целочисленных коэффициентов.
  9. Персептрон Розенблатта. Теорема о достаточности двух слоев.
  10. Метод двойственности в обучении нейронных сетей. Основные идеи и ограничения на архитектуру.
  11. Метод двойственности в обучении нейронных сетей. Требования к элементам сети. Функционирование синапса, сумматора, нелинейного преобразователя.
  12. Метод двойственности в обучении нейронных сетей. Подбор шага, использование методов ускорения обучения нейронных сетей
  13. Оценка и интерпретатор ответа
  14. Контрастирование нейронных сетей с использованием функции оценки.
  15. Контрастирование нейронных сетей . Метод контрастирования сумматоров.
  16. Логически прозрачные нейронные сети и метод получения явных знаний из данных.

Оглавление | Введение | П1 | П2 | П3 | Литература
Лекции: 1, 2-3, 4-6, 7.1, 7.2, 8, 9, 10, 11.1, 11.2-12, 13-14, 15-16