Старший научный сотрудник ЮУрГУ, кандидат физико-математических наук Алексей Ручай вместе с коллегами работает над задачами из самых разнообразных областей: цифровой банкинг, животноводство, идентификация лиц, распознавание опухолей по маммографии. И везде инновационные идеи в сочетании с умелым использованием техники позволяют прийти к интересным результатам.
Градиентный бустинг против случайного леса
Что такое транзакция? Операция банка по переводу денег, перевод их с одного счёта на другой и так далее.
В представлении компьютера транзакция – это данные, которые отображают историю движения денежных средств. Для чего? Для того, чтобы всегда можно было обжаловать и получить информацию о переводе.
Некоторые транзакции могут казаться подозрительными – налоговикам, банкам и правоохранительным органам. Скажем, если некто получает постоянно одинаковые поступления, не занимается ли он незаконной торговлей? Некоторые суммы могут натолкнуть на мысль и о распространении наркотиков. Борьба с «отмыванием денег» – важное условие финансовой стабильности и безопасности.
Задача искусственного интеллекта – научиться выявлять подозрительные и незаконные транзакции. Формулировать причину «человеческим языком» компьютер не обязан, ему достаточно создать математический критерий для принятия решения о законности транзакции. Для обучения используются уже наработанные базы транзакций, где подозрительные строки помечены заранее. Хорошо, чтобы база была сбалансированной, то есть «нормальных» и «плохих» транзакций в ней должно быть примерно поровну. В реальной деятельности банка подозрительные и незаконные транзакции составляют очень небольшую долю. Получив реальные данные «из жизни», система потратит на обучение больше времени, но достигнет менее эффективного результата.
Старший научный сотрудник ЮУрГУ, кандидат физико-математических наук Алексей Ручай и его коллеги использовали для обучения и тестирования своей системы базу Elliptic, в которой подобраны транзакции биткоина. Эта база не сбалансирована: в ней примерно двести тысяч транзакций, из которых приблизительно десятая часть – незаконная. Учёным, чтобы подготовить её, пришлось предварительно провести балансировку базы данных.
База Elliptic известна, и, конечно, привлекала внимание других специалистов. Те опробовали разные методы машинного обучения с занятными названиями: «случайный лес», «логистическая регрессия», «наивный байесовский классификатор», «метод многослойных персептронов». Алексею Ручаю и его коллегам удалось превзойти все предыдущие результаты с помощью градиентного бустинга.
Бустинг (от слова «усиление») помогает повысить точность предсказаний. Бустинг пошагово строит модель, на каждом шаге модель обучается на тех примерах, в которых допустила ошибку на предыдущем шаге, и тем самым исправляет их, не портя общую точность.
Слово «градиентный» пришло из анализа, такой бустинг подобен «градиентному спуску», оптимизирующему функцию, находящему её минимальные или максимальные значения. Необходимо допустить минимум ошибок и выявить максимум подозрительных транзакций, не так ли?
Результат, полученный алгоритмом XGBClassifier, – 0.9921 доля верных ответов по базе Elliptic, тогда как предыдущий опубликованный результат составлял лишь 0.9780. Разница между двумя этими числами принципиальна: прежнее не удовлетворяло требованиям к надежности выявления аномальных транзакций, теперь условия выполнены. И это победа!
Тридцать три коровы – сколько килограмм?
Сельскохозяйственных животных положено время от времени ставить на весы. Известно, что коровы от этого испытывают стресс, из-за которого теряют 5–10 % массы. Не потому что смотрят на деления весов, как находящиеся на диете модницы. Просто любая незнакомая процедура, любой близкий контакт с незнакомым человеком может испугать животное.
Крупный рогатый скот, впрочем, ещё довольно силён. Сложнее со свиньями, что растут в условиях фермы. Специалисты утверждают, что, если беременную или кормящую свиноматку отнести на взвешивание, у неё может случиться инфаркт миокарда и мгновенная смерть.
Поэтому все исследования предварительно и тщательно согласуются, эксперименты получают разрешения по биоэтике. Соблюдаются и карантинные меры. Ни одно животное в ходе измерений не должно страдать!
Старший научный сотрудник ЮУрГУ, кандидат физико-математических наук Алексей Ручай участвует в проекте по оценке живого веса сельхозживотных по их внешним габаритам – экстерьерным или морфологическим характеристикам. Работа поддержана грантом Российского Научного Фонда и выполняется совместно с Федеральным научным центром биологических систем и агротехнологий РАН в Оренбурге. Исследования продолжаются с 2017 года.
Ручные измерения при помощи рулетки вызывают у коров стресс не меньше, чем попытка заставить их встать на весы. Поэтому на помощь приходят математика, компьютерное зрение и искусственный интеллект.
Компьютерное зрение – это наблюдение через цифровую камеру и анализ изображений. Чтобы оценить контуры свиньи, необходимо либо зафиксировать её, либо дать возможность выбрать нужный ракурс самой камере. Оценивать параметры по съемке в динамике непросто, необходимо учитывать траекторию движения животного. Но выяснилось, что животные боятся и видеокамер, тем более жужжащих и движущихся. В итоге, снимать животных удобно только сверху. Закрепленные таким образом камеры загрязняются гораздо меньше.
«Каждый год наши базы пополняются изображением 200-300 особей – и коров, и свиней, -- говорит Алексей Ручай. – Создание такой базы – трудоёмкий процесс. Наши предварительные расчёты показывают, что оценка веса животного по виду сверху может дать удовлетворительные результаты, но они, конечно, будут уступать по качеству оценкам по виду сбоку».
Кроме того, вид сверху дает дополнительную информацию, и с её помощью можно получить оценку производительности как молока, так и мяса.
Вес животного подвержен сезонным изменениям, важно учитывать температуру и другие параметры окружающей среды. Погрешность оценки веса, выдаваемой моделью, составит 5–10 %, это приемлемо для агрокомплекса. Модель может ошибиться, если появится изображение животного из другой весовой категории, если оно снято не на бетонном полу, а на резиновой подстилке – таковы проблемы любых нейронных сетей.
«Геометрия, экстерьерные параметры животного, конечно, определяют массу, – поясняет Алексей Ручай. – Наша задача амбициознее: связать также генетические параметры животного с его морфологическими признаками. Мы берём генетический анализ, строим выборку и выясняем, какие гены коррелируют с высотой в холке, крестце, глубиной и шириной груди и т. д. Несколько таких генов нам удалось выявить».
Две с половиной размерности
Ещё одно направление, в котором работает Алексей Ручай, связано с распознаванием лиц. И здесь используется интересная идея – использование 2,5D-изображений, буквально «двух-с-половиной-мерных».
Сегодня системы идентификации лиц вошли в повседневность. Работают они, как правило, с двумерными изображениями – и работают эффективно. Но, естественно, иногда дают ошибки. Если лицо человека находится далеко от камеры или слишком близко к ней, если оно повернуто под углом, нейросеть может выдать ложный результат. Можно заставить встать правильно человека, установив правила и стандарты, а можно и задуматься над улучшением технологии.
Плоское изображение состоит из пикселей, каждый из которых определяется интенсивностью цветов: красного, зелёного и синего. RGB – аббревиатура, знакомая каждому пользователю компьютера. Принцип 2,5-мерной «картинки» в том, что к RGB добавляется ещё и D – глубина изображения или расстояние от камеры до поверхности объекта (в нашем случае лица).
Для определения глубины есть три способа. Первый, простой и ненадёжный – фотометрия: сравниваются два одинаковых плоских изображения, поставленные на некотором расстоянии друг от друга. Второй – с использованием лазера. И третий – ИК-подсветка: по «искривлению» инфракрасной сетки определяется геометрия объекта.
Исходным материалом служат нейронные сети, уже обученные на распознавание обычных двумерных изображений лиц. Их создание требует громадное количество изображений и обработку с помощью суперкомпьютера, на что способны лишь крупные корпорации. Вот Google и создал такую базу Imagenet. А челябинские математики создали на их основе более совершенный искусственный интеллект, учитывающий уже и «глубину» картинки.
Внимание, киберугроза!
Новый проект, в котором участвует Алексей Ручай, – «Интеллектуальные методы обеспечения кибербезопасности промышленных сетей автоматизированных систем управления технологическими процессами предприятий». Работа над проектом ведётся под руководством старшего научного сотрудника ЮУрГУ Константина Костромитина.
На Урале такие системы используются прежде всего предприятиями металлургического профиля. Высокие температуры, агрессивные кислотные испарения и прочие опасности для рабочих и для жителей города, который может оказаться в эпицентре экологической катастрофы, делают автоматизацию жизненно необходимой.
Данные от камер и датчиков поступают в обыкновенные компьютеры, связанные друг с другом протоколами вроде TCP/IP. Что, если в работу системы мешается вирус или хакер-злоумышленник решит устроить в городе локальный «апокалипсис»?
Разумеется, для предотвращения кибератак уже существует немало технических средств. Однако это напоминает «затыкание дыр». При этом узлов, требующих безопасности, на металлургическом комбинате может быть очень много.
Нейронные сети, обученные на многочисленных примерах кибератак, могли бы следить за состоянием системы «в целом», выявляя подозрительные состояния ещё до того, как они нанесли урон. Вспомним, как это происходило с «маргинальными» банковскими транзакциями, описанными в начале статьи. Искусственный интеллект поможет эффективно расставить контрольные точки и следить за ними, чтобы дать сигнал тревоги не просто вовремя, а заранее.