...предлагается взглянуть на
DOP, применённый к HIGGS.
DOP - это сокращение от "diagonal outer product". В выражении для аффинного преобразования Ax+b плотная матрица A заменена на сумму diag(d)+uvT. То есть, теперь выражение выглядит, как
(diag(d)+uvT)x+b. Вместо N(N+1) коэффициентов мы получаем 4N коэффициентов.
Проверял я это на HIGGS - он относительно небольшой и на нём тяжело получить высокую точность.
В сумме всё выглядит, что оный ДВП ("диагональ и внешнее произведение") вполне себе работает. Не будучи снабжён ДВП уровнями, последний сигмоид сам по себе показывает точность в 64,1%, что подтверждает, что моя реализация сопряжённого градиента вполне работает. Добавление ДВП уровней повышает точность, и 12 уровней дотренировываются до 65,9%, на 0,2% меньше, чем логистическая регрессия на расширенных квадратами векторах.
В своё время
OpenAI выполнили работы по тренировке сетей с уровнями, в которых разреженность либо задавалась случайным образом (как безмасштабный граф), либо тренировалась. У них получалось, что разреженные уровни позволяют хранить в 10 раз меньше коэффициентов - то есть, всё равно O(N2). При поднятии количества коэффициентов до прежнего уровня (через расширение и углубление сети) они получали улучшение предсказания.
Меня хватило только на один эксперимент. ;)
Ещё интересно, что
с увеличением глубины сила предсказания растёт и глубокие сети могут быть более мощными, чем неглубокие и широкие.
В любом случае, мне было интересно и, наверное, будет полезно в каком-либо будущем.