Разработчики Google AI опубликовали новую нейросетевую архитектуру Weight Agnostic Neural Network. WANN — это нейросеть, которая выдает правдоподобные результаты с случайными параметрами. Стандартно обучение нейросети сводится к подбору архитектуры модели и поиску оптимальных параметров (весов). WANN не требует шага с поиском оптимальных параметров модели. Для поиска оптимальной архитектуры используется популяционный алгоритм. Код проекта выложен в открытый доступ.
Зачем это нужно
При обучении нейронной сети для решения какой-то задачи обычно оптимизируются параметры сети — веса. Другой подход для создания нейросети — это поиск нейросетевой архитектуры, который составляет нейросетевые архитектуры из доступных компонентов. Компонентами могут быть части сверточной сети или блоки трансформера. Нейросети, построенные из этих компонентов, (например, глубокие сверточные сети) показывают точные результаты на задачах компьютерного зрения. На данный момент теме автоматического поиска архитектур уделено мало внимания.
Аналогия к компонентам — примеры подхода nature vs. nurture. Так же, как некоторые выводковые животные, которые наследуют базовое поведение у потомков с момента рождения. Такие животные могут выполнять комплексные моторные действия без дополнительного обучения. Исследователи исходят из гипотезы, что можно собирать нейросети, которые выдают точные результаты, без дополнительного обучения. По аналогии, нейросети, которые формируются таким образом, впоследствии становятся точнее за счет обучения. Несмотря на это, они работают даже без обучения и содержат те знания, которые делают их подходящими для своей задачи.
В работе исследователи делают первый шаг в поиске нейросетей, которые уже содержат смещения, помогающие им решать определенные задачи. WANNs — это нейросети, которые могут решать определенную задачу, даже если используют случайный совместный параметр.
Как найти правильную архитектуру для WANN
Задача исследования была в том, чтобы проверить, насколько нейросетевые архитектуры в одиночку могут кодировать решения определенной задачи. Разработчики представляют агентов, которые совершают действия в среде без дополнительного поиска параметров и с низкой степенью ошибки.
Поиск архитектуры осуществляется с помощью алгоритма поиска топологии (NEAT). Связи нейросети добавляются одна за другой на разных шагах алгоритма.
Цель — найти архитектуру, которая была бы минимально сложна асимптотически и выдавала бы наиболее точные результаты. Чтобы это сделать, исследователи используют multi-objective оптимизацию.
Результаты экспериментов подробно описаны в оригинальной статье.