Вопросы обучения моделей искусственного интеллекта

Вопросы обучения моделей искусственного интеллекта

Выпуск 24/25 (6748/6749) от 23 декабря 2021 г.
РУБРИКА: ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА

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


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

Обучение с подкреплением существенно отличается от трансферного обучения и пошагового обучения (см. таблицу). Это средство обучения новой модели ИИ, когда существует мало или вообще нет обучающих данных. Этот процесс аналогичен происходящему в дикой природе и основывается на обратной связи, которая действует как награда или наказание, в зависимости от полученного конкретного вывода: «Правильно понял? Укрепляй этот подход. Что-то не так понял? Изменяй подход». Обычно данный вид обучения происходит в облаке, потому что он очень труден.




Существуют некоторые явные различия между обучением с подкреплением и двумя предыдущими типами обучения. Во-первых, в отличие от двух других, обучение с подкреплением происходит во время работы развернутого приложения. Это не автономная операция. Во-вторых, это обучение может привести к неожиданным результатам. Действительно, типичные ANN устанавливают пределы того, что может быть идентифицировано. Можно подумать, что это означает, что если что-то идентифицируемое имеет функции, которых нет в изученном наборе функций, то применяемая модель ИИ не сможет с этим справиться. Эти функции должны быть явно спроектированы. При обучении с подкреплением такого ограничения нет. Модель ИИ будет развиваться в ту сторону, куда ее направит механизм подкрепления, и она может использовать подходы, которые разработчик, возможно, никогда не рассматривал.


Смешивание и подгонка

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

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

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

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


Проблемы обновления

В некоторых приложениях проблемы пошагового обучения создаются фактором обновления. Допустим, изготовитель комплектного автомобильного оборудования (ОЕМ) реализует машинное обучение, позволяющее автомобилю распознавать и интерпретировать различные уличные знаки. Эта модель ИИ поставляется с каждым проданным идентичным автомобилем. Но что, если OEM-производитель создаст возможность уточнить, как выглядят дороги и знаки в одном городе, где дороги узкие, извилистые и запутанные, по сравнению с другим городом, где больше пространства и лучше развита дорожная сеть?

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

Теперь предположим, что OEM-производитель работал над оригинальной моделью ИИ и значительно улучшил распознавание функций. Теперь он хочет обновить модель ИИ, применяемую в его парке автомобилей, с использованием радиообновления (over-the-air update). Если он заменяет модели ИИ в каждом из автомобилей, то он фактически выполняет «сброс настроек» и отказывается от индивидуального обучения, которое прошел каждый автомобиль – т.е. происходит катастрофическое забвение.

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

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

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

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

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

Объединение моделей ИИ можно осуществить и в облаке, хотя это создаст проблему с логистикой, потому что в этом примере OEM-производителю придется загружать улучшенные модели ИИ из каждого автомобиля по отдельности, объединять их с обновлением, а затем загружать новую модель ИИ индивидуально в каждый автомобиль (рис. 2). Это выливается в очень большие объемы загрузки и скачивания, что может оказаться обременительным.



https://i2.wp.com/semiengineering.com/wp-content/uploads/ai3.png?w=977&ssl=1
Источник: Semiconductor Engineering

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

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


Заключение

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

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

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

Обучение с подкреплением имеет более ограниченное пространство приложений по сравнению, скажем, с приложениями визуализации, использующими ANN и SNN. Они специально созданы для работы, которую они должны выполнять, но сегодня встречаются реже из-за специальных знаний, необходимых для их создания.

Однако, так или иначе, все меньше и меньше моделей ИИ будут стоять на месте. Вопрос только в том, когда и где они меняются, а также в том, как они меняются - как группа или индивидуально.


Bryon Moyer. Easier And Faster Ways To Train AI. Semiconductor Engineering, November 4th, 2021

https://semiengineering.com/easier-and-faster-ways-to-train-ai/

ЧИТАЙТЕ ТАКЖЕ