alterna ai
ALTERNA AI / ГЛАВА 05 · 01

05.1 Ошибка как поверхность

Градиент описывает локальный рост ошибки.

Зафиксируем данные и будем менять настройки модели. Высота полученной поверхности — ошибка этих настроек.

Функция x²+3y² в точке [2,1].

Точки теперь означают параметры

В предыдущих графиках x мог быть входом. В оптимизации переменная θ означает параметры модели, а данные зафиксированы. Каждая точка θ задаёт другую модель, значение L(θ) её ошибку на выбранных данных. Малый training loss не доказывает качество на новых примерах. M05.

Учебная поверхность L(x,y)=ax²+by² при a,b>0 имеет минимум0вначале. Здесь x,y две координаты θ, а не два обучающих примера. Линия уровняL=c является эллипсом; отношение коэффициентов определяет вытянутость. Для a=1,b=3,θ=[2,1] значение7.

∇L=(2ax,2by)T,H=diag⁡(2a,2b).\nabla L=(2ax,2by)^T,\qquad H=\operatorname{diag}(2a,2b).

Если b/a велико, вдоль y ошибка меняется быстрее. Один общий learning rate должен учитывать самое крутое направление. В больших сетях двумерная картинка является только иллюстрацией: реальная поверхность имеет миллионы координат, седла и симметрии.

Эксперимент. До запуска выберите b=1,3,10 и предскажите форму уровней. Затем запустите алгоритмы из одного старта. Сравнивайте одинаковый бюджет шагов, но помните, что один шаг разных методов имеет разную стоимость и state.

Легко ошибиться. График loss от номера шага и карта координат не одно и то же. Длинная траектория не автоматически означает медленную программу, а быстрый спуск на игрушечной квадратике не доказывает превосходство на языке. В лаборатории нет измеренных GPU throughput и универсального рейтинга оптимизаторов.

Изменились настройки; данные и правило оценки ошибки остались прежними. Успех шага нужно проверять заново.

Небольшой шаг против роста ошибки. Как этот вопрос продолжает полученный результат?

Python-примеры главы 05 Академическая база →