Автор: Сергей Лукьянчиков, инженер-консультант InterSystems
Согласование терминологии
Робот не обязательно должен быть большим, или гуманоидным, или в принципе материальным (несмотря на Википедия , что, однако, через пару абзацев смягчает первоначальную формулировку и признает неосязаемость робота).Робот – это автомат в алгоритмическом смысле, автомат для автономного (алгоритмического) решения некоторых задач.
Световой датчик, включающий свет вечером, представляет собой робота.
Почтовый клиент, который разбирает электронные письма на «внешние» и «внутренние», один и тот же.
Искусственный интеллект (в узко прикладном смысле, Википедия он больше не делится) это алгоритмы извлечения зависимостей из данных.
Само по себе оно не решит никаких проблем; для этого его необходимо сначала реализовать в виде конкретных аналитических процессов (входные данные, модели, выходные данные, управление процессами).
Аналитический процесс, выступающий «носителем искусственного интеллекта», может быть запущен человеком, а может быть запущен роботом.
И остановился тоже, то ли по тому, то ли по другому.
И нам это тоже удается.
Взаимодействие с окружающей средой
Искусственному интеллекту нужны данные, и в форме, удобной для анализа.Когда аналитик приступает к разработке аналитического процесса, данные для модели подготавливает сам аналитик.
Как правило, создается достаточно большой и полный набор данных («набор данных»), на котором модель обучается и тестируется.
Получив удовлетворительный по точности (а в более редких случаях «локально устойчивый» во времени) результат, типичный аналитик считает свою работу выполненной.
А на самом деле? На самом деле, это только полдела.
Теперь необходимо обеспечить «гладкую и эффективную работу» аналитического процесса – а с этим у аналитика могут возникнуть трудности.
Инструменты, используемые для разработки механизмов искусственного интеллекта и машинного обучения, за исключением простейших случаев, не подходят для продуктивного взаимодействия с внешней средой.
Те.
Вероятно, можно заставить, например, Python читать и преобразовывать данные с датчиков в процессе производства (хотя бы на короткое время).
А вот переключение между несколькими процессами производства и управления в зависимости от ситуации, масштабирование соответствующих вычислительных мощностей, обработка всевозможных «исключений» (недоступность одного из источников данных, сбой инфраструктуры, проблемы взаимодействия с пользователем и т. д.) — Python не предназначен.
для этого .
Для этого требуется платформа управления и интеграции данных.
И чем более загружен, чем более вариативен наш аналитический процесс, тем выше будет планка требований к интеграции и «поддетализации» компонентов решения.
Аналитик, тяготеющий к механизмам ИИ, пытающийся реализовать аналитический процесс через скриптовый язык своей привычной среды моделирования (и утилит, разработанных «под нее», например «ноутбуков»), сталкивается с невозможностью обеспечить свой аналитический процесс в полной мере.
продуктивное использование.
Адаптивность и адаптивность
Экологическая изменчивость проявляется по-разному.В ряде случаев изменится суть и характер явлений, управляемых искусственным интеллектом (выход предприятия в новые сферы деятельности, требования национальных и международных регуляторов, эволюция потребительских предпочтений к продукции предприятия и т. д.).
В других — характер данных, поступающих из окружающей среды (новое оборудование с новыми датчиками, более эффективные каналы передачи данных, наличие новых технологий «маркировки» данных и т. д.).
Может ли аналитический процесс «перестроиться» при изменении структуры среды? Упростим вопрос: насколько легко перестроить аналитический процесс при изменении структуры среды? По нашим наблюдениям, ответ прост и печален: в большинстве известных нам (не наших!) реализаций придется переписывать, как минимум, аналитический процесс — а зачастую и содержащийся в нем ИИ.
Возможно, не переписывать буквально от «ввода к выводу», а придется что-то добавлять путем программирования для обработки новых реалий, менять внутреннюю логику самого «процесса применения модели» и т. д. А это может стать непомерно дорого – особенно если окружающая среда динамично меняется.
Агентство: предел автономии?
Как, наверное, уже заметил читатель, мы движемся в сторону усложнения реальности, предлагаемой вниманию искусственного интеллекта.И отмечаем возможные последствия для «инструментальной части».
В надежде, что в конце концов мы сможем найти ответ на все возникающие проблемы.
Мы подошли к необходимости обеспечить аналитическому процессу такую степень автономности, чтобы он мог справляться не только с изменчивостью среды, но и с неопределенностью ее состояния.
Мы не говорим о квантовой природе среды (хотя об этом поговорим в одной из следующих публикаций), а пока говорим лишь о вероятности получения ожидаемого аналитическим процессом состояния в ожидаемый момент времени.
и в ожидаемом «объеме».
Например: процесс «думал», что справится со следующим обучением модели до поступления новых данных для применения модели, но не «справился» (по объективным причинам в обучающую выборку входило больше записей, чем обычно , и обучение модели затянулось).
Или еще: группа разметки добавила в процесс новую печать, модель векторизации уже обучена на новом текстовом материале, а нейросеть все еще работает над старой векторизацией и отправляет в «лом» чрезвычайно интересную новую информацию.
Справиться с такими ситуациями, как показывает наша практика, можно только разделив ранее единый аналитический процесс на несколько автономно работающих компонентов и создав для каждого результирующего агентного процесса собственную «буфер-проекцию» среды.
Назовем это действие (прощай, Википедия) агентством аналитического процесса.
А качество, придаваемое агентностью аналитическому процессу (как правило, всей системе, состоящей сразу из нескольких процессов), будем называть агентностью.
Ставим задачу роботу
Давайте попробуем придумать проблему, для решения которой потребуется роботизированный ИИ со всеми вышеупомянутыми свойствами.За идеей далеко ходить не придется, так как в Интернете опубликовано множество интересных случаев и решений к ним – воспользуемся одним из таких «кейсов-решений» (как для постановки задачи, так и для ее решения в терминах искусственного интеллекта).
Выбранная нами задача будет сводиться к классификации высказываний в социальной сети Twitter («твитов») на «негативные» и «позитивные» с точки зрения их эмоциональной окраски.
Для обучения моделей у нас будут достаточно большие выборки «размеченных» твитов (т.е.
с уже определенной эмоциональной окраской), и нам нужно будет классифицировать «неразмеченные» твиты (т.е.
с неопределенной эмоциональной окраской):
Рисунок 1 Постановка задачи классификации текстов по эмоциональной окраске (сентимент-анализ)
Подход к созданию математических моделей, способных обучаться на размеченных текстах и впоследствии классифицировать тексты с неопределенным эмоциональным подтекстом, сформулирован в достаточно известной сейчас работе.
пример , опубликованный в Интернете С.
Сметаниным.
Данные для задач этого класса были любезно собраны, обработаны и опубликованы Ю.
Рубцова.
И с этого мы могли бы начать «собирать робота» — но немного усложним классическую формулировку одним условием: как размеченные, так и неразмеченные данные предоставляются аналитическому процессу в виде файлов стандартного размера по мере процесса.
«потребляет» уже предоставленные файлы.
Таким образом, нашему роботу нужно будет начать работать с минимальными объемами обучающих данных, постоянно повышая точность классификации, повторяя обучение модели на увеличивающихся объемах обучающих данных.
Поехали в мастерскую InterSystems
На примере только что сформулированной нами задачи мы покажем, как роботизировать искусственный интеллект с помощью платформы InterSystems IRIS и набора расширений к ней под названием ML Toolkit. В то же время, обеспечение того, чтобы аналитические процессы, которые мы создаем, были способны продуктивно взаимодействовать с окружающей средой, были адаптируемыми, адаптируемыми и агентными («три А»).Начнем с агентства.
Мы разместим в платформе четыре бизнес-процесса:
Рисунок 2. Конфигурация агентной системы бизнес-процессов с компонентом для взаимодействия с Python
- ГЕНЕРАТОР («генератор») – по мере потребления файлов другими процессами он создает новые файлы с входными данными (с пометкой – «положительные» и «негативные» – твиты и твиты с неопределенным эмоциональным подтекстом)
- БУФЕР («буфер») – поскольку записи потребляются другими процессами, читает новые записи из файлов, созданных генератором, и удаляет эти файлы после чтения записей
- АНАЛИЗАТОР («анализатор») – потребляя записи из буфера неопределенных твитов, применяет к этим записям обученную сверточную нейронную сеть и помещает полученные записи с вычисленной «положительной вероятностью» в буфер монитора; потребляя записи из буферов положительных и отрицательных твитов, обучает нейронную сеть
- МОНИТОР («монитор») – потребляя обработанные анализатором записи из собственного буфера, он контролирует значения метрик ошибок классификации твитов нейросетью во время последнего обучения и отправляет анализатору сигнал о необходимости нового обучения нейросети
Рис.
3. Поток данных внутри агентской системы Все процессы внутри нашей системы работают независимо друг от друга, но учитывая сигналы друг друга.
Например, сигналом для процесса генератора о начале формирования следующего файла с записями является удаление процесса буферизации предыдущего файла с записями.
Теперь об адаптивности.
Адаптивность аналитического процесса в нашем примере реализуется за счет «инкапсуляции» ИИ в виде элемента, независимого от логики несущего процесса, с выделением его основных функций — обучения и применения моделей:
Рисунок 4. Выделение в аналитическом процесс-анализаторе основных функций ИИ – обучения и применения (скоринга) математических моделей.
Поскольку представленный выше фрагмент процесса анализатора является частью «бесконечного цикла» (начинающегося при запуске процесса анализатора и работающего до остановки всей системы агента), а функции ИИ выполняются параллельно, процесс имеет возможность адаптировать работу ИИ к ситуации: обучать модели, когда возникает необходимость, и постоянно применять имеющиеся в его распоряжении версии моделей.
Необходимость обучения моделей определяется процессом адаптивного монитора, который работает независимо от процесса анализатора и применяет собственные критерии для оценки точности моделей, обученных анализатором:
Рисунок 5. Распознавание монитором типа модели и применение соответствующих критериев для оценки точности модели.
Перейдем к адаптивности.
Аналитический процесс в InterSystems IRIS — это бизнес-процесс, имеющий графическое или XML-представление в виде последовательности шагов.
Шаги, в свою очередь, могут представлять собой последовательности шагов, циклов, проверок условий и других элементов управления процессом.
Шаги могут запускать программный код для выполнения или передавать информацию (которая также может быть программным кодом) для выполнения другим процессам или внешним средам.
В частности, если необходимо изменить аналитический процесс, у нас есть возможность сделать это как в графическом редакторе, так и в IDE. Изменение аналитического процесса в графическом редакторе позволяет адаптировать логику процесса без программирования:
Рисунок 6 Анализатор процессов в графическом редакторе с открытым меню добавления элементов управления
И наконец, взаимодействие с окружающей средой.
Важнейшим компонентом среды в нашем случае будет среда математического моделирования Python. Для обеспечения взаимодействия со средами Python и R созданы соответствующие функциональные расширения: Python-шлюз И Р-шлюз .
Ключевой функционал обоих механизмов — возможность взаимодействия с соответствующей средой с помощью удобных компонентов интеграции.
Компонент для взаимодействия с Python мы уже видели в конфигурации нашей агентской системы.
Таким образом, бизнес-процессы, содержащие ИИ, реализованный на Python, взаимодействуют с Python.
Например, анализатор процессов содержит функции обучения и применения моделей, реализация одной из которых на Python в платформе InterSystems IRIS выглядит следующим образом:
Рисунок 7. Реализация на Python в платформе InterSystems IRIS функции обучения моделей в процессе анализатора
Каждый из шагов в этом процессе отвечает за обработку определенного взаимодействия с Python: передачу входных данных из контекста процесса InterSystems IRIS в контекст Python, передачу кода для выполнения в Python, возврат выходных данных из контекста Python в процесс InterSystems IRIS. контекст.
Наиболее часто используемый тип взаимодействия в нашем примере — передача кода на исполнение на Python:
Рисунок 8. Код Python, помещенный в процесс анализатора в InterSystems IRIS, отправляется на исполнение в среду Python.
Некоторые взаимодействия возвращают данные из контекста Python в контекст процесса InterSystems IRIS:
Рис.
9. Визуальная трассировка сеанса анализатора процесса, показывающая информацию, возвращаемую Python на один из этапов процесса.
Давайте запустим робота
Запустить робота прямо в этой статье? Почему бы и нет, вот и все.записывать наш вебинар, в ходе которого (помимо ряда других интересных историй, связанных с ИИ-роботизацией!) показана работа вышеописанного сценария.
Поскольку время вебинара, к сожалению, ограничено – а мы хотим показать «полезную работу» нашего роботизированного сценария максимально компактно и наглядно – мы включили ниже более полный обзор результатов обучения моделей (7 последовательных тренировочные циклы вместо 3-х на вебинаре):
Результаты вполне соответствуют интуитивным ожиданиям: по мере заполнения обучающей выборки «размеченными» положительными и отрицательными твитами качество нашей модели классификации улучшается (об этом свидетельствует увеличение «площади под кривой», той самой AUC — Area Под кривой).
Какие выводы хотелось бы сделать в конце статьи:
- InterSystems IRIS — мощная платформа роботизированной автоматизации процессов на базе искусственного интеллекта.
- Искусственный интеллект может быть реализован как во внешних средах (например, Python и R с их модулями, содержащими готовые алгоритмы), так и в самой платформе InterSystems IRIS (с использованием встроенных библиотек алгоритмов или путем написания алгоритмов на Python или R).
– InterSystems IRIS обеспечивает взаимодействие с внешними средами искусственного интеллекта, позволяя объединить их возможности с собственным функционалом.
- InterSystems IRIS роботизирует искусственный интеллект, используя «три А»: адаптируемые, адаптивные и агентные бизнес-процессы (также известные как аналитические процессы).
- InterSystems IRIS работает с внешним ИИ (Python, R) через наборы специализированных взаимодействий: передача/возврат данных, передача кода на исполнение и т.д. В рамках одного аналитического процесса могут осуществляться взаимодействия с несколькими средами математического моделирования.
- InterSystems IRIS консолидирует входные и выходные данные модели в единую платформу, выполняет историзацию и управление версиями вычислений.
- Благодаря InterSystems IRIS искусственный интеллект можно использовать как в специализированных аналитических движках, так и встраивать в OLTP или интеграционные решения.
Мы будем рады проанализировать потребности вашей компании и совместно определить план действий; Контактный адрес электронной почты нашей команды экспертов AI/ML – [email protected] .
В опросе могут участвовать только зарегистрированные пользователи.
Войти , Пожалуйста.
Какие функции платформы автоматизации искусственного интеллекта, по вашему мнению, наиболее важны для вашего предприятия? 100% Взаимодействие с внешней (по отношению к ИИ) средой 2 100% Возможность эффективной адаптации (редактирования, перестройки) аналитического процесса 2 100% Возможность создания адаптивных аналитических процессов с использованием заранее настроенных компонентов 2 100% Возможность быстрого создания агента системы, использующие шаблоны процессов - агенты 2 100% Универсальная поддержка взаимодействия со средами математического моделирования 2 50% Универсальная поддержка взаимодействия со службами облачных вычислений 1 50% Поддержка квантовых вычислений 1 0% Другие 0 проголосовали 2 пользователя.
2 пользователя воздержались.
Теги: #Машинное обучение #искусственный интеллект #ИИ #мл #RPA #робототехника #ИИ и машинное обучение
-
Ваш Собственный Jabber-Сервер – Бесплатно!
19 Oct, 24 -
10 Заповедей Великого Лидера
19 Oct, 24 -
«Пиратов» Снова Гонят С Российских Улиц
19 Oct, 24 -
Микросервисный Дизайн
19 Oct, 24 -
Адаптивное Шумоподавление Речи
19 Oct, 24