Функциональные модели универсального нейрокомпьютера

Развитие информатики и средств вычислительной техники. Развитие систем искусственного интеллекта на базе алгоритмических языков. Искусственные нейронные сети. Нейрокибернетика. Элементарные детали вычислительных устройств. Анализ нейросетевых парадигм.

Рубрика Программирование, компьютеры и кибернетика
Вид диссертация
Язык русский
Дата добавления 12.10.2008
Размер файла 1,6 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

16

ИНСТИТУТ ВЫЧИСЛИТЕЛЬНОГО МОДЕЛИРОВАНИЯ СО РАН

КРАСНОЯРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

На правах рукописи

МИРКЕС ЕВГЕНИЙ МОИСЕЕВИЧ

Функциональные Модели универсального нейрокомпьютера

05.13.11 - Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

Диссертация на соискание ученой степени

доктора технических наук

Консультант: д.ф.-м.н.,

профессор А.Н. Горбань

Красноярск 2001

Оглавление

    • Общая характеристика работы 8
    • Введение к диссертации 14
  • 1. Функциональные компоненты 22
    • 1.1. Краткий обзор нейрокомпьютеров 22
    • 1.2. Выделение компонентов 24
    • 1.3. Запросы компонентов нейрокомпьютера 27
      • 1.3.1. Запросы к задачнику 28
      • 1.3.2. Запрос к предобработчику 28
      • 1.3.3. Запрос к исполнителю 29
      • 1.3.4. Запросы к учителю 29
      • 1.3.5. Запрос к контрастеру 29
      • 1.3.6. Запрос к оценке 29
      • 1.3.7. Запрос к интерпретатору ответа 29
      • 1.3.8. Запросы к сети 29
    • 1.4. Запросы общие для всех компонентов 30
      • 1.4.1. Стандарт типов данных 30
      • 1.4.2. Переменные типа цвет и операции с цветами 33
        • 1.4.2.1. Значение переменной типа цвет (Color) 33
        • 1.4.2.2. Операции с переменными типа цвет (Color) 34
      • 1.4.3. Предопределенные константы 35
      • 1.4.4. Использование памяти 37
      • 1.4.5. Обработка ошибок 38
        • 1.4.5.1. Процедура обработки ошибок 38
        • 1.4.5.2. Установить обработчик ошибок (OnError) 38
        • 1.4.5.3. Дать номер ошибки (GetError) 39
      • 1.4.6. Запросы, однотипные для всех компонентов 40
        • 1.4.6.1. Запрос на установление текущего компонента 41
          • Сделать текущей (xxSetCurrent) 41
        • 1.4.6.2. Запросы, работающие со структурой компонента 41
          • Добавление нового экземпляра (xxAdd) 41
          • Удаление экземпляра компонента (xxDelete) 42
          • Запись компонента (xxWrite) 42
          • Вернуть имена структурных единиц (xxGetStructNames) 43
          • Вернуть тип структурной единицы (xxGetType) 44
        • 1.4.6.3. Запросы на изменение параметров 45
          • Получить параметры (xxGetData) 45
          • Получить имена параметров (xxGetName) 45
          • Установить параметры (xxSetData) 46
        • 1.4.6.4. Инициация редактора компоненты 47
          • Редактировать компонента (xxEdit) 47
  • 2. Задачник и обучающее множество 48
    • 2.1. Структуры данных задачника 48
    • 2.2. Поля задачника 49
    • 2.3. Состав данных задачника 49
      • 2.3.1. Цвет примера и обучающая выборка 50
      • 2.3.2. Входные данные 50
      • 2.3.3. Комментарии 50
      • 2.3.4. Предобработанные данные 51
      • 2.3.5. Правильные ответы 51
      • 2.3.6. Полученные ответы 51
      • 2.3.7. Оценки 51
      • 2.3.8. Вес примера 51
      • 2.3.9. Достоверность ответа 51
      • 2.3.10. Уверенность в ответе 52
    • 2.4. Запросы к компоненту задачник 53
      • 2.4.1. Чтение и запись задачника 54
        • 2.4.1.1. Прочитать задачник (tbAdd) 54
        • 2.4.1.2. Записать задачник (tbWrite) 54
        • 2.4.1.3. Закрыть задачник (tbDelete) 55
      • 2.4.2. Начало и конец сеанса 55
        • 2.4.2.1. Начало сеанса (InitSession) 55
        • 2.4.2.2. Конец сеанса (EndSession) 56
      • 2.4.3. Перемещение по примерам 56
        • 2.4.3.1. В начало (Home) 56
        • 2.4.3.2. В конец (End) 57
        • 2.4.3.3. Следующий (Next) 57
        • 2.4.3.4. Предыдущий (Prev) 58
        • 2.4.3.5. Конец (Last) 59
        • 2.4.3.6. Начало (First) 60
        • 2.4.3.7. Пример номер (Example) 60
      • 2.4.4. Определение, получение и изменение данных 61
        • 2.4.4.1. Дать пример (Get) 61
        • 2.4.4.2. Обновить данные (Put) 62
        • 2.4.4.3. Сбросить предобработку (RemovePrepare) 62
      • 2.4.5. Окраска примеров 63
        • 2.4.5.1. Дать цвет примера (GetColor) 63
        • 2.4.5.2. Покрасить пример (PaintCurrent) 63
      • 2.4.6. Ошибки компонента задачника 64
  • 3. Предобработчик 66
    • 3.1. Нейрон 67
    • 3.2. Различимость входных данных 67
    • 3.3. Классификация компонентов входных данных 69
    • 3.4. Кодирование бинарных признаков 70
    • 3.5. Кодирование неупорядоченных качественных признаков 71
    • 3.6. Кодирование упорядоченных качественных признаков 71
    • 3.7. Числовые признаки 71
    • 3.8. Простейшая предобработка числовых признаков 72
    • 3.9. Оценка способности сети решить задачу 72
      • 3.9.1. Оценка константы Липшица сети 74
      • 3.9.2. Способ вычисления константы Липшица 74
      • 3.9.3. Синапс 75
      • 3.9.4. Умножитель 75
      • 3.9.5. Точка ветвления 75
      • 3.9.6. Сумматор 75
      • 3.9.7. Нелинейный Паде преобразователь 76
      • 3.9.8. Нелинейный сигмоидный преобразователь 76
      • 3.9.9. Адаптивный сумматор 76
      • 3.9.10. Константа Липшица сигмоидной сети 77
    • 3.10. Предобработка, облегчающая обучение 78
    • 3.11. Другие способы предобработки числовых признаков 79
      • 3.11.1. Модулярная предобработка 80
      • 3.11.2. Функциональная предобработка 80
      • 3.11.3. Позиционная предобработка 82
    • 3.12. Составной предобработчик 82
    • 3.13. Запросы к компоненту предобработчик 83
      • 3.13.1. Запрос на предобработку 84
        • 3.13.1.1. Предобработать вектор сигналов (Prepare) 84
      • 3.13.2. Остальные запросы 85
      • 3.13.3. Ошибки компонента предобработчик 85
  • 4. Описание нейронных сетей 87
    • 4.1. Конструирование нейронных сетей 87
      • 4.1.1. Элементы нейронной сети 88
      • 4.1.2. Составные элементы 89
      • 4.1.3. Функционирование сети 90
      • 4.1.4. Методы построения двойственных сетей 91
      • 4.1.5. Элементы самодвойственных сетей 94
        • 4.1.5.1. Синапс 95
        • 4.1.5.2. Умножитель 95
        • 4.1.5.3. Точка ветвления 96
        • 4.1.5.4. Сумматор 96
        • 4.1.5.5. Нелинейный Паде преобразователь 97
        • 4.1.5.6. Нелинейный сигмоидный преобразователь 97
        • 4.1.5.7. Произвольный непрерывный нелинейный преобразователь 98
        • 4.1.5.8. Пороговый преобразователь 98
      • 4.1.6. Правила остановки работы сети 99
      • 4.1.7. Архитектуры сетей 99
      • 4.1.8. Модификация синаптической карты (обучение) 102
      • 4.1.9. Контрастирование и нормализация сети 102
    • 4.2. Примеры сетей и алгоритмов их обучения 103
      • 4.2.1. Сети Хопфилда 103
      • 4.2.2. Сеть Кохонена 105
      • 4.2.3. Персептрон Розенблатта 108
    • 4.3. Язык описания нейронных сетей 110
      • 4.3.1. Структура компонента 110
      • 4.3.2. Сигналы и параметры 111
      • 4.3.3. Обучаемые и не обучаемые параметры и сигналы 111
      • 4.3.4. Дополнительные переменные 112
      • 4.3.5. Приведение и преобразование типов 112
      • 4.3.6. Операции 118
      • 4.3.7. Язык описания нейронных сетей 120
        • 4.3.7.1. Ключевые слова языка 121
        • 4.3.7.2. Передача аргументов функциям 124
        • 4.3.7.3. Имена структурных единиц 124
        • 4.3.7.4. Способ описания синтаксических конструкций 124
        • 4.3.7.5. Описание общих синтаксических конструкций 127
        • 4.3.7.6. Комментарии 133
        • 4.3.7.7. Область действия переменных 133
        • 4.3.7.8. Основные операторы 134
        • 4.3.7.9. Описание распределения сигналов 135
        • 4.3.7.10. Функции управления памятью 136
        • 4.3.7.11. БНФ языка описания сетей 138
        • 4.3.7.12. Описание языка описания сетей 141
          • Описание и область действия переменных 141
          • Методы Forw и Back для блоков 141
          • Описание элементов 141
          • Пример описания элементов 143
          • Описание блоков 155
          • Пример описания блоков 157
        • 4.3.7.13. Сокращение описания сети 164
          • Раздел описания сигналов и параметров 164
          • Раздел описания связей 165
          • Частично сокращенное описание 168
          • Пример сокращенного описания блоков 168
    • 4.4. Запросы к компоненту сеть 170
      • 4.4.1. Запросы к компоненту сеть 171
      • 4.4.2. Запросы на функционирование 172
        • 4.4.2.1. Выполнить прямое Функционирование (Forw) 172
        • 4.4.2.2. Выполнить обратное Функционирование (Back) 172
      • 4.4.3. Запросы на изменение параметров 173
        • 4.4.3.1. Провести обучение (Modify) 173
        • 4.4.3.2. Изменить маску обучаемости (ModifyMask) 174
        • 4.4.3.3. Обнулить градиент (NullGradient) 175
        • 4.4.3.4. Случайное направление спуска (RandomDirection) 175
      • 4.4.4. Запросы, работающие со структурой сети 176
        • 4.4.4.1. Вернуть параметры сети (nwGetData) 176
        • 4.4.4.2. Установить параметры сети (nwSetData) 177
        • 4.4.4.3. Нормализовать сеть (NormalizeNet) 178
      • 4.4.5. Остальные запросы 178
      • 4.4.6. Ошибки компонента сеть 179
  • 5. Оценка и интерпретатор ответа 180
    • 5.1. Интерпретатор ответа 180
    • 5.2. Уровень уверенности 182
    • 5.3. Построение оценки по интерпретатору 183
    • 5.4. Оценка обучающего множества. Вес примера 188
    • 5.5. Глобальные и локальные оценки 190
    • 5.6. Составные интерпретатор ответа и оценка 195
    • 5.7. Запросы к компоненту интерпретатор ответа 195
      • 5.7.1. Запрос на интерпретацию 196
        • 5.7.1.1. Интерпретировать массив сигналов (Interpretate) 196
      • 5.7.2. Остальные запросы 197
      • 5.7.3. Ошибки компонента интерпретатор ответа 198
    • 5.8. Запосы к компоненту оценка 198
      • 5.8.1. Запрос на оценивание 199
        • 5.8.1.1. Оценить массив сигналов (Estimate) 199
      • 5.8.2. Остальные запросы 200
        • 5.8.2.1. Установить параметры (SetEstIntParameters) 200
      • 5.8.3. Ошибки компонента оценка 201
  • 6. Исполнитель 202
    • 6.1. Описание компонента исполнитель 202
    • 6.2. Запросы к компоненту исполнитель 203
      • 6.2.1. Позадачная обработка (TaskWork) 204
      • 6.2.2. Обработка обучающего множества (TaskSetWork) 206
      • 6.2.3. Ошибки компонента исполнитель 209
  • 7. Учитель 210
    • 7.1. Что можно обучать методом двойственности 210
    • 7.2. Задача обучения сети 212
    • 7.3. Описание алгоритмов обучения 213
      • 7.3.1. Краткий обзор макрокоманд учителя 213
      • 7.3.2. Неградиентные методы обучения 215
        • 7.3.2.1. Метод случайной стрельбы 216
        • 7.3.2.2. Метод покоординатного спуска 217
        • 7.3.2.3. Подбор оптимального шага 217
        • 7.3.2.4. Метод случайного поиска 218
        • 7.3.2.5. Метод Нелдера-Мида 219
      • 7.3.3. Градиентные методы обучения 220
        • 7.3.3.1. Метод наискорейшего спуска 220
        • 7.3.3.2. kParTan 222
        • 7.3.3.3. Квазиньютоновские методы 222
    • 7.4. Запросы к компоненту учитель 222
      • 7.4.1. Обучение сети 222
        • 7.4.1.1. Обучить сеть (InstructNet) 223
        • 7.4.1.2. Провести N шагов обучения (NInstructSteps) 223
        • 7.4.1.3. Прервать обучение (CloseInstruction) 224
      • 7.4.2. Чтение/запись учителя 224
        • 7.4.2.1. Прочитать учителя (inAdd) 224
        • 7.4.2.2. Удаление учителя (inDelete) 225
        • 7.4.2.3. Запись компонента (inWrite) 225
      • 7.4.3. Инициация редактора учителя 226
        • 7.4.3.1. Редактировать компонент (inEdit) 226
      • 7.4.4. Работа с параметрами учителя 227
        • 7.4.4.1. Получить параметры (inGetData) 227
        • 7.4.4.2. Получить имена параметров (inGetName) 227
        • 7.4.4.3. Установить параметры (inSetData) 228
      • 7.4.5. Обработка ошибок 228
  • 8. Контрастер 229
    • 8.1. Задачи для контрастера 229
      • 8.1.1. Упрощение архитектуры нейронной сети 229
      • 8.1.2. Уменьшение числа входных сигналов 231
      • 8.1.3. Сведение параметров нейронной сети к выделенным значениям 231
      • 8.1.4. Снижение требований к точности входных сигналов 232
      • 8.1.5. Получение явных знаний из данных 232
        • 8.1.5.1. Построение логически прозрачных сетей 233
        • 8.1.5.2. Получение явных знаний 234
    • 8.2. Множества повышенной надежности 237
      • 8.2.1. Формальная постановка задачи 237
      • 8.2.2. Классификация дублей 238
      • 8.2.3. Прямой дубль первого рода 238
      • 8.2.4. Косвенный дубль первого рода 239
      • 8.2.5. Прямой дубль второго рода 240
      • 8.2.6. Косвенный дубль второго рода 241
      • 8.2.7. Косвенный супердубль 241
    • 8.3. Процедура контрастирования 242
      • 8.3.1. Контрастирование на основе показателей значимости 242
      • 8.3.2. Контрастирование без ухудшения 243
      • 8.3.3. Гибридная процедура контрастирования 244
      • 8.3.4. Контрастирование при обучении 245
    • 8.4. Определение показателей значимости 245
      • 8.4.1. Определение показателей значимости через градиент 245
      • 8.4.2. Усреднение по обучающему множеству 246
      • 8.4.3. Накопление показателей значимости 247
    • 8.5. Запросы к компоненту контрастер 248
      • 8.5.1. Контрастирование сети 248
        • 8.5.1.1. Контрастировать сеть(ContrastNet) 248
        • 8.5.1.2. Прервать контрастирование (CloseContrast) 248
        • 8.5.1.3. Контрастировать пример (ContrastExample) 249
      • 8.5.2. Чтение/запись контрастера 250
        • 8.5.2.1. Прочитать контрастера (cnAdd) 250
        • 8.5.2.2. Удаление контрастера (cnDelete) 250
        • 8.5.2.3. Запись контрастера (cnWrite) 251
      • 8.5.3. Инициация редактора контрастера 251
        • 8.5.3.1. Редактировать контрастера (cnEdit) 251
      • 8.5.4. Работа с параметрами контрастера 252
        • 8.5.4.1. Получить параметры (cnGetData) 252
        • 8.5.4.2. Получить имена параметров (cnGetName) 252
        • 8.5.4.3. Установить параметры (cnSetData) 253
      • 8.5.5. Обработка ошибок 253
  • 9. Нейронные сети ассоциативной памяти, функционирующие в дискретном времени 255
    • 9.1. Описание задачи 255
    • 9.2. Формальная постановка задачи 256
    • 9.3. Сети Хопфилда 256
    • 9.4. Функционирование сети. 257
    • 9.5. Ортогональные сети 261
    • 9.6. Тензорные сети 265
    • 9.7. Сети для инвариантной обработки изображений 268
    • 9.8. Численный эксперимент 269
    • 9.9. Доказательство теоремы 271
  • 10. Заключение 277
  • 11. Приложение 1. Логически прозрачная сеть для прогнозирования шизофрении 278
  • 12. Приложение 2. Краткое описание возможностей программы NEUROPRO 285
    • 12.1. Общие сведения 285
    • 12.2. Требования к аппаратуре 285
    • 12.3. Основные возможности программы 285
    • 12.4. Форматы файлов 286
    • 12.5. Нейросетевая парадигма 286
    • 12.6. Подача и снятие сигналов 286
    • 12.7. Точность решения задачи 287
    • 12.8. Обучение нейронной сети 288
    • 12.9. Упрощение нейронной сети 288
    • 12.10. Вербализация нейронной сети 289
  • 13. Приложение 3. Акты о внедрении 290
  • ЛИТЕРАТУРА 291
    • Введение

