Редукция нейронных сетей
Широкое применение искусственных нейронных сетей для решения различных задач является одним из основных драйверов развития информационных технологий в ближайшем будущем. По мере роста сложности этих задач, растет сложность самих сетей, повышаются требования к аппаратной базе, на которой происходит обработка информации. В настоящее время, в условиях ограничения поставок оборудования для высокопроизводительных вычислений в РФ, перед многими компаниями, использующими нейросетевые решения, встала проблема скорости обработки данных.
Существует два возможных подхода к повышению скорости работы – увеличить мощность аппаратной базы либо упростить саму нейросеть. Известно, что для эффективного обучения, нейросеть должна обладать значительной избыточностью, обладать большим количеством степеней свободы для возможности подстройки. Для функционирования эта избыточность уже не требуется. На этом принципе и основано понижение сложности структуры сети, которое дает возможность значительного ускорения работы нейросетевых решений для любых задач, включая управление беспилотными транспортными средствами, анализ медицинских данных, распознавание естественного языка, анализ смысловых конструкций и т.д. Разработанное решение позволяет приблизить большие нейросети к мобильным и бытовым устройствам, сделав искусственный интеллект их естественной составляющей.
Принцип функционирования процедуры редукции заключается в последовательных инвариантных преобразованиях нейросети с постепенным исключением ее элементов – синапсов, нейронов, целых слоев, вклад которых в результат, в процессе вышеуказанных преобразований, сводится к минимуму. Результатом является снижение размеров нейросети в 10 и более раз с пропорциональным увеличением скорости работы и снижением требований к объему занимаемой памяти в ускорителях.
Для конечного потребителя процедура предоставляется в формате услуги по редукции нейронных сетей, либо в формате неэксклюзивной лицензии на самостоятельное использование программного обеспечения.
В качестве входных элементов процедура редукции имеет исходную нейросеть, задачник, на котором нейросеть обучалась, и минимально допустимую точность функционирования редуцированной нейросети (не выше исходной). Результатом работы является нейросеть меньшего размера, выполняющая ту же функцию, что исходная, с точностью не менее заданной.
Редуцированные нейросети могут найти применение, прежде всего, в конечных устройствах, где важна скорость функционирования при наличии ограничений по производительности вычислений – дорожные камеры, беспилотная техника, мобильные устройства. Также процедура будет востребована в областях, где скорость обработки требует увеличения по причине значительных объемов обрабатываемых данных. Например, медицинские и спутниковые изображения.