Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Лабораторная работа №1 Создание простейшей искусственной нейронной сети



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

Задание

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

1. Изображение, содержащее символ, преобразуется в бинарный формат;

2. Полученная матрица построчно перестраивается в вектор.

Данный алгоритм проиллюстрирован на рисунке 9.

Рис. 9 Схема преобразования изображения во входной вектор

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

Варианты

Функция активации нейронов Смещение Образы
1 Биполярная функция активации, ,  и Арабские цифры от 0 до 9
2 Сигмоидальная функция активации, Строчные русские буквы от а до и
3 Гиперболический тангенс, Строчные русские буквы от й до т
4 ReLU, Строчные русские буквы от у до ь
5 Биполярная функция активации, ,  и Арабские цифры от 0 до 9
6 Сигмоидальная функция активации, Заглавные русские буквы от А до И
7 Гиперболический тангенс, Заглавные русские буквы от Й до Т
8 ReLU, Заглавные русские буквы от У до Ь
9 Биполярная функция активации, ,  и Строчные латинские буквы от a до j
10 Сигмоидальная функция активации, Строчные латинские буквы от k до t
11 Гиперболический тангенс, Заглавные латинские буквы от A до J
12 ReLU, Заглавные латинские буквы от K до T
13 Биполярная функция активации, ,  и Арабские цифры от 0 до 9
14 Сигмоидальная функция активации, Строчные русские буквы от а до и
15 Гиперболический тангенс, Строчные русские буквы от й до т
16 ReLU, Строчные русские буквы от у до ь
17 Биполярная функция активации, ,  и Арабские цифры от 0 до 9
18 Сигмоидальная функция активации, Заглавные русские буквы от А до И
19 Гиперболический тангенс, Заглавные русские буквы от Й до Т
20 ReLU, Заглавные русские буквы от У до Ь
21 Биполярная функция активации, ,  и Строчные латинские буквы от a до j
22 Сигмоидальная функция активации, Строчные латинские буквы от k до t
23 Гиперболический тангенс, Заглавные латинские буквы от A до J
24 ReLU, Заглавные латинские буквы от K до T

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

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

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

Содержание и оформление отчета

1. Цель работы и задание;

2. Выбранные параметры искусственной нейронной сети;

3. Описание выбранной стратегии обучения;

4. Обучающая и тестирующая выборки;

5. Графики зависимости , где k – номер итерации;

6. Результаты тестирования обученной сети, позволяющие сделать выводы о работоспособности созданной нейронной сети;

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

8. Выводы по работе и обсуждение результатов;

9. Текстовая часть отчета должна соответствовать ГОСТ 7.32 «Отчет о научно-исследовательской работе».

Рекомендуемая литература

1. Рутковская Д., Пилиньский М., Рутковский Л. Нейронные сети, генетические алгоритмы и нечеткие системы: Пер. с польск. И. Д. Рудинского. - М.: Горячая линия -Телеком, 2006. - 452 c.

2. Хайкин С., Нейронные сети: полный курс, 2-е изд.: Пер. с англ. – М. Издательский дом «Вильямс», 2006. – 1104 с.

3. Теплоэнергетика и теплотехника: Общие вопросы: Справочник/ Под общ. ред. чл.-корр. АН СССР В.А. Григорьева, В.М. Зорина, - 2-е изд., перераб. – М. Энергоатомиздат, 1987. – 456 с.

4. Алюков, С. В. Динамика инерционных бесступенчатых автоматических передач: монография / С. В. Алюков. - Москва: ИНФРА-М, 2018. - 249, [1] с.: ил., схем. - (Научная мысль. Техника).


Генетические алгоритмы

Основные понятия[1-3]

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

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

Ген – каждое из чисел хромосомы.

Локус – позиция гена в хромосоме.

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

Популяция – совокупность индивидуумов.

Кроссовер (скрещивание) – операция, при которой хромосомы 2 особей обмениваются между собой частями по определенному правилу.

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

Генотип – совокупность хромосом соответствующих данной особи.

Фенотип – расшифрованный генотип особи, то есть вектор состоящий из декодированных значений хромосом.

Функция приспособленности (фитнесс-функция) – функция, определяющая меру приспособленности каждой особи к окружающей среде. Другими словами, это подстановка значений фенотипа особи в целевую функцию задачи.

Схема генетического алгоритма[1-3]

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

Согласно теории Дарвина, естественный отбор – это основной механизм эволюции. Суть естественного отбора заключается в следующем: более приспособленные биологические особи имеют больше шансов для выживания и размножения, а значит, приносят больше потомства, чем остальные. Через механизмы генетического наследования потомки перенимают от своих родителей основные качества. Таким образом, потомки «сильных» биологических особей также будут более приспособленными по сравнению со своими сверстниками. Все это приводит к увеличению доли приспособленных особей в общей массе вида и спустя несколько сотен поколений общая приспособленность вида увеличится. Именно эта идея и лежит в основе генетических алгоритмов.

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

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

1. Генетические алгоритмы обрабатывают не сами параметры задачи, а их закодированную форму.

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

3. Использование только целевой функции, а не ее производных или иной дополнительной информации.

4. Применяются вероятностные, а не детерминированные правила выбора.

Генетические операторы

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

Кроссовер

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

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

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

X 1 0 0 1 1 1
Y 0 1 1 1 0 0

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

Z1 1 0 1 1 1 1
Z2 0 1 0 1 0 0

Мутация

Оператор мутации необходим для того, чтобы популяция преждевременно не сходилась к локальному экстремуму. В общем случае оператор мутации представляет собой замену одного или нескольких генов в хромосоме. Например, особь X{1, 0, 0, 1, 1, 0} после мутации во втором гене примет следующий вид: X{1, 1, 0, 1, 1, 0}.

Выбор родителей

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

а) Рулеточный отбор.

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

б) Турнирный отбор.

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

в) Пропорциональный отбор.

Для пропорционального отбора применяют следующую схему: для каждой из особей вычисляется значение функции приспособленности fi, так же вычисляется средняя приспособленность популяции f ср. Затем для каждой особи вычисляется отношение . Целая часть этого соотношения показывает сколько раз особь будет записана в промежуточный массив, а дробная часть показывает шанс особи быть записанной в промежуточную популяцию еще раз. Например, если отношение равно 2, 61, то это означает, что i-ая особь будет записана в промежуточную популяцию 2 раза и с вероятностью 0, 61 может быть записана в третий раз. После того как сформирована промежуточная популяция, из нее случайным образом выбирают родителей и производят скрещивание. 


Поделиться:



Последнее изменение этой страницы: 2019-10-24; Просмотров: 258; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.032 с.)
Главная | Случайная страница | Обратная связь