- •1. Введение
- •2. Основные положения теории искусственных нейронных сетей
- •2.1. Введение.
- •2.2. Задачи, решаемые при помощи инс
- •2.3. Устройство инс
- •2.3.1. Искусственный нейрон
- •2.3.2. Искусственная нейронная сеть.
- •2.4. Архитектуры инс
- •2.6. Обучение инс
- •2.5. Математическое обоснование работоспособности инс.
- •2.6.1. Метод обратного распространения ошибки
- •3. Моделирование аэродинамических характеристик несущего винта вертолета
- •3.1 Основные положения аэроупругой математической модели несущего винта
- •3.1.1. Моделирование упругих деформаций лопасти.
- •3.1.2. Уравнение движения лопасти.
- •3.1.3. Аэродинамическая нагрузка на несущем винте.
- •3.1.4 Расчет аэродинамических характеристик нв
- •3.2 Алгоритм моделирования аэродинамических характеристик несущего винта при помощи многослойного персептрона
- •4. Разработка и обучение нейронной сети, моделирующей аэродинамические характеристики несущего винта вертолета.
- •4.1 Разработка программного обеспечения, моделирующего искусственные нейронные сети.
- •4.1.1. Требования к по
- •4.1.2. Разработка по
- •4.1.2.1. Функции выполняемые программой «Искусственные Нейронные Сети 1.1»
- •4.1.2.2Принципиальная схема функционирования «Искусственные Нейронные Сети 1.1»
- •4.2 Исследование влияния конфигурации нейронной сети на эффективность ее работы
- •3.3.1.1. Оценка сходимости по числу нейронов в слое и количеству циклов обучения
- •3.3.1.2. Оценка сходимости по числу слоев сети и количеству циклов обучения
- •3.3.1.2. Оценка влияния числа входов/выходов нейросети.
- •4.3 Формирование предпроцессора и постпроцессора сети
- •3.3.2.1. Информативность параметров
- •3.3.2.2. Нормирование входных и выходных данных.
- •3.3.2.3. Дискретизация входных данных.
- •4.4 Оптимизация процесса обучения нейронной сети
- •3.3.3.1. Усовершенствование метода обратного распространения ошибки
- •3.3.3.2. Метод коррекции ошибки
- •4.5 Обучение нейронной сети с учетом результатов исследований.
- •5. Расчет характеристик несущего винта и сравнение с исходной расчетной моделью
- •5.1. Расчет коэффициента подъемной силы
- •5.2. Расчет коэффициента силы сопротивления
- •5.3. Расчет коэффициента крутящего момента
- •5.3. Расчет коэффициента момента тангажа
- •6. Основные результаты и выводы.
- •7. Расчет себестоимости создания нейросетевой математической модели нв и необходимого по.
- •7.1. Введение
- •7.2. Основные гипотезы и допущения
- •7.4.3. Заработная плата исполнителей.
- •7.4.3.1. Основная заработная плата.
- •7.4.4 Отчисления единого социального налога.
- •7.4.5 Расчет стоимости машинного времени
- •7.4.6 Материалы и комплектующие
- •7.6.6 Накладные расходы.
- •7.6.7 Суммарная себестоимость разработки по.
- •7.5 Расчет рентабельности
- •7.6 Итог
- •8. Безопасности жизнедеятельности. Рабочее место инженера расчетчика и оператора эвм
- •8.1 Введение
- •8.2 Объект экспертизы
- •8.3 Факторы влияющие на работу оператора эвм
- •8.3.1 Электромагнитное излучение
- •8.3.2 Статическое электричество
- •8.3.3 Вентиляция помещения
- •8.3.4 Микроклимат
- •Температуры и относительной влажности воздуха в помещениях с эвм
- •8.3.5 Освещение помещения
- •8.3.7 Электробезопасность
- •8.4 Эргономическая проработка рабочего места.
- •Моторные поля
- •8.5. Расчет показателей, характеризующих охрану и условия труда при работе за эвм.
- •8.5.1 Определение показателей степени автоматизации и механизации труда.
- •8.5.2 Определение показателей травмобезопастности труда.
- •Безопасные операции
- •8.5.3 Определение коэффициента безвредности труда.
- •8.5.4 Определение интегральных показателей.
- •8.6 Пожарная профилактика
- •Профилактика
- •Тушение пожара
- •8.7 Дерево отказов.
- •8.8 Охрана окружающей среды
- •Приложение «Искусственные Нейронные Сети 1.0»
- •Возможности программы
- •Руководство пользователя Загрузка обучающей выборки
- •Создание инс
- •Обучение инс
- •Проведение расчетов при помощи полученной инс
- •Сохранение и загрузка инс
- •Устройство программы
- •«Искусственные Нейронные Сети 1.1»
- •Выполняемые программой функции
- •Основные изменения
- •Создание новой инс
- •Загрузка обучающей выборки.
- •Обучение инс
- •Проведение расчетов при помощи полученной инс
- •Сохранение и загрузка инс
- •Устройство «Искусственные Нейронные сети 1.1»
- •Использованная литература
2.6.1. Метод обратного распространения ошибки
Рис. 7. Многослойный перцептрон
На Рис. 7 изображена
нейронная сеть. У сети есть входы
x1,...,xn, выходы
Outputs и внутренние узлы. Перенумеруем
все узлы (включая входы и выходы) числами
от 1 до N. Обозначим через wi,j
вес, стоящий на ребре, соединяющем i-ый
и j-ый узлы, а через oi —
выход i-го узла. Если у нас m тестовых
примеров с целевыми значениями выходов
,
d = 1..m, k
Є Outputs,
то функция ошибки выглядит так:
.
(2.6)
Веса модифицируются стохастическим градиентным спуском, то есть будем подправлять веса после каждого тестового примера. Нам нужно двигаться в сторону, противоположную градиенту, то есть добавлять к каждому весу wi,j
,
(2.7)
где функция ошибки для d-ого тестового примера
.
(2.8)
Производная вычисляется следующим образом. Пусть сначала j Є Outputs, то есть интересующий нас вес входит в перцептрон последнего уровня. Сначала отметим, что wi,j влияет на выход перцептрона только как часть суммы
, (2.9)
где сумма берется по входам j-го узла. Поэтому
. (2.10)
Аналогично, Sj влияет на общую ошибку только в рамках выхода j-го узла oj. Поэтому
(2.11)
Если же j-й узел — не на последнем уровне, то у него есть выход, который поступает на входы нейронов следующего слоя. Обозначим эти входы как Children(j) узла j. В этом случае
, (2.12)
и
. (2.13)
Ну а
— это в точности аналогичная поправка,
но вычисленная для узла следующего
уровня (будем обозначать ее через δk
— от Δk она отличается
отсутствием множителя (−ηxi,j).
Поскольку мы научились вычислять
поправку для узлов последнего уровня
и выражать поправку для узла более
низкого уровня через поправки более
высокого, можно уже писать алгоритм.
Именно из-за этой особенности вычисления
поправок алгоритм называется алгоритмом
обратного распространения ошибки.
Краткое резюме проделанной работы:
- для узла последнего уровня
δj = − oj(1 − oj)(tj − oj) (2.14)
- для внутреннего узла сети
(2.15)
- для всех узлов
Δwi,j = − ηδjxi,j
На практике очень хорошие результаты показывают сети достаточно простой структуры, состоящие из двух уровней нейронов — скрытого уровня и нейронов-выходов; каждый вход сети соединен со всеми скрытыми нейронами, а результат работы каждого скрытого нейрона подается на вход каждому из нейронов-выходов. В таком случае достаточно подавать на вход количество нейронов скрытого уровня.
Алгоритм:
Инициализировать wij маленькими случайными значениями.
Повторить пункт 2 необходимое количество раз, пока сеть не перестанет ошибаться: Для всех d от 1 до m:
Подать на вход сети и подсчитать выходы oi каждого узла.
Для всех k Є Outputs δk = ok(1 − ok)(tk − ok).
Для каждого уровня l, начиная с предпоследнего: Для каждого узла j уровня l вычислить .
Для каждого ребра сети {i, j} wi,j = wi,j + ηδjxi,j.
Очевидно, что если ti > oi весовые коэффициенты будут увеличены и тем самым уменьшат ошибку. В противном случае они будут уменьшены, и oi тоже уменьшится, приближаясь к ti.
Выдать значения wij.
На втором шаге на разных итерациях поочередно в случайном порядке предъявляются все возможные входные вектора. К сожалению, нельзя заранее определить число итераций, которые потребуется выполнить, а в некоторых случаях и гарантировать полный успех. Существует несколько более совершенных модификаций настоящего метода, которые мы рассмотрим далее.
