Нейронные сети в экономике пример. Чему в россии обучают нейронные сети

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

Что такое нейронные сети?

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

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

По словам старшего научного сотрудника университета Иннополис Станислава Протасова, наиболее близким аналогом человеческого мозга являются сверточные нейронные сети, придуманные математиком Яном Лекуном. «Они лежат в основе многих приложений, претендующих на звание искусственного интеллекта, - например, в FindFace или Prisma», - отмечает он.

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

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

Александр Крайнов

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

В каком состоянии сейчас находится отрасль?

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

Сергей Негодяев

управляющий портфелем Фонда развития интернет-инициатив

Хотя ученые занимаются формализацией и разработкой нейросетей уже 70 лет, можно выделить два переломных момента в развитии этой технологии. Первый - 2007 год, когда в Университете Торонто создали алгоритмы глубокого обучения многослойных нейронных сетей. Второй момент, спровоцировавший сегодняшний бум, - это 2012 год, когда исследователи из того же университета применили глубинные нейросети и выиграли конкурс ImageNet, научившись распознавать объекты на фото и видео с минимумом ошибок.

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

Андрей Калинин

руководитель «Поиска Mail.Ru»

Развлекательные приложения на основе нейросетей - например, наши Artisto или Vinci - это только вершина айсберга, а заодно отличный способ продемонстрировать их возможности широкой аудитории. На самом деле нейросети способны решать целый ряд сложнейших задач. Наиболее «горячие» направления сейчас - это автопилоты, голосовые помощники, чат-боты и медицина.

Александр Крайнов

глава службы компьютерного зрения «Яндекса»

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

Перспективные сферы для внедрения нейросетей

Транспорт

Робототехника

Биотехнологии

Сельское хозяйство

Интернет вещей

Медиа и развлечения

Лингвистика

Безопасность

Влад Шершульский

директор программ технологического сотрудничества Microsoft в России

Сегодня уже случилась нейронная революция. Иногда даже трудно отличить фантастику от реальности. Представьте себе автоматизированный комбайн со множеством камер. Он делает по 5 тысяч снимков в минуту и через нейросеть анализирует, сорняк перед ним или зараженное вредителями растение, после чего решает, как поступить дальше. Фантастика? Уже не совсем.

Борис Вольфсон

директор по развитию HeadHunter

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

Чему учат нейронные сети в России?

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

Наука и медицина

Школа анализа данных «Яндекса» участвует в эксперименте CRAYFIS совместно с представителями «Сколково», МФТИ, ВШЭ и американских университетов UCI и NYU. Его суть состоит в поиске космических частиц сверхвысокой энергии с помощью смартфонов. Данные с камер передаются ускоренным нейросетям , способным зафиксировать следы слабо взаимодействующих частиц на снимках.

Это не единственный международный эксперимент, в котором задействованы российские специалисты. Ученые университета Иннополис Мануэль Маццара и Леонард Йохард участвуют в проекте BioDynaMo . Заручившись поддержкой Intel и ЦЕРН, они хотят создать опытный образец, способный воспроизвести полномасштабную симуляцию мозговой коры. С его помощью планируется повысить эффективность и экономичность экспериментов, в которых требуется наличие живого человеческого мозга.

Профессор Иннополиса Ярослав Холодов участвовал в разработке компьютерной модели, способной в десятки раз быстрее предсказать образование белковых связей. С помощью этого алгоритма можно ускорить разработку вакцин и лекарств. В этой же сфере отметились разработчики из Mail.Ru Group, Insilico Medicine и МФТИ. Они использовали генеративные состязательные сети , обученные придумывать молекулярные структуры, для поиска веществ, которые могут оказаться полезными при различных болезнях - от онкологии до сердечно-сосудистых заболеваний.

Красота и здоровье

В 2015 году российская компания Youth Laboratories запустила первый международный конкурс красоты Beauty.AI . Фотографии участников в нем оценивались нейросетями. При определении победителей они учитывали пол, возраст, национальность, цвет кожи, симметричность лица и наличие или отсутствие у пользователей морщин. Последний фактор также подтолкнул организаторов к созданию сервиса RYNKL , позволяющего отследить, как старение влияет на кожу и как с ним борются различные препараты.

Также нейросети применяются в телемедицине. Российская компания «Мобильные медицинские технологии », управляющая проектами «Онлайн Доктор » и «Педиатр 24/7 », тестирует бота-диагноста, который будет полезен как пациентам, так и врачам. Первым он подскажет, к какому специалисту обратиться при тех или иных симптомах, а вторым поможет определить, чем именно болен пришедший.

Оптимизация бизнес-процессов и рекламы

Российский стартап Leadza сумел применить нейросети для более эффективного распределения бюджета на рекламу в Facebook и Instagram. Алгоритм анализирует результаты прошедших кампаний, строит прогноз ключевых метрик и на их основе автоматически перераспределяет расходы таким образом, чтобы интернет-магазины смогли получить больше клиентов за меньшую стоимость.

Команда GuaranaCam задействовала технологии машинного обучения для оценки эффективности размещения товаров и рекламных материалов в офлайне. Система работает на базе облака Microsoft Azure и анализирует покупательское поведение по камерам видеонаблюдения. Владельцы бизнеса получают отчет о состоянии торговли в режиме реального времени. Проект уже применяется в торговом центре «Мега Белая Дача».

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

Холдинг «Белфингрупп » пошел еще дальше. Его «дочка» BFG-soft создала облачную платформу BFG-IS, позволяющую управлять предприятием с помощью его виртуальной модели. Последняя строится автоматически на основании собранных системой данных о производстве и не только показывает, как лучше организовать процессы с учетом заданных целей, но и прогнозирует последствия любых изменений - от замены оборудования до введения дополнительных смен. В конце 2016 года Фонд развития интернет-инициатив решил вложить в компанию 125 миллионов рублей.

