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

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

Выпуск 23(6747) от 25 ноября 2021 г.
РУБРИКА: ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА

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

В трансферном обучении и пошаговом обучении используются предварительно подготовленные модели, и разработчики адаптируют их к новым приложениям, хотя каждая из методик обучения работает по-своему. Кроме того, существует обучение с подкреплением, предоставляющее собой еще один способ улучшить модель «на лету», но оно отличается от некоторых более знакомых понятий глубокого обучения. Например, специалисты по машинному обучению аудиоприложений корпорации Infineon отмечают, что стили обучения варьируются от человека к человеку, но, что более важно, они варьируются от приложения к приложению. Разработчики Infineon активно используют пошаговое обучение, потому что оно обеспечивает баланс между обобщением (способностью нейронной сети к распознаванию образов, отсутствующих в обучающем множестве) и подстройкой в соответствии с требованиями заказчика.

При рассмотрении вопроса о доступе к ценным учебным данным нужно отметить огромное неравенство, существующее между различными фирмами. Действительно, такие корпорации, как Amazon, Google и Facebook, ежедневно собирают огромные массивы данных. Многие «тесты» или «викторины» на Facebook, например, являются просто уловками для получения данных. Вроде бы развлекательная программа «Как вы выглядели 10 лет назад?» вызывает огромный отклик, позволяя Facebook улучшать свои алгоритмы старения так, как это могут немногие другие компании. Но это не означает, что остальные компании полностью лишены возможностей получения наборов обучающих данных.

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


Разбивка моделей на две части

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

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



Источник: Semiconductor Engineering Рисунок 1. 

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


Трансферное обучение

Трансферное обучение - это единственный из трех типов обучения, реализующий особый подход к разработке, выполняемый до развертывания модели. Идея состоит в том, чтобы при обучении новой модели не начинать с нуля, а применять данные предшествовавших моделей – по аналогии с повторным использованием СФ-блоков и библиотек элементов при проектировании ИС. Трудность в том, что не всегда есть пригодные данные, а также в том, что имеющиеся данные могут быть неверны. Тем не менее, по мнению представителей корпорации Cadence, такой подход экономит время – в противном случае один и тот же процесс обучения придется повторять снова и снова. Очевидно, что это неэффективно. Указывается, что трансферное обучение очень важно для операций обобщения при машинном обучении, так как позволяет брать знания из какой-либо области и применять их к аналогичной проблеме в той же области.

Например, специалисты корпорации Google обучили визуальную модель классификации 1000 объектов. Это может быть больше, чем требуется любому приложению, но при этом они уточнил идентификацию характеристических признаков, необходимых для всех этих объектов. Это делает вероятным, что приложение сможет выполнить необходимую работу с характеристическими признаками, необходимыми для подмножества объектов, которые может потребоваться классифицировать новому приложению.

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

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

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

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


Пошаговое обучение: добавление классов

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

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

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

При использовании многих ANN окончательная классификация выполняется на последнем уровне с помощью функции softmax (известна также как нормированная экспоненциальная функция). Эта функция берет вектор чисел и преобразует его в вектор, все члены которого находятся в диапазоне от 0 до 1, и все записи которого равны 1. Другими словами, их можно интерпретировать как вероятности.

Каждая запись в результирующем векторе - это вероятность того, что изображение будет классифицировано как определенная вещь. Если вы обучили модель распознавать 1000 предметов, то в этом векторе будет 1000 записей, и каждая запись говорит о том, насколько вероятно, что классифицируемый предмет является этой вещью. С помощью ANN на основе softmax, если вы измените количество классифицируемых элементов, вам необходимо повторить вычисление softmax с новым размером вектора, который изменяет каждый векторный элемент. Таким образом, между классифицируемыми элементами существует зависимость.

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

В случае с моделью фирмы BrainChip в ее узлах последнего уровня есть переключаемый «обучающий бит». Когда он выключен, нейрон будет работать так, как ожидалось во время формирования логического вывода. Добавление какого-либо элемента означает, что на новом узле будет включен обучающий бит, и он будет наблюдать за рисунком пиков импульсов во время обучения.

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

Разработчики обращают внимание на то, что в случаях использования ANN функция softmax не должна быть препятствием. При использовании многих методов классификации, где отсутствует функция softmax, обычно используется «метрическое обучение». При этом для классификации используется кластеризация, которая может быть выполнена для нового класса независимо от существующих классов.


Другие взгляды на пошаговое обучение

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

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

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

В некоторых случаях улучшения из множества различных развертываний модели отправляются обратно в «материнскую модель» в облаке, чтобы улучшить общую модель для распространения в обновленном варианте. Это пример федеративного обучения, когда обучение проводят распределенные точки вместо осуществления всего процесса обучения в одном месте. Федеративное обучение - это получение некоторой метаинформации и передача в восходящем направлении. Крупнейшими сторонниками федеративного обучения являются корпорации Google и Facebook.

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

Продолжение следует

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

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


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

Выпуск 24/25 (6748/6749) от 23 декабря 2021 г. г.
Выпуск 22(6746) от 11 ноября 2021 г. г.