Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Многослойные нейронные сети прямого распространения

Покупка
Основная коллекция
Артикул: 787124.01.99
В учебно-методическом пособии представлены как теоретические основы обучения нейронных сетей методом обратного распространения ошибки, так и подробная методика их создания при помощи пакета программ MatLab и нейросетевых библиотек, написанных для языков высокого уровня. Приведены многочисленные примеры кодов.
Зольникова, Н. Н. Многослойные нейронные сети прямого распространения : учебно-методическое пособие / Н. Н. Зольникова, Т. А. Филонец. - Москва : РУТ (МИИТ), 2018. - 57 с. - Текст : электронный. - URL: https://znanium.com/catalog/product/1895302 (дата обращения: 19.05.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
 

 

МИНИСТЕРСТВО ТРАНСПОРТА РОССИЙСКОЙ ФЕДЕРАЦИИ 

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ 

ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО 

ОБРАЗОВАНИЯ 

«РОССИЙСКИЙ УНИВЕРСИТЕТ 

ТРАНСПОРТА (МИИТ)» 

ИНСТИТУТ ТРАНСПОРТНОЙ ТЕХНИКИ И СИСТЕМ 

УПРАВЛЕНИЯ (ИТТСУ) 

Кафедра «Управление и защита информации» 

 
 
 

Н.Н. ЗОЛЬНИКОВА, Т.А. ФИЛОНЕЦ  

МНОГОСЛОЙНЫЕ  НЕЙРОННЫЕ  СЕТИ   

ПРЯМОГО  РАСПРОСТРАНЕНИЯ 

 

 

Учебно-методическое пособие  

для курсовой работы по дисциплине  

«Введение в нейронные сети» 

 

 

 

 

 

МОСКВА – 2018 

 

 

МИНИСТЕРСТВО ТРАНСПОРТА РОССИЙСКОЙ ФЕДЕРАЦИИ 

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ 

ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ 

«РОССИЙСКИЙ УНИВЕРСИТЕТ 

ТРАНСПОРТА (МИИТ)» 

ИНСТИТУТ ТРАНСПОРТНОЙ ТЕХНИКИ И СИСТЕМ 

УПРАВЛЕНИЯ (ИТТСУ) 

Кафедра «Управление и защита информации» 

 

 
 
 

Н.Н. ЗОЛЬНИКОВА, Т.А. ФИЛОНЕЦ 

  

МНОГОСЛОЙНЫЕ  НЕЙРОННЫЕ  СЕТИ    

ПРЯМОГО  РАСПРОСТРАНЕНИЯ 

 

Учебно-методическое пособие  

для магистров направления 

27.04.04  «Управление в технических системах» 

 

 

 

 

 

 

МОСКВА – 2018 
 

 

 

УДК  004 

З – 81  

    Зольникова Н.Н.,   Филонец Т.А. Многослойные нейронные 
сети прямого распространения: Учебно-методическое пособие. – 
М.: РУТ (МИИТ), 2018. -  57 с. 
 

 

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

многочисленные примеры кодов. 
 
 
 
Рецензент: 

д.т.н., зав.кафедрой «Электропоезда и локомотивы» РУТ(МИИТ) 
Пудовиков О.Е. 

 
 
 
 
 
 
 

© РУТ (МИИТ), 2018

Введение  

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

В настоящее время специалистами разработано много библиотек 
для работы с нейронными сетями на языках программирования 
высокого уровня, таких, как С++, Python и др., наиболее 
популярными из которых являются библиотеки FANN, Accord, 
CNTK. 

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

При написании данного учебно-методического пособия были 
использованы материалы on-line курса “Machine learning” , 
прочитанного профессором Стэнфордского университета Andrew 
Ng (https://class.coursera.org/ml-2016-002) 

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

поставленную задачу несколькими способами: 

1) С помощью прикладного макета Matlab; 
2) С помощью программы, написанной на любом языке 

программирования. При этом одобряется привлекать 
помощь сторонних библиотек (например, FANN, Accord, 
CNTK и т.д.), особенно «свежих» и достаточно известных. 
Но ничуть не менее одобряется и поощряется написание 
программы без использования каких-либо специальных 
библиотек 
(а, 
возможно, 
даже 
написания 
своих 

собственных). 
 

1. Основные сведения о структуре нейрона 

Любая нейронная сеть представляет собой набор искусственных 
нейронов, соединенных между собой определенным образом. Т.е. 
нейрон является основным «материалом», из которого строится 
нейронная 
сеть. 
Рассмотрим 
более 
подробно 
структуру 