Рекрутинг и управление персоналом

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

Транспорт

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

Кроме того, нейронные сети могут использоваться в сфере транспорта и другим образом. Летом 2016 года «Яндекс» добавил в принадлежащую ему доску объявлений «Авто.ру » функцию автоматического определения модели машины по ее фото. На тот момент система знала 100 марок.

Психология и безопасность

Российский стартап NTechLab , обошедший Google в международном конкурсе алгоритмов распознавания лиц The MegaFace Benchmark , использовал технологии машинного обучения в приложении FindFace . Оно позволяет найти человека в социальных сетях по фотографии. Зачастую пользователи обращаются к сервису для выявления фейков, но он может быть полезен и правоохранителям. С его помощью уже установили личность нескольких преступников, в том числе захватчика Ситибанка в Москве. Бизнес-версия FindFace.Pro предоставляется компаниям, заинтересованным в идентификации клиентов. Сейчас систему доучивают определять пол, возраст и эмоции окружающих, что может быть полезно не только при общении с клиентами, но и при управлении персоналом.

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

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

Медиа и творчество

Одним из основных игроков на российском рынке нейронных сетей является «Яндекс». Компания использует машинное обучение не только в своих поисковых сервисах, но и в других продуктах. В 2015 году она запустила рекомендательную систему «Дзен », которая формирует ленту из новостей, статей, фотографий и видео, основываясь на интересах конкретного пользователя. Чем чаще он обращается к отобранным алгоритмом материалам, тем точнее нейросеть определяет, что еще ему может понравиться.

Кроме того, «Яндекс» экспериментирует и с творчеством. Сотрудники компании уже успели применить нейросетевой подход к поэзии , а затем и

Нейронные сети (НС) являются одним из самых последних научных подходов к изучению поведения рынка. Идея нейросетей заключается в моделировании (повторении) поведения различных процессов на основе исторической информации.

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

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

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

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

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

Многослойные нейронные сети (несколько соединенных друг за другом однослойных нейронных сетей) стали использоваться гораздо позже однослойных, т.к. ранее не было методики обучения таких сетей. Многослойные сети способны распознавать более сложные объекты, т.е. обладают более оптимальными апроксимирующими способностями, чем однослойные. Уже трех слойная нейронная сеть может распознать любой образ! Если создать рекурентную (с обратными связями между слоями) нейронную сеть, то сеть начинает работать самостоятельно. Для обучения такой сети достаточно подать входной сигнал и она сама будет способна классифицировать объект, заданный этими сигналами.

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

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

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

В частности имеется пакет Statistica Neural Networks. Заметным преимуществом данного пакета является то, что он естественно встроен огромный арсенал методов статистического анализа и визуализации данных, который представлен в системе Statistica.

Neuroshell DayTrader - самая известная программа для создания нейронных сетей для анализа рынка. Помимо нейронных сетей, содержит и классические инструменты и индикаторы технического анализа. Понимает формат Metastock.

Excel Neural Package - российская программа для создания нейросетей и анализа их в Microsoft Excel.

Литература: Осовский С. Нейронные сети для обработки информации. М., Финансы и статистика, 2002. Назаров А.В., Лоскутов А.И. Нейросетевые алгоритмы прогнозирования и оптимизации систем. – СПб.: Наука и Техника, 2003.

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

Наибольшее распространение в настоящее время получили архитектуры нечёткой НС вида ANFIS и TSK. Доказано, что такие сети являются универсальными аппроксиматорами.

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

Адаптивные нечёткие системы

Классические нечёткие системы обладают тем недостатком, что для формулирования правил и функций принадлежности необходимо привлекать экспертов той или иной предметной области, что не всегда удаётся обеспечить. Адаптивные нечёткие системы (adaptive fuzzy systems ) решают эту проблему. В таких системах подбор параметров нечёткой системы производится в процессе обучения на экспериментальных данных. Алгоритмы обучения адаптивных нечётких систем относительно трудоёмки и сложны по сравнению с алгоритмами обучения нейронных сетей , и, как правило, состоят из двух стадий:

  • Генерация лингвистических правил;
  • Корректировка функций принадлежности.

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

Значительная часть методов обучения нечётких систем использует генетические алгоритмы . В англоязычной литературе этому соответствует специальный термин – Genetic Fuzzy Systems .

Значительный вклад в развитие теории и практики нечётких систем с эволюционной адаптацией внесла группа испанских исследователей во главе с Ф. Херрера (F. Herrera).

Нечёткие запросы

Нечёткие запросы к базам данных (fuzzy queries) – перспективное направление в современных системах обработки информации. Данный инструмент даёт возможность формулировать запросы на естественном языке, например: "Вывести список недорогих предложений о съёме жилья близко к центру города", что невозможно при использовании стандартного механизма запросов . Для этой цели разработана нечёткая реляционная алгебра и специальные расширения языков SQL для нечётких запросов. Большая часть исследований в этой области принадлежит западноевропейским ученым Д. Дюбуа и Г. Праде .

Нечёткие ассоциативные правила

Нечёткие ассоциативные правила (fuzzy associative rules) – инструмент для извлечения из баз данных закономерностей, которые формулируются в виде лингвистических высказываний. Здесь введены специальные понятия нечёткой транзакции, поддержки и достоверности нечёткого ассоциативного правила.

Нечёткие когнитивные карты

