Файл: Нейронные сети (История развития нейронных сетей).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 27.05.2023

Просмотров: 439

Скачиваний: 4

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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

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

В сети Кохонена имеют всего два слоя: выходной и входной, составленные из радиальных элементов.

1.5 Обучение нейронных сетей

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

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

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

С позиции нейронных сетей, вероятно, может использоваться следующее определение:

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

Этим определением процесса обучения нейронной сети предполагается следующая последовательность событий:[10]

В нейронную сеть из внешней среды поступают стимулы.

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

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


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

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

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

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

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

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

Обучение нейронных сетей представляет процессы, в которых параметры нейронных сетей настраиваются с помощью моделирования сред, в которые эти сети встроены. Типы обучения определяются способами подстройки параметров.[9]

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

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

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

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


Векторы обучающих множеств последовательно предъявляются, определяются ошибки и подстраиваются веса для всех векторов до тех пор, пока ошибки по всем обучающим массивам не достигнут приемлемо низких уровней.[9]

База данных

Выбор примера

Распространение сигнала по нейронной сети

Сеть обучена

Расчет ошибки

Подстройка весов сети

Ответ сети

Ошибка мала

Ошибка велика

Рисунок 1.5 - процесс обучения нейронных сетей

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

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

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

Для обучения нейронной сети без учителя используются сигнальные методы обучения Ойа и Хебба.

При этом можно использовать следующие итерационные алгоритмы.[9]

Алгоритмы с локальной оптимизацией и вычислением частных производных первых порядков:

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

Алгоритмы с локальной оптимизацией и вычислением частной производной первого и второго порядков:

  • методы Ньютона;
  • методы оптимизаций с разреженными матрицами Гессе;
  • квазиньютоновские методы;
  • методы Ньютона и Гаусса;
  • методы Марквардта и Левенберга и пр.

Стохастические оптимизационные алгоритмы:

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

Часть 2. Задача на определение расхода воды на полив

2.1 Задание

В задаче требуется определить расход воды при поливе с/х угодий. 

Входные сигналы: 

а) количество с/ч  культур (много культур, мало культур), 

б) температура воздуха летом (засушливое лето, нормальное лето, холодное лето). 

Выходной сигнал: расход воды на полив (большой расход, средний расход, маленький расход). 

Правила: 

1. Если с/х культур много, лето засушливое, то расход воды большой. 

2. Если с/х культур много, лето нормальное, то расход воды средний. 

3. Если с/х культур мало, лето холодное, то расход воды маленький.

2.2 Решение

Решение выполняется в MATLAB Fuzzy Logic Toolbox.

Для запуска FIS - редактора в MATLAB нужно ввести команду “fuzzy”[2]. На рисунке 2.1 изображен запуск FIS - редактора в MATLAB.

Рисунок 2.1 - запуск FIS - редактора в MATLAB

На рисунке 2.2 изображено окно FIS – редактора.

Рисунок 2.2 - окно FIS - редактора

По умолчанию редактор добавляет в проектируемую систему одну входящую переменную. Ей задается осмысленное имя – “number-of-crops” – количество культур (рис. 2.3).

Рисунок 2.3 - задается осмысленное имя переменной

По условию задачи система должна принимать 2-е входящих переменных. Для добавления переменной в систему нужно выбрать в меню “Add/Variable/Input”[3] (рис. 2.4).

Рисунок 2.4 - добавление переменной

Добавленной переменной назначается имя ”weather” – погода.

Рисунок 2.5 – назначение имени переменной

Задается имя выходной переменной ”water flow” – расход воды (рис. 2.6).

Рисунок 2.6 - задается имя выходной переменной

Создаваемая система сохраняется в файл (рис. 2.7, 2.8).

Рисунок 2.7 – меню сохранения в файл

Рисунок 2.8 - система сохраняется в файл

В редакторе функций принадлежности задаются наименования термов.[4]


Для переменной number-of-crop условиями задачи предусмотрены 2-а терма – «мало» и «много» (рис. 2.9).

Рисунок 2.9 - задаются наименования термов для number-of-crop

Для переменной weather условиями задачи предусмотрены 3-и терма – «засушливое», «нормальное» и «холодное» (рис. 2.10).

Рисунок 2.10 – термы для переменной weather

Для переменной ”water flow” задаются термы – «большой», «средний», «маленький» с гауссовыми функциями принадлежности (рис. 2.11).

Рисунок 2.11 – термы для переменной ”water flow”

Задаются правила, предусмотренные условиями задачи.

Для задания правил выбирается пункт меню – ”Edit/Rules” (рис. 2.12).

Рисунок 2.13 - выбирается пункт меню задания правил

Задается первое правило (рис. 2.14).

Рисунок 2.14 – задание первого правила

Задается второе правило (рис. 2.15).

Рисунок 2.15 – задание второго правила

Задается третье правило (рис. 2.16).

Рисунок 2.16 – задание третьего правила

Система сохраняется на диск, как было показано на рисунках 2.7 и 2.8.

На рисунке 2.17 представлено окно визуализации нечеткого вывода.

Это окно активизируется выбором пункта меню ”View/Rules”.

Рисунок 2.17 - визуализации нечеткого вывода

Значения входных переменных задаются в поле ”Input”. При задании правил (рис. 2.9-2.11) были оставлены значения предложенные MATLAB по умолчанию, т.к. условиями задачи значения для этих переменных не определены.

На рисунке 2.18 приведена поверхность «входы - выход», соответствующая синтезированной нечеткой системе. Это окно открывается выбором пункта меню ”View/Surface”.

Рисунок 2.18 - поверхность «входы - выход»,

соответствующая синтезированной нечеткой системе

Заключение

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