Нейронные сети – это мощный инструмент машинного обучения, который позволяет анализировать и прогнозировать сложные данные. Однако для того, чтобы нейронная сеть работала эффективно, нужно подобрать оптимальные параметры, которые зависят от конкретной задачи. Это может быть трудоемким и длительным процессом.
Исследователи из университета Пенсильвании предложили новый подход к проектированию и программированию нейронных сетей, вдохновленный принципами языков программирования. Этот подход, опубликованный в журнале Nature Machine Intelligence, позволяет определить подходящие параметры для данной сети, программировать ее вычисления и оптимизировать ее работу для решения целевых проблем.
“Мы всегда интересовались тем, как мозг представляет и обрабатывает информацию, будь то расчет чаевых или моделирование нескольких ходов в шахматы”, – сказал Джейсон Ким, один из авторов работы. “Мы были вдохновлены успехом рекуррентных нейронных сетей (RNN) как для моделирования динамики мозга, так и для обучения сложным вычислениям. Исходя из этого вдохновения, мы задались простым вопросом: а что если мы могли бы программировать RNN так же, как мы делаем это с компьютерами? Предыдущие работы в области теории управления, динамических систем и физики подсказали нам, что это не невозможная мечта”.
Ким и его коллега Дани Бассетт разработали специальный нейронный машинный код, который получили путем декомпиляции внутренних представлений и динамики RNN для руководства их анализом входных данных. Их подход напоминает процесс компиляции алгоритма на компьютерном оборудовании, который заключается в том, чтобы указать места и время, когда нужно включать и выключать отдельные транзисторы.
“В RNN эти операции одновременно задаются весами, распределенными по всей сети, а нейроны как выполняют операции параллельно, так и хранят память”, – объяснил Ким. “Мы используем математику, чтобы определить набор операций (веса связей), которые будут выполнять желаемый алгоритм (например, решать уравнение, имитировать видеоигру), и извлекать алгоритм, который выполняется на существующем наборе весов. Уникальные преимущества нашего подхода заключаются в том, что он не требует данных или выборки, и что он определяет не только одну связность, но и пространство связностных шаблонов, которые выполняют желаемый алгоритм”.
Исследователи продемонстрировали преимущества своего подхода, используя его для разработки RNN для различных приложений, включая виртуальные машины, логические вентили и видеоигру “пинг-понг” на базе искусственного интеллекта. Эти алгоритмы показали отличные результаты, не требуя подбора параметров методом проб и ошибок.
“Одним из заметных вкладов нашей работы является сдвиг парадигмы в том, как мы понимаем и изучаем RNN – от инструментов обработки данных до полноценных компьютеров”, – сказал Ким. “Этот сдвиг означает, что мы можем исследовать обученную RNN и знать, какую проблему она решает, и мы можем проектировать RNN для выполнения задач без обучающих данных или обратного распространения ошибки. На практике мы можем инициализировать наши сети гипотезно-ориентированным алгоритмом, а не случайными весами или предварительно обученной RNN, и мы можем напрямую извлекать изученную модель из RNN”.
Программная платформа и нейронный машинный код, представленные этой группой исследователей, могут скоро быть использованы другими командами для проектирования более производительных RNN и легкой настройки их параметров. Ким и Бассетт в конечном итоге надеются использовать свою платформу для создания полноценного программного обеспечения, которое работает на нейроморфном оборудовании. В своих следующих исследованиях они также планируют разработать подход для извлечения алгоритмов, изученных обученными резервуарными компьютерами.
“Хотя нейронные сети превосходны в обработке сложных и высокоразмерных данных, эти сети требуют много энергии для работы, а понимание того, чему они научились, представляет собой исключительно сложную задачу”, – сказал Ким. “Наша работа предоставляет ступеньку для прямого декомпилирования и перевода обученных весов в явный алгоритм, который может работать намного эффективнее без необходимости использования RNN, а также подвергаться дальнейшему анализу с точки зрения научного понимания и производительности”.
Группа исследователей Бассетта в университете Пенсильвании также работает над использованием подходов машинного обучения, в частности RNN, для воспроизведения человеческих психических процессов и способностей. Нейронный машинный код, который они недавно создали, может помочь им в этой области исследований.