Нейронные сети: распознавание образов и изображений c помощью ИИ

Распознавание образов нейронными сетями

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

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

Обычные нейронные сети

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

Сверточные нейронные сети

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

Применение нейронной сети в распознавании изображений

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

Теория

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

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

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

Практика

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

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

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

В какой-то момент увеличение числа слоёв приводит к просто запоминанию выборки, а не обучению. Далее - за счёт хитрых архитектур.

Как нейросеть решает задачи по распознаванию образов

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

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

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

В целом создание нейронной сети для распознавания изображений включает в себя:
Сбор и подготовку данных
Выбор топологии
Подбор характеристик
Подбор параметров обучения
Обучение
Проверку качества обучения
Корректировку
Вербализацию

Архитектуры нейросетей

Выделяются несколько различных архитектур искусственных НС, в том числе нейросетей для распознавания изображений:
  • 1
    Многослойный перцептрон
    Строится из 3+ слоев и применяет нелинейную функцию активации для классификации данных.
  • 2
    Сверточная
    Содержит свёрточные слои.
  • 3
    Рекурсивная
    Глубокая НС, которая формируется применением одних наборов весов рекурсивно над структурой для скалярных или структурированных предсказаний.
  • 4
    Рекуррентная
    Вариант НС, где связи между нейронами представляют собой направленные циклы.
  • 5
    СДКП
    Сеть долгой краткосрочной памяти – вид рекуррентной НС, позволяющий максимально точно моделировать временные последовательности, а также характерные для них зависимости в долгосрочной перспективе.
  • 6
    Sequence-to-sequence модель
    Состоит из 2х рекуррентных НС, которые выполняют функции кодировщика и декодера.
  • 7
    Неглубокие
    Также пользуются большой популярностью, к примеру, группы неглубоких двухслойных моделей могут использоваться для представления слоев векторами.
Обучение нейросети
Распознавание изображений с помощью нейронных сетей возможно только посредством специального обучения, представляющего собой процесс, направленный на настройку параметров НС.

Есть несколько способов обучить нейросеть.

Машинное обучение с учителем

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

Обучение без учителя

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

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

Обучение с частичным привлечением учителя

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

Обучение с подкреплением

Обучение с подкреплением (reinforcement learning) действует по принципу получения обратной связи - награды за определённые действия.

Пример работы нейросетей при распознавании образов

Нейронные сети сегодня применяются в разных сферах и областях:
Здравоохранение
Автоматическая обработка медизображений, мониторинг и прогнозирование состояния пациента.
Авиация
Автораспознавание сигналов радаров, БПЛА.
Интернет
Поиск необходимых данных.
Производство
Осуществление контроля над производством и качеством изготавливаемой продукции, идентификация объектов нейронной сетью.
Робототехника
Распознавание образов.
Политология
Анализ проведенных опросов, прогнозирование рейтингов.
Безопасность
Идентификация лиц и автомобильных номеров, личности.
Обработка данных
Распознавание текстов и изображений.

Приложения для распознавания образов

Машинное обучение распознаванию образов использовалось в создании различных приложений, которые сегодня может попробовать каждый желающий при наличии одного только смартфона, к примеру:
  • 1
    AI Scry
    Показывает, как ИИ видит привычные предметы.
  • 2
    FaceApp
    Знакомый почти всем фоторедактор, который с помощью нейросети добавляет улыбки, изменяет возраст людям на фото и меняет пол.
  • 3
    Im2calories
    Приложение от Google, которое считает калории по картинке.
Перспективы использования нейросетей для распознавания образов
Современный уровень развития технологий и то, что сегодня НС применяют в самых разных сферах, показывает, что у нейросетей огромные перспективы развития в разных областях, включая:
Tранспорт
Робототехнику
Сельскохозяйственную сферу
Медицину
IoT (интернет вещей)
Развлечения
Безопасность
Распознавание образов с помощью ИИ и нейросетей в России
Обучение нейросетей осуществляется сегодня многими компаниями по всему миру. В России разработками в этой сфере занят, к примеру, «Яндекс», а также производители «Сколково», МФТИ и ВШЭ.

Компания Центр2М разработала и успешно внедряет систему промышленной видеоаналитики CenterVision, которая использует нейросети для распознавания объектов на предприятиях с точностью до 98%.

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

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

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

Это явно не те научные статьи, которые оказали важнейшие влияние на развитие области.

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

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

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


Источники:

  1. Искусственная нейронная сеть
  2. Свёрточная нейронная сеть
  3. Ассоциативная память на нейронных сетях
  4. 7 архитектур нейронных сетей для решения задач NLP
  5. Обучение нейронной сети
  6. Области практического применения искусственных нейронных сетей
  7. Нейронные сети и распознавание изображений
  8. Чему в России обучают нейронные сети
  9. Применение нейронной сети для создания системы распознавания изображений
  10. Реализация системы распознавания образов на базе нейросетевого подхода для анализа временных рядов
  11. Intelligent video surveillance: a review through deep learning techniques for crowd analysis
  12. A survey and taxonomy on intelligent surveillance from a system perspective
Задать вопрос
Заполните форму, и наши эксперты ответят вам
(если Вы наш клиент, пишите в NOC@center2m.ru )