Где не используются нейронные сети
Перейти к содержимому

Где не используются нейронные сети

  • автор:

Области практического применения искусственных нейронных сетей

Следующий текст (с небольшими изменениями и осовременивающими дополнениями) воспроизведен из книги: Ежов А.А, Шумский С.А. Нейрокомпьютинг и его применение в экономике и бизнесе. М.: МИФИ, 1998. — 224с.

  • Экономика и бизнес: прогнозирование временных рядов (курсов валют, цен на сырьё, спроса, объемов продаж. ), автоматический трейдинг (торговля на валютной, фондовой или товарной бирже), оценка рисков невозврата кредитов, предсказание банкротств, оценка стоимости недвижимости, выявление переоцененных и недооцененных компаний, рейтингование, оптимизация товарных и денежных потоков, считывание и распознавание чеков и документов, безопасность транзакций по пластиковым картам.
  • Медицина и здравоохранение: постановка диагноза больному (диагностика заболеваний), обработка и распознавание медицинских изображений (рентгеновских снимков, томограмм и т.д.), очистка показаний приборов от шумов, мониторинг состояния пациента, прогнозирование результатов применения разных методов лечения, анализ эффективности проведённого лечения.
  • Авионика: обучаемые автопилоты, распознавание сигналов радаров, адаптивное пилотирование сильно поврежденного самолета, беспилотные летательные аппараты (дроны), распознавание/детекция объектов на фото/видеосъёмке с дрона.
  • Связь: сжатие видеоинформации, быстрое кодирование-декодирование, оптимизация сотовых сетей и схем маршрутизации пакетов.
  • Интернет: ассоциативный поиск информации, электронные секретари и автономные агенты в интернете, фильтрация и блокировка спама, автоматическая рубрикация сообщений из новостевых лент, адресные (персонализированные) реклама и маркетинг для электронной торговли, чат-боты, автоматизация распознавания captcha.
  • Автоматизация производства: оптимизация режимов производственного процесса, контроль качества продукции, мониторинг и визуализация многомерной диспетчерской информации, предупреждение аварийных ситуаций.
  • Робототехника: распознавание сцены, объектов и препятствий перед роботом, прокладка маршрута движения, управление манипуляторами (например, решение обратной задачи кинематики), поддержание равновесия.
  • Политологические и социологические исследования: предсказание результатов выборов, анализ опросов, предсказание динамики рейтингов, выявление значимых факторов, кластеризация электората, изучение и визуализация социальной динамики населения.
  • Безопасность, охранные системы: распознавание лиц; идентификация личности по отпечаткам пальцев, голосу или подписи; распознавание автомобильных номеров; мониторинг пакетов информации и информационных потоков в компьютерной сети для обнаружения вторжений; обнаружение подделок; анализ данных с видеокамер и разнообразных сенсоров; анализ аэрокосмических снимков (обнаружение лесных пожаров, незаконных вырубок леса и т.д.).
  • Ввод и обработка информации: распознавание рукописных текстов, отсканированных почтовых, платежных, финансовых и бухгалтерских документов; распознавание речевых команд, речевой ввод текста в компьютер.
  • Геологоразведка: анализ сейсмических данных, ассоциативные методики поиска полезных ископаемых, оценка ресурсов месторождений.
  • Компьютерные и настольные игры: создание нейроигроков в шашки и шахматы (подтверждённые игрой с людьми рейтинги — на уровне мастеров и международных мастеров); выигрыш в Го у чемпионов Европы и мира; в среднем лучшее, чем у человека, прохождение почти полусотни старых классических игр с Атари (всякие там Понги, Пакманы. ).

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

У Вас есть подобные задачи? Давайте обсудим по электронной почте tsar@neuropro.ru возможности их решения.

нейронные сети,
методы анализа данных:
от исследований до разработок и внедрений

© 2003-23 Царегородцев В.Г.

Обучи себя сам. Что такое нейронные сети и как они, развлекая, меняют нашу жизнь?

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

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

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

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

Что такое нейронные сети? У людей ведь они тоже есть?

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

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

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

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

Представьте себе сельскохозяйственный комбайн, исполнительные механизмы которого снабжены множеством видеокамер. Он делает пять тысяч снимков в минуту каждого растения в полосе своей траектории. Каждый снимок сам по себе ничего не значит. Но используя нейросеть, сравнивая полученные результаты с теми, что есть в его программе, комбайн анализирует — не сорняк ли это, не поражено ли оно болезнью или вредителями. И обрабатывает каждое растение индивидуально. Фантастика? Уже не совсем. А через пять лет может стать нормой.

Об этом рассказывал Влад Шершульский, директор программ технологического сотрудничества Microsoft в России.

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

В чем их особенность?

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

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

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

