Смекни!
smekni.com

Общие принципы, характерные для нейросетей (стр. 2 из 3)

Отсутствие глобального плана вычислений в нейросетях предполагает и особый характер их программирования. Оно также носит локальный характер: каждый нейрон изменяет свои “подгоночные параметры” - синаптические веса - в соответствии с поступающей к нему локальной информацией об эффективности работы всей сети как целого. Режим распространения такой информации по сети и соответствующей ей адаптации нейронов носит характер обучения. Такой способ программирования позволяет эффективно учесть специфику требуемого от сети способа обработки данных, ибо алгоритм не задается заранее, а порождается самими данными - примерами, на которых сеть обучается. Именно таким образом в процессе самообучения биологические нейросети выработали столь эффективные алгоритмы обработки сенсорной информации. Характерной особенностью нейросетей является их способность к обобщению, позволяющая обучать сеть на ничтожной доле всех возможных ситуаций, с которыми ей, может быть, придется столкнуться в процессе функционирования. В этом их разительное отличие от обычных ЭВМ, программа которых должна заранее предусматривать их поведение во всех возможных ситуациях. Эта же их способность позволяет кардинально удешевить процесс разработки приложений.

Универсальность обучающих алгоритмов

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

Не вдаваясь в математические тонкости, образно этот процесс можно представить себе как поиск минимума функции ошибки E(w), зависящей от набора всех синаптических весов сети w (см. Рисунок 3).

Рисунок 5. Обучение сети как задача оптимизации

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

Сферы применения нейросетей

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

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

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

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

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

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

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

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

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

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

Существует несколько широко распространенных коммерческих универсальных нейросетевых программных пакетов (StatisticaNeuralNetworks, NeuroShell, MatlabNeuralNetworkToolbox, NeuroSolutions, BrainMaker). Специализированных, некоммерческих или разработанных учеными-исследователями для собственных нужд нейропрограмм гораздо больше.

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

Вывод

Возможности нейронных сетей

Основными интересными на практике возможностями нейронных сетей являются такие:

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

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

- Возможность работы со скоррелированными независимыми переменными, с разнотипной информацией − непрерывнозначной и дискретнозначной, количественной и качественной, что часто доставляет затруднение методам статистики

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

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

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

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

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

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