Проектирование программы
Зарегистрируйся в два клика и получи неограниченный доступ к материалам,а также промокод на новый заказ в Автор24. Это бесплатно.
Для достижения поставленной в работе цели была написана программа, которая моделирует работу нейронной сети прямого распространения. В качестве языка программирования, предназначенного для реализации, был выбран высокоуровневый язык общего назначения Python. Выбор языка Python был обусловлен его популярностью в научном сообществе, а также наличием большого числа библиотек и расширений с открытым исходным кодом для работы в области машинного обучения. Версия языка – 3.5.0, операционная система – Windows 10. Алгоритм решения задачи делится на три этапа – настройка параметров сети, обучение и распознавание (предсказание результатов). Блок-схема алгоритма приводится на рисунке 10.
Рисунок 10. Блок-схема алгоритма решения задачи
Программа демонстрирует работу двух моделей реализованной нейронной сети с одним скрытым слоем, каждая из которых вызывается с различными параметрами – количеством нейронов на входном и скрытом слое, а также функцией активации (сигмоида или гиперболический тангенс).
На этапе настройки параметров задается количество нейронов на входном, скрытом и выходном слоях, а также выбирается функция активации – сигмоида или гиперболический тангенс
Зарегистрируйся, чтобы продолжить изучение работы
. Весовые значения инициализируются в цикле случайными вещественными значениями от -1 до 1.
Этап обучения сети начинается с добавления смещения к входному слою. Процесс обучения повторяется в течение заданного количества эпох с заданной скоростью обучения (learning rate). Сеть обучается при помощи алгоритма обратного распространения ошибки за две фазы – распространение и обновление весов. Прямое распространение входного примера обучающей выборки подразумевает генерацию выходных значений активации – применение функции активации к первоначальным весовым коэффициентам. Обратное распространение позволяет найти изменения весов для всех выходных и скрытых нейронов. Полученные отклики сравниваются с переданными эталонными метками обучающей выборки, затем находится вектор ошибок и рассчитываются значения, необходимые для вычисления градиента. Веса сети обновляются в направлении, противоположном знаку градиента.
На этапе предсказания результатов сеть находит отклик для переданного ей примера. Для этого функция активации применяется к произведению переданного значения и вектора весовых коэффициентов сети, полученного на этапе обучения.
Первая модель сети позволяет предсказать результат тернарного сложения по модулю 2 (XOR), используя для обучения семь векторов длины 3, каждый из которых представляет набор значений переменных, участвующих в операции
50% курсовой работы недоступно для прочтения
Закажи написание курсовой работы по выбранной теме всего за пару кликов. Персональная работа в кратчайшее время!