Где они применяются?

Самый простой пример – «умные» плейлисты музыки (например, Яндекс.Музыка подбирает уникальный плейлист исходя из того, чтобы слушаете чаще всего) или видео на YouTube . Совпадение? Не думаем. Точнее, знаем, что так работают нейронные сети, которые получают поступившую от вас, а также миллионов похожих на вас людей, и прогнозируют то, что вам может понравиться. Вы, кстати, можете им помочь, посмотрев или нет предложенный ролик или пропустив песню. Поисковый алгоритм тут же будет чуть изменен.

А вообще список их применения очень широк. Вот только самые полезные и известные истории:

  • Диагностировать заболевания сельскохозяйственных культур и других растений по фото с точностью до 99,35% (пример с комбайном). Если так дело и дальше пойдет, нейросети научатся заменить студентов на уборке картошки и капусты!
  • Прогнозировать погоду. Этим занимается, например, «Яндекс.Погода»: там используется специальный алгоритм на основе нейронных сетей, который прогнозирует метеорологические изменения с точностью до минут (или почти так).
  • Делать из чёрно-белых снимков цветные. Попробуйте этот сервис – местами он неидеален, но некоторые фотографии и правда делает красивее и ярче. Явно же у вас немало черно-белых снимков в архивах?
  • Помогать вам объезжать пробки уже сейчас, а в будущем работать помощниками автопилотов автомобилей, постоянно анализируя получаемую информацию.
  • Играя, обучать нейросети. Google запустили проект Quick, Draw!, который вроде бы и развлекательный, но при этом каждая игра обучает нейросеть и совершенствует её. Играете так – вам нужно нарисовать то, что просит сеть, а она беспрерывно дает свои варианты. И угадывает! Даже Эйфелеву башню в моем варианте (это три палочки и несколько – посередине).
  • Распознавать речь по губам лучше человека. Это удалось сделать разработчикам из Оксфордского университета. В качестве исходного материала авторы работы взяли базу данных Grid, в которой было собрано более 32 тысяч видеозаписей и, следуя алгоритму, обучали нейросеть. Результаты тестирования показали, что LipNet может правильно распознавать речь по губам в 93,4 процентах случаев. Это должно серьезно помочь для людей с нарушениями слуха.
  • Творить искусство. Можно послушать альбом «Нейронной обороны» или хоралы, написанные нейросетью за Баха. А на Vimeo есть короткометражка, снятая по сценарию нейронной сети.
  • Превращать фотографии в картины и автоматически редактировать их. Вы, конечно, слышали об этих сервисах — Prisma, MSQRD, Mlvch, deepart.io и так далее.

Почему они стали так популярны сегодня, и что ждет в будущем?

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

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

Стоит ли опасаться развития искусственного интеллекта до таких высот, что он потребует у вас мотоцикл и куртку? Вряд ли. Сегодня все подобные сервисы создаются скорее не для решения глобальных задач, на которые и нацелены нейросети, а для демонстрации способностей нейронной сети и проведения её обучения. «Многие прорывные результаты исследований пока не очень применимы в бизнесе. На практике зачастую разумнее использовать другие методы машинного обучения — например, различные алгоритмы, основанные на деревьях решений. Наверное, это выглядит не так захватывающе и футуристично, но эти подходы очень распространены», — пишет Борис Вольфсон, директор по развитию HeadHunter. А раз так, то человечество по-прежнему остается главным врагом самому себе

Другие статьи из рассылки Дирекции ИТ УрФУ в октябре

  • Категории

Что может и чего не может нейросеть: пятиминутный гид для новичков

С момента описания первого искусственного нейрона Уорреном Мак-Каллоком и Уолтером Питтсом прошло более пятидесяти лет. С тех пор многое изменилось, и сегодня нейросетевые алгоритмы применяются повсеместно. И хотя нейронные сети способны на многое, исследователи при работе с ними сталкиваются с рядом трудностей: от переобучения до проблемы «черного ящика».

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

/ Фотография Jun / CC-SA

За что мы любим нейросети

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

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

Обучение нейросетей 101

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

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

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

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

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

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

Ну и третий вариант — обучение с подкреплением — стратегия, построенная на наблюдениях. Представьте себе мышь, бегущую по лабиринту. Если она повернет налево, то получит кусочек сыра, а если направо — удар током. Со временем мышь учится поворачивать только налево. Нейронная сеть действует точно так же, подстраивая веса, если итоговый результат — «болезненный». Обучение с подкреплением активно применяется в робототехнике: «ударился ли робот в стену или остался невредим?». Все задачи, имеющие отношение к играм, в том числе самая известная из них — AlphaGo, основаны именно на обучении с подкреплением.

Переобучение: в чем проблема и как ее решить

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

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

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

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

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