Нечёткие когнитивные карты (fuzzy cognitive maps) были предложены Б. Коско в 1986 г. и используются для моделирования причинных взаимосвязей, выявленных между концептами некоторой области. В отличие от простых когнитивных карт, нечёткие когнитивные карты представляют собой нечёткий ориентированный граф, узлы которого являются нечёткими множествами. Направленные рёбра графа не только отражают причинно-следственные связи между концептами, но и определяют степень влияния (вес) связываемых концептов. Активное использование нечётких когнитивных карт в качестве средства моделирования систем обусловлено возможностью наглядного представления анализируемой системы и с лёгкостью интерпретации причинно-следственных связей между концептами. Основные проблемы связаны с процессом построения когнитивной карты, который не поддаётся формализации. Кроме того, необходимо доказать, что построенная когнитивная карта адекватна реальной моделируемой системе. Для решения данных проблем разработаны алгоритмы автоматического построения когнитивных карт на основе выборки данных.

Нечёткая кластеризация

Нечёткие методы кластеризации, в отличие от чётких методов (например, нейронные сети Кохонена), позволяют одному и тому же объекту принадлежать одновременно нескольким кластерам, но с различной степенью. Нечёткая кластеризация во многих ситуациях более "естественна", чем чёткая, например, для объектов, расположенных на границе кластеров. Наиболее распространены: алгоритм нечёткой самоорганизации c-means и его обобщение в виде алгоритма Густафсона-Кесселя.

11.3. Нейронные сети в экономике

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

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

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

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

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

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

Ниже перечислены области, в которых эффективность применения нейронных сетей доказана на практике:

Для финансовых операций:

  • Прогнозирование поведения клиента.
  • Прогнозирование и оценка риска предстоящей сделки.
  • Прогнозирование возможных мошеннических действий.
  • Прогнозирование остатков средств на корреспондентских счетах банка.
  • Прогнозирование движения наличности, объёмов оборотных средств.
  • Прогнозирование экономических параметров и фондовых индексов.

Для планирования работы предприятия:

  • Прогнозирование объёмов продаж.
  • Прогнозирование загрузки производственных мощностей.
  • Прогнозирование спроса на новую продукцию.

Для бизнес - аналитики и поддержки принятия решений :

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

Другие приложения:

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

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

Независимый экспертный совет по стратегическому анализу проблем внешней и внутренней политики при Совете Федерации НИИ искусственного интеллекта представил проект "Технология нового поколения на основе недоопределённых вычислений и её использование для разработки экспериментальной модели макроэкономики РФ". Появилась возможность просчитывать исход любого действия или предложения, касающегося бюджета страны, на много лет вперёд.

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

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

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

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

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

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

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

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

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

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

Над созданием нейронных сетей различного назначения в настоящее время трудятся сотни всемирно известных, а также мелких начинающих фирм. Мировой рынок предлагает более сотни нейросетевых пакетов, преимущественно - американских. Общий объём рынка нейронных сетей к 2005 году превысил $10 млрд. И, практически, каждый разработчик традиционных аналитических пакетов сегодня стремится включить нейронные сети в новые версии своих программ. В США нейронные сети применяются в аналитических комплексах каждого крупного банка.

Продажа одного только нейросетевого пакета "Brain Maker Pro" сравнима с объёмами продаж самого популярного пакета технического анализа MetaStock (в США продано более 20000 копий Brain Maker Pro).

Хорошо зарекомендовал себя пакет "The AI Trilogy". ("Трилогия искусственного интеллекта") американской фирмы "Ward Systems Group ". Это набор из трёх программ, каждая из которых может использоваться как самостоятельно, так и в комбинации с остальными.

Так, программа "NeuroShell II" - это набор из 16 типов нейронных сетей , "NeuroWindows" - нейросетевая библиотека с исходными текстами, "GeneHunter" - генетическая программа оптимизации. В совокупности они образуют мощный " конструктор ", позволяющий строить аналитические комплексы любой сложности.

"The AI Trilogy" на американском рынке пользуется большим спросом. Пакет установлен в 150 крупнейших банках США. Он многократно побеждал в престижных конкурсах популярных финансовых изданий и помогает управлять капиталами в несколько миллиардов долларов. Фирма "Du Pont" (институт стандартов США и ФБР) считает "Трилогию искусственного интеллекта" лучшей для решения различных задач.

Интересен и знаменателен малоизвестный факт, что ключевые компоненты этого пакета были написаны российскими программистами. Своим обликом пакет обязан группе разработчиков из небольшой московской компании "Нейропроект" под руководством профессора Персиянцева. Она более трёх лет выполняла заказы фирмы "Ward Systems Group " и нашла удачные решения. Можно сказать, что русские программы управляют финансами Америки и задачами ФБР!

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

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

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

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

Нейронные сети привлекательны с интуитивной точки зрения, ибо они основаны на примитивной биологической модели нервных систем. В будущем развитие таких нейробиологических моделей может привести к созданию действительно мыслящих компьютеров. Между тем уже "простые" нейронные сети , которые строит система ST Neural Networks , являются мощным оружием в арсенале специалиста по прикладной статистике.

Параллели из биологии

Нейронные сети возникли из исследований в области искусственного интеллекта, а именно, из попыток воспроизвести способность биологических нервных систем обучаться и исправлять ошибки, моделируя низкоуровневую структуру мозга (Patterson, 1996). Основной областью исследований по искусственному интеллекту в 60-е - 80-е годы были экспертные системы. Такие системы основывались на высокоуровневом моделировании процесса мышления (в частности, на представлении, что процесс нашего мышления построен на манипуляциях с символами). Скоро стало ясно, что подобные системы, хотя и могут принести пользу в некоторых областях, не ухватывают некоторые ключевые аспекты человеческого интеллекта. Согласно одной из точек зрения, причина этого состоит в том, что они не в состоянии воспроизвести структуру мозга. Чтобы создать искусственный интеллект, необходимо построить систему с похожей архитектурой.

