Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Что такое нейронная сеть

Содержание:

Базовые понятия исскутвенного нейрона

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

Классификация нейронных сетей

По характеру настройки синапсов: Сети с фиксированными связями (весовые коэффициенты нейронной сети выбираются сразу, исходя из условий задачи, при этом: dW/dt = 0, где W -- весовые коэффициенты сети); сети с динамическими связями (для них в процессе обучения происходит настройка синоптических связей, то есть dW/dt? 0, где W -- весовые коэффициенты сети).

По характеру связей: Сети прямого распространения (Feedforward). Все связи направлены строго от входных нейронов к выходным; Рекуррентные сети. Сигнал с выходных нейронов или нейронов скрытого слоя частично передается обратно на входы нейронов входного слоя. Как любая система, имеющая обратную связь, рекуррентная сеть стремится к устойчивому состоянию. Как известно, наиболее устойчивое состояние обеспечивается минимизацией энергии системы. Рекуррентная сеть «фильтрует» входные данные, возвращаясь к устойчивому состоянию и, таким образом, позволяет решать задачи компрессии данных и построения ассоциативной памяти; Двунаправленные сети. В таких сетях между слоями существуют связи как в направлении от входного слоя к выходному, так и в обратном; Самоорганизующиеся карты. Такие сети представляют собой, как правило, двумерную структуру нейронов. Перед обучением структура случайна, нейроны распределены примерно равномерно. При обучении, для каждой обучающей записи рассчитывается точка, которая соответствует ей в структуре сети. Нейрон, находящийся ближе всего к искомой точке, называется нейроном победителем. Веса связей, соединяющих этот нейрон с другими, увеличивается, тем самым несколько упорядочивая структуру. Веса от нейронов, являющихся «соседями» нейрона победителя, к другим нейронам также увеличиваются, но слабее и т. д. Таким образом, чем чаще нейрон «побеждает» при сравнении с признаком, тем «плотнее» к нему находятся другие нейроны. В конце обучения сеть представляет из себя несколько зон сосредоточения нейронов, называемых кластерами.

Преимущества нейронных сетей

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

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

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

При построении нелинейных моделей (например, полиномиальных) в статистических программах обычно требуется ручное введение-описание модели в символьном виде с точностью до значений параметров: при N=10 независимых переменных полином второй степени будет содержать N*(N-1)/2=45 коэффициентов при попарных произведениях переменных, 10 при самих переменных, 10 при квадратах значений переменных, т.е. 65 (66 с учетом неоднородного слагаемого) коэффициентов. При двадцати переменных в выражение войдет уже 231 слагаемое. Вводить такие длинные формулы долго, велик риск опечатки. Нейронная сеть же создается путем указания вида структуры, числа слоев и числа нейронов в каждом слое, что гораздо быстрее. А алгоритмы построения растущих нейросетей и вовсе не требуют первоначального задания размера нейронной сети. Альтернативой нейронной сети при построении сложных нелинейных моделей является только метод группового учета аргументов.

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

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

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

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

Использование нейронных сетей

  1. Распознавание образов с помощью нейронной сети

С помощью нейронных сетей можно распознавать похожие образы. Это могут быть буквы, предметы и другие объекты. Например, можно обучить нейронную сеть распознавать рукописный текст. Для этого для каждой буквы алфавита нужно подобрать обучающую выборку – несколько вариантов написания этой буквы (например, буква, написанная несколькими людьми). На этом этапе происходит подбор весов нейронов, сеть «запоминает» как выглядит буква. После этого сеть будет правильно распознавать буквы, написанные и другим почерком. Технически это делается так: изображения букв сканируются и оцифровываются. Закрашенные пиксели воспринимаются машиной как единицы, а не закрашенные как нули. Получается матрица буквы. Эта матрица и подаётся на вход сети.

Точно так же можно научить сеть распознавать предметы. Например, можно разделять разные детали и заготовки в автоматических производственных линиях. С использованием систем машинного зрения деталь оцифровывается и, как и в случае с распознаванием букв, превращается в массив из нулей и единиц (1 – часть тела детали, 0 – отсутствует тело детали). Этот массив – входные данные для нейронной сети.

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

2) Решение задач классификации с помощью нейронной сети

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

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

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

  1. Решение задач кластеризации с помощью нейронной сети

