Главная страница

Алгоритм увеличения точности нейронных сетей и его приложения


Скачать 3.63 Mb.
НазваниеАлгоритм увеличения точности нейронных сетей и его приложения
Дата24.06.2022
Размер3.63 Mb.
Формат файлаpdf
Имя файлаdiss_avrutskiy.pdf
ТипДиссертация
#613262
страница8 из 13
1   ...   5   6   7   8   9   10   11   12   13
+ 𝑥
2 3
+ 𝑥
2 4
+ 𝑥
2 5
− 13
)︀
)︁
+ 𝑂
(︀𝜆
4
)︀ .
Приемлемую оценку можно получить, оставив только первое слагаемое:
𝜏 ∼
7 · 24 108
𝜆
2
≃ 1.6𝜆
2
(3.5.2)
Таким образом, вместо исходного уравнения
Δ𝑢 = 𝑔
(3.5.3)
из-за дискретизации лапласиана решается
Δ˜
𝑢 = 𝑔 − 𝜏.
(3.5.4)
Разница
ϒ
между решениями уравнений (3.5.3) и (3.5.4) удовлетворяет уравнению
Δ (𝑢 − ˜
𝑢) = Δϒ = 𝜏
и нулевому граничному условию
ϒ



𝜕Γ
= 0.

75
Если правая часть является постоянной, можно записать точное решение
ϒ = −
𝜏
10
(︀1 − 𝑥
2 1
− 𝑥
2 2
− 𝑥
2 3
− 𝑥
2 4
− 𝑥
2 5
)︀ .
При подстановке (3.5.2) получаем
𝜗
max
≡ max |𝑢 − ˜
𝑢| =
|𝜏 |
10
(3.5.5)
Отметим, что для других размерностей в знаменателе будет стоять
2𝑁
. Эта оценка была подтверждена численным решением уравнения (3.5.4) с точной правой частью для
𝑁 = 2
и
3
Можно заметить, что нейронная сеть на самом деле решает не уравнение (3.5.3) от- носительно
𝑢
, а уравнение (3.3.6) относительно
𝑤
и ошибка дискретизации будет другой,
однако это не совсем так. С одной стороны, при подстановке
𝑤
a в выражение (3.5.1) значе- ние
𝜏
действительно становится в 18 раз меньшим. Однако, наибольший вклад теперь вносит не лапласиан, а первые производные
4
∑︁
𝑥
𝑖
𝜕𝑣
𝜕𝑥
𝑖
,
для которых главный член ошибки аппроксимации есть
4 6
𝜆
2
∑︁
𝑥
𝑖
𝜕
3
𝑣
𝜕𝑥
3
𝑖
При подстановке точного решения
𝑤
a
=
7 9
(︀𝑥
1
+ sin 𝑥
2
+ 𝑥
2 3
+ 𝑥
4
cos 𝑥
4
)︀
получаем оценку того же порядка
𝜏 ∼ 0.5𝜆
2
Чтобы удостовериться, что изменение
𝜏
в три раза не приводит к существенному преимуще- ству для нейронной сети, член
𝑥
2 3
в выражении для
𝑤
a был заменён на
𝑥
3 3
/2
, что привело к увеличению ошибки дискретизации в три раза. Тем не менее, эффект от такого изменения оказался незначительным и мог быть полностью скомпенсирован с помощью увеличения чис- ла шагов
𝐸
4
на 500 а также выбора
𝑇
пн
= 20
для первых 1000 шагов обучения в этой фазе.
В результате время решения увеличилось на 10%, но и результат оказался более точным:
𝜗
max
= 6.5 · 10
−6
, 𝜗
median
= 1.13 · 10
−6

