IT.UA - home page

Меню
Aside section
Назад к списку

Искусственные нейронные сети (ИНС)

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

Из этой схемы следует, что искусственные нейронные сети (ИНС, artificial neural networks, ANN) — это упрощенные модели биологических нейронных сетей.

Русскоязычная Википедия дает более подробное определение:

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

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

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

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

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

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

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

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

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

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

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

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

Задачи, решаемые нейронными сетями

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

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

Классификация — распределение данных по параметрам. Например, на вход ИНС подается набор данных о людях и нужно решить, кому можно давать кредит, а кому нет. Эту работу может выполнить нейронная сеть, анализируя такую информацию, как возраст, платежеспособность, кредитная история и т.д.4

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

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

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

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

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

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

Достоинства нейронных сетей

Основными преимуществами нейронных сетей перед традиционными вычислительными методами являются:

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

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

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

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

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

Недостатки нейронных сетей

У нейронных сетей есть ряд серьезных недостатков.

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

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

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

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

Примеры реализации: от и до

В 2013 г. считалось, что создание масштабных нейронных сетей обходится очень дорого с точки зрения вычислительных ресурсов. Например, компании Google для создания сети, которая научилась всего лишь распознавать кошек в серии роликов YouTube, пришлось задействовать примерно 1000 серверов, что эквивалентно 16 тысячам процессорных ядер. Построенная сеть характеризовалась 1,7 млрд. параметров, виртуально отражающих связи между нейронами.8 Позднее компания Google создала сеть с 11,2 млрд. параметров, а Ливерморская национальная лаборатория Лоренса — с 15-ю млрд. На 32-й Международной конференции по машинному обучению в Лилле компания Digital Reasoning заявила о создании нейронной сети со 160-ю млрд. параметров — самой большой ИНС в мире по состоянию на середину 2015 г. По словам технического руководителя Digital Reasoning Мэтью Рассела (Matthew Russell), эта нейронная сеть способна не только читать, но и понимать человеческую речь, при этом учитывая ее контекст. Самая большая ИНС работает с высокой точностью: если разработчики Google сумели достичь результата 76,2%, а Стэнфордский университет — 75%, то показатель Digital Reasoning составил 85,8%.9

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

Следует отметить и другие достижения нейросетей:

  • Компания Google: технология AlphaGo выиграла у чемпиона мира по игре го; в марте 2016 г. корпорация продала на аукционе 29 картин, нарисованных нейросетями.
  • Компания Microsoft: проект CaptionBot распознает изображения на снимках и автоматически генерирует подписи к ним, проект WhatDog по фотографии определяет породу собаки, сервис HowOld определяет возраст человека на снимке.
  • Компания Яндекс: приложение "Авто.ру" распознает автомобили на снимках; нейросеть записала музыкальный альбом; проект LikeMo.net учится рисовать в стиле известных художников.11

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

Ссылки:
1. https://neuralnet.info/chapter/введение/#Преимущества—нейронных—сетей
2. https://ru.wikipedia.org/wiki/Искусственная_нейронная_сеть
3. https://www.it.ua/ru/knowledge—base/technology—innovation/machine—learning
4. https://habr.com/ru/post/312450/
5. https://neuralnet.info/book/
6. https://ipi1.ru/images/PDF/2015/42/perspektivy—razvitiya.pdf
7. https://vc.ru/future/16843—neural—networks
8. https://www.mltrade.ru/news/samaya-krupnaya-v-mire-iskusstvennaya-neyronnaya-set-postroena-na-baze-GPU-NVIDIA_10203.html
9. http://datareview.info/news/sozdana-samaya-bolshaya-v-mire-neyronnaya-set/
10. https://hi-news.ru/technology/intel-predstavila-nejronnuyu-set-razmerom-s-fleshku.html
11. https://vc.ru/future/16843-neural-networks

  • Предыдущая
  • следующая
Get in touch

Получить
наше бизнес предложение
Получить
наше бизнес предложение
Заполнить форму