Мозг состоит из очень большого числа (приблизительно 10,000,000,000) нейронов, соединённых многочисленными связями (в среднем несколько тысяч связей на один нейрон , однако это число может сильно колебаться).

Нейроны - это специальные клетки, способные распространять электрохимические сигналы (рис.11.7).


Рис. 11.7.

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

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

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

Базовая искусственная модель

Чтобы отразить суть биологических нейронных систем, определение искусственного нейрона даётся следующим образом:

  • Он получает входные сигналы (исходные данные либо выходные сигналы других нейронов нейронной сети) через несколько входных каналов. Каждый входной сигнал проходит через соединение, имеющее определённую интенсивность (или вес); этот вес соответствует синоптической активности биологического нейрона . С каждым нейроном связано определённое пороговое значение. Вычисляется взвешенная сумма входов, из неё вычитается пороговое значение, и в результате получается величина активации нейрона (она также называется пост - синоптическим потенциалом нейрона - PSP ).
  • Сигнал активации преобразуется с помощью функции активации (или передаточной функции), и в результате получается выходной сигнал нейрона .

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

Это было описание отдельного нейрона . Теперь возникает вопрос: как соединять нейроны друг с другом? Если сеть предполагается для чего-то использовать, то у неё должны быть входы (принимающие значения интересующих нас переменных из внешнего мира) и выходы (прогнозы или управляющие сигналы). Входы и выходы соответствуют сенсорным и двигательным нервам - например, соответственно, идущим от глаз и в руки. Кроме этого, однако, в сети может быть ещё много промежуточных ( скрытых) нейронов , выполняющих внутренние функции. Входные, скрытые и выходные нейроны должны быть связаны между собой.

Ключевой вопрос здесь - обратная связь (Haykin, 1994). Простейшая сеть имеет структуру прямой передачи сигнала: сигналы проходят от входов через скрытые элементы и в конце концов приходят на выходные элементы. Такая структура имеет устойчивое поведение. Если же сеть рекуррентная (т.е. содержит связи, ведущие назад от более дальних к более ближним нейронам), то она может быть неустойчива и иметь очень сложную динамику поведения. Рекуррентные сети представляют большой интерес для исследователей в области нейронных сетей , однако при решении практических задач, по крайней мере, до сих пор, наиболее полезными оказались структуры прямой передачи, и именно такой тип нейронных сетей моделируется в пакете ST Neural Networks .

Типичный пример сети с прямой передачей сигнала показан на рис.11.8 .


Рис. 11.8.

Нейроны регулярным образом организованы в слои. Входной слой служит просто для ввода значений входных переменных. Каждый из скрытых и выходных нейронов соединён со всеми элементами предыдущего слоя.

Можно было бы рассматривать сети, в которых нейроны связаны только с некоторыми из нейронов предыдущего слоя; однако, для большинства приложений сети с полной системой связей предпочтительнее, и именно такой тип сетей реализован в пакете ST Neural Networks .

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

Применение нейронных сетей

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

Класс задач, которые можно решить с помощью нейронной сети, определяется тем, как сеть работает и тем, как она обучается. При работе нейронная сеть принимает значения входных переменных и выдаёт значения выходных переменных. Таким образом, сеть можно применять в ситуации, когда у Вас имеется определённая известная информация, и Вы хотите из неё получить некоторую пока не известную информацию (Patterson, 1996; Fausett, 1994). Вот некоторые примеры таких задач:

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

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

Управление. Нужно определить, что должен делать робот (повернуться направо или налево, двигаться вперёд и т.д.), чтобы достичь цели; известно изображение, которое передаёт установленная на роботе видеокамера.

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

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

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

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

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

Затем нейронная сеть обучается с помощью того или иного алгоритма управляемого обучения (наиболее известным из них является метод обратного распространения, предложенный в работе Rumelhart et al., 1986), при котором имеющиеся данные используются для корректировки весов и пороговых значений сети таким образом, чтобы минимизировать ошибку прогноза на обучающем множестве. Если сеть обучена хорошо, она приобретает способность моделировать (неизвестную) функцию, связывающую значения входных и выходных переменных, и впоследствии такую сеть можно использовать для прогнозирования в ситуации, когда выходные значения неизвестны.

Сбор данных для нейронной сети

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

Выбор переменных (по крайней мере, первоначальный) осуществляется интуитивно. Опыт работы в данной предметной области поможет определить, какие переменные являются важными. При работе с пакетом ST Neural Networks можно произвольно выбирать переменные и отменять предыдущий выбор; кроме того, система ST Neural Networks умеет сама опытным путём отбирать полезные переменные. Для начала имеет смысл включить все переменные, которые могут влиять на результат - на последующих этапах следует сократить это множество.

Нейронные сети могут работать с числовыми данными, лежащими в определённом ограниченном диапазоне. Это создаёт проблемы в случаях, когда данные имеют нестандартный масштаб, когда в них имеются пропущенные значения и когда данные являются нечисловыми. В пакете ST Neural Networks имеются средства, позволяющие справиться со всеми этими трудностями. Числовые данные масштабируются в подходящий для сети диапазон, а пропущенные значения можно заменить на средние значения (или на другую статистику) этой переменной по всем имеющимся обучающим примерам (Bishop, 1995).

Более трудной задачей является работа с данными нечислового характера. Чаще всего нечисловые данные бывают представлены в виде номинальных переменных типа Пол = {Муж, Жен}. Переменные с номинальными значениями можно представить в числовом виде, и в системе ST Neural Networks имеются средства для работы с такими данными. Однако нейронные сети не дают хороших результатов при работе с номинальными переменными, которые могут принимать много разных значений.

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