Общая характеристика работы

Актуальность темы. В 80-е годы развитие информатики и средств вычислительной техники во многом определялось программой «Пятое поколение компьютеров». Основной целью данной программы было развитие систем искусственного интеллекта на базе алгоритмических языков. В 1992 году на смену программе «Пятое поколение компьютеров» пришла программа «Вычисления в Реальном мире». Основная цель новой программы - обеспечить возможность вычислительным системам взаимодействовать с реальным миром без посредства человека. Довольно большая часть программы - 30-40% - отведена исследованию естественных нейронных сетей и разработки искусственных нейронных сетей и нейросетевых систем.

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

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

Несмотря на то, что термин нейроинформатика возник в середине 80-х годов, сравнение электронного и биологического мозга ведется постоянно на протяжении всей истории существования вычислительной техники. Знаменитая книга Н.Винера "Кибернетика", ознаменовавшая рождение этой науки в 1948 г., имеет подзаголовок "Управление в живых системах, технике и обществе".

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

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

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

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

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

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

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

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

Разработать тип оценок, позволяющих интерпретатору ответа оценивать уровень уверенности сети в ответе.

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

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

Разработать сеть ассоциативной памяти максимальной информационной емкости.

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

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

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

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

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

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

Предложенная функциональная модель была частично реализована в ряде программных продуктов, разработанных Красноярской группой Нейрокомп. Так в программе Eye, разработанной автором в 1989 году, впервые были реализованы и опробованы эффективные функции оценки. Данная программа широко использовалась в учебном процессе и послужила одной из базовых программ при проведении Первой Всесоюзной олимпиады по нейрокомпьютингу (Омск, 1991 год). В 1993 году автором была разработана серия программ, под общим названием «Нейроучебник», которые до сих пор используются в учебном процессе в ряде красноярских вузов. В программе Sigmoid1 из этой серии впервые было реализовано контрастирование. На этой программе была получена первая логически прозрачная нейронная сеть. В программе Hopfield из той же серии впервые была реализована ортогональная сеть ассоциативной памяти.