76
Вернёмся к рассмотрению конечно-разностного метода. С помощью оценки (3.5.5) и требо- вания
𝜗
max
< 10
−5
получаем необходимый шаг
𝜆
:
√︂
10𝜗
max
1.6
< 0.008 ∼ 1/125.
Таким образом, на каждый элемент пятимерного объема должно приходится
125 5
≃ 3 · 10 10
точек. Область решения
Γ
есть пятимерный шар единичного радиуса с объемом
8𝜋
15
≃ 5.26,
то есть внутренняя часть сетки потребует
1.6 · 10 11
точек. Оценка для количества точек на поверхности сферы может быть выполнена аналогично. Четырёхмерная граница имеет меру
8𝜋
3
≃ 26.3
и для неё потребуется
125 4
· 26.3 ≃ 6.4 · 10 9
точек, то есть порядка 5% от размера внутренней сетки. Этим вкладом можно пренебречь, положив
𝑀 = 1.6 · 10 11
После дискретизации, необходимо решить систему линейных уравнений, число неиз- вестных переменных в которой равно
𝑀
. Матрица системы
2𝑁 +1 = 11
диагональна и имеет размер
𝑀 × 𝑀
. Время её решения оценим на основе работ [120,121], в которых тестируются параллельные реализации алгебраических многосеточных методов [122]. Среди всех схожих работ, именно в этих двух указывалось наименьшее время решения. Теоретическая произво- дительность выбранного авторами GPU NVIDIA Tesla C2070 была равна 515 ГФлопс, так как все расчеты велись в режиме двойной точности. В нашем случае, Tesla P100 использовалась в режиме одинарной точности, для которой её теоретическая производительность составля- ет 9340 ГФлопс
2
. Для оценки времени решения предположим, что многосеточные решатели могли бы с тем же успехом использовать и одинарную точность, а также что их реализация является на 100% эффективной
3
. Итак, отношение между теоретической производительно- стью этих двух GPU равно 18. Наиболее схожая линейная система рассмотрена в [121] и называется P3D7P_100. Её матрица порождалась 7–точечным шаблоном для трехмерного уравнения Пуассона на сетке
100 3
. Наименьшее заявленное время составляет 0.34 секун- ды. Производительность в лучшем случае масштабируется линейно, что позволяет записать нижнюю оценку для времени решения пятимерного уравнения Пуассона:
𝑡
5D
= 0.34 ·
1 18 1.6 · 10 11 100 3
∼ 3000
сек
Мы не учитывали тот факт, что матрица P3D7P_100 является 7-диагональной, тогда как в нашем случае матрица 11-диагональна. Мы также не учитывали то, что само решение будет
2
реальная производительность составляет ∼ 70% от этой величины
3
так мы получим заведомо заниженную оценку времени, потому что эффективность матричных умножений всегда выше, чем эффективность решения линейных систем

77
нейросети к. разности
2 3
4 5
-4
-2 0
2 4
N
log
10
[время
,сек
]
Рис. 3.5.1. Зависимость времени решения от размерности уравнения для ней- ронных сетей и метода конечных разностей.
занимать
6.4 · 10 11
байт памяти и его невозможно целиком хранить ни в GPU RAM ни в CPU
RAM, а значит в процессе решения потребуются промежуточные операции передачи данных на жесткий диск, которые уменьшат эффективность решателя. В то же время, для хранения решения в виде нейронной сети требуешь лишь
6 · 10 5
байт. Такая огромная разница свя- зана со спецификой самих данных. Например, массив
125 5
можно легко использовать для хранения
125
различных четырехмерных решений на сетке
125 4
, тогда как заставить ней- ронную сеть повторить такой массив не представляется возможным. С другой стороны, при описании гладких функций с помощью массива, значительное количество степеней свободы независимых точек попросту не используется. С этой точки зрения, нейронные сети являются намного более эффективным представлением многомерных гладких функций. Аналогично можно сделать оценки снизу для меньших размерностей
𝑡
4D
= 23
сек
,
𝑡
3D
= 0.15
сек
,
𝑡
2D
= 0.001
сек.
Сравнение реального времени решения с помощью нейронной сети и оценки снизу для конеч- ных разностей представлено на Рисунке 3.5.1. Приведём также сравнение требуемого коли- чества памяти. В случае нейронных сетей, объем занимаемой RAM был измерен напрямую.
Для конечных разностей просто оценим эту величину снизу как место на диске, требуемое для хранения решения. Соответствующие зависимости представлены на Рисунке 3.5.2.
Разумеется, в данном параграфе мы рассмотрели шаблон всего лишь второго поряд- ка. Тем не менее, анализ, подобный проведённому в конце Параграфа 2.4, показывает, что шаблон, достаточно точный для
𝜆 = 1/3
, не сможет поместиться на сетку в области
Γ
с

78
нейросети к. разности
2 3
4 5
-4
-2 0
2
N
log
10
[память
,ГБ
]
Рис. 3.5.2. Зависимость требуемого количества памяти от размерности задачи для нейронных сетей и метода конечных разностей.
этим шагом. Следовательно, число точек на каждую дополнительную размерность для ко- нечных разностей будет всегда выше, чем для нейронных сетей, и всегда найдётся такая размерность, в которой нейронными сетями решение можно получить быстрее.
3.6. Практические аспекты
В предыдущем параграфе погрешность решений была вычислена путём прямого срав- нения с точными решениями. Очевидно, что такой метод не годится для приложений. В дан- ном параграфе будет рассмотрен другой метод верификации, а также критерий для останов- ки обучения.
3.6.1. Критерий остановки. Так как обучение нейронной сети есть итерационный про- цесс, полезно иметь универсальный критерий для его остановки. Руководствоваться невязкой не получится – её связь с точностью решения может быть разной даже для двух модифика- ций одного уравнения. Вместо этого воспользуемся максимальной разницей
𝛿𝑢
между двумя решениями на разных итерациях. Разумеется, такой подход не гарантирует точности, однако позволяет избежать как преждевременной остановки так и излишне большого числа шагов.
Для демонстрации, рассмотрим два разных уравнения в трехмерном пространстве. Первое есть уравнение диффузии
𝜕
2
𝑢
𝜕𝑥
2 1
+
𝜕
2
𝑢
𝜕𝑥
2 2
=
𝜕𝑢
𝜕𝑥
3
(3.6.1)
Решим его в круге радиуса
𝜋
на временном интервале от 0 до 1:
Γ : 𝑥
2 1
+ 𝑥
2 2
≤ 𝜋
2
, 0 ≤ 𝑥
3
≤ 1.
Граничное условие для простоты положим нулевым
𝑢



𝑥
2 1
+𝑥
2 2
=𝜋
2
= 0.

79
Начальное условие
𝑢 (𝑥
1
, 𝑥
2
, 0) = 𝐽
1
[︂
𝐴
√︁
𝑥
2 1
+ 𝑥
2 2
]︂
sin 𝜑 + 𝐽
2
[︂
𝐵
√︁
𝑥
2 1
+ 𝑥
2 2
]︂
cos [1 + 2𝜑] .
Оно было выбрано так, чтобы существовало точное решение
𝑢
a
(𝑥
1
, 𝑥
2
, 𝑥
3
) = 𝑒
−𝑥
3
𝑎
2
𝐽
1
[︂
𝐴
√︁
𝑥
2 1
+ 𝑥
2 2
]︂
sin 𝜑 + 𝑒
−𝑥
3
𝑏
2
𝐽
2
[︂
𝐵
√︁
𝑥
2 1
+ 𝑥
2 2
]︂
cos [1 + 2𝜑] .
Здесь
𝐽
𝛼
– функция Бесселя,
𝜑
– полярный угол в плоскости
𝑥
1
𝑥
2
:
𝜑 = arccos
(︃
𝑥
1
√︀𝑥
2 1
+ 𝑥
2 2
)︃
sign
𝑥
2
Константы
𝐴
и
𝐵
равны первым корням
𝐽
1
и
𝐽
2
соответственно, делённым на
𝜋
. Можно видеть, что
𝑢
a есть сумма двух собственных функций лапласиана, умноженных на соответ- ствующие экспоненты. Аргумент косинуса был изменён чтобы нарушить симметрию реше- ния. Замена функции имеет вид
𝑢 = 𝑤 · 𝑥
3
·
(︀1 − 𝑥
2 1
/𝜋
2
− 𝑥
2 2
/𝜋
2
)︀ + 𝑢 (𝑥
1
, 𝑥
2
, 0) .
Область решения есть трехмерный цилиндр. Так как все производные имеют порядок еди- ницы, то согласно оценке
𝜆 = 1/3
, тренировочное множество можно составить из четырех двумерных сеток
4
, расположенных в плоскости
𝑥
1
, 𝑥
2
на высотах
𝑥
3
=
0, 1/3, 2/3, 1.
В качестве второго уравнения рассмотрим трехмерную задачу из Параграфа 3.3:
𝜕
2
𝑢
𝜕𝑥
2 1
+
𝜕
2
𝑢
𝜕𝑥
2 2
+
𝜕
2
𝑢
𝜕𝑥
2 3
= 𝑔,
(3.6.2)
Γ : 𝑥
2 1
+ 𝑥
2 2
+ 𝑥
2 3
≤ 1,
𝑢



𝜕Γ
= 0.
Для неё проводится замена функции
𝑢 = 𝑤 ·
(︀1 − 𝑥
2 1
− 𝑥
2 2
− 𝑥
3 3
)︀ .
Сетка также имеет шаг
𝜆 = 1/3
, а её построение описано в Параграфе 3.3. Точное решение имеет вид
𝑢
a
=
3 5
(︀1 − 𝑥
2 1
− 𝑥
2 2
− 𝑥
2 3
)︀ (︀𝑥
1
+ sin 𝑥
2
+ 𝑥
2 3
+ 𝑥
2
cos 𝑥
1
)︀ ,
(3.6.3)
источник
𝑔 = Δ𝑢
a
4
аналогичных той, что Рисунке 3.3.1

80 0
1000 2000 3000 4000 5000
-6
-5
-4
-3 0
1000 2000 3000 4000 5000
-6
-5
-4
-3
log10
ϵ
ϑ
max
δ
u max
Уравнение Пуассона
Уравнение диффузии
T
T
log10
ϵ
ϑ
max
δ
u max
Рис. 3.6.1. Наблюдение сходимости решения.
Уравнения (3.6.1) и (3.6.2) были решены с помощью процедуры, разработанной для линейного уравнения Пуассона в Параграфе 3.3. Все её параметры указаны в Таблице 3.
Результаты представлены на Рисунке 3.6.1.
В процессе решения вычислялись среднеквадратичная невязка
𝜖
и максимальная раз- ница между решениями в текущей итерации
𝑇
и в более ранней
𝑇 − 20
:
𝛿𝑢 = max
𝑎



𝑢
𝑇
(𝑥
1𝑎
, 𝑥
2𝑎
) − 𝑢
𝑇 −20
(𝑥
1𝑎
, 𝑥
2𝑎
)



Моменты переключения ошибки
𝐸
чётко различимы на графиках. Как видно из Рисунка
3.6.1, значения невязки отличаются приблизительно на порядок, однако по величине
𝛿𝑢
мож- но намного точнее судить о максимальном отклонении
𝜗
max от точного решения, особенно на последней фазе обучения. Действительно, для
𝑇 > 4000
кривые
𝜗
max и
𝛿𝑢
для двух уравнений совершенно разного типа практически совпадают. Разумеется, интервал в 20 ша- гов годится только для рассматриваемого алгоритма RProp. В общем случае его следует определять на основе пройденного расстояния в пространстве весов.
Что касается критерия остановки, то за каждую фазу обучения с исключением
𝛿𝑢
уменьшается примерно в 10 раз. Следовательно, последнюю фазу следует продолжать до получения
𝛿𝑢 ∼ 𝜗/10
, предпоследнюю до
𝛿𝑢 ∼ 𝜗
, а первую до
𝛿𝑢 ∼ 10𝜗
. В случае, если в конце самой первой фазы, величины в
10𝜗
достичь не удается, следует пересмотреть по- строение сетки и убедится, что все производные решения порядка единицы, а
𝜆 ∼ 1/3
. При наличии областей с большими градиентами решения следует ввести неравномерную сетку с пропорционально увеличенным шагом (Параграф 2.3.2).
3.6.2. Верификация. Если используется метод конечных разностей, то после получе- ния решения, как правило, требуется проверка на сходимость по шагу
𝜆
. Действительно,
невязка уравнения заменяется конечно-разностным аналогом, который после решения равен нулю для точек сетки и не определён вне этих точек. Единственным способом удостовериться в малости невязки в целом является добавление новых точек, которое связано с повторным

81
решением системы уравнений. В нашем случае подобной процедуры не требуется. Действи- тельно, нейронная сеть является гладкой функцией на всей области решения и обладает гладкой невязкой, которую легко вычислить в любой точке. Коль скоро эта невязка мала во всей области, то тренировочное множество, с помощью которого было получено конкретное решение, несущественно.
Итак, после того как
𝛿𝑢
достигло желаемой точности, делённой на 10, а невязка оказа- лось равномерно мала во всей области, можно приступать к верификации решения. Рассмот- рим эту процедуру для уравнения Пуассона (3.6.3). Точное решение (3.3.2) удовлетворяет
Δ𝑢
a
− 𝑔 = 0.
Численное
˜
𝑢 = 𝑣 ·
(︀1 − 𝑥
2 1
− 𝑥
2 2
− 𝑥
3 3
)︀
, где
𝑣
есть нейронная сеть, удовлетворяет
Δ˜
𝑢 − 𝑔 = 𝑉,
где
𝑉
есть легко вычисляемая невязка. Вычитая первое из второго, получаем уравнение для отклонения
ϒ
от точного решения
Δ (˜
𝑢 − 𝑢
a
) ≡ Δϒ = 𝑉.
(3.6.4)
Его следует снабдить нулевым граничным условием
ϒ



𝜕Γ
= 0.
Можно оценить минимальное
ϒ

и максимальное
ϒ
+
значения, рассмотрев решения урав- нений
Δϒ

= 𝑉
max
,
Δϒ
+
= 𝑉
min
,
где
𝑉
max и
𝑉
min есть максимальное и минимальное значение невязки на
Γ
соответственно
(мы предполагаем, что
𝑉
min
< 0
а
𝑉
max
> 0
). Однако оценка, полученная таким образом,
оказывается слишком грубой. Чтобы её улучшить, решим уравнение (3.6.4) численно, и уже для этого решения воспользуемся грубой оценкой точности. Разумеется, решение ещё одного уравнения это именно то, чего мы хотели избежать, однако ситуация облегчается тем, что требования к относительной точности теперь значительно ниже, чем при решении исходного уравнения (3.6.3). С другой стороны, источник
𝑉
почти всегда оказывается более сложен,
чем
𝑔
. В результате, чтобы найти
ϒ
, понадобилась сетка с 317 точками (тогда как исходная содержала 159), для которой процесс обучения с исключением был выполнен только с
𝐸
1
и
𝐸
0
при
𝐿 = 2
,
𝑇 = 2000
. Суммарно, процесс верификации занял 31% от времени решения
(3.6.3). Была получена нейросетевая аппроксимация
˜
ϒ
, которая изменялась в интервале
˜
ϒ ∈ [−5.7, 7.0] · 10 6

82
Теперь осталось оценить ошибку этого решения. Функция
˜
ϒ
удовлетворяет соотношению
Δ ˜
ϒ − 𝑉 = ˜
𝑉 ∈ [−4.0, 4.6] · 10
−5
Здесь
˜
𝑉
есть невязка, оставшаяся после решения (3.6.4). Максимальное превышение
˜
ϒ
над
ϒ
может быть получено из уравнения
Δ ˜
ϒ
+
= ˜
𝑉
min
,
решение которого есть
˜
ϒ
+
=
1 6
(︀1 − 𝑥
2 1
− 𝑥
2 2
− 𝑥
2 3
)︀



˜
𝑉
min



Аналогично для отклонения в другую сторону:
˜
ϒ

= −
1 6
(︀1 − 𝑥
2 1
− 𝑥
2 2
− 𝑥
2 3
)︀



˜
𝑉
max



Добавляя экстремальные значения этих функций к интервалу значений
˜
ϒ
, получаем гаран- тированный интервал точности
ϒ ∈ [−11.5, 8.7] · 10
−6
Реальный интервал точности, вычисленный с помощью точного выражения есть
ϒ ∈ [−5.8, 6.9] · 10
−6
Если бы мы воспользовались грубой оценкой для исходного уравнения (3.6.3), невязка кото- рого изменяется в интервале
𝑉 ∈ [−7.6, 3.4] · 10
−4
, то получили бы более худший результат
ϒ ∈ [−56, 126] · 10
−6
,
из которого нельзя было бы понять, достигнута искомая точность
∼ 10
−6
или нет. Вери- фикация решений в пространствах большей размерности происходила аналогично. Так, в пятимерном случае проверка увеличила общее время решения на 34%. В общем случае, точ- ность линейного уравнения можно определить, решая дополнительное линейное уравнение,
а точность нелинейного – решая дополнительное линеаризованное уравнение. Во втором случае также добавится ошибка линеаризации. Схожие процедуры верификации были по- строены для многих уравнений [123], однако, в отличии от конечных разностей, наличие всюду вычислимой невязки значительно упрощает эту задачу.
Подытоживая материал этой и предыдущих глав, отметим, что новизна полученных результатов заключается в точности и скорости решения. Так, в предыдущих работах
5
по
5
Стоит отдельно упомянуть о двух работах [30,124], в которых нейронными сетями решаются уравнения для размерности 𝑁 ∼ 100. К сожалению, в этих статьях относительная точность является величиной порядка
10
−2

83
этой теме [16,20,25–29,46] среднеквадратичная относительная ошибка является величиной порядка
10
−4
, тогда как в данной работе она на два порядка меньше,
𝜗
median
∼ 10
−6
. Мы также учли, что средняя ошибка не всегда хорошо описывает отклонение от точного реше- ния, и наряду с ней рассмотрели максимальное отклонение
1   ...   5   6   7   8   9   10   11   12   13


написать администратору сайта