Нечисловые данные других типов можно либо преобразовать в числовую форму, либо объявить незначащими. Значения дат и времени, если они нужны, можно преобразовать в числовые, вычитая из них начальную дату (время). Обозначения денежных сумм преобразовать совсем несложно. С произвольными текстовыми полями (например, фамилиями людей) работать нельзя, и их нужно сделать незначащими.

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

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

В пакете ST Neural Networks реализованы средства для подгонки линейных моделей (см. раздел про линейные сети, а также материал по модулю Множественная регрессия системы STATISTICA).

Во многих реальных задачах приходится иметь дело с не вполне достоверными данными. Значения некоторых переменных могут быть искажены шумом или частично отсутствовать. Пакет ST Neural Networks имеет специальные средства работы с пропущенными значениями (они могут быть заменены на среднее значение этой переменной или на другие её статистики), так что если не так много данных, то можно включить в рассмотрение случаи с пропущенными значениями (хотя, конечно, лучше этого избегать). Кроме того, нейронные сети в целом устойчивы к шумам. Однако у этой устойчивости есть предел. Например, выбросы, т.е. значения, лежащие очень далеко от области нормальных значений некоторой переменной, могут исказить результат обучения. В таких случаях лучше всего постараться обнаружить и удалить эти выбросы (либо удалив соответствующие наблюдения, либо преобразовав выбросы в пропущенные значения). Если выбросы выявить трудно, то можно воспользоваться имеющимися в пакете ST Neural Networks возможностями сделать процесс обучения устойчивым к выбросам (с помощью функции ошибок типа "городских кварталов"; см. Bishop, 1995). Однако такое устойчивое к выбросам обучение, как правило, менее эффективно, чем стандартное.

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

С числовыми и номинальными переменными в пакете ST Neural Networks можно работать непосредственно. Переменные других типов следует преобразовать в указанные типы или объявить незначащими.

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

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

Пре/пост процессирование

Всякая нейронная сеть принимает на входе числовые значения и выдаёт на выходе также числовые значения. Передаточная функция для каждого элемента сети обычно выбирается таким образом, чтобы её входной аргумент мог принимать произвольные значения, а выходные значения лежали бы в строго ограниченном диапазоне. При этом, хотя входные значения могут быть любыми, возникает эффект насыщения, когда элемент оказывается чувствительным лишь к входным значениям, лежащим в некоторой ограниченной области. На этом рисунке представлена одна из наиболее распространённых передаточных функций - так называемая логистическая функция (рис.11.9) (иногда её также называют сигмоидной функцией, хотя если говорить строго, это всего лишь один из частных случаев сигмоидных - т.е. имеющих форму буквы S - функций). В этом случае выходное значение всегда будет лежать в интервале (0,1), а область чувствительности для входов чуть шире интервала (-1,+1). Данная функция является гладкой, а её производная легко вычисляется - это обстоятельство весьма существенно для работы алгоритма обучения сети (в этом также кроется причина того, что ступенчатая функция для этой цели практически не используется).


Рис. 11.9.

Коль скоро выходные значения всегда принадлежат некоторой ограниченной области, а вся информация должна быть представлена в числовом виде, очевидно, что при решении реальных задач методами нейронных сетей требуются этапы предварительной обработки - пре-процессирования - и заключительной обработки - пост-процессирования данных (Bishop, 1995). Соответствующие средства имеются в пакете ST Neural Networks . Здесь нужно рассмотреть два вопроса:

Шкалирование. Числовые значения должны быть приведены в масштаб, подходящий для сети. Обычно исходные данные масштабируются по линейной шкале. В пакете ST Neural Networks реализованы алгоритмы минимакса и среднего/стандартного отклонения, которые автоматически находят масштабирующие параметры для преобразования числовых значений в нужный диапазон.

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

Номинальные переменные. Номинальные переменные могут быть двузначными (например, Пол ={Муж, Жен}) или многозначными (т.е. принимать более двух значений или состояний). Двузначную номинальную переменную легко преобразовать в числовую (например, Муж = 0, Жен = 1). С многозначными номинальными переменными дело обстоит сложнее. Их тоже можно представить одним числовым значением (например, Собака = 0, Овца = 1, Кошка = 2), однако при этом возникнет (возможно) ложное упорядочивание значений номинальной переменной: в рассмотренном примере Овца окажется чем-то средним между Собакой и Кошкой. Существует более точный способ, известный как кодирование 1-из-N, в котором одна номинальная переменная представляется несколькими числовыми переменными. Количество числовых переменных равно числу возможных значений номинальной переменной; при этом всякий раз ровно одна из N переменных принимает ненулевое значение (например, Собака = {1,0,0}, Овца = {0,1,0}, Кошка = {0,0,1}). В пакете ST Neural Networks имеются возможности преобразовывать как двух-, так и многозначные номинальные переменные для последующего использования в нейронной сети. К сожалению, номинальная переменная с большим числом возможных состояний потребует при кодировании методом 1-из-N очень большого количества числовых переменных, а это приведёт к росту размеров сети и создаст трудности при её обучении. В таких ситуациях возможно (но не всегда достаточно) смоделировать номинальную переменную с помощью одного числового индекса, однако лучше будет попытаться найти другой способ представления данных.

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

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

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

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

В пакете ST Neural Networks для решения всех этих вопросов реализованы специальные средства пре- и пост-процессирования, которые позволяют привести сырые исходные данные в числовую форму, пригодную для обработки нейронной сетью, и преобразовать выход нейронной сети обратно в формат входных данных. Нейронная сеть служит "прослойкой"между пре- и пост-процессированием, и результат выдаётся в нужном виде (например, в задаче классификации выдается название выходного класса). Кроме того, в пакете ST Neural Networks пользователь может (если пожелает) получить прямой доступ к внутренним параметрам активации сети.

