Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Прикладная теория категорий. Монография
.pdf
странства параметров P. Выбор параметра p ∈ P определяет
функцию fp из A в B, т.е. имеется отображение I : P × A → B,
такое что fp = I(p, –) для каждого p ∈ P. Обучаемый алгоритм,
сравнивая fp(a) с заданным значением b = f(a), может улучшить результат за счет выбора нового значения параметра
p′ ∈ P. Такое обучение можно представить функцией обновления U : P × A × B → P.
Если имеются схемы обучения для аппроксимации ком-
позиции функций f : A → B и g : B → C, построить алгоритм
аппроксимации композиции можно следующим образом.
Пусть I : P × A → B и J : Q × B → C — установочные функции,
а U : P × A × B → P и V : Q × B × C → C — функции обновления
соответствующих алгоритмов обучения. Пространством параметров для функции g f: A → C служит P × Q, функция
параметризации I * J: P × Q × A → C определяется формулой
(I * J)(p, q, a) = J(q, I(p, a)). (1)
С построением функции обновления P × Q × A × C →
→ P × Q дело обстоит не так просто. Имеются обучающие
пары вида (a, b ≈ f(a)) и обучающие пары вида (b, c ≈ f(b)), но,
вообще говоря, стыковки обучающих наборов по компоненте
«b» может не быть. Устранить «зазор» позволяет функция
запроса Q × B × C → B, которая возвращает подходящий к
a ∈ A элемент b ∈ B. Таким образом, функция запроса является формой обратной связи. Используя функцию запроса,
получаем функцию обновления U * V : P × Q × A × C → C, для
которой
(U * V)(p, q, a, c) = (U(p, a, s(q, I(p, a), c), V(q, I(p, a), c)) (2)
В итоге получается, что алгоритм обучения построению
функции f : A → B имеет следующие компоненты:
пространство параметров P;
установочной функцией I : P × A → B;
функция обновления u : P × A
× B → P;
функция запроса r : P × A × B → A.
Набор таких компонентов будем называть обучаемым.
Обучаемые (P, I, U, R) и (P′, I′, U′, R′) с общим отображением f : A → B считаются эквивалентными, если существует биективное соответствие параметров ϕ : P → P′, коммутирующее со структурными морфизмами, т.е. такое, что
I′(ϕ(p), a) = I(p, a);
141

U′(ϕ(p), a, b) = ϕ(U(p, a, b));
≈⊗
↓↓
PA
BB
ff
r′(ϕ(p), a, b) = r (p, a, b).
для всех p ∈ P, a ∈ A, b ∈ B.
Формализация описанной схемы проводится в рамках
моноидальных категорий, объекты которых — конечномерные евклидовы пространства, а морфизмы — дифференцируемые отображения.
7.2. Категории параметризаций и алгоритмов обучения
Пусть C — симметричная моноидальная категория.
Категория параметризаций Para(C) имеет те же объекты,
что и категория C, а морфизмами служат параметризованные морфизмы категории C. Более подробно, параметризованный морфизм A → B в категории Para(C) задается парой
(P, f), где P — объект, а
f : P ⊗ A → B — (3)
морфизм категории C.
Диаграмма
QP AQPA QB C
⊗
⊗→⊗ ⊗
)
(
(
Qf g
→ ⊗→
)
дает определение композиции параметризованных морфизмов f : P ⊗ A → A и g : Q ⊗ B → B в категории Para(C).
Запрос на множестве параметризованных морфизмов
A → B в категории Para(C) представляет собой отображение
f f′ и задается морфизмом r : P′ → P таким, что f → (r ⊗ A) =
= f′ (диаграмма (4)).
⊗
PA
⊗→ ⊗
′
′
rA
(4)
=
Здесь необходимо сделать одно уточнение. Строго говоря, Para(C) не является категорией, хотя бы потому, что композиция параметризованных морфизмов ассоциативна лишь
с точностью до изоморфизма. В подобных ситуациях вместо
категорий используются так называемые бикатегории.
В бикатегории так же, как и в категории, имеются
объекты. Для каждой пары объектов X, Y бикатегории B
определена категория HomB(X, Y). Объекты этой категории
142

называются 1-морфизмами бикатегории B, а ее морфизмы —
2-морфизмами бикатегории B. Для каждого объекта X в
HomB(X, X) указан 1-морфизм idX.
Композиция в бикатегории B задается функторами
Hom
(X, Y) × HomB(Y, Z) → HomB(X, Z), (5)
B
заданными для каждой тройки объектов X, Y, Z. Функтор
(5) паре 1-морфизмов (f, g) ставит в соответствие 1-морфизм
g f, а паре 2-морфизмов (ϕ, ψ) — 2-морфизм ψ * ϕ.
При этом должны выполняться естественные условия
согласованности, подобные условиям для тензорных произведений в моноидальных категориях: для каждого 1-морфизма f : X → Y и каждой тройки 1-морфизмов
f : X → Y, g : Y → Z, h : Z → W
имеются естественные изоморфизмы
λ
: idY f → f и ρf : f idX → f в HomB(X, Y);
f
: (h g) f → h (g f),
α
f, g, h
удовлетворяющие естественным условиям.
С учетом сделанных замечаний можно сделать необходимые уточнения. На самом деле Para(C) является бикатегорией. Параметризованные морфизмы (3) являются 1-морфизмами, а запросы — 2-морфизмами. Единичный 1-морфизм
idX задается тривиально параметризованным морфизмом
I ⊗ X → X, где I — единица тензорного произведения.
Чтобы не усложнять обозначения, будем считать рассматриваемые моноидальные категории строгими, т.е.
предполагать что структурные изоморфизмы являются тождествами. В необходимых случаях будут сделаны соответствующие оговорки.
Пример 1. Пусть Smooth — категория, объекты кото-
рой пространства n, а морфизмы из n в m — гладкие отображения n → m. Моноидальная структура — задается декартовыми произведениями. Параметризованный морфизм
в Param(Smooth) представляет собой гладкое отображение
вида p × n → m. Если речь идет о нейронной сети, точка в
пространстве p соответствует весовым коэффициентам.
Слой нейронной сети можно представить как параметризованный морфизм в категории Param(Smooth). Предположим, что слой имеет n входных и m выходных нейронов.
143

Обозначим через W множество связей между входными и вы-
im
()
=+
()
()
≤≤
1
AB
(
(
(
(
(
:.
ходными нейронами, а через r — мощность этого множества.
Тогда слой может быть представлен отображением f :
n → m таким, что
r+m
×
fw ba wa b
где wij — весовые значения (в направлении от нейрона j к
нейрону i), bi — смещения, aj — значения на входе, σ —
функция активации.
Нейронная сеть может быть представлена как последова-
тельность слоев, т.е. как последовательность отображений вида
f1 :
Беря их композицию как параметризованных морфиз-
мов, получаем отображение вида
которое представляет нейронную сеть как параметризованный морфизм из
Заметим, что переход к категории параметризаций
является функториальным в следующем смысле. Пусть C и
D — симметричные моноидальные категории. Тогда слабо
моноидальный функтор F : C → D может быть продолжен до
функтора
согласованного с функтором F. Параметризованному морфизму f : P ⊗ A → B в C при этом ставится в соответствие параметризованный морфизм
ParamF FF F
в D.
Замечание. Функтор F : C → D называется слабо мо-
ноидальным если имеется естественное преобразование
F(–) ⊗ F(–) → F(– ⊗ –), удовлетворяющее естественным ус
виям перестановочности со структурными морфизмами моноидальных категорий. В этом определении не требуется, чтобы
морфизмы F(X) ⊗ F(Y) → F(X ⊗ Y) были изоморфизмами.
Чтобы определить категорию обучаемых алгоритмов, нам
потребуются линзы. Напомним определение (см. раздел 5.3).
,, ,
)
(
()
ij i
r1 + n
1
Param(F): Param(C) → Param(D),
fP AP
)
≤≤
1
×
im
n
0
n
в m.
⊗
)
→
()
j
jn
≤≤
1
n
1
, …, fk :
f : P ×
→ ⊗
)
ϕ
n
XY
σ
→ m,
,
∑
rk+ n
j
ij ji
k
×
→
)
nk–1
F
→
f
()
n
k
.
)
ло-
144

Пусть C — декартова категория. Объектами категории
линз Lens(C) являются пары объектов категории C. Морфизм — линза — задается прямым и возвратным морфизмами. В общем линза имеет вид
←
A
A
B
′
→
′
,
B
где A → B и A × B′ → A′.
Комбинируя конструкцию параметризации с конструкцией линзы, получаем категорию параметризованных линз
Para(Lens(C)). Таким образом, параметризованная линза
выглядит следующим образом
∗
P
f
:
P
f
где f : P × A → B — прямой, а f
A
′
⊗
A
PA
′
=
PABB
*
: P × A× B′ → P′ × A′ — возврат-
′×′
×
←
′
→
ный морфизмы.
Задача машинного обучения теперь сводится к построению такой параметризованной линзы
rIP
:
A
B
P
←
⊗
A
→
(6)
B
в которой прямой морфизм I : P × A → B аппроксимирует
нужную функцию, а возвратный морфизм r : P × A × B →
→ P × A представляет собой репараметризацию. Для постро-
ения параметризованной линзы используется нейронная
сеть, механизм работы которой требуется описать в категорных терминах.
7.3. Декартовы дифференциальные категории
Декартова моноидальная категория C называется аддитивной слева, если в множествах Hom
(A, B) определена
C
коммутативная и ассоциативная операция сложения с нейтральным элементом 0, устойчивая относительно композиции в том смысле, что (f + g) h = f h + g h и h 0 = 0 для
любых f, g : A → B и h : C → A.
Отображения h : B → C, для которых h (f + g) = h f +
+ h g при всех f, g : A → B называются аддитивными.
145

Аддитивная слева категория может не быть аддитив-
ной, так что произведение A × B, вообще говоря, не является
суммой. Тем не менее, произведение A × B обладает некоторыми свойствами, сходными со свойствами сумм в аддитивных категориях.
Для морфизма C → A × B, однозначно определяемого
морфизмами f : C → A и g : C → B, будем использовать обозначение 〈f, g〉. Таким образом, по определению
π
〈f, g〉 = f, πB 〈f, g〉 = g.
A
Для любых A и B имеются аналоги вложений A → A × B
и B → A × B. А именно,
ι
= 〈idA, 0〉 : A → A × B, ιB = 〈0, idB〉 : B → A × B.
A
Если f : C → A и g : C → B, то 〈f, g〉, то, очевидно, 〈f, g〉 =
= ι
f + ιB g.
A
Для f : A → C и g: B → C, положим
где π
〈f | g〉 = f π
: A × B → A и πB : A × B → B — проекции.
A
+ g πB : A × B → C,
A
Для произвольного объекта A определим отображение
[+A] : A × A → A как сумму проекций произведения A × A на
первую и вторую компоненту. Очевидно,
[+
] = 〈idA | idA〉.
A
Если f : A → B и g : C → D, то f × g : A × B → C × D можно
представить в виде f × g = 〈ι
f | ιD g〉.
B
Прежде, чем привести определение дифференциального оператора в аддитивной слева категории, рассмотрим пример, который мотивировал введение этого понятия.
Пусть f : n → m — гладкое отображение, а ui = ui(x),
i = 1, ..., m, — координатные функции. Для x ∈ n матрица
Якоби
Jx
() ()=
f
∂
∂
u
i
x
задает линейное отображение n в m.
x
j
Соответствие x J(x) отображает n в пространство линейных отображений n в m. Сопоставляя паре точек
(x, y) ∈ n × n точку Jf(x) · y ∈ m, получаем отображение
n × n → m.
Фиксация свойств этого отображения на языке теории
категорий приводит к понятию дифференциального комбинатора [Cockett, 2020] или дифференциального оператора в
[Blute, 2009].
146

Дифференциальным комбинатором в аддитивной сле-
xy
,,
ва категории C называется преобразование морфизмов D,
такое, что D[f] : A × A → B для любого морфизма f : A → B
категории C и выполняются следующие условия.
[CDC.1] D[f + g] = D[f] + D[g] и D[0] = 0.
[CDC.2] D[f] 〈a, b + c〉 = D[f] 〈a, b〉 + D[f] 〈a, c〉 и
D[f] 〈a, 0〉 = 0.
[CDC.3] D[1] = π01, где π10, π01: A × A → A — проекции
соответственно на первый и второй множитель;
D[π10] = π
где π10, π10: A × A → A и π
→ A × A — проекции соответственно на первый и второй множитель.
[CDC.4] D[〈f, g〉] = 〈D[f], D[g]〉.
[CDC.5] D[g f] = D[g] 〈f π10, D[f]〉.
[CDC.6] D[D[f]] 〈〈a, b〉, 〈0, d〉〉 = D[f] 〈a, d〉.
[CDC.7] D[D[f]] 〈〈a, b〉, 〈c, d〉〉 = D[D[f]] 〈〈a, c〉, 〈b, d〉.
Примеры
(2a). Пусть f : → — функция одной переменной. Тогда
При этом условия [CDC.1]—[CDC.5] приобретают следующий вид:
[CDC.1] (f + g)′ · y = f′(x) · y + g′(x) · y и (0)′ · y = 0 · y;
[CDC.2] f′(a(t))(b(t) + c(t)) = f′(a(t)) · b(t) + f′(a(t)) · c(t) и
f′(a(t)) · 0 = 0;
[CDC.3] (x)′ · y = y;
[CDC.4]
[CDC.5] (g(f(x))′ · z = g′(f(x)) · f′(x) · z.
(2b). Если F :
D FxyuvFxy Fxy
а [CDC.7] — к соотношению
,,,,,,
(
[]
Для F(x, y) = D[f](x, y) =f′(x) · y получаем
Таким образом, [CDC.6] сводится к соотношению
f″(a) · b · c + f′(a) · d = f″(a) · c · b + f′(a) · d.
π
10
fx
()
′
gx
()
′
=
)
()
D[F](x, y, u, v) = f″(x) · y · u + f′(x) · v.
f″(a) · b · 0 + f′(a) · d = f′(a) · d,
и D[π01] = π
1100
1100
D[f](x, y) =f′(x) · y.
⋅
fxy
()
y
gxy
)
′
()
′
(
⋅
⋅=
2
→ — функция двух переменных, то
(
xy
, π
)
01
0011
;
u
v
π
=
,
0011
: (A × A) × (A × A) →
Fxyu Fxyv
+
)
(
(
)
147
.

Пример 3. Пусть R — коммутативное кольцо (или по-
∂
∂
1
xy
nn
∂
∂
1
лукольцо) с единицей. Определим категорию Poly(R) по-
линомиальных отображений над R. Объектами категории
являются натуральные числа. Морфизм из n в m задается
упорядоченным набором
(p
, ..., xn), ..., pm(x1, ..., xn))
1(x1
из m многочленов от n переменных x
, x2, ..., xn с коэффи-
1
циентами из R. Композиция в Poly(R) — это стандартная
композиция многочленов. Например, f = (x
2
, 2x1x2, x
1
2
2
) —
морфизм из 2 в 3, а g = (x1 + x2 + x3) — морфизм из 3 в 1 в
категории Poly(). Композиция g f — это морфизм (x
+ 2x1x2, x
2
) из 2 в 1. Декартовым произведением объектов n
2
2
+
1
и m является объект n + m с проекциями
(x
, ..., xn, x
1
(x
, ..., xn, x
1
Сложение многочленов в Hom
n+1
n+1
, ..., x
, ..., x
n+m
) (x1, ..., xn) и
n+m
) (x
n+1
Poly(R)
, ..., x
).
n+m
(n, m) порождает
структуру аддитивной слева категории:
(p
, ..., pm) + (q1, ..., qm) = (p1 + q1, ..., pm + qm).
1
Если p(x
, ..., xn) рассматривать как морфизм из n в 1 в
1
категории Poly(R), то
D px xy y
,..., ,,..., ,..., ... ,...., .
(
[]
nn n
11
=
)
p
xxy
(
11 1
∂
x
)
++
∂
p
x
(
x
n
(7)
)
Для морфизма из n в m дифференцирования определя-
ется формулой вида (7) для каждой из m компонент.
Пример 4. В категории конечномерных пространств и
гладких отображений Smooth морфизм из n в — это просто гладкая функция n переменных. Соответственно для
x = (x1, ..., xn) ∈ n и y = (y1, ..., yn) ∈ n имеем по аналогии
с (7):
D pxy
(
[]
p
xy
=
)
∂
x
(
)
1
++
p
xy fx y
)
(
∂
x
n
n
=∇
⋅,... .
)
(
(8)
В общем случае, если даны fi(x1, ..., xn), i = 1, ..., m, и
f = (f1, ..., fm) : n → m, то
D[f](x, y) = J
(x) · y. (9)
f
В дифференциальной категории можно ввести понятие
частной производной.
148

Пусть C— дифференциальная категория и f : A × B →
B
[]
→
[]
:,
BA
↓↓
n
,,
1
→ C — морфизм в C. Частная производная f по B — это композиция
id
××
,ππ
0
A
D
fABB AB AB C
××→ ×
где π10, π
: B × B → B — проекции соответственно на пер-
01
10 01
(
(
××
)
f
D
)
вый и второй множители.
Морфизм f : A → B называется линейным, если
D[f] = f π01, где π
: A × A → A — проекция на второй множитель
01
.
Морфизм f: A × B → C называется линейным по B, если
DB[f] = f (idA ×
π01), где
π
: B × B → B, т.е. коммутативна
01
диаграмма (10).
××
10
ππ
,
A
AB
×× → ×
×
1
π
A
01
AB C
×→
10 01
f
(
BAB
××
)
(
f
D
[]
)
.
(10)
Введем теперь понятие реверсивного дифференциального комбинатора.
Это понятие дает обобщение в категорных терминах
конструкции, лежащей в основе метода вычисления градиента с помощью обратного распространения ошибки в нейронных сетях.
Если, например, f : n → — гладкая функция, то реверсивный дифференциальный комбинатор для нее — это
отображение
xy
(
∂
f
)
xy
)
(
∂
x
...,
∂
f
∂
x
xy
(
T
)
из n × в . В более общем случае, если f : n → m, то дифференциальный комбинатор отображения f — это отображение n × m в n, при котором
(x, y) J
(x)T · y.
f
Реверсивным дифференциальным комбинатором в ад-
дитивной слева категории C называется преобразование морфизмов R, такое, что R[f] : A × B → A для любого морфизма
f : A → B категории C и выполняются следующие условия
[Cockett, 2019, Cruttwell, 2022].
149

[RD.1] R[f + g] = R[f] + R[g] для любых f, g : A → B и
AB
[]
:,
AB
:,
CA
↓↓
[]
CA
↓↑
[]
BA
↓↓
××
11
πι
()
××
R[0] = 0.
[RD.2] R[f] 〈a, b + c〉 = R[f] 〈a, b〉 + R[f] 〈a, c〉 и
R[f] 〈a, 0〉 = 0 для любых f : A → B, a : X → A и b, c : X → B.
[RD.3] R[1A] = π01, где π
: A × A → A — проекция на
01
второй множитель. Далее, если πA : A × B → A и πB : A × B →
→ B — проекции, то
R π
A
R π
[]
B
AB AA
×
)
(
AB BB
×
(
π
×→→ ×
π
×→ → ×
)
,10
,01
где π в обоих случаях обозначает проекцию.
[RD.4] Для f : A → B, g : A → C и соответствующего мор-
физма 〈f, g〉 : A → B × C справедливо тождество
R[〈f, g〉] = R[f] (1
где π
: B × C → B и πC : B × C → C — проекции (см. (11)).
B
AB
× πB) + R[g] (1A × πC): A × (B × C) → A
A
×
11π
××
(
×
π
AC
AB C
×→
AB
→ ×
)
g
R
[]
B
f
R
. (11)
Для единственного морфизма !A : A → 1 в терминальный объект 1 реверсивный дифференциальный комбинатор
равен нулю): R[!A] = 0.
[RD.5] Для f : A → B и f : B → C реверсивный дифферен-
циальный комбинатор R[g f] равен композиции на диаграм-
ме (12), на которой πA : A × C → A и πC : A × C → C — проекции.
gf
R
AC A
×→
f
,,
πππ
AAC
AB
××
(
)
g
R
1
×
[]
A
→ ×
R
[]
B
f
.
(12)
[RD.6] Для любого g : A → B коммутативна диаграмма
(13).
AB AA
×← ××
150
AB AAB
f
[]
π
A
← ×
AABA AB AAB
(
)
(
×← ×
)
×
→×
fRRR
[]
(
(
BAB
××
)
(
×
1
πR,00×
AB A
×
×
)
)
π
(13)
B
)
(
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