Задачи кластеризации очень похожу на задачи классификации, но в отличие от них не имеют заранее определённых категорий, на которые нужно разделить все данные. Нейронная сеть сама создаёт категории (кластеры), основываясь на общих признаках данных.  Это позволяет представить массив данных в более наглядном виде, найти похожие данные в тех случаях, когда их сходство не очевидно. Таким образом, например, страховые компании могут из множества страховых случаев выявить те, которые были фальсифицированы. Другой пример: с помощь нейросетевой кластеризации рекламные компании могут выявлять людей склонных к покупке определённого товара.

Нейронная сеть как алгоритм адаптации

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

Решение задач прогнозирования с помощью нейронной сети

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

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

В энергетической промышленности стоит задача составления прогноза потребления энергоресурсов. Как известно, выработанная на электростанции энергия должна быть продана потребителям, иначе её придётся «спустить в трубу». Для того чтобы сэкономить энергоресурс, необходимо заранее как можно точнее знать, сколько его будет потреблено. Для решения этой задачи нужно обучить нейронную сеть на данных по статистике энергопотребления за предыдущий период (неделю, месяц).

Требования к компетенции пользователя

Под пользователем здесь понимается человек, непосредственно разрабатывающий нейросетевые модели, а не конечный пользователь готового нейросетевого "решателя". Несмотря на многочисленные заявления о том, что нейронные сети доступны пользователям-неспециалистам, реальное положение вещей на самом деле иное. Во-первых, правильную формулировку задачи никакой компьютер за пользователя не сделает, причем под "правильной формулировкой" понимается не только правильность смысловой постановки задачи, но и правильный выбор математического метода решения и его настроек − а это в случае нейронных сетей подразумевает выбор адекватной структуры нейросети, алгоритма обучения, критерия качества решения задачи и и.т.д. Конечно, значительная гибкость и универсальность нейроалгоритмов допускает применение по принципу забивания гвоздей микроскопом, но не всегда это приводит к хорошему результату. Во-вторых, имеющиеся автоматические схемы подбора оптимальных настроек нейрометодов не могут найти правильные решения для более-менее сложных задач. Например, соответствующие процедуры в Statistica Natural Network не умеют хорошо работать с временными рядами, поскольку не используют приведения ряда к стационарному виду. Так что для пользователей-неспециалистов хороших широкопрофильных автоматических инструментов нет. А если делать вручную, то для получения хороших результатов (я остаюсь пока в рамках примера с временными рядами) придется осваивать как теорию статистического прогнозирования временных рядов и соответствующий модуль пакета Statistica (или альтернативную статпрограмму), так и нейросетевые методы и программы. И для иных классов задач грамотное применение нейросетей требует хороших знаний как методов нейроинформатики, так и других методов обработки и анализа данных (статистики, например).

Области применения нейронных сетей

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

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

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

Авионика: обучаемые автопилоты, распознавание сигналов радаров, адаптивное пилотирование сильно поврежденного самолета, беспилотные летательные аппараты.

Связь: сжатие видеоинформации, быстрое кодирование-декодирование, оптимизация сотовых сетей и схем маршрутизации пакетов.

Интернет: ассоциативный поиск информации, электронные секретари и агенты пользователя в Сети, фильтрация информации, блокировка спама, автоматическая рубрикация новостевых лент, адресные реклама и маркетинг для электронной торговли.

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

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

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

Ввод и обработка информации: распознавание и обработка рукописных чеков, платежных, иных финансовых и бухгалтерских документов.

Геологоразведка: анализ сейсмических данных, ассоциативные методики поиска полезных ископаемых, оценка ресурсов месторождений.

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

Источники

1)neuropro.ru/neu4.shtml

2)yandex.ru/znatoki/question/computers/dlia_chego_nuzhna_neironnaia_set_c2ad1c72/?utm_source=yandex&utm_medium=wizard#df151957-4043-4df6-b7d7-a02da7a0e5fe

3)neuropro.ru/neu3.shtml

4)studbooks.net/2193740/matematika_himiya_fizika/bazovye_ponyatiya_iskusstvennogo_neyrona

5)lazysmart.ru/iskusstvenny-j-intellekst/primenenie-nejronny-h-setej-v-intelle/