Нечёткие нейронные сети (fuzzy-neural networks) осуществляют выводы на основе аппарата нечёткой логики, однако параметры функций принадлежности настраиваются с использованием алгоритмов обучения нейронных сетей (НС). Поэтому для подбора параметров таких сетей применим метод обратного распространения ошибки, изначально предложенный для обучения многослойного персептрона. Для этого модуль нечёткого управления представляется в форме многослойной сети. Нечёткая нейронная сеть, как правило, состоит из четырех слоёв: слоя фазификации входных переменных, слоя агрегирования значений активации условия, слоя агрегирования нечётких правил и выходного слоя. Наибольшее распространение в настоящее время получили архитектуры нечёткой НС вида ANFIS и TSK. Доказано, что такие сети являются универсальными аппроксиматорами. Быстрые алгоритмы обучения и интерпретируемость накопленных знаний - эти факторы сделали сегодня нечёткие нейронные сети одним из самых перспективных и эффективных инструментов мягких вычислений.

Нейронные сети в экономике

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

Ниже перечислены области, в которых эффективность применения нейронных сетей доказана на практике:

Для финансовых операций:

  • · Прогнозирование поведения клиента.
  • · Прогнозирование и оценка риска предстоящей сделки.
  • · Прогнозирование возможных мошеннических действий.
  • · Прогнозирование остатков средств на корреспондентских счетах банка.
  • · Прогнозирование движения наличности, объёмов оборотных средств.
  • · Прогнозирование экономических параметров и фондовых индексов.

Для планирования работы предприятия:

  • · Прогнозирование объёмов продаж.
  • · Прогнозирование загрузки производственных мощностей.
  • · Прогнозирование спроса на новую продукцию.

Для бизнеса - аналитики и поддержки принятия решений:

  • · Выявление тенденций, корреляций, типовых образцов и исключений в больших объёмах данных.
  • · Анализ работы филиалов компании.
  • · Сравнительный анализ конкурирующих фирм.

Другие приложения:

  • · Оценка стоимости недвижимости.
  • · Контроль качества выпускаемой продукции.
  • · Системы слежения за состоянием оборудования.
  • · Проектирование и оптимизация сетей связи, сетей электроснабжения.
  • · Прогнозирование потребления энергии.
  • · Распознавание рукописных символов, в т.ч. автоматическое распознавание и аутентификация подписи.
  • · Распознавание и обработка видео - и аудио сигналов.

Нейронные сети могут быть использованы и в других задачах. Основными предопределяющими условиями их использования являются наличие "исторических данных", используя которые нейронная сеть сможет обучиться, а также невозможность или неэффективность использования других, более формальных, методов. Независимый экспертный совет по стратегическому анализу проблем внешней и внутренней политики при Совете Федерации НИИ искусственного интеллекта представил проект "Технология нового поколения на основе недоопределённых вычислений и её использование для разработки экспериментальной модели макроэкономики РФ". Появилась возможность просчитывать исход любого действия или предложения, касающегося бюджета страны, на много лет вперёд. Система позволяет видеть, как изменится доходная часть, дефицит бюджета, объём промышленного производства в ответ, скажем, на увеличение налогов. Также можно посмотреть, сколько денег в прошлом году уплыло из бюджета: электронная машина, по уверению учёных, легко сможет справиться и с такой задачей. Ей даже не надо будет объяснять понятие "чёрный нал". Можно решить и обратную задачу. Например, а что надо сделать, чтобы к 2020 году объём производства увеличился или, скажем, хотя бы не падал? Машина укажет нижнюю и верхнюю границу значений в том и другом случае для отпускаемых бюджетных денег по всем параметрам, так или иначе влияющим на производство. Кроме того, можно узнать не по гороскопу и без помощи магов возможную последовательность "критических" и "удачных" моментов в развитии экономики страны при заданных исходных данных. Разработчики проекта создали пока лишь демонстрационную модель, охватывающую около 300 параметров и период от 1990-го до 1999 года. Но для нормальной работы необходимо не менее 1000 параметров. И такая работа может быть проведена, если на неё будут отпущены средства. Надо провести множество прикладных работ, необходимы фундаментальные исследования по обоим основным составляющим проекта - математической и экономической. Здесь нужна серьёзная государственная материальная поддержка. Внедрение действующей компьютерной модели макроэкономики и госбюджета РФ позволит автоматизировать подготовку исходных параметров госбюджета очередного года, согласование окончательного варианта для утверждения в парламенте, поддержку, оценку и контроль исполнения бюджета на всех его этапах. Интерес к искусственным нейронным сетям в России очень вырос за последние несколько лет. Возможность быстрого обучения и достоверность выводов позволяет рекомендовать нейросетевые экспертные системы как один из обязательных инструментов во многих аспектах современного бизнеса. Нейронные сети обладают огромным преимуществом перед традиционным трудозатратным и более длительным путём обобщения знаний людей-экспертов. Технологии нейронных сетей применимы практически в любой области, а в таких задачах, как прогнозирование котировок акций и курса валют они стали уже привычным и широко используемым инструментом. Повсеместное проникновение нейросетевых технологий в современный бизнес - только вопрос времени. Внедрение новых наукоёмких технологий - это процесс сложный, однако практика показывает, что инвестиции не только окупаются и приносят выгоду, но и дают тем, кто их использует, ощутимые преимущества. Применение нейронных сетей в финансах базируется на одном фундаментальном допущении: замене прогнозирования распознаванием. По большому счёту, нейросеть не предсказывает будущее, а "узнаёт" в текущем состоянии рынка ранее встречавшуюся ситуацию и воспроизводит последовавшую реакцию рынка.