отдельного нейрона. 

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

Схематически модель нейрона можно представить в виде 
следующего графа: 

Рисунок 1. Модель нейрона 

В представленной модели нейрона можно выделить его основные 
элементы: 

 
Входные сигналы {x1,…,xn}, которые изображены в виде 
соответствующих вершин {x1, …, xn}; 

 
Сигналы или связи, которые представлены в виде ребер, 
соединяющих входные сигналы с «вычислительным 
центром» нейрона. Эти ребра имеют веса, которые 
обозначаются соответственно через {1, …, n}. Они 
называются также синаптическими весами; 

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

 
Функция активации f(z), которая на графе изображена в 
виде большой вершины с некой функцией внутри. Здесь 
происходит вычисление силы выходного сигнала нейрона 
– результата работы нейрона: 

𝑦 =  𝑓(𝑧), где 𝑧 = 𝑏 + ∑ 𝑥𝑖𝜃𝑖  
 
    (1) 

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

𝑥0 = 1,
𝑏 = 𝜃0 

Тогда модель искусственного нейрона примет еще более простой 
и удобный для вычислений вид. 

 

Рисунок 2. Упрощенная модель нейрона 

 

А формула (1) преобразится в формулу (2): 

𝑧 = ∑ 𝑥𝑖𝜃𝑖

𝑛
0
 . 
 
 
    (2) 

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

Таким образом, при заданных входных сигналах X и весовых 
коэффициентах 
 
значение 
выходного 
сигнала 
нейрона 

вычисляется следующим образом: 

𝑦 = 𝑓(𝑧) = 𝑓(𝑋𝜃) = 𝑓(∑ 𝑥𝑖𝜃𝑖

𝑛
0
). 
 
    (3) 

Сама функция активации нейрона может принимать разный вид 
(ниже приведены некоторые наиболее употребляемые её формы): 

 
Функция единичного скачка или функция Хевисайда: 

𝑦 = 𝑓(𝑧) = {1, если 𝑧 ≥ 0

0, если 𝑧 < 0 
 
    (4) 

 

Рисунок 3. Функция Хевисайда 

 
Кусочно-линейная функция: 

𝑦 = 𝑓(𝑧) = {

1,                       𝑧 ≥ 0,5
|𝑧|,       0,5 > 𝑧 > −0,5
0,                    𝑧 ≤ −0,5

 
    (5) 

 

Рисунок 4. Кусочно-линейная функция 

 
Сигмоидальная функция, или сигмоид: 

                                                   𝑦 = 𝑓(𝑧) =

1

1+𝑒−𝑎𝑧,  
 
    (6) 

где а – параметр наклона сигмоидальной функции 

 

Рисунок 5. Функция-сигмоид 

В данной работе будет применяться сигмоидальная функция 
активации с параметром наклона а = 1, которую далее будем 
обозначать через букву g: 

𝑔(𝑧) =

1

1+𝑒−𝑧 .   
 
    (7) 

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

Область значений функций активаций, определенных формулами 
(5)-(7) представляют отрезок [0; 1]. Хотя иногда бывают случаи, 
когда требуется функция активации, чья область значений 
представляет отрезок [-1; 1]. 

2. Модель нейронной сети 

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

соединений различают разные типы архитектуры нейронных 
сетей: 

 Однослойные сети прямого распространения – состоят 

только из входов и выходов, информация передается от 
входов к выходам, но не наоборот 

 Многослойные сети прямого распространения – кроме 

входов и выходов есть один или несколько скрытых 
слоев, информация передается в направлении от входов 
к выходам 

 Рекуррентные сети – отличается от предыдущих 

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

Модель нейронной сети, также как и модель отдельного нейрона, 
достаточно удобно представлять в виде графа. На Рисунке 6 
приведена схема многослойной нейронной сети прямого 
распространения, которую мы и будем рассматривать в 
дальнейшем.  С точки зрения математики, всё сводится к работе 
с векторами и матрицами, то есть к основам алгебры.  

Введём следующие обозначения: 

L – количество слоев в нейронной сети; 

𝑠𝑙 – количество нейронов на слое номер l; 

n – количество входов нейронной сети; 

K – количество выходов нейронной сети; 

𝑧𝑗

(𝑙) – значение суммы произведения Θ(𝑙−1)𝑎(𝑙−1);