1. Введение

Согласно [Brownlee Jason 2019], скорость обучения является наиболее важным гиперпараметром в нейронных сетях. Это включает в себя множество проб и ошибок, чтобы найти правильную скорость обучения для ваших нейронных сетей.

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

2. Теория адаптивного управления

Как показано на рисунке 2.1, объект неизвестен и может быть сильно нелинейным. Тем не менее, мы можем использовать некоторую эталонную модель, чтобы обозначить это. Модель второго порядка можно описать следующим уравнением (модель ARMA [Karam 1989]):

a1, a2 и b — параметры процесса, которые должны быть определены в режиме реального времени, а метод рекурсивных наименьших квадратов (RLS [Ljung 2001]) определяет параметры процесса.

вектор параметров процесса.

запаздывающие входы-выходы. лямбда - это фактор забывания, P - ковариационная матрица, а I - единичная матрица (все 1).

Цифровой контроллер (Wellstead 1979):

Общая передаточная функция на рисунке 2.1 может быть выражена как:

Убедитесь, что уравнение 2.4 имеет полюса в правой части круга (центральная точка 0,5,0 и радиус 0,5. Один пример t1=-0,9, t2=t3=0. Из уравнения 2.4 можно легко получить следующие параметры управления:

Для системы 1-го порядка уравнение 2.3 можно упростить следующим образом:

А модель завода можно упростить так:

3. Нейронная сеть для этого эксперимента

Тренируйте данные 23k раз серьезно и тестовые данные 5k раз серьезно. Данные испытаний полностью отличаются от данных поезда.

Архитектура — начинаем с самого простого 1 скрытого слоя:

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

4. Результаты испытаний

Как видно из рисунка 4.1, значение val_acc приблизилось к 100% после 80 эпох.

Как видно из рисунка 4.2, скорость обучения (lrate) не статична и меняется со временем.

5. Выводы и предложения

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

В этом тесте использовался только CNN. Он должен быть столь же эффективным для RNN et al.

Попробую применить это и к другим приложениям (например, https://cpury.github.io/learning-math/).

6. Ссылки

Браунли Джейсон 2019 https://machinelearningmastery.com/learning-rate-for-deep-learning-neural-networks/

Ljung 2001 Алгоритмы рекурсивной идентификации http://www.control.isy.liu.se/research/reports/2001/2366.pdf

Karam 1989 Адаптивный контроллер на базе микропроцессора для роботов-манипуляторов.

https://ieeexplore.ieee.org/document/198937

Wellstead 1979 PE Zarrop MB «Самонастраивающийся регулятор назначения полюсов» Proc IEE aol 126 p781–787