Выбери формат для чтения
Загружаем конспект в формате pdf
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Технологии обработки информации.
Лекция 13.
Основные понятия теории нейронных сетей
к.т.н., доцент Буряченко В.В.
Красноярск, 2019
Содержание
1.
2.
3.
4.
5.
2
Понятия нейронных сетей.
Модель персептрона. Пример решения задачи.
Основные элементы нейронных сетей.
Активационные функции.
Архитектура нейронных сетей.
Понятия нейронных сетей
Идея нейронных сетей родилась в рамках теории искусственного
интеллекта, в результате попыток имитировать способность
биологических нервных систем обучаться и исправлять ошибки.
Нейронные сети (Neural Networks) — это модели биологических
нейронных сетей мозга, в которых нейроны имитируются
относительно
простыми,
часто
однотипными,
элементами
(искусственными нейронами).
3
Основные области применения
Среди областей применения нейронных сетей:
автоматизация процессов распознавания образов,
прогнозирование,
адаптивное управление,
создание экспертных систем,
организация ассоциативной памяти,
обработка аналоговых и цифровых сигналов,
синтез и идентификация электронных цепей и систем.
С помощью нейронных сетей можно, например, предсказывать
объемы продаж изделий, показатели биржевого рынка, выполнять
распознавание сигналов, конструировать самообучающиеся системы.
4
Основные области применения
Основные задачи Data Mining, решаемые с помощью нейронных сетей:
Классификация (обучение с учителем).
распознавание текста, распознавание речи, идентификация личности.
Прогнозирование.
найти наилучшее приближение функции, заданной конечным набором входных
значений (обучающих примеров).
восстановление пропущенных значений.
Кластеризация (обучение без учителя).
5
задача сжатия информации путем уменьшения размерности данных.
Задачи
кластеризации
решаются,
например,
самоорганизующимися
картами Кохонена.
Примеры задач, решаемых при помощи
ИНС
Медицинская диагностика.
В ходе наблюдения за различными показателями состояния пациентов
накоплена база данных.
Риск наступления осложнений может соответствовать сложной нелинейной
комбинации наблюдаемых переменных, которая обнаруживается с помощью
нейросетевого моделирования.
Прогнозирование
продаж).
показателей
деятельности
фирмы
(объемы
На основе ретроспективной информации о деятельности организации
возможно определение объемов продаж на будущие периоды.
Предоставление кредита.
6
Используя базу данных о клиентах банка можно установить группу клиентов,
которые относятся к группе потенциальных "неплательщиков".
Элементы нейронных сетей
Если
говорить
простым
языком,
слоистая
нейронная
сеть представляет собой совокупность нейронов, которые
составляют слои.
В каждом слое нейроны между собой никак не связаны, но связаны с
нейронами предыдущего и следующего слоев.
Информация поступает с первого на второй слой, со второго - на
третий и т.д.
7
Элементы нейронных сетей
Искусственный нейрон (формальный нейрон) – элемент
искусственных нейронных сетей, моделирующий некоторые функции
биологического нейрона.
Главная функция искусственного нейрона - формировать выходной
сигнал в зависимости от сигналов, поступающих на его входы.
В самой распространенной конфигурации входные сигналы
обрабатываются адаптивным сумматором, затем выходной сигнал
сумматора поступает в нелинейный преобразователь, где
преобразуется функцией активации, и результат подается
на выход (в точку ветвления).
8
Модель персептрона
Персептрон принимает несколько двоичных входов:
x1, x2, ..., xn и производит один двоичный выход.
Основные понятия теории искусственных
нейронных сетей
Пример решения задачи:
«Пойти ли на концерт?»
Погода хорошая?
Ваши друзья будут сопровождать вас?
Близко ли фестиваль к автобусной остановке?
Основные понятия теории искусственных
нейронных сетей
Пример решения задачи:
«Пойти ли на концерт?»
Погода хорошая? 𝜔1 = 3
Ваши друзья будут сопровождать вас? 𝜔2 = 1,5
Близко ли фестиваль к автобусной остановке? 𝜔3 = 1
𝑏 = −4
𝑖𝑓 3 × 𝑥1 + 1.5 × 𝑥2 + 1 × 𝑥3 ≥ 4 𝑡ℎ𝑒𝑛 𝑦 = 1
𝑖𝑓 3 × 𝑥1 + 1.5 × 𝑥2 + 1 × 𝑥3 < 4 𝑡ℎ𝑒𝑛 𝑦 = 0
Основные понятия теории искусственных
нейронных сетей
Модели нейронных сетей
12
Модели нейронных сетей
13
Общая модель искусственного нейрона
14
Общая модель искусственного нейрона
Нейрон характеризуется текущим состоянием и обладает группой
синапсов - однонаправленных входных связей, соединенных с
выходами других нейронов.
Нейрон имеет аксон - выходную связь данного нейрона, с которой
сигнал (возбуждения или торможения) поступает на синапсы
следующих нейронов.
Каждый синапс характеризуется величиной синаптической связи (ее
весовым коэффициентом или весом wi).
𝑛
𝑆 = 𝑥𝑖 × 𝑤𝑖
𝑖=1
Выход нейрона есть функция его состояния:
𝑦=𝐹 𝑆
15
Общая модель искусственного нейрона
Нелинейный преобразователь — это элемент искусственного
нейрона, преобразующий текущее состояние нейрона (выходной
сигнал
адаптивного
сумматора)
в
выходной
сигнал
нейрона по некоторому нелинейному закону (активационной
функции).
Активационная
функция,
которую
также
называют
характеристической функцией, - это нелинейная функция,
вычисляющая выходной сигнал формального нейрона.
Точка ветвления (выход) — это элемент формального нейрона,
посылающий его выходной сигнал по нескольким адресам и имеющий
один вход и несколько выходов.
16
Активационная функция
Часто используемые активационные функции:
Жесткая пороговая функция.
Линейный порог.
Сигмоидальная функция.
Rectifier Unit (RelU, выпрямитель).
𝑓 𝑠 =
17
1
1 + 𝑒 −𝑠𝑖
𝑓 𝑠 = 𝑚𝑎𝑥 0, 𝑠
Архитектура нейронных сетей
Нейронные сети могут быть синхронные и асинхронные.
В синхронных нейронных сетях в каждый момент времени свое
состояние меняет лишь один нейрон.
В асинхронных - состояние меняется сразу у целой группы нейронов,
как правило, у всего слоя.
18
Архитектура нейронных сетей
Ключевым в слоистых сетях является понятие слоя.
Слой - один или несколько нейронов, на входы которых подается один
и тот же общий сигнал.
Слоистые нейронные сети - нейронные сети, в которых нейроны
разбиты на отдельные группы (слои) так, что обработка информации
осуществляется послойно.
Слоистые сети, в свою очередь, могут быть однослойными и
многослойными.
В многослойной сети первый слой называется входным, последующие
- внутренними или скрытыми, последний слой - выходным.
Таким образом, промежуточные слои - это все слои в многослойной
нейронной сети, кроме входного и выходного.
19
Архитектура связи нейронов
➢
20
По архитектуре связей нейронные сети могут быть
сгруппированы в два класса:
➢
сети прямого распространения, в которых обратные связи
отсутствуют (нет соединений, идущих от выходов
некоторого слоя к входам этого же слоя или
предшествующих слоев);
➢
сети рекуррентного типа, в которых возможны обратные
связи.
Обучение нейронных сетей
Главное отличие и преимущество нейросетей перед классическими
средствами прогнозирования и классификации заключается в их
способности к обучению.
На этапе обучения происходит
вычисление
синаптических
коэффициентов в процессе решения нейронной сетью задач, в
которых нужный ответ определяется не по правилам, а с помощью
примеров, сгруппированных в обучающие множества.
21
Обучение нейронных сетей
Алгоритм работы нейронной сети является итеративным, его шаги
называют эпохами или циклами.
Эпоха - одна итерация в процессе обучения, включающая
предъявление всех (как правило) примеров из обучающего множества
и, возможно, проверку качества обучения на контрольном множестве.
Процесс обучения осуществляется на обучающей выборке.
Обучающая выборка включает входные значения и соответствующие
им выходные значения набора данных. В ходе обучения нейронная
сеть находит некие зависимости выходных полей от входных.
22
Обучение с учителем
Входные данные представляют собой ряды примеров с указанием для
каждого из них значения выходного параметра, которое было бы
желательно получить.
На вход сети подается вектор исходных данных, а на выходной узел
сообщается желаемое значение результата вычислений.
Контролируемое обучение нейросети можно рассматривать как
решение оптимизационной задачи.
Ее целью является минимизация функции ошибок на данном
множестве примеров путем выбора значений весов W. Достижение
минимума называется сходимостью процесса обучения.
➢
➢
➢
➢
23
Определение размерности нейронной сети
Аналитик должен определить количество слоев в сети и количество
нейронов в каждом слое.
Количество необходимых наблюдений зависит от сложности
решаемой задачи.
24
При увеличении количества признаков количество наблюдений возрастает
нелинейно, эта проблема носит название "проклятие размерности".
При недостаточном количестве данных рекомендуется использовать линейную
модель.
Ошибка обучения
Веса и смещения автоматически настраиваются таким образом, чтобы
минимизировать разность между желаемым и полученным на выходе
сигналами, которая называется ошибка обучения.
Ошибка обучения для построенной нейронной сети вычисляется путем
сравнения выходных и целевых (желаемых) значений. Из полученных
разностей формируется функция ошибок.
Функция ошибок — это целевая функция, требующая минимизации в
процессе управляемого обучения нейронной сети.
С
помощью функции ошибок можно оценить качество
работы нейронной сети во время обучения. Например, часто
используется сумма квадратов ошибок.
25
Алгоритм обратного распространения
ошибки
Алгоритм обратного распространения ошибки (Back propagation,
backprop) - алгоритм обучения многослойных персептронов,
основанный на вычислении градиента функции ошибок.
В процессе обучения веса нейронов каждого слоя нейросети
корректируются с учетом сигналов, поступивших с предыдущего слоя,
и ошибки каждого слоя, которая вычисляется рекурсивно в обратном
направлении от последнего слоя к первому.
Обычно в качестве меры погрешности берется средняя квадратичная
ошибка:
M
(d i − y i ) 2
E = i =1
M
где di – ожидаемое значение выхода i-го нейрона, yi – текущее значение
выхода i-го нейрона, M – число примеров в обучающем множестве.
26
Алгоритм обратного распространения
ошибки
Согласно алгоритму перед началом обучения сети всем
межнейронным связям присваиваются небольшие случайные
значения весов.
Каждый шаг обучающей процедуры состоит из двух итераций:
➢ Во время первой фазы входные элементы сети устанавливаются в
заданное состояние. Входные сигналы распространяются по сети,
порождая некоторый выходной вектор. Используются сигмоидальные
функции активации.
➢ Полученный
выходной вектор сравнивается с требуемым
(правильным) вектором. Если они совпадают, то весовые
коэффициенты связей не изменяются.
➢
27
Алгоритм обратного распространения
ошибки
Если выходной вектор не совпадает с желаемым результатом,
происходит подстройка весов нейронов сети по формуле:
➢
Wij (t + 1) = Wij (t ) − (1 − )
E
,
Wij
где Wij ( t ) - изменение веса связи на шаге итерации t обучающей пары
i-го нейрона, получающего входной сигнал, и j–го нейрона, посылающего
выходной сигнал;
- коэффициент, задаваемый пользователем в интервале (0,1);
- величина шага сети или мера точности обучения сети.
28
Оценка ошибки функционирования
сети
Общая ошибка сети на одной итерации определяется как:
➢
D=
1
(T jp − R jp ) 2 ,
2 p j
где Tjp и Rjp - соответственно желательное и действительное значение
выходного сигнала j–го блока для p–й обучающей пары нейронов входвыход.
➢ Когда величина ошибки достигает приемлемо малого уровня,
обучение останавливают, и сеть готова к выполнению возложенных на
нее задач.
29
Переобучение сети
При обучении нейронных сетей часто возникает серьезная трудность,
называемая проблемой переобучения (overfitting).
Переобучение, или чрезмерно близкая подгонка - излишне точное
соответствие нейронной сети конкретному набору обучающих
примеров, при котором сеть теряет способность к обобщению.
30
Переобучение возникает в случае слишком долгого обучения, недостаточного
числа обучающих примеров или переусложненной структуры нейронной сети.
Процесс обучения нейронной сети
31
Обучение с учителем
➢
➢
32
Важно отметить, что вся информация, которую сеть
приобретает о задаче, содержится в наборе примеров.
Поэтому качество обучения сети зависит от количества
примеров в обучающей выборке, а также от того,
насколько полно эти примеры описывают задачу.
Недостатки алгоритма обратного
распространения ошибки
➢
➢
долгий процесс обучения;
зависимость от обучающей выборки.
Неудачи в обучении сети обычно возникают по двум
причинам:
➢ Паралич сети.
➢ Попадание в локальный минимум.
33
Программное обеспечение для работы с
нейронными сетями
Программное обеспечение, имитирующее работу нейронной сети,
называют нейросимулятором либо нейропакетом.
Большинство нейропакетов включают следующую последовательность
действий:
Создание сети (выбор пользователем параметров либо одобрение
установленных по умолчанию).
Обучение сети.
Выдача пользователю решения.
Наиболее известные системы:
TensorFlow.
Keras.
Matlab DeepNetworkDesigner.
и др.
34
Пример решения задачи целесообразности
выдачи кредита клиенту
В качестве обучающего набора данных выступает база
данных, содержащая информацию о клиентах, в
частности:
Сумма кредита, Срок кредита, Цель кредитования, Возраст,
Пол, Образование, Частная собственность, Квартира,
Площадь квартиры.
На основе этих данных необходимо построить модель,
которая сможет дать ответ, входит ли Клиент,
желающий получить кредит, в группу риска
невозврата кредита, т.е. пользователь должен
получить ответ на вопрос "Выдавать ли кредит?".
35
Пример решения задачи целесообразности
выдачи кредита клиенту
На примере платформы Deductor
Выбор выходных параметров:
36
Пример решения задачи целесообразности
выдачи кредита клиенту
На следующем шаге мастер предлагает разбить исходное множество
данных
на
обучающее
и
тестовое.
Способ
разбиения
исходного множества данных по умолчанию задан "Случайно".
37
Пример решения задачи целесообразности
выдачи кредита клиенту
На следующем шаге необходимо определить структуру нейронной
сети, т.е. указать количество нейронов во входом слое - 33
(количество входных переменных), в скрытом слое - 1, в
выходном слое - 1 (количество выходных переменных).
Активационная функция - Сигмоида, и ее крутизна равна единице.
38
Пример решения задачи целесообразности
выдачи кредита клиенту
Далее
осуществляется
выбор
алгоритма
и
параметров
обучения нейронной сети. Этот шаг имеет название "Настройка
процесса обучения нейронной сети",
39
Пример решения задачи целесообразности
выдачи кредита клиенту
На следующем шаге осуществляется настройка условия остановки
обучения.
Будем считать пример распознанным, если ошибка меньше 0,005, и
укажем условие остановки обучения при достижении эпохи 10000.
40
Результат классификации
В красных и синих ячейках расположены те клиенты,
которые были отнесены к другому классу (1 и 4).
Правильно классифицировано 96,64% примеров.
Таблица сопряженности
41
Обучение многослойной сети методом
обратного распространения ошибки
42
Литература
1.
Хайкин С. Нейронные сети: полный курс = Neural Networks: A Comprehensive
Foundation. 2-е изд. — М.: Вильямс, 2006. — 1104 с. — ISBN 0-13-273350-1.
2.
Круглов В.В. Нечеткая логика и искусственные нейронные сети
3.
Круглов В. В., Борисов В. В. Искусственные нейронные сети. Теория и
практика. — М.: Горячая линия - Телеком, 2001. — 382 с. — ISBN 5-93517-0310.
4.
Нейронные сети для чайников (примеры реализации)
➢
http://habrahabr.ru/post/143129/
➢
http://habrahabr.ru/post/144881/
➢
http://habrahabr.ru/post/143668/
5.
http://www.neuroproject.ru/neuro.php
6.
https://basegroup.ru/community/articles/math
7.
Пакет Neural Network Wizard
43