Финансовый рынок достаточно инерционен, у него есть своя определённая "замедленная реакция", зная которую можно довольно точно вычислять грядущую ситуацию. А насколько точно - это зависит от условий рынка и квалификации оператора. Поэтому наивно верить, что нейросеть будет автоматически предсказывать курсы основных индикаторов -- национальной валюты или, например, драгоценных металлов на нестабильных рынках. Но при любой рыночной ситуации существуют инструменты, сохраняющие стабильность. Например, при скачках доллара -- это "дальние" фьючерсы, реакция которых растягивается на несколько дней и поддаётся прогнозу. Кстати, в периоды рыночных потрясений игроки обычно паникуют, что усиливает преимущества владельца хорошего аналитического инструмента. Над созданием нейронных сетей различного назначения в настоящее время трудятся сотни всемирно известных, а также мелких начинающих фирм. Мировой рынок предлагает более сотни нейросетевых пакетов, преимущественно -- американских. Общий объём рынка нейронных сетей к 2005 году превысил $10 млрд. И, практически, каждый разработчик традиционных аналитических пакетов сегодня стремится включить нейронные сети в новые версии своих программ. В США нейронные сети применяются в аналитических комплексах каждого крупного банка. Продажа одного только нейросетевого пакета "Brain Maker Pro" сравнима с объёмами продаж самого популярного пакета технического анализа MetaStock (в США продано более 20000 копий Brain Maker Pro).

Хорошо зарекомендовал себя пакет "The AI Trilogy". ("Трилогия искусственного интеллекта") американской фирмы "Ward SystemsGroup". Это набор из трёх программ, каждая из которых может использоваться как самостоятельно, так и в комбинации с остальными. Так, программа "NeuroShell II" -- это набор из 16 типов нейронных сетей, "NeuroWindows" -- нейросетевая библиотека с исходными текстами, "GeneHunter" -- генетическая программа оптимизации. В совокупности они образуют мощный "конструктор", позволяющий строить аналитические комплексы любой сложности. "The AI Trilogy" на американском рынке пользуется большим спросом. Пакет установлен в 150 крупнейших банках США. Он многократно побеждал в престижных конкурсах популярных финансовых изданий и помогает управлять капиталами в несколько миллиардов долларов. Фирма "Du Pont" (институт стандартов США и ФБР) считает "Трилогию искусственного интеллекта" лучшей для решения различных задач. Интересен и знаменателен малоизвестный факт, что ключевые компоненты этого пакета были написаны российскими программистами. Своим обликом пакет обязан группе разработчиков из небольшой московской компании "Нейропроект" под руководством профессора Персиянцева.

Она более трёх лет выполняла заказы фирмы "Ward Systems Group" и нашла удачные решения. Можно сказать, что русские программы управляют финансами Америки и задачами ФБР. Насколько может быть полезен пакет финансистам? В состоянии ли он будет работать на нашем непредсказуемом рынке, где одно решение Центробанка может мгновенно опрокинуть рынок? Предваряя эти вопросы, владельцы пакета предлагают специальную консалтинговую услугу. С банком, аналитики которого не верят в прогнозируемость нашего рынка, заключается специальный договор. В течение определённого периода: две недели, месяц или больше, за символическую плату банку ежедневно предоставляются прогнозы на завтрашний день (или на неделю вперед) по котировкам заданных финансовых инструментов. Если прогноз стабильно демонстрирует приемлемую точность, то банк обязуется купить аналитический комплекс вместе с настройками. И не было ни единого случая, когда клиент отказывался от покупки. Показательный и впечатляющий случай имел место между выборами, когда один из крупных банков проводил подобное тестирование пакета. Плясали курсы бумаг, падали и поднимались политики, но каждый вечер банк получал прогноз с набором завтрашних цен (мини - макси - средневзвешенная - закрытие) по шестнадцати бумагам ГКО. Не прошло и двух недель, как банк заключил договор на поставку аналитического комплекса, способного сохранять работоспособность даже в таких бурных и непредсказуемых ситуациях.

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

Нейронные сети привлекательны с интуитивной точки зрения, ибо они основаны на примитивной биологической модели нервных систем. В будущем развитие таких нейробиологических моделей может привести к созданию действительно мыслящих компьютеров. Между тем уже "простые" нейронные сети, которые строит система ST Neural Networks, являются мощным оружием в арсенале специалиста по прикладной статистике.

Департамент образования г. Москвы

ГБОУ гимназия №1503

«НЕЙРОННЫЕ СЕТИ. ИХ ПРИМЕНЕНИЕ, РОЛЬ И ЗНАЧИМОСТЬ

В СОВРЕМЕННОЙ И БУДУЩЕЙ ЭКОНОМИКЕ»

(исследовательская работа)
Выполнил

ученик 10 класса

Браженко Дмитрий

Руководитель:

Куприков Александр Васильевич

Москва

2013 год

Нейронные сети. Их применение, роль и значимость в современной и будущей экономике
План:


Введение……………………………………………………………………………………………

Цели и задачи………………………………………………………………………………………


  1. Понятие нейронных сетей, их смысл………………………………………………………

    1. Простейшая аналитическая технология………………………………………………

    2. Нелинейная задача………………………………………………………………………..

    3. Преимущества использования нейронных сетей………………………………………

    4. Принцип работы нейронных сетей………………………………………………………

  2. Программные реализации……………………………………………………………………

  3. Применение нейронных сетей………………………………………………………………

    1. Прогнозирование изменения котировок……………………………………………...

    2. Управление ценами и производством…………………………………………………

    3. Исследование факторов спроса………………………………………………………..

    4. Оценка недвижимости………………………………………………………………….

    5. Анализ потребительского рынка………………………………………………………

    6. Борьба с мошенничеством………………………………………………………………

    7. Распознавание текста……………………………………………………………………

  4. Эмпирическая часть…………………………………………………………………………

    1. Прогнозирование изменения курса USD/RUR…………………………………………

    2. Оценка стоимости недвижимости……………………………………………………..

  5. Недостатки использования нейронных сетей ………………………………………………