Эффект от удаления аномального значения из тренировочного свода данных (источник)

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

Одна сеть – одна задача или «проблема катастрофической забывчивости»

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

Здесь исследователям или приходится тестировать разнообразные архитектуры сетей и выбирать из них лучшую, или использовать динамические нейронные сети. Последние «следят» за изменениями среды и подстраивают свою архитектуру в соответствии с ними. Одним из используемых в этом случае алгоритмов является метод MSO (multi-swarm optimization).

Более того, нейросети обладают определенной особенностью, которую называют катастрофической забывчивостью (catastrophic forgetting). Она сводится к тому, что нейросеть нельзя последовательно обучить нескольким задачам — на каждой новой обучающей выборке все веса нейронов будут переписаны, и прошлый опыт будет «забыт».

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

Новый подход получил название Elastic Weight Consolidation (упругое закрепление весов) из-за аналогии с упругой пружинкой. Технически он реализуется следующим образом: каждому весу в нейронной сети присваивается параметр F, который определяет его значимость только в рамках определенной задачи. Чем больше F для конкретного нейрона, тем сложнее будет изменить его вес при обучении новой задаче. Это позволяет сети «запоминать» ключевые навыки. Технология уступила «узкоспециализированным» сетям в отдельных задачах, но показала себя с лучшей стороны по сумме всех этапов.

Армированный черный ящик

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

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

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

Нейронные сети — это лишь инструмент

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

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

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

При этом ученые до сих пор не до конца определились, в каком направлении следует развивать нейросети. Индустрия старается как максимально приблизить нейросети к модели человеческого мозга, так и генерировать технологии и концептуальные схемы, абстрагируясь ото всех «аспектов человеческой природы». На сегодняшний день — это что-то вроде «открытого произведения» (если воспользоваться термином Умберто Эко), где практически любые опыты допустимы, а фантазии – приемлемы.

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

  • neurodata lab
  • нейронные сети
  • нейросети
  • Блог компании Neurodata Lab
  • Анализ и проектирование систем
  • Алгоритмы
  • Разработка под e-commerce
  • Машинное обучение

Область применения искусственных нейронных сетей и перспективы их развития Текст научной статьи по специальности «Компьютерные и информационные науки»

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Богославский Станислав Николаевич

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Богославский Станислав Николаевич

Эффективные алгоритмы построения нейронной сети на основании оценки входных параметров (глубокое машинное обучение)

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

SCOPE OF ARTIFICIAL NEURAL NETWORKS AND PROSPECT OF THEIR DEVELOPMENT

In the article various scopes and uses of artificial neural networks , and also their ability to training (to process of adjustment of architecture of a network and scales of synaptic communications ) for the effective decisions of a task are considered

Текст научной работы на тему «Область применения искусственных нейронных сетей и перспективы их развития»

ОБЛАСТЬ ПРИМЕНЕНИЯ ИСКУССТВЕННЫХ НЕЙРОННЫХ СЕТЕЙ И ПЕРСПЕКТИВЫ ИХ РАЗВИТИЯ

Богославский Станислав Николаевич аспирант

Кубанский государственный аграрный университет, Краснодар, Россия

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

SCOPE OF ARTIFICIAL NEURAL NETWORKS AND PROSPECT OF THEIR DEVELOPMENT

Bogoslavsky Stanislav Nikolaevich post-graduate student

Kuban State Agrarian University, Krasnodar, Russia

In the article various scopes and uses of artificial neural networks, and also their ability to training (to process of adjustment of architecture of a network and

обучению (к процессу настройки архитектуры сети scales of synaptic communications) for the effective

и весов синаптических связей) для эффективного решения поставленной задачи

Ключевые слова: ИСКУССТВЕННЫЕ НЕЙРОННЫЕ СЕТИ, СПОСОБНОСТЬ К ОБУЧЕНИЮ, СИНАПТИЧЕСКИЕ СВЯЗИ

decisions of a task are considered

Keywords: ARTIFICIAL NEURAL NETWORKS, ABILITY TO TRAINING, SYNAPTIC COMMUNICATIONS

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

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

опыта, обобщение, извлечение существенных данных из избыточной информации.

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

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

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

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

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

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

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

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

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

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

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

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

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

Техника и телекоммуникации. В 1996 году фирмой «Accurate Automation Corp» [6], Chattanooga, TN по заказу NASA и «Air Force» был разработан экспериментальный автопилотируемый гиперзвуковой самолет-разведчик LoFLYTE (Low-Observable Flight Test Experiment). Самолет имел длину всего 2,5 м. и вес 32 кг., и был предназначен для исследования новых принципов пилотирования. LoFLYTE использовал нейронные сети, позволяющие автопилоту обучаться, копируя приемы пилотирования летчика. Поскольку самолет был предназначен для полетов со скоростью 4-5 махов, то быстрота реакции пилота-человека могла быть недостаточной для адекватного отклика на изменение режима полета. В этом случае на помощь приходили нейронные сети, которые перенимали опыт управления у летчика и за счет высокой скорости обработки

