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

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


Скачать 3.63 Mb.
НазваниеАлгоритм увеличения точности нейронных сетей и его приложения
Дата24.06.2022
Размер3.63 Mb.
Формат файлаpdf
Имя файлаdiss_avrutskiy.pdf
ТипДиссертация
#613262
страница6 из 13
1   2   3   4   5   6   7   8   9   ...   13
10
r
Рис. 2.4.1. Решение краевой задачи. Зависимость коэффициента переобучения для невязки от эквивалентного размера сетки.
10 6
(e
4
)
2 · 10 4
(e
4
)
10 6
(e
0
)
2 · 10 4
(e
0
)
0 100 200 300 400 500 600 700 0
1 2
3 4
5 6
7
M
log
10
R
Рис. 2.4.2. Решение краевой задачи. Зависимость максимального переобуче- ния для невязки от эквивалентного размера сетки.

58 10 6
(e
4
)
2 · 10 4
(e
4
)
10 6
(e
0
)
2 · 10 4
(e
0
)
0 100 200 300 400 500 600 700
-5
-4
-3
-2
-1 0
1
M
log
10
ϵ
Рис. 2.4.3. Решение краевой задачи. Зависимость средней невязки от эквива- лентного размера сетки.
10 6
(e
4
)
2 · 10 4
(e
4
)
10 6
(e
0
)
2 · 10 4
(e
0
)
0 100 200 300 400 500 600 700
-5
-4
-3
-2
-1 0
1
M
log
10
[max

]]
Рис. 2.4.4. Решение уравнения в частных производных. Зависимость макси- мальной невязки от эквивалентного размера сетки.
что при малом количестве точек точность метода
𝐸
4
превосходит
𝐸
0
примерно на порядок.
С практической точки зрения также полезно рассмотреть максимальную ошибку. Она пред- ставлена на Рисунке 2.4.6. Видно, что обучение с
𝐸
4
значительно уменьшает максимальную ошибку при использовании одинакового количества ресурсов.

59 10 6
(e
4
)
10 6
(e
0
)
0 100 200 300 400 500 600 700
-6
-5
-4
-3
-2
-1 0
M
log
10
ϑ
Рис. 2.4.5. Решение уравнения в частных производных. Зависимость средне- квадратичной ошибки решения от эквивалентного размера сетки.
10 6
(e
4
)
10 6
(e
0
)
0 100 200 300 400 500 600 700
-6
-5
-4
-3
-2
-1 0
M
log
10
[max

]]
Рис. 2.4.6. Решение уравнения в частных производных. Зависимость макси- мальной ошибки решения от эквивалентного размера сетки.
Обсудим превышение количества весов сети над количеством обучающих точек. Из
Рисунка 2.4.1 следует, что обучая сеть с 1315329 параметрами с помощью
𝐸
4
, можно на сетках вплоть до 11 точек наблюдать коэффициент
𝑟 < 1
. То есть среднеквадратичная

60
невязка на 11 точках будет даже несколько больше, чем аналогичное значение для 3000
точек. Это означает, что максимумы невязки в результате обучения оказываются близки к точкам сетки. Эффект отсутствия переобучения крайне слабо зависит от числа весов сети,
поэтому можно даже рассмотреть персептрон с конфигурацией
2
*
, 1024, 1024, 1024, 1024, 1024, 1024, 1
*
,
который имеет 5252097 настраиваемых параметров. Для него при решении уравнения на тех же 11 точках, можно получить
𝑟 ∼ 1.08
, то есть невязка на 11 тренировочных точках больше среднего значения на всей области всего лишь на 8%. Схожая ситуация имеет место и при аппроксимации функций, в том числе в пространствах большей размерности [113].
2.4.1. Оценка порядка аппроксимации. Приведем несколько характерных резуль- татов, возникающих по мере уменьшения числа точек. Последнее решение, для которого справедливо max 𝜗 < 3 · 10
−5
, можно получить с помощью
𝐸
0
при
𝜆 = 0.09
на сетке из
441 точки. При помощи
𝐸
4
такую же точность можно получить при
𝜆 = 0.29
на сетке из 52
точек. Последнее решение, для которого справедливо max 𝜗 < 10
−3
можно получить с
𝐸
0
при
𝜆 = 0.17
на сетке из 139 точек и с помощью
𝐸
4
с
𝜆 = 0.68
на сетке всего из 12 точек. На основании этих результатов,
𝐸
0
и
𝐸
4
можно сравнить с конечно-разностными шаблонами 4
и 6 порядка соответственно. Покажем это. Во-первых, заметим, что нейронная сеть решает уравнение (2.4.5), а не изначальное (2.4.3), поэтому для корректности сравнения будем ра- ботать именно с ним. Итак, в уравнении (2.4.5) наибольший вклад в ошибку дискретизации
(обозначим её
𝜏
) внесут члены вида
4𝑥𝜕𝑤/𝜕𝑥
. Для двумерной краевой задачи для уравне- ния Пуассона внутри единичного круга,
𝜏
по порядку величины близка к максимальному отклонению от точного решения. Для первой производной, главный член ошибки конечно- разностного шаблона 4 порядка имеет вид
𝜆
4
/30 · 𝜕
5
𝑤/𝜕𝑥
5
, а 6 порядка
𝜆
6
/140 · 𝜕
7
𝑤/𝜕𝑥
7
Подставляя эти оценки в уравнение и учитывая, что все производные
𝑤
имеют порядок еди- ницы, получаем: для 4 порядка
𝜏 = 1 · 10
−5
выполняется при
𝜆 = 0.09
а
𝜏 = 1 · 10
−4
выполняется при
𝜆 = 0.17
. Аналогично для 6 порядка
𝜏 = 1.6 · 10
−5
выполняется при
𝜆 = 0.29
а
𝜏 = 3 · 10
−3
при
𝜆 = 0.68
. Однако, шаблон 6 порядка использует как минимум
7 точек в каждом направлении, а это значит, что его в принципе нельзя применить на сетке из 12 точек. На 52 точках его использование возможно, однако большая часть точек будет близка к границе, и производные придется вычислять не центральным, а асимметричными шаблонами, ошибка которых приблизительно в 20 раз больше.
2.5. Связь с классическим обучением
В заключении продемонстрируем связь классического обучения и обучения с про- изводными при условии, что количество тренировочных точек достаточно велико. Пусть имеется задача вычисления градиента по весам от ошибки нулевого
𝐸
0
=
𝑀
∑︁
𝑎=1
𝐶
𝑎
𝑒
2
(⃗
𝑥
𝑎
)

61
и первого порядка
𝐸
1
= 𝐸
0
+
𝑀
∑︁
𝑎=1
𝐶
𝑎
𝑁
∑︁
𝑖=1
(︂ 𝜕𝑒 (⃗𝑥
𝑎
)
𝜕𝑥
𝑖
)︂
2
на достаточно плотном обучающем множестве

𝑥
𝑎
∈ Γ ⊂ 𝑅
𝑁
. Здесь константы
𝐶
𝑎
есть веса узлов численного интегрирования.
Теорема 1. Если
𝑀 → ∞
так, что выражения
𝐸
0
и
𝐸
1
стремятся к соответ- ствующим мерам, то существуют такие
̃︀
𝐶
𝑎
что
𝑀
∑︁
𝑎=1
̃︀
𝐶
𝑎
𝜕𝑒 (⃗
𝑥
𝑎
)
𝜕𝑊

𝜕𝐸
1
𝜕𝑊
,
то есть градиент ошибки первого порядка можно представить линейной комбинацией гра- диентов ошибки нулевого порядка. При этом
̃︀
𝐶
𝑎
= 𝐶
𝑎
· 2 {𝑒 (⃗
𝑥
𝑎
) − Δ𝑒 (⃗
𝑥
𝑎
)} .
Доказательство. В выражении для градиента
𝐸
1
заменим суммы на соответствующие меры и продифференцируем подынтегральные выражения.
𝜕𝐸
1
𝜕𝑊
=
𝜕𝐸
0
𝜕𝑊
+
𝜕
𝜕𝑊
𝑀
∑︁
𝑎=1
𝐶
𝑎
𝑁
∑︁
𝑖=1
(︂ 𝜕𝑒 (⃗𝑥
𝑎
)
𝜕𝑥
𝑖
)︂
2

Γ
𝜕
𝜕𝑊
𝑒
2
𝑑⃗
𝑥+
+
Γ
𝑁
∑︁
𝑖=1
𝜕
𝜕𝑊
(︂ 𝜕𝑒 (⃗𝑥)
𝜕𝑥
𝑖
)︂
2
𝑑⃗
𝑥 = 2
Γ
𝑒
𝜕𝑒
𝜕𝑊
𝑑⃗
𝑥 + 2
Γ
𝑁
∑︁
𝑖=1
𝜕𝑒
𝜕𝑥
𝑖
𝜕
𝜕𝑥
𝑖
𝜕𝑒
𝜕𝑊
𝑑⃗
𝑥.
Далее выполним интегрирование по частям для второго слагаемого
Γ
𝑁
∑︁
𝑖=1
𝜕𝑒
𝜕𝑥
𝑖
𝜕
𝜕𝑥
𝑖
𝜕𝑒
𝜕𝑊
𝑑⃗
𝑥 =

𝜕Γ
𝜕𝑒
𝜕𝑥
𝑖
𝑛
𝑖
𝜕𝑒
𝜕𝑊
𝜕𝑆 −
Γ
𝑁
∑︁
𝑖=1
𝜕
2
𝑒
𝜕𝑥
2
𝑖
𝜕𝑒
𝜕𝑊
𝑑⃗
𝑥.
Первый член выражения обращается в ноль при решении дифференциальных уравнений с использованием замены функции. Для задач аппроксимации, постановку можно модифици- ровать так, чтобы
𝑒
спадала до нуля по мере удаления от интересующей нас части области аппроксимации. Итак,
𝜕𝐸
1
𝜕𝑊
→ 2
Γ
𝑒
𝜕𝑒
𝜕𝑊
𝑑⃗
𝑥 − 2
Γ
𝑁
∑︁
𝑖=1
𝜕
2
𝑒
𝜕𝑥
2
𝑖
𝜕𝑒
𝜕𝑊
𝑑⃗
𝑥 =
= 2
Γ
(𝑒 − Δ𝑒)
𝜕𝑒
𝜕𝑊
𝑑⃗
𝑥 ≃
𝑀
∑︁
𝑎=1
̃︀
𝐶
𝑎
𝜕𝑒 (⃗
𝑥
𝑎
)
𝜕𝑊
,

62
где
̃︀
𝐶
𝑎
= 𝐶
𝑎
· 2 {𝑒 (⃗
𝑥
𝑎
) − Δ𝑒 (⃗
𝑥
𝑎
)} .

Если
𝑒
в теореме заменить на выражение вида
𝜕𝑒/𝜕𝑥
𝑖
, то градиент ошибки второ- го порядка
𝐸
2
можно выразить через комбинацию градиентов ошибки первого порядка
𝑒
1
Таким образом, обучение с высоким порядком дифференцирования можно свести к стан- дартному обучению, для которого вклад в градиент для каждого паттерна «взвешен» соот- ветствующим образом. Разумеется, точное вычисление этого вклада требует знания старших производных от минимизируемого выражения, то есть проблема дифференцирования сохра- няется.
Выводы к Главе 2
При стандартном обучении нейронных сетей, отклонение значений выходного слоя от аппроксимируемой функции минимизируется на некотором множестве точек. В данной главе была сформулирована и исследована процедура обучения, при которой в минимизируемое выражение включаются все производные этого отклонения вплоть до некоторого порядка.
Точность обучения при этом значительно увеличивается, что было продемонстрировано на примере решения двумерной краевой задачи, а также при аппроксимации двумерной функ- ции. Так, добавление первых производных уменьшило ошибку в 3 раза, а вторых в 30 раз.
Добавление членов выше 3 порядка оказалось непродуктивным. Для эффективного исполь- зования старших производных был построен алгоритм обучения с исключением, при котором обучение начинается с максимально доступным порядком производных, а затем старшие чле- ны постепенно исключаются. С его помощью точность аппроксимации двумерной функции была увеличена в 1000 раз, а относительные значения ошибки при этом оказались сравнимы с величиной, определяемой машинным округлением. При этом потребовалось вычисление производных вплоть до 5 порядка от аппроксимируемой функции, что для практических приложений может оказаться затруднительным. Однако, в случае использования нейрон- ных сетей для решения дифференциальных уравнений, минимизируемой величиной является невязка, а так как уравнения в большинстве случаев достаточно просты, то для дифференци- рования невязки никакой дополнительной информации о решении не требуется. С помощью обучения с исключением краевая задача для нелинейного уравнения Пуассона была решена в 13 раз точнее при сохранении числа арифметических операций, а средняя погрешность решения оказалась сравнимой с минимально возможной величиной, определяемой ошибкой округления. Аналогичный результат был получен при решении уравнения Бюргерса, что демонстрирует универсальность метода. Таким образом, проблема недостаточной точности для некоторого класса задач оказалась удовлетворительно решена. Для достаточно плот- ных тренировочных множеств было доказано, что обучение с производными можно свести к стандартному обучению, при котором вклад в градиент от каждой точки взвешен некоторым образом.

63
Кроме того, процедура обучения с использованием производных приводит к значи- тельному уменьшению переобучения, то есть позволяет выполнять аппроксимацию пользу- ясь меньшим числом точек. На данный момент это единственный алгоритм, который эффек- тивно противодействует переобучению и при этом основан исключительно на информации об аппроксимируемой функции. Все существующие методы борьбы с переобучением [114–119]
основаны на ограничении сети, что всегда негативно сказывается на её аппроксимационных способностях. При добавлении производных, напротив, точность аппроксимации повыша- ется. При решении уравнений в частных производных эффект уменьшения переобучения позволяет существенно разрядить сетку без потери качества решения. В частности, оказы- вается, что можно использовать сетку с шагом, недоступным для других численных методов решения. При увеличении размерности задачи это преимущество позволило нейронным се- тям обогнать классические методы решения уравнений по быстродействию, чему посвящена следующая глава.

64
Глава 3
Многомерные краевые задачи
3.1. Увеличение размерности
В предыдущей главе мы отметили, что относительно грубый шаг
𝜆
может оказаться весьма полезным при решении уравнений в пространствах большой размерности. Проведём простой анализ, чтобы установить, какие сложности могут возникнуть у нейросетевого мето- да при увеличении
𝑁
. Рассмотрение начнём с одномерного случая. Разумно предположить,
что при решении любого уравнения с помощью равномерной сетки существует максималь- ный шаг
𝜆
max при котором переобучение невязки ещё не происходит. А именно, для сеток с
𝜆 ≤ 𝜆
max невязка
𝑉 (𝑥
𝑎
+ 𝛿)|
−𝜆≤𝛿≤𝜆
вне точек сетки приблизительно равна
𝑉 (𝑥
𝑎
)
. Ана- логично можно рассмотреть коэффициент переобучения, равный отношению среднеквадра- тичных невязок на тестовом и тренировочном множествах. Тестовое множество точек можно либо сделать достаточно плотным, либо задать как множество точек, равноудалённых от тренировочных. При
𝜆 = 𝜆
max переобучение отсутствует и
𝑟 ∼ 1
, однако, при дальнейшем увеличении шага
𝜆
, коэффициент
𝑟
начинает расти. Можно предположить, что
𝜆
max также зависит от архитектуры сети, однако, при использовании обучения с производными эта за- висимость крайне слаба, что подтверждается результатами предыдущей главы – увеличение числа весов с
10 4
до
10 6
не привело к заметному росту
𝑟
. Так как нейронная сеть является гладкой функцией, справедливо разложение
𝑉 (𝑥 + 𝛿) = 𝑉 (𝑥) + 𝛿 · 𝑉

(𝑥) +
𝛿
2 2
𝑉
′′
(𝑥) +
𝛿
3 6
𝑉
′′′
(𝑥) + . . .
Следовательно, в результате минимизации производных невязки
𝑉
в точках сетки, её зна- чение между точками будет уменьшаться, и использование грубой сетки станет возможным.
В пространстве произвольной размерности
𝑁
справедливо выражение
𝑉
(︁

𝑥 + 𝛿⃗𝑗
)︁
= 𝑉 (⃗
𝑥) + 𝛿
𝜕𝑉
𝜕⃗𝑗
+
𝛿
2 2
𝜕
2
𝑉
𝜕⃗𝑗
2
+
𝛿
3 6
𝜕
3
𝑉
𝜕⃗𝑗
3
+ . . . ,
где

𝑥 = (𝑥
1
, . . . , 𝑥
𝑁
)
, а первая производная по направлению
⃗𝑗 = (𝑗
1
, . . . , 𝑗
𝑁
)
,
|⃗𝑗| = 1
есть
𝜕𝑉
𝜕⃗𝑗
≡ lim
𝑏→0
𝑉
(︁

𝑥 + 𝑏⃗𝑗
)︁
𝑏
=
(︂
𝑗
1
𝜕
𝜕𝑥
1
+ 𝑗
2
𝜕
𝜕𝑥
2
+ . . .
)︂
𝑉.
(3.1.1)

65
Высшие производные по направлениям получаются возведением оператора в правой части в соответствующую степень, например
𝜕
2
𝜕⃗𝑗
2

(︂
𝑗
1
𝜕
𝜕𝑥
1
+ 𝑗
2
𝜕
𝜕𝑥
2
+ . . .
)︂
2
= 𝑗
2 1
𝜕
2
𝜕𝑥
2 1
+ 2𝑗
1
𝑗
2
𝜕
2
𝜕𝑥
1
𝜕𝑥
2
+ 𝑗
2 2
𝜕
2
𝜕𝑥
2 2
+ . . .
В общем случае выражение для
𝑉
(︁

𝑥 + 𝛿⃗𝑗
)︁
зависит от всех возможных смешанных про- изводных, а их вклад в невязку между точками существенен. Действительно, пусть в дву- мерном случае
𝑉 ≃ (𝑥
1
− 𝐴) (𝑥
2
− 𝐵) + 𝑂
(︀𝑥
3 1
, 𝑥
3 2
)︀
. Первые и вторые производные невязки по
𝑥
1
и
𝑥
2
в точке
(𝐴, 𝐵)
равны нулю, следовательно, при движении вдоль осей
𝑉
растёт как
𝑂
(︀𝑥
3 1
, 𝑥
3 2
)︀
. Однако, производная по диагонали выражается через смешанную, которая не равна нулю
𝜕
2
𝑉 /𝜕⃗𝑗
2



⃗𝑗=(1,1)/

2
= 𝜕
2
𝑉 /𝜕𝑥
1
𝜕𝑥
2
= 1,
и в этом направлении функция будет расти уже как
𝑂
(︀𝑥
2 1
, 𝑥
2 2
)︀
. Большие значения смешан- ных производных могут приводить к быстрому увеличению невязки между точками, что сделает невозможным использование грубых сеток.
Таким образом, мы приходим к выводу, что при увеличении размерности уравнений,
кроме роста количества узлов сетки, растёт и количество смешанных производных, каждая из которых должна быть мала, чтобы переобучение отсутствовало. Количество всех произ- водных порядка
𝑚
в пространстве размерности
𝑁
есть
(𝑁 + 𝑚 − 1)!/ (𝑚! (𝑛 − 1)!) ∼ 𝑁
𝑚
/𝑚!
Число всех производных вплоть до 3 порядка есть
(︀𝑁
3
+ 6𝑁
2
+ 11𝑁
)︀ /6.
Вспоминая, что сама невязка
𝑉
также зависит от производных выхода, заключаем, что пол- ное число производных, подлежащих вычислению будет ещё больше. Так как время решения прямо пропорционально количеству производных, для перехода к большим размерностям желательно иметь способ уменьшения их числа.
3.2. Уменьшение сложности
Чтобы понять как смешанные производные влияют на качество обучения, выполним несколько численных экспериментов. Рассмотрим краевые задачи для уравнения Пуассона в 2, 3 и 4 измерениях
Δ𝑢 ≡
𝑁
∑︁
𝑖=1
𝜕
2
𝑢
𝜕𝑥
2
𝑖
= 𝑔,
(3.2.1)
Γ :
𝑁
∑︁
𝑖=1
𝑥
2
𝑖
< 1,
(3.2.2)

66
𝑢|
𝜕Γ
= 0.
(3.2.3)
Для каждого уравнения было подобрано точное решение
𝑢
a
, значение и все производные которого имеют порядок единицы. Его лапласиан
Δ𝑢
a далее был использован как правая часть (3.2.1), то есть
Δ𝑢
a
= 𝑔
. Для
𝑁 = 2
𝑢
2D
a
=
10 17
(︀1 − 𝑥
2 1
− 𝑥
2 2
)︀ (︀𝑥
1
+ sin 𝑥
2
+ 𝑥
2 1
+ 𝑥
2
cos 𝑥
1
)︀ .
Множитель перед скобками был выбран так, чтобы значения
𝑢
a лежали вблизи отрезка
[0, 1]
Для
𝑁 = 3
и 4 соответственно:
𝑢
3D
a
=
3 5
(︀1 − 𝑥
2 1
− 𝑥
2 2
− 𝑥
2 3
)︀ (︀𝑥
1
+ sin 𝑥
2
+ 𝑥
2 3
+ 𝑥
2
cos 𝑥
1
)︀ ,
𝑢
4D
a
=
7 9
(︀1 − 𝑥
2 1
− 𝑥
2 2
− 𝑥
2 3
− 𝑥
2 4
)︀ (︀𝑥
1
+ sin 𝑥
2
+ 𝑥
2 3
+ 𝑥
4
cos 𝑥
4
)︀ .
Для решения использовалась замена
𝑢 = 𝑤 ·
(︃
1 −
𝑁
∑︁
𝑖=1
𝑥
2
𝑖
)︃
,
после которой уравнение (3.2.1) принимает вид
(︃
1 −
𝑁
∑︁
𝑖=1
𝑥
2
𝑖
)︃
Δ𝑤 − 4
𝑁
∑︁
𝑖=1
𝑥
𝑖
𝜕𝑤
𝜕𝑥
𝑖
− 6𝑤 − 𝑔 = 0.
Аналогично предыдущим задачам, нейронная сеть имеет шесть скрытых слоёв, однако из-за большей размерности число нейронов было увеличено
𝑁
*
, 128, 128, 128, 128, 128, 128, 1
*
Для решения генерировалась сетка, состоящая из двух частей: внутри области
Γ
создается равномерная сетка с шагом
𝜆 = 1/3
, которая затем поворачивается на случайный угол и сдвигается на величину
∼ 𝜆/4
, чтобы нарушить любую симметрию. На границе
𝜕Γ
создается равномерная сетка с чуть меньшим угловым шагом
𝜙 = 𝜋/6 ∼ 1/2
. Минимизацию проведём алгоритмом RProp с теми же параметрами, что и ранее, и аналогично будем использовать производные
𝑉
до третьего порядка включительно. Рассмотрим различные варианты мини- мизируемой ошибки.
3.2.1. Все производные. Для прямого обобщения метода из предыдущей главы потре- буются все возможные производные
1   2   3   4   5   6   7   8   9   ...   13


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