Ученые придумали метод сокращения энергопотребления нейросетей для использования на мобильных платформах

47aafaea60ee48d3b67d0673beaf3b5b.jpg

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

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

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

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

Исследователи из Массачусетского технологического института (МТИ) под руководством доцента кафедры электротехники и информатики Вивьен Сэ (Vivienne Sze) разработали новый подход к оптимизации сверточных нейронных сетей, который ориентирован на минимизацию энергопотребления с использованием нового инструмента оценки расходования энергии.

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

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

Исследователи представят свою работу на конференции Computer Vision and Pattern Recognition Conference. В документе они представляют методы, которые, по их словам, на 73% снижают энергопотребление по сравнению со стандартным внедрением нейросетей и на 43% превосходят существующие методы оптимизации нейросетей под мобильные платформы.

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

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

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

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

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

© Geektimes