информации позволяли быстро находить выход в аварийных и экстремальных ситуациях [6,7].

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

Информационные технологии. Определение тематики текстовых сообщений — еще один пример успешного использования искусственных нейронных сетей. Так, сервер новостей Convectis (продукт компании «Aptex Software, Inc.») был выбран в 1997 году компанией «PointCast, Inc.», являвшейся лидером персонализированной доставки новостей в Интернете, для автоматической рубрикации сообщений по категориям. Определяя значения ключевых слов по контексту, сервер Convectis был способен в реальном времени распознавать тематику и автоматически рубрицировать огромные потоки текстовых сообщений, передаваемых по таким информационным сетям, как Reuters, NBC и CBS [2].

Нейросетевой продукт «SelectCast» от «Aptex Software, Inc.» позволял определять область интересов пользователей Интернета и предлагал им рекламу соответствующей тематики. Летом 1997 года компания «Excite, Inc.» лицензировала эту разработку для использования на своих поисковых

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

Экономика и финансы. Нейронные сети активно применяются на финансовых рынках. Например, американский Citybank использует нейросетевые предсказания с 199G года, и уже через два года после их внедрения, по свидетельству журнала «The Economist», автоматический дилинг показывал доходность 25% годовых. Chemical Bank применяет нейросетевую систему фирмы «Neural Data» для предварительной обработки транзакций на валютных биржах ряда стран, отслеживая подозрительные сделки. Автоматизированные системы ведения портфелей с использованием нейросетей имеются на вооружении и у «Deere & Co LBS Capital», причем экспертная система объединяется примерно с 9GG нейронными сетями.

Несколько лет назад крупный канадский банк CIBC для управления рисками и идентификации злоумышленников установил программу «KnowledgeSeeker» фирмы «Angoss» [1]. С ее помощью специалисты банка решили выяснить, кто из их клиентов в будущем будет с высокой долей вероятности задерживать выплаты по закладным. Сначала предполагалось, что в первую очередь ими окажутся те, кто и прежде задерживал свои выплаты на несколько дней. Однако исследования показали, что в будущем проблемы с платежами возникнут у тех клиентов банка, которые на фоне регулярных выплат иногда якобы забывали заплатить. Как выяснилось, подобная «забывчивость» была связана с серьезными финансовыми трудностями.

Реклама и маркетинг. Компания «Neural Innovation Ltd» использовала при работе с маркетинговыми компаниями стратегию прямой рассылки. Вначале она осуществляла рассылку всего 25% от общего числа предложений и собирала информацию об откликах и реакциях потребителей. Затем эти данные поступали на вход нейронной сети, с помощью которой осуществлялся поиск оптимального сегмента потребительского рынка для каждого товара. После этого остальные 75% предложений рассылались уже с учетом найденных закономерностей в указанный сегмент, и эффективность второй рассылки значительно возрастала по сравнению с первоначальной.

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

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

электроэнцефалограмме. Для диагностики слуха ребенка опытному

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

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

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

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

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

Должен измениться и интерфейс взаимодействия пользователя с сетью, который будет основываться на интеллектуальных агентах (см. статью «Интеллектуальные агенты семантического Web,а» в № 10 за прошлый год) — новом виде программного обеспечения, получившем название «Agentware». Агенты будут взаимодействовать не только со своим пользователем, но и с другими такими же агентами и со специальными сервисами. Вследствие этого в сети появится своего рода новый социум с самообучающимися агентами, которые будут принимать решения от имени пользователя, и пока еще трудно сказать, к чему это приведет.

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

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

1. Крисилов В. А., Олешко Д.Н., Трутнев А.В.. Применение нейронных сетей в задачах интеллектуального анализа информации.// Труды Одесского политехнического университета, Вып.2 (8). 1999, с. 134.

2. Нейронные сети. STATISTICA Neural Networks.// М.: Горячая линия-Телеком, 2000 г. с.182.

3. Джеффри Е. Хинтон. Как обучаются нейронные сети.// В мире науки — 1992 — N 11 — N 12 — c. 103-107.

4. Садовой А. В., Сотник С. Л. Алгоритмы обучения нейронных сетей будущего. // http ://www.alicetele. com/~sergei/articles/al go/al go. htm

5. Rumelhart B.E., Minton G.E., Williams R.J. Learning representations by back propagating error.// Wature, 1986. V. 323. p. 1016-1028.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *