• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта

Тензоризируем глубинные нейронные сети

Статья «Tensorizing Neural Networks», подготовленная в группе Байесовских методов под руководством доцента факультета компьютерных наук ВШЭ Дмитрия Ветрова, принята на конференцию NIPS — крупнейший мировой форум по когнитивным исследованиям, искусственному интеллекту и машинному обучению, имеющий высший ранг А* по международному рейтингу CORE. В этом году она состоится 7-12 декабря в Монреале. В рубрике «Взгляд ученого» Дмитрий Ветров рассказывает о представленном исследовании и о том, чем статьи для конференций лучше публикаций в научных журналах.

 

Дмитрий Ветров

Последние несколько лет часто называют эпохой больших данных (big data). Отчасти это справедливо. Впервые в истории рост объемов данных, пригодных для анализа, начал обгонять рост вычислительных мощностей, которые, собственно, и призваны их анализировать. В таких условиях экспериментально было установлено два интересных факта. Во-первых, классические методы обработки данных (в частности, машинного обучения) не масштабируются на такие объемы информации, т.е. их применение ко всей совокупности данных на современных компьютерах займет месяцы и годы. Во-вторых, в выборке из триллиона объектов содержится гораздо больше полезной информации, чем в выборке из миллиона объектов. Последний факт весьма нетривиален и означает, что мы не можем ограничиться обработкой подвыборки сравнительно небольшого объема по сравнению с объемом исходных данных без потери важной информации. Установить его удалось благодаря появлению глубинных нейронных сетей (deep neural networks) и масштабируемых методов их обучения на больших данных в конце нулевых годов.

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

Процедуры, разработанные коллективом группы Байесовских методов, позволили уменьшить объем памяти, необходимый для хранения одного слоя нейронной сети, в 700 тысяч раз без потери качества работы самой сети, которую уместно назвать тензорнетом

На помощь приходят современные методы тензорных разложений из мультилинейной алгебры. Тензор — это просто многомерный массив. Любой вектор или матрицу можно преобразовать в тензор (так называемая операция reshape). Тензоры могут содержать огромное число элементов (например, в 200-мерном тензоре, по каждому измерению, имеющему длину 2, содержится больше элементов, чем атомов в нашей Вселенной). Технологии тензорных разложений позволяют, в определенных условиях, преобразовывать тензор в более компактный формат, устраняя избыточность в данных, — примерно так же, как мы уменьшаем размер файла, архивируя его.

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

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

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

Результаты нашей работы были приняты на одну из ведущих конференций по машинному обучению Neural Information Processing Systems (NIPS), имеющую ранг А* по международному рейтингу CORE.

Зачем нужны рейтинги конференций

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

Традиционная система публикации научных результатов через уважаемые научные журналы тут не очень подходит, поскольку процесс публикования в хорошем научном журнале занимает в среднем 1,5-2 года с момента первой подачи рукописи в редакцию. Это связано как с ограниченностью объема журнала, так и с консерватизмом издательств, не желающих оптимизировать свою работу с целью сокращения времени ожидания статьи. Кроме того, многие издательства распространяют свои журналы платным образом, что, очевидно, сужает круг читателей и препятствует научному развитию. Следует отметить, что ссылки на необходимость поддержания научной экспертизы здесь неуместны, так как рецензенты журналов за свою работу денег не получают.

Сообщество ученых в области компьютерных наук нашло, как справиться с диктатом научных издательств, существенно подняв планку требований к публикации на профильных конференциях. Это позволило добиться сразу нескольких целей. Во-первых, труды конференций по компьютерным наукам, как правило, находятся в свободном доступе (в любом случае авторы имеют право опубликовать их в архиве препринтов arxiv.org и/или домашних страницах). Во-вторых, срок рассмотрения работы занимает 2-3 месяца, а всего с момента подготовки текста статьи до момента ее опубликования проходит не больше полугода. В-третьих, рецензирование осуществляется анонимно ведущими учеными в области, причем статьи распределяет компьютер по специальному алгоритму, позволяющему избежать конфликта интересов. Это делает ненужным громоздкий и неповоротливый аппарат журнальных издательств.

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

Конференции в области компьютерных наук, как и научные журналы, бывают разные. Для того, чтобы понимать, какие являются ведущими, а какие имеют ограниченное значение, были введены различные системы рейтингования, например, рейтинг CORE, делящий известные международные научные конференции на 4 категории: А* (ведущие), А (отличные), В (хорошие), С (неплохие). Единственная российская конференция, попавшая в рейтинг CORE, это Computer Science in Russia (CSR), имеющая рейтинг С. Конференций рейтинга А*, таких как FOCS, NIPS, ICML, и другие, не более 30. Именно на них представляются результаты, которые определяют развитие соответствующих разделов компьютерных наук на несколько лет вперед.

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

Для аспиранта доклад на такой конференции — это гарантия продолжения научной карьеры в сильной научной группе в качестве постдока. Для постдока такой доклад — почти гарантированный грант на продолжение исследований. Для профессора — это дополнительное финансирование научной группы и приток сильных аспирантов и постдоков.

Процесс отбора статей занимает 2-3 месяца и идет очень тщательно. Особое внимание уделяется научной этике. Авторы статьи не знают, кто рецензирует их, рецензенты не знают, чью работу они рецензируют. Каждую работу рецензируют 3-5 рецензентов, а в случае, если их мнения расходятся (что бывает довольно редко), вопрос выносится на отдельное групповое рассмотрение. За нарушение анонимности, работы беспощадно исключаются из рассмотрения.

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

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