Заключение ………………………………………………………………………………………

Список литературы………………………………………………………………………………

Приложения……………………………………………………………………………….……...


3

Опасность не в том, что компьютер однажды начнет мыслить, как человек, а в том, что человек однажды начнет мыслить, как компьютер.

(Сидни Дж. Харрис)

Введение

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

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

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

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

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

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

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

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

Свою работу я разделил на 5 глав. В первой главе я раскрываю общие понятия нейронных сетей, их смысл. Во второй главе я привожу программные реализации, т.е. программы, созданные для работы с нейронными сетями. В главе №3 я привожу подробные примеры использования нейронных сетей на практике. В четвертой главе я выбираю два примера и, используя технологию нейронных сетей, я провожу исследования, результаты которого описываю в работе.

Цель написания работы:


  • Выявить необходимость использования нейронных сетей в экономике
Задачи:

  1. Разобраться в системе нейронных сетей, понять, что они из себя представляют

  2. Определить экономические задачи, которые можно решать при помощи нейронных сетей

  3. Смоделировать нейронную сеть, используя программный нейропакет и при помощи него создать практический пример

  4. Дать оценку эффективности использования нейронных сетей в экономических задачах.

1. Понятие нейронных сетей, их смысл.

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

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

1.1. Простейшая аналитическая технология

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

с 2 =а 2 +b 2 .

Зная параметры a и b, вычислить c [гипотенузу] отнюдь не сложно.

1.2. «Нелинейная задача»

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

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

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

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

Применение нейронных сетей целесообразно, если:

Накоплены достаточные объемы данных о предыдущем поведении системы

Отсутствуют традиционные методы или алгоритмы, удовлетворительно решающие проблему

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

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

1.3. Преимущества использования нейронных сетей

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

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

1.4. Принцип работы нейронных сетей

Быстродействие современных компьютеров составляет около 100 Mflops (10^8 flops) (flops – единица, обозначающая быстродействие компьютера, с плавающей запятой) В мозгу содержится примерно 10^11 нейронов. Время прохождения одного нервного импульса - 1 мс, принято считать, что производительность одного нейрона порядка 10 flops. Эквивалентное быстродействие мозга составит 10^11 * 10 = 10^12 flops. Если рассмотреть задачи, решаемые мозгом, и подсчитать требуемое количество операций для их решения на обычных ЭВМ, то получим оценку быстродействия до 10^12 flops. Разница в производительности между обычным компьютером и мозгом - 4 порядка! Во многом этот выигрыш обусловлен параллельностью обработки информации в мозге. Следовательно, для повышения производительности ЭВМ необходимо перейти от принципов фон-Неймана к параллельной обработке информации. Тем не менее, параллельные компьютеры пока не получили распространения по нескольким причинам, которые обусловлены техническими сложностями реализации.

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


  • Нейрон – это переключатель, получающий и передающий импульсы, или сигналы. Если нейрон получает достаточно сильный импульс, то говорят, что нейрон активирован, то есть передает импульсы связанным с ним нейронам. Не активированный нейрон остается в состоянии покоя и не передает импульс.

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

  • Когда нейрон получает импульс, превышающий определенный порог, он передает импульс последующим нейронам (активирует импульс).

  • Синапс состоит из двух частей: пресинаптической, соединенной с аксоном передающей импульс клетки, и постсинаптической, соединенной с дендритом получающей импульс клетки. Обе части синапса соединяет синаптическая щель.
Сигнал от нейрона к другим нейронам передается через аксон, который не связан напрямую с получающими импульс нейронами. Импульс изменяется несколько раз в синапсе: перед отправлением – в пресинаптической части и по получении – в постсинаптической.

Импульс для передачи формируется в нейроне в зависимости от одного или нескольких полученных импульсов. В случае нескольких импульсов нейрон накапливает их. Передаст он импульс или нет, зависит от характера полученных импульсов, кем они переданы и т.д. Таким образом, зависимость между переданными и полученными импульсами нелинейна. Если нейрон передает импульс, то он активирован.

Математическая модель нейрона строится следующим образом:

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


  • Вход модели нейрона X – это вектор, состоящий из большого числа (N) компонент. Каждая из компонент входного вектора Xi – это один из импульсов, получаемых нейроном.

  • Выход модели нейрона – это одно число X*. Это означает, что внутри модели, входной вектор должен быть преобразован и агрегирован в скаляр. В дальнейшем этот импульс будет передан другим нейронам.

  • Известно, что при получении импульса синапс нейрона изменяет его. Математически этот процесс изменения можно описать следующим образом: для каждой из компонент входа Xi задают вес. Импульс, прошедший через синапс, принимает вид WiXi. Заметим, что веса могут быть назначены при инициализации модели, а могут быть переменными и измеряться в ходе расчетов. Веса – это внутренние параметры сети, о которых шла речь выше. Говоря об обучении сети, имеют в виду нахождение весов синапса.

  • Сложение полученных импульсов. Агрегирование полученных импульсов – это вычисление их суммы ∑WiXi.

Рис. 2. Пример нейронной сети с одним скрытым уровнем.

Обычно нейроны располагаются в сети по уровням. На иллюстрации приведен пример трехуровневой нейронной сети:


  1. На первом уровне – входные нейроны (отмеченные синим), которые получают данные извне и передающие импульсы нейронам на следующем уровне через синапсы.

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

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

  • Вид связи между уровнями нейронов в сети

  • Вид передаточной функции;

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

Рис. 3. Процесс обучения нейросети