ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 30.11.2023
Просмотров: 37
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Нейронные сети
Искусственная нейронная сеть (ANN) представляющая собой вычислительную нелинейную модель, которая выполняет такие задачи, как классификация, прогнозирование, принятие решений, визуализация и другие, просто рассматривая примеры.
Искусственная нейронная сеть состоит из искусственных нейронов или элементов обработки и организована в три взаимосвязанных слоя: вход, скрытый, который может содержать более одного уровня, и выход.
Искусственная нейронная сеть делится на четыре вида: ➢Пиковая нейронная сеть
➢Свёрточная нейронная сеть (CNN)
➢Рекуррентная нейронная сеть (RNN)
➢Гибридная нейронная сетевая архитектура (HNNA)
➢Нейронная сеть может быть представлена направленным графом с взвешенными связями, в котором искусственные нейроны являются вершинами, а синаптические связи - дугами.
➢Среди областей применения нейронных сетей - автоматизация процессов распознавания образов, прогнозирование, адаптивное управление, создание экспертных систем, организация ассоциативной памяти, обработка аналоговых и цифровых сигналов, синтез и идентификация электронных цепей и систем.
➢С помощью нейронных сетей можно, предсказывать объемы продаж изделий, показатели биржевого рынка, выполнять распознавание сигналов, конструировать самообучающиеся системы.
➢Модели нейронных сетей могут быть программного и аппаратного исполнения.
➢Если говорить простым языком, слоистая нейронная сеть представляет собой совокупность нейронов, которые составляют слои.
➢В каждом слое нейроны между собой никак не связаны, но связаны с нейронами предыдущего и следующего слоев.
➢Информация поступает с первого на второй слой, со второго - на третий и т.д.
Применение нейронных сетей
Классификация (обучение с учителем). распознавание текста, распознавание речи, идентификация личности.
Прогнозировани найти наилучшее приближение функции, заданной конечным набором входных значений (обучающих примеров). Например, нейронные сети позволяют решать задачу восстановления пропущенных значений.
Кластеризация (обучение без учителя). задача сжатия информации путем уменьшения размерности данных. Задачи кластеризации решаются, например, самоорганизующимися картами
Кохонена.
Медицинская диагностика. В ходе наблюдения за различными показателями состояния пациентов накоплена база данных. Риск наступления осложнений может соответствовать сложной нелинейной комбинации наблюдаемых переменных, которая обнаруживается с помощью нейросетевого моделирования.
Прогнозирование показателей деятельности фирмы (объемы продаж). На основе ретроспективной информации о деятельности организации возможно определение объемов продаж на будущие периоды. Предоставление кредита. Используя базу данных о клиентах банка, применяя нейронные сети, можно установить группу клиентов, которые относятся к группе потенциальных "неплательщиков".
Примеры задач, решаемых с помощью нейронных сетей
➢Прогнозирование на фондовом рынке. Зная цены акций за последнюю неделю и сегодняшнее значение индекса FTSE, спрогнозировать завтрашнюю цену акций.
➢Предоставление кредита. Требуется определить, высок ли риск предоставления кредита частному лицу, обратившемуся с такой просьбой. В результате разговора с ним известен его доход, предыдущая кредитная история и т.д.
Особенности применения нейронных сетей для решения задач
сеть можно применять в ситуации, когда имеется определенная известная информация, и необходимо из нее получить некоторую пока неизвестную информацию; необходимо знать (или хотя бы иметь серьезные подозрения), что между известными входными значениями и неизвестными выходами имеется связь.
➢ Искусственная нейронная сеть – компьютерная программа, моделирующая способ Обработки мозгом конкретной задачи
Нейрон получает сигналы (импульсы) от аксонов других нейронов через дендриты и передает сигналы, сгенерированные телом клетки, вдоль своего аксона, который в конце разветвляется на волокна. На окончаниях этих волокон находятся специальные образования - синапсы, которые влияют на величину импульсов.
Искусственный нейрон — узел искусственной нейронной сети, являющийся упрощённой моделью естественного нейрона.
Математически, искусственный нейрон обычно представляют как некоторую нелинейную функцию от единственного аргумента — линейной комбинации всех входных сигналов. Данную функцию называют функцией активации или функцией срабатывания, передаточной функцией. Полученный результат посылается на единственный выход. Такие искусственные нейроны объединяют в сети — соединяют выходы одних нейронов с входами других.
Элементы нейронных сетей
Главная функция искусственного нейрона - формировать выходной сигнал в зависимости от сигналов, поступающих на его входы.
Нейрон характеризуется текущим состоянием и обладает группой синапсов - однонаправленных входных связей, соединенных с выходами других нейронов.
Нейрон имеет аксон - выходную связь данного нейрона, с которой сигнал (возбуждения или торможения) поступает на синапсы следующих нейронов. Каждый синапс характеризуется величиной синаптической связи
Текущее состояние нейрона определяется как взвешенная сумма его входов: Выход нейрона есть функция его состояния:
Активационная функция
Активационная функция- это
нелинейная функция, вычисляющая выходной сигнал формального нейрона.
Часто используемые активационные функции: ➢Жесткая пороговая функция.
➢Линейный порог.
➢Сигмоидальная функция.
Выбор активационной функции определяется спецификой поставленной задачи либо ограничениями, накладываемыми некоторыми алгоритмами обучения.
Нелинейный преобразователь - это элемент искусственного нейрона, преобразующий текущее состояние нейрона (выходной сигнал адаптивного сумматора) в выходной сигнал нейрона по некоторому нелинейному закону ( активационной функции ).
Точка ветвления (выход) - это элемент формального нейрона, посылающий его выходной сигнал по нескольким адресам и имеющий один вход и несколько выходов.
На вход точки ветвления обычно подается выходной сигнал нелинейного преобразователя, который затем посылается на входы других нейронов.
Алгоритм
-
получить входные значения; -
вычислить значение активации (взвешенная сумма входа – пороговое значение); -
преобразовать значение активации с помощью функции активации.
Пре/пост процессирование
Функция активации для каждого элемента сети обычно выбирается таким образом, чтобы ее входной аргумент мог принимать произвольные значения, а выходные лежали бы в строго ограниченном диапазоне значений ("сплющивание").
При этом, возникает эффект насыщения, когда элемент оказывается чувствительным лишь к входным значениям, лежащим в некоторой ограниченной области.
На рисунке выходное значение всегда будет лежать в интервале (0,1), а область чувствительности для входов чуть шире интервала (-1,+1). Данная функция является гладкой, а ее производная легко вычисляется - это обстоятельство весьма существенно для работы алгоритма обучения сети.
Масштабирование
Числовые значения должны быть приведены в масштаб, подходящий для сети. Обычно исходные данные масштабируются по линейной шкале*.
Номинальные переменные
➢Номинальная переменная числовая переменная (Пол = {Муж, Жен}
Муж = 0, Жен = 1)
➢Кодирование 1-из-N: (Животное = {Собака, Овца, Кошка} Собака = {1,0,0}, Овца = {0,1,0}, Кошка = {0,0,1})
Архитектура нейронных сетей
Нейронные сети могут быть синхронные и асинхронные.
В синхронных нейронных сетях в каждый момент времени свое состояние меняет лишь один нейрон.
В асинхронных - состояние меняется сразу у целой группы нейронов, как правило, у всего слоя.
Можно выделить две базовые архитектуры - слоистые и полносвязные сети . Ключевым в слоистых сетях является понятие слоя.
Слой - один или несколько нейронов, на входы которых подается один и тот же общий сигнал.
Слоистые нейронные сети - нейронные сети, в которых нейроны разбиты на отдельные группы так, что обработка информации осуществляется послойно.
В слоистых сетях нейроны ????-го слоя получают входные сигналы, преобразуют их и через точки ветвления передают нейронам (???? +1) слоя. И так до ????-го слоя, который выдает выходные сигналы для интерпретатора и пользователя. Число нейронов в каждом слое не связано с количеством нейронов в других слоях, может быть произвольным.
В рамках одного слоя данные обрабатываются параллельно, а в масштабах всей сети обработка ведется последовательно - от слоя к слою.
Слоистые сети, в свою очередь, могут быть однослойными и многослойными.
Однослойная сеть - сеть, состоящая из одного слоя. Многослойная сеть - сеть, имеющая несколько слоев.
В многослойной сети первый слой называется входным, последующие - внутренними или скрытыми, последний слой - выходным. Таким образом, промежуточные
слои - это все слои в многослойной нейронной сети, кроме входного и выходного.
Входной слой сети реализует связь с входными данными, выходной - с выходными.
Таким образом, нейроны могут быть входными, выходными и скрытыми. Входной слой организован из входных нейронов (input neuron), которые получают данные и распространяют их на входы нейронов скрытого слоя сети. Скрытый нейрон (hidden neuron) - это нейрон, находящийся в скрытом слое нейронной сети.
Выходные нейроны (output neuron), из которых организован выходной слой сети, выдает результаты работы нейронной сети.
В полносвязных сетях каждый нейрон передает свой выходной сигнал остальным нейронам, включая самого себя. Выходными сигналами сети могут быть все или некоторые выходные сигналы нейронов после нескольких тактов функционирования сети. Все входные сигналы подаются всем нейронам
Обучение нейронных сетей
Перед использованием нейронной сети ее необходимо обучить.
Процесс обучения нейронной сети заключается в подстройке ее внутренних параметров под конкретную задачу.
Алгоритм работы нейронной сети является итеративным, его шаги называют эпохами или циклами.
Эпоха - одна итерация в процессе обучения, включающая предъявление всех примеров из обучающего множества и, возможно, проверку качества обучения на контрольном множестве.
Процесс обучения осуществляется на обучающей выборке.
Обучающая выборка включает входные значения и соответствующие им выходные значения набора данных. В ходе обучения нейронная сеть находит некие зависимости выходных полей от входных.
Таким образом, ставится вопрос - какие входные поля (признаки) необходимо использовать.
Первоначально выбор осуществляется эвристически, далее количество входов может быть изменено.
При увеличении количества признаков количество наблюдений возрастает нелинейно, эта проблема носит название "проклятие размерности".
При недостаточном количестве данных рекомендуется использовать линейную модель.
Аналитик должен определить количество слоев в сети и количество нейронов в каждом слое.
Веса и смещения автоматически настраиваются таким образом, чтобы минимизировать разность между желаемым и полученным на выходе сигналами, которая называется ошибка обучения.