В 1993-1995 годах на ВЦ СО РАН в г. Красноярске под руководством автора работал программистский семинар по разработке нейросетевых приложений. Одним из результатов работы семинара явилось появление программы MultyNeuron. Результаты использования программы в медицине опубликованы различными исследователями более чем в 50 работах.

В 1996-2000 годах по проекту «Разработка и программная реализация технологии производства явных знаний из данных с помощью обучаемых нейронных сетей» № 05.04.1291 подпрограммы «Перспективные информационные технологии» Федеральной целевой программы на 1996-2000 годы «Исследования и разработки по приоритетным направлениям развития науки и техники гражданского назначения» под руководством автора были разработаны три программы FAMaster [186], NeuroPro [237] и GISNNA [180]. На базе этих программ защищено три кандидатские диссертации. В приложении к диссертации приведены 26 актов о внедрении.

На защиту выносятся.

1. Функциональная модель универсального нейрокомпьютера. Принципы выделения функциональных компонентов. Декомпозиция нейрокомпьютера на функциональные компоненты в соответствии с предложенными принципами.

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

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

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

5. Метод описания процедуры конструирования нейронных сетей из простейших элементов и более простых сетей. Язык описания результатов конструирования.

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

Публикации. По теме диссертации опубликовано более 40 работ, в том числе одна монография без соавторов, одна коллективная монография (сборник лекций) и одно учебное пособие.

Апробация работы. Основные положения и результаты работы докладывались на 1 Всероссийском рабочем семинаре «Нейроинформатика и нейрокомпьютеры», Красноярск (1993); 2, 3, 4, 5, 6, 7, 8 Всероссийских рабочих семинарах «Нейроинформатика и ее приложения», Красноярск (1994 - 2000); научно-технической конференции «Проблемы техники и технологий XXI века», Красноярск (1994); межрегиональной конференции «Проблемы информатизации региона» (1995); 1, 2 IEEE-RNNS Symposium, Rostov-on-Don (1992, 1995); IEEE International Conference on Neural Networks, Houston, IEEE (1997); III Международной конференции "Математика, компьютер, образование". - Москва (1996); International Joint Conference on Neural Networks, Washington, DC, USA, 1999; 10th International. Congress of chemical engineering, chemical equipment design and automation, Praha (1990); Международном конгрессе «Индустриальная и прикладная математика», Новосибирск (1998).

Кроме того, основные положения работы были представлены на Всемирном конгрессе по нейронным сетям (WCNN'95) (1995).

Введение к диссертации

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

В нейроинформатике существует три направления, которые условно можно назвать биологическим, модельным и инженерным (эта классификация впервые была введена А.Н. Горбанем на лекциях по нейронным сетям, прочитанным в ЛЭТИ в 1991 году в ходе подготовки к Первой Всесоюзной Олимпиаде по нейрокомпьютингу среди студентов и школьников). Цель работ биологического направления - понять, как устроена нервная система (например, [15, 16, 23, 29, 102, 106, 113, 116, 137, 145, 172, 173, 179, 182, 242, 244, 263, 268, 293, 348, 369, 370, 372, 373, 378]). Как правило, работы этого направления проходят следующие этапы. Сначала выдвигается гипотеза о биологическом механизме решения, каким либо отделом мозга определенной задачи. Далее строится компьютерная модель для проверки этой гипотезы. В ходе построения модели используются либо уже известные нейронные сети, либо предлагается новый вид сети.

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

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

много простых элементов решают сложную задачу;

обучение вместо программирования.

Инженерное направление в свою очередь делится на два поднаправления - теоретическое и практическое. Исследователи теоретического направления занимаются разработкой нейронных сетей для решения определенных задач и исследованием их возможностей. Основное отличие теоретического поднаправления от модельного направления состоит в том, что при необходимости архитектура нейронной сети, правила обучения и другие компоненты нейрокомпьютера свободно модифицируются для решения поставленной задачи. Содержание девятой главы может служить типичным примером работы теоретического инженерного подхода. Другие примеры работ данного направления можно найти , например, в [8, 37, 107, 176, 222, 224, 230, 231, 256, 349, 365, 367]. Работы практического направления, как правило, содержат решение конкретной прикладной задачи. На нейросетевых и медицинских конференциях в последние годы докладываются сотни работ этого направления. В Красноярске на базе нейросетевого эмулятора MultyNeuron [193, 194, 287] разработано свыше двух десятком различных медицинских экспертных систем [18, 49 - 52, 73, 93 - 96, 163, 164, 169, 201]. Число нейросетевых экспертных систем в различных областях насчитывает несколько тысяч. Примерами таких работ могут служить следующие работы [24, 121, 246, 249, 252, 253, 257 - 260, 272, 275, 284, 287, 292, 308, 310, 314, 315, 318, 331, 333 - 335, 337, 339, 342 - 344, 346, 350, 356, 359, 363, 366, 368, 377].

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

Методы нейроинформатики успешно зарекомендовали себя в настолько широком круге приложений, что стали темой многих публикаций в изданиях, не имеющих прямого отношения к науке [99. 169]. Этот успех опирается на две предпосылки - универсальность нейронных сетей [38, 39, 57, 64, 70, 286] и способность вырабатывать нечто, напоминающее человеческую интуицию [101, 110, 254, 269, 270]. Безусловно, для большинства задач, решаемых методами нейроинформатики, существуют традиционные методы решения (см. например [4, 5, 17, 19, 89, 103, 109, 111, 113, 117 - 119, 128, 129, 271, 319, 360]). Более того, существует ряд работ, посвященных решению классических задач методами нейроинформатики (см. например, [89, 129, 176, 222, 276, 277, 299, 320, 328, 349]). Однако, для применения большинства традиционных методов необходимо, во-первых, знать о них, во-вторых, знать их область их применения и ограничения. В то время, как успех нейроинформатики основан на утверждении «нейронные сети могут все». Это утверждение долгое время было лозунгом нейроинформатики, а сравнительно недавно было строго доказано [38, 39, 57, 64, 70, 136, 266, 323]. Основные задачи и преимущества нейроинформатики подробно рассмотрены в [59 - 62, 71, 74, 108, 146, 151, 152, 170, 174, 245, 248, 262, 279, 281, 288, 290, 317]

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

В качестве примера приведем выдержку из монографии (учебного пособия) одного из наиболее известных Российских ученых-нейроинформатиков А.И. Галушкина [26].

«Основными качественными характеристиками архитектур нейронных сетей являются:

Типы входных сигналов (размерность, дискретность и т. д.).

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

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

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

Наличие желания максимально повысить скорость вычислительных операций на нейронной сети.

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

Способ объединения в группы процессорных элементов.

Способ функционирования во времени (дискретный или непрерывный).

Способ изменения весов связей (случайный или упорядоченный).

Способ соединения независимо настроенных (или настраиваемых) нейронных сетей вместе.»

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

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

Для перехода к разнообразию типа технопарк полезен такой подход: каждый нейрокомпьютер из зоопарка должен быть представлен как реализованный на идеальном нейрокомпьютере, имеющем заданную структуру. В пределах данной структуры возможен почти произвольный выбор комплектующих - архитектур сетей, предобработчиков, интерпретаторов ответа и других компонентов. Несомненно, структура этого идеального нейрокомпьютера со временем будет эволюционировать. Однако преимущества даже от первых шагов стандартизации несомненны. Подтверждением этому служит опыт двенадцатилетней работы Красноярской группы НейроКомп по использованию нейронных сетей в различных задачах: распознавания образов [65, 291, 295], медицинской диагностики [18, 49 - 52, 73, 92, 94, 163 - 165, 168, 188 - 192, 195 - 214, 261, 300 - 302, 321, 322, 351 - 355, 361, 372], прогноза [303-305, 374] и др.[89-91, 156, 157, 166, 167, 175, 181, 238, 337].

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

Особую актуальность приобретает задача создания универсального нейрокомпьютера в связи с тем, что в течении последних десяти лет десятки серьезных компаний заявили о разработке аппаратных нейрокомпьютеров. При этом существует две крайности. С одной стороны, аппаратно реализованные нейронные сети, способные решать только одну конкретную задачу (например, [10 - 12, 21, 26, 105, 159, 221, 225]). С другой стороны - универсальные нейрокомпьютеры типа «Synaps I», предложенный фирмой Сименс-Никсдорф. Автор имел возможность ознакомиться с техническими характеристиками данного нейрокомпьютера и проектом программного обеспечения для него. К сожалению, этот компьютер является нейрокомпьютером только по названию, поскольку в действительности это обычный хороший высокоскоростной параллельный компьютер. Вся реализация всех типов нейронных сетей, заявленная фирмой Сименс-Никсдорф, содержится полностью в программном обеспечении. Основная проблема, встающая на пути таких разработок - попытка реализовать исходный мелкозернистый параллелизм нейронных сетей, состоящих из простых элементов, на базе относительно малого числа сложных универсальных процессоров. Вопросы параллелизма нейронных сетей рассмотрены во многих работах (см. например, [152, 264]).

В данной работе описана функциональная структура идеального универсального нейрокомпьютера для реализации большинства нейронных сетей одного из крупных отделов «зоопарка». Речь идет о сетях работающих в дискретном времени. Изначально предполагалось, что на предложенном нейрокомпьютере можно будет реализовать только сети связанные с методом обратного распространения ошибки - это мощная и широко применяемая технология обучения нейронных сетей (см. например, [236, 312, 313, 355, 358]). К сожалению, она получила распространение в виде алгоритма, а не в виде способа построения алгоритмов. Более общая теория обучения нейронных сетей - принцип двойственности [9, 13, 14, 45, 55, 56, 65, 255. 256, 289, 295] - мало известна. На данный момент в литературе встречается описание более чем двух десятков различных алгоритмов обучения нейронных сетей по методу обратного распространения ошибки. Однако в ходе работы оказалось, что предложенная структура нейрокомпьютера позволяет реализовать любые сети функционирующие в дискретном времени.

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

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

Ранее уже было предложено несколько вариантов языка описания нейронных сетей. Примером таких языков может служить язык для описания нейронных сетей AXON [311, 324 - 326], разработанный и поддерживаемый группой исследователей под руководством Р. Хехт-Нильсона. Изначально, автор с коллегами из группы НейроКомп пошли по тому же пути [46]. Однако он оказался бесперспективным. Основным отличием способа описания нейрокомпьютера, предложенного в данной работе, от языка AXON является полнота охвата всех компонентов нейрокомпьютера. Язык AXON служит для описания только нейронных сетей, тогда как приведенный в приложении стандарт охватывает все компоненты нейрокомпьютера и средства интерфейса между ними.

Предложенная функциональная модель была частично реализована в ряде программных продуктов, разработанных Красноярской группой Нейрокомп. Так в программе Eye [83, 171], разработанной автором в 1989 году, впервые были реализованы и опробованы эффективные функции оценки. Данная программа широко использовалась в учебном процессе и послужила одной из базовых программ при проведении Первой Всесоюзной олимпиады по нейрокомпьютингу (Омск, 1990 год). В 1993 году автором была разработана серия программ, под общим названием «Нейроучебник», которые до сих пор используются в учебном процессе в ряде красноярских вузов. В программе Sigmoid1 из этой серии впервые было реализовано контрастирование. На этой программе была получена первая логически прозрачная нейронная сеть. В программе Hopfield из той же серии впервые была реализована ортогональная сеть ассоциативной памяти.

В 1993-1995 годах на ВЦ СО РАН в г. Красноярске под руководством автора работал программистский семинар по разработке нейросетевых приложений. Одним из результатов работы семинара явилось появление программы MultyNeuron. Результаты использования программы в медицине опубликованы различными исследователями более чем в 50 работах [18, 49 - 52, 73, 93 - 95, 121, 163, 164, 168, 188 - 192, 195 - 201, 203 - 214, 287, 300 - 302, 321, 322, 351 - 355, 361, 371].

В 1996-2000 годах по проекту «Разработка и программная реализация технологии производства явных знаний из данных с помощью обучаемых нейронных сетей» № 05.04.1291 подпрограммы «Перспективные информационные технологии» Федеральной целевой программы на 1996-2000 годы «Исследования и разработки по приоритетным направлениям развития науки и техники гражданского назначения» под руководством автора были разработаны три программы FAMaster, NeuroPro и GISNNA. На базе этих программ защищено три кандидатские диссертации [180, 186, 237]. В приложении к диссертации приведены 26 актов о внедрении.

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

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

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

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

Возможность реализации большинства используемых алгоритмов.

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

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

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

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

1. Функциональные компоненты

Эта глава посвящена выделению функциональных компонентов, составляющих универсальный нейрокомпьютер [77, 88, 152, 297, 298]. Основные компоненты нейрокомпьютера выделяются по следующим признакам:

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

Возможность реализации большинства используемых алгоритмов.

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

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

Кроме того, в данной главе описаны общие для всех компонентов типы данных. Дано полное описание запросов, выполняемых всеми компонентами.

1.1. Краткий обзор нейрокомпьютеров

Разнообразие нейрокомпьютеров можно классифицировать по разным признакам. Наиболее естественной является классификация по типу используемой нейронной сети. С точки зрения функционирования наиболее существенным является разделение на сети, функционирующие в непрерывном времени, и сети, функционирующие в дискретном времени. Наиболее известным представителем сетей, функционирующих в непрерывном времени являются сети Хопфилда [316]. Семейство нейронных сетей, функционирующих в дискретном времени, представлено шире - это сети Кохонена [130, 131], персептрон Розенблатта [147, 185], сети, обучаемые по методу двойственности (обратного распространения ошибки) [34, 35, 40, 42, 43, 47, 48, 53, 54, 58, 65, 69, 93] и др. В данной работе рассматриваются только сети, функционирующие в дискретном времени.

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

Классификация без учителя или поиск закономерностей в данных. Наиболее известным представителем этого класса сетей является сеть Кохонена [130, 131], реализующая простейший вариант решения этой задачи. Наиболее общий вариант решения этой задачи известен как метод динамических ядер [229, 267].

Ассоциативная память. Наиболее известный представитель - сети Хопфилда [316]. Эта задача также позволяет строить обобщения. Наиболее общий вариант описан в [75, 77, 86].


Подобные документы

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

    реферат [19,5 K], добавлен 17.03.2011

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

    контрольная работа [31,4 K], добавлен 26.02.2012

  • Историческое развитие средств вычислений. Структурные схемы вычислительных систем. Развитие элементной базы и развитие архитектуры самих систем. Основные классы вычислительных машин. Каналы передачи данных. Требования к составу периферийных устройств.

    реферат [48,7 K], добавлен 09.01.2011

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

    презентация [1,3 M], добавлен 23.09.2015

  • Примеры счетно-решающих устройств до появления ЭВМ. Суммирующая машина Паскаля. Счетная машина Готфрида Лейбница. "Аналитическая машина" Чарльза Бэббиджа, развитие вычислительной техники после ее создания. Поколения электронно-вычислительных машин.

    презентация [1,2 M], добавлен 10.02.2015

  • Характеристика моделей обучения. Общие сведения о нейроне. Искусственные нейронные сети, персептрон. Проблема XOR и пути ее решения. Нейронные сети обратного распространения. Подготовка входных и выходных данных. Нейронные сети Хопфилда и Хэмминга.

    контрольная работа [1,4 M], добавлен 28.01.2011

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

    презентация [3,0 M], добавлен 28.05.2015

  • Основы нейрокомпьютерных систем. Искусственные нейронные сети, их применение в системах управления. Алгоритм обратного распространения. Нейронные сети Хопфилда, Хэмминга. Современные направления развития нейрокомпьютерных технологий в России и за рубежом.

    дипломная работа [962,4 K], добавлен 23.06.2012

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

    реферат [1,2 M], добавлен 24.05.2015

  • Рождение искусственного интеллекта. История развития нейронных сетей, эволюционного программирования, нечеткой логики. Генетические алгоритмы, их применение. Искусственный интеллект, нейронные сети, эволюционное программирование и нечеткая логика сейчас.

    реферат [78,9 K], добавлен 22.01.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.