Рука ИИ: как ML захватывает промку?
На волне историй про практическое применение ИИ захотелось сделать и свой обзор на эту тему.
Я возьму область, которая мне близка, а именно промышленные решения. Мне они всегда нравились тем, что чаще всего имеют какое-то физическое воплощение. Это не просто модель на сервере, это можно потрогать (если не очень горячо и не отрежет руку).
Для начала хочу отметить, что любое промышленное производство — это вещь довольно консервативная. Там очень аккуратно относятся к новинкам и изменениям в бизнес-процессах. Потому я был уверен, что ИИ еще не скоро доберется до этой области. Но нет, даже такие консервы как металлурги уже вовсю используют технологии. Какие задачи они решают?
Посчитать.
Детекция и подсчет — это довольно просто, надежно и удобно. А, главное, тут легко можно заменить человека, у которого глаз замыливается.
На конвейере, где строго по одной линии идет одна деталь номенклатуры, никакого ИИ особо и не надо. Можно посчитать более простыми способами на основе датчиков.
Однако, когда на конвейере номенклатура изделий может быть разная у нас проблема. Ведь теперь в штуках посчитать не получится, надо еще классифицировать. И вот тут ИИ справляется на ура. Вешаем камеру (а лучше несколько) и спокойно считаем. Нам и номенклатуру распознают, и число штук скажут. А может еще и брак сдетектят.
Разновидность этого кейса — когда конвейера нет вообще и нам нужно пересчитывать что-то, что перемещается само. Скажем, людей или транспорт.
Считаем правильно
Распознать.
В целом, кейс связан с предыдущим, но тут мы не считаем, а пытаемся что-то понять. Самая популярная история — СКУД и распознавание лиц. Т.е. на проходной установлена камера, которая пускает только людей из базы, а людей не из базы не пускает.
Чуть более сложная история — детекция СИЗов на сотрудниках. Но и эта область сейчас активно растет и расширяется. Что логично — если рабочий ходит по цеху без каски, последствия могут быть фатальными.
В тему безопасности же пересечение запретных зон. Это когда мы выделяем на камерах области, куда заходить нельзя. Почему там нельзя находиться, вопрос десятый. Может что-то тайное. Или там просто ездит кран, который может проехать по рабочему. Важно другое — мы легко поймем, что в запретной зоне человек, но сможем отличить его, скажем, от дергающейся на сквозняке тряпки.
Думать нелинейно.
Вот это уже более интересная история. Есть ситуации, когда внешние условия меняются и мешают получать нам входные данные.
Пример. Мы смотрим камерой в чан с металлом и пытаемся понять процент примеси шлака в этом чане. Визуально шлак определяется как область другого, отличного от металла цвета. Проблема в том, что цех с раскаленным чаном очень специфичное место. Визуальные условия там постоянно меняются. Допустим, может пройти выход пара, который исказит картинку. На человеческий взгляд ничего особенного — примеси все равно видно, просто чуть сменилась цветопередача картинки. Но объяснить это линейной логикой проблематично. Проще модель обучить.
Похожую историю рассказывали коллеги из ЕвРАЗа в прошлом году.
Заглянуть в чан
Думать линейно, но много.
Даже, если у нас все подчиняется четким законам, и мы, в теории, можем выстроить дерево if-ов, у нас могут возникнуть проблемы. Это происходит тогда, когда число параметров слишком велико и у системы колоссальная вариативность.
Для примера приведу задачу, которую сейчас решают коллеги с ОМК. На основании характеристик сортамента (марка стали, класс прочности, толщина листа, категория проката, ГОСТ) определить набор необходимых испытаний и приемочные границы. Это исключительно справочная история. Грубо — нужно подать на вход набор параметров, а на выходе получить ответ.
Беда в том, что число параметров легко может зашкалить за тысячу. И размер справочников не добавляет простоты.
На данный момент задача еще в процессе решения, ОМК вынесли ее на хакатон, который планируется в ближайшее время.
Анализировать.
Вот чем точно любили заниматься наши предприятия последние несколько лет, так это собирать данные. Свое озеро (или, на худой конец, прудик) имеет любая уважающая себя компания.
Проблема была примерно такая — когда первые истории с ИИ только начинали внедрять на практике (года с 2016, плюс-минус) им отчаянно не хватало вводных. Многие процессы были не оцифрованы и опереться было не на что.
Потому началась массовая оцифровка этих самых процессов. В какой-то момент она даже превратилась в самоцель. Общаешься с компанией и тебе с гордостью говорят:
— А вот у нас озеро воооот на столько терабайт.
— И что вы с ним делаете?
— Ничего. Просто плещется.
Сейчас уровень ИИ сильно продвинулся вперед, и эта бессистемная погоня за данными стала приносить плоды.
Изучая технологический процесс на длинной перспективе, можно сделать интересные и, порой, необычные выводы. К примеру, мы видим нарастающий процент брака по определенной детали. Логично, что надо раскрутить технологическую цепочку. Скорее всего, у нас деградирует какой-то механизм в линии и штампует все больше брака. Но брак — это очевидный вывод, за ним и так обязательно следят. А о чем нам может сказать все уменьшающееся число металлического лома с одного вагона? О том, что поставщик вконец обнаглел и подсыпает в вагон земли. Вагон же сдается по весу. В процессе приемки землю, конечно, уберут, но начнется долгая возня взаимных претензий с поставщиком. Он-то отчитывается — вот я вам полный вагон металла отправил, вот фото.
Если вы считаете, что это бред, поговорите с теми, кто занимается ломом металла в промышленных масштабах. Еще и не такое узнаете.
Управлять.
Задача управления механизмами в контексте ИИ всегда вызывает определенные опасения. Во-первых, все мы видели «Терминатора». И подсознательный страх, что робот-пылесос кааак обучится, да кааак устроит революцию сидит в каждом втором инженере.
Во-вторых, многие данные от ИИ все еще валидируют люди. ИИ может выступить помощником, но перекладывать на него всю ответственность (а в случае управления механизмами так и происходит) решаются не все.
Однако в Яндексе работают смелые люди, и, благодаря им, на складе Лемана ПРО (бывший Леруа) появилась огромная роборука с ИИ.
Суть руки — она разгружает подъезжающие палеты и по ряду параметров может понять габариты и вес коробки. Зная эти вводные, она сортирует приезжающий товар.
С одной стороны, тут относительно небольшая цена ошибки. Рука никому не врежет, максимум, что она может — перепутать коробки. На этапе пилотного тестирования кажется, что некритично.
С другой — управление механизмами с помощью ИИ — это действительно смело.
Склады — это вообще интересная тема, ибо самые технологичные уже могут обходиться почти без людей. И, как следствие, почти без пересорта. Впереди планеты всей тут крупные торговые площадки, которые прокачивают через себя колоссальное число товара. Но пилоты, доказавшие свою состоятельность в маркетах, потом перекочуют куда-то еще уже стандартными решениями.
Как видите, я привел не так уж много примеров, но мы уже затронули металлургию, пищевую промышленность, торговлю и сборку/производство.
Честно говоря, когда ИИ только появлялся, я в него не очень верил. Казалось, что это очередная новомодная игрушка, которая займет свою нишу, но не оправдает всех надежд. Но нет, произошла настоящая революция. Я бы даже сказал, что надежды были переоправданы. Скайнета, правда, пока не создали, но оно и к лучшему.