Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
5 нейронные сети.doc
Скачиваний:
17
Добавлен:
28.06.2021
Размер:
109.57 Кб
Скачать

Омский государственный технический университет

Кафедра ИВТ

Дисциплина

«Вычислительные системы и сети»

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

Искусственные нейронные сети

Омск, 2019

Введение

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

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

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

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

С математической точки зрения, обучение нейронных сетей — это многопараметрическая задача нелинейной оптимизации.

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

С точки зрения развития вычислительной техники и программирования, нейронная сеть — способ решения проблемы эффективного параллелизма.

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

Нейронные сети не программируются в привычном смысле этого слова, они обучаются. Возможность обучения — одно из главных преимуществ нейронных сетей перед традиционными алгоритмами. Для обучения не нужны алгоритмы и вообще какие-либо сведения о закономерностях функционирования изучаемого обьекта – нужны только экспериментальные данные о нескольких «сеансах» взаимодейтсвия с ним – обучающие выборки. Технически обучение заключается в нахождении коэффициентов связей между нейронами. В процессе обучения нейронная сеть способна выявлять сложные зависимости между входными данными и выходными, а также выполнять обобщение. Это значит, что в случае успешного обучения сеть сможет вернуть верный результат на основании данных, которые отсутствовали в обучающей выборке, а также неполных и/или «зашумленных», частично искажённых данных.

Одна из универсальных и самых мощных систем математической обработки данных MathWorks MATLAB предоставляет достаточно широкий набор средств для работы с нейронными сетями. При этом сеть может быть объединена с другими компонентами из системы Matlab – к примеру, внедрена в эмулятор микроконтроллера.

Для создания НС в Matlab есть несколько возможностей. Наиболее гибкий способ – с помощью команд встроенного систему в М-языка. Одно из основных преимуществ этого способа – отсутствие существенных ограничений на количество слоёв создаваемой сети.

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

  1. Задача 1

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

Создадим векторы входа и целей (код Matlab):

x = [1.0 1.5 3.0 -1.2];

y = [0.5 1.1 3.0 -1.0];

Теперь создадим линейную нейронную сеть:

b=newlind(x,y); % Создание линейной НС с именем b

В результате получим сеть из 4 нейронов, веса которых настроены в соответствии с заданными векторами. Проведем опрос сети для значения входа, равного 3.0:

y1 = sim(b, 3.0) % Опрос сети

Оцените результат выполнения данных операций.

Соседние файлы в предмете Вычислительные Системы