Машинное обучение
Как нейросети помогают деревообработке
В 2022 г., с момента релиза ChatGPT, Midjourney и Dall-E, а после появления в 2023 г. российских AI-моделей «Кандинский» и Яндекс GPT тем более, начался настоящий бум нейросетей. Они привлекли внимание широкой аудитории, так как способны создавать текст, изображения, музыку и даже видео, имитируя творчество человека. И, что особенно важно, составить запрос (промпт) для генерации картинки или текста под силу любому пользователю без специальных технических знаний.
СМИ с удовольствием подхватили интерес аудитории к теме, обсуждая все возможные аспекты – от авторского права до прогнозов, когда ИИ отберет у человека работу и сделает бесполезными ряд профессий. Важно отметить, что все перечисленные модели относятся к генеративным нейросетям. Midjourney рисует фантастические пейзажи, ChatGPT пишет статьи (не эту, разумеется), а «Кандинский» генерирует изображения в заданном стиле. В большинстве случаев генеративные нейросети были призваны предсказывать какие-либо события и вероятности, но оказалось, что эти модели можно использовать и для ведения связного диалога с пользователем, ответы которому выдаются в виде текста или изображения. Именно такие AI-модели и стали в массовом сознании воплощением понятия «нейросеть».
Что же такое нейросеть
Однако понятие «искусственный интеллект» значительно шире и охватывает много направлений. Помимо моделей для создания контента, существуют нейросети, которые классифицируют и анализируют данные, оптимизируют процессы и работают с временными рядами, помогая прогнозировать события и вероятности. Генеративные модели – это только один инструмент, а не вся суть ИИ. И для индустриальных задач, таких как деревообработка, требуются совсем другие нейросети.

Одна из задач, которая хорошо решается при помощи нейросетей и машинного обучения, это семантическая сегментация и классификация. За этими умными словами скрываются довольно понятные действия, которые человек выполняет каждую секунду очень много раз. Глядя на любую сцену, мы сначала мысленно выделяем на ней отдельные объекты – проводим семантическую сегментацию. А затем относим каждый предмет к тому или иному классу, то есть классифицируем. Например, справа мы видим чайник, слева чашку, а рядом булочку – сегментация и классификация выполнены, и мы можем принять решение выпить чаю. Аналогичную задачу мы решаем, когда нужно исследовать пиломатериал на предмет наличия пороков древесины. Если видов пороков конечное число, то разнообразие их форм, размеров и проявлений бесконечно, поскольку древесина живой материал, который различается и от региона к региону, и в одной партии сырья. Поэтому обученные нейросети пока самый лучший инструмент для сегментации и классификации.
Похожие задачи возникают не только в деревообработке, но и во многих других сферах. Например, автоматический анализ МРТ и рентгеновских снимков в медицине. Это утомительная и очень сложная работа, которую уверенно можно делегировать нейросетям, предназначенным для сегментации изображений и последующей классификации сегментов. ИИ подает сигнал рентгенологу, что на снимке есть необычный объект, который может быть признаком какого-то заболевания. Так на ранних стадиях выявляются опухоли и скрытые патологии, тогда как при традиционной диагностике для этого требуется высочайшая квалификация специалиста.
Другой популярный пример – применение в картографии и анализе аэрофотоснимков. Огромное количество спутников постоянно ведут съемку Земли в видимом и невидимых диапазонах. Семантическая сегментация и классификация с помощью нейросетей позволяют оперативно размечать и обновлять карты. Одним из результатов этой работы стали привычные всем навигаторы и алгоритмы прокладки маршрутов с учетом меняющегося ландшафта и других изменений объектов. А в геологии съемка в невидимых диапазонах может выявить присутствие тех или иных полезных ископаемых. ИИ решает много других экологических и хозяйственных задач – от контроля миграции пингвинов и пасущихся коров до выявления очагов лесных пожаров и участков незаконной вырубки леса. Кстати, современная таксация лесов тоже реализуется с помощью нейросетей.
Машинное зрение роботов для ориентации в пространстве было бы невозможно без алгоритмов семантической сегментации и классификации объектов. Это относится и к самоуправляемым автомобилям, и к БПЛА, и даже к бытовым роботам-пылесосам. Распознавание лиц, голосов и другой биометрии используются в разных системах безопасности, и идентификации пользователей тоже осуществляется путем сегментации и классификации. Словом, такие AI-модели находят применение почти во всех сферах человеческой деятельности.
Как AI участвует в анализе дефектов и пороков древесины
Проект сканера пиломатериалов, разработанный компанией KnotInspector, использует искусственный интеллект для анализа пороков древесины. Мы выпускали прототипы этого решения еще 10 лет назад, до того как нейросети получили широкое распространение. Тогда мы задействовали другие математические методы – эвристический анализ и некоторые методы машинного обучения. По сути, любая нейросеть – это математическая модель с некоторым количеством данных на входе и выходе. А называется нейросетью, потому что функционирует по принципам, сходным с обнаруженными у настоящих последовательностей биологических нейронов, которые составляют основу нервной системы живых организмов. Но для промышленного внедрения сканера пиломатериалов нам пришлось потратить на исследование и разработку не один год, пока результаты работы алгоритмов не стали соответствовать нашим ожиданиям.
Что же понадобилось сделать, чтобы применить эти модели для создания сканера пиломатериалов? Мы изучали научные статьи и публикации разработчиков разных видов ИИ, подбирая работы с описанием задач, максимально похожих на наши. Готовых решений не было, мы могли лишь опираться на некоторые блоки существующего открытого кода, но в итоге создавали новые уникальные нейросети.
Наши инженеры по машинному обучению выбрали архитектуру нейросети: внутреннее устройство, используемый математический аппарат. Необходимо было определить целевые функции, по которым определяется, хорошо нейросеть работает или плохо. После этого нейросеть необходимо было обучить, то есть подобрать параметры нейронов так, чтобы, подавая на вход одно изображение доски, на выходе получать другое, классифицированное по порокам древесины. Да, это не универсальный подход, но в проекте сканера мы используем именно его.
Как нейросеть учится определять дефекты

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

Следующая задача трудоемкая в плане вычислений. Сейчас мы используем нейросети примерно с 200 миллионами параметров, которые необходимо подобрать, чтобы ИИ научился распознавать дефекты. К такому числу параметров пришли не сразу. Пробуя компактные и крупные по архитектуре нейросети, мы искали баланс между скоростью распознавания и способностью ИИ к глубокому обучению. Получая набор изображений (датасет) размеченных сотрудниками досок, специалисты по машинному обучению прогоняют эти данные через нейросеть на мощном компьютере и оценивают полученные результаты. Затем меняют параметры и снова проводят оценку. Заметим, что у GPT-сетей, которые ведут диалог, напоминающий человеческий, сотни миллиардов настраиваемых параметров. Нейросеть под капотом сканера пиломатериалов, безусловно, на порядки проще, но и задачи она решает элементарные – рассмотреть картинку и сказать: «Здесь у нас такой сучок, здесь другой сучок, здесь трещина, и так далее».
Разметка данных, как и обучение нейросети, проводятся, по сути, бесконечно, с тем чтобы повысить точность. Для получения промышленного качества распознавания нам пришлось разметить десятки тысяч досок. Не так много, но сделать это с первого раза было непросто, особенно в начале пути, когда приходилось переразмечать их снова и снова, получая обратную связь то от инженеров по машинному обучению, то от технологов деревообрабатывающих предприятий.
Для того чтобы из классификатора создать систему раскроя, была разработана целая цепочка алгоритмов, не имеющих отношения к нейросетям. GPT, LLM и другие генеративные модели ИИ также являются ансамблями нейросетей (так это называется в машинном обучении), сдобренными большим количеством всевозможных оригинальных алгоритмов. Эти комбинаторные оптимизационные алгоритмы позволяют перебрать большое количество вариантов раскроя доски для выявления максимального выхода по стоимости на основе технических условий предприятия. Из этой последовательности и получается ядро программного комплекса, который представляет собой сканер пиломатериалов, выполняющий их сортировку и раскрой на основе визуального анализа.
Цифровая эволюция: как нейросети обучают нейросети
А что же генеративные нейросети, о которых мы упомянули в начале? В сканере нашлось применение и таким моделям ИИ, сейчас активно работаем над тем, чтобы доверить обучением нейросети не человеку, а другой нейросети генеративной модели. Ее алгоритм напоминает привычный обывателю используемый в генеративных нейросетях, восстанавливающих или дорисовывающих картинку по ее фрагментам. Наша нейросеть, находясь один на один с досками, пытается по изображению вывести для себя понятия пласти доски, фона вокруг доски, дефектов. Обученная таким образом, она становится «донором», отдавая свою способ- ность выделять детали изображения доски (которую в машинном обучении называют энкодером) новым поколениям нейросетей, обучающихся на разметке наших киберплотников. То есть повторяется модель эволюции в живой природе: все наши нейросети – классификаторы пороков древесины – восходят к одному общему предку, но различаются способностями, привитыми им опытными селекционерами. Каждый вычислительный эксперимент, продолжающийся 15–20 часов, подобен поколению, в котором самые приспособленные особи дадут потомство, а остальные станут достоянием истории. Деревьям потребовались сотни миллионов лет, чтобы приобрести то разнообразие, за которое мы их ценим. А нашим нейросетям хватило нескольких лет разработки, чтобы научиться разбираться в древесине. Но эволюция продолжается, и каждый день создаются новые, более совершенные нейросети.
Текст Дмитрий Ивченко,
основатель ГК TruePositive, руководитель проекта сканера пиломатериалов KnotInspector