Дифференцируемый нейронный компьютер

редактировать
Архитектура искусственной нейронной сети Дифференцируемый нейронный компьютер, обученный хранить и вспоминать плотные двоичные числа. Показано выполнение эталонного задания во время обучения. Вверху слева: вход (красный) и цель (синий) в виде 5-битных слов и 1-битного сигнала прерывания. Вверху справа: результат модели.

В искусственном интеллекте, дифференцируемый нейронный компьютер (DNC ) - это нейронная сеть с расширенной памятью архитектура (MANN), которая обычно (не по определению) повторяется в своей реализации. Модель была опубликована в 2016 году Алексом Грейвсом и др. из DeepMind.

Содержание
  • 1 Приложения
  • 2 Архитектура
    • 2.1 Традиционный DNC
    • 2.2 Расширения
  • 3 Ссылки
  • 4 Внешние ссылки
Приложения

DNC косвенно черпает вдохновение в архитектуре фон-Неймана, что делает его более эффективным, чем обычные архитектуры в задачах, которые в основном являются алгоритмическими, которые невозможно изучить, найдя границу принятия решения.

До сих пор DNC было продемонстрировано, что он справляется только с относительно простыми задачами, которые можно решить с помощью обычного программирования. Но DNC не нужно программировать для каждой задачи, их можно обучить. Эта концентрация внимания позволяет пользователю последовательно загружать сложные структуры данных, такие как графики, и вызывать их для дальнейшего использования. Кроме того, они могут изучить аспекты символического мышления и применить его к рабочей памяти. Исследователи, опубликовавшие этот метод, видят обещание, что DNC можно обучить для выполнения сложных, структурированных задач и работы с приложениями с большими данными, которые требуют каких-то рассуждений, таких как создание видео-комментариев или семантический анализ текста.

DNC может быть обученным ориентироваться в системах скоростного транспорта и применять эту сеть к другой системе. Нейронной сети без памяти, как правило, придется изучать каждую транзитную систему с нуля. В задачах обхода графа и обработки последовательностей с контролируемым обучением DNC работали лучше, чем альтернативы, такие как долговременная краткосрочная память или нейронная машина Тьюринга. Используя подход обучения с подкреплением к задаче головоломки с блоками, вдохновленный SHRDLU, DNC прошел обучение по учебной программе и научился составлять план. Он работал лучше, чем традиционная рекуррентная нейронная сеть.

Архитектура
Схема системы DNC

Сети DNC были представлены как расширение нейронной машины Тьюринга (NTM) с добавлением механизмов внимания к памяти, которые контролируют, где хранится память, и временного внимания, которое записывает порядок событий. Эта структура позволяет DNC быть более надежным и абстрактным, чем NTM, и при этом выполнять задачи, которые имеют более долгосрочные зависимости, чем некоторые предшественники, такие как Long Short Term Memory (LSTM ). Память, которая представляет собой просто матрицу, может быть распределена динамически и доступна неограниченное время. DNC является дифференцируемым сквозным (дифференцируемым каждый подкомпонент модели, следовательно, и вся модель). Это позволяет их эффективно оптимизировать с помощью градиентного спуска.

Модель DNC похожа на архитектуру фон Неймана, а из-за возможности изменения размера памяти она полная по Тьюрингу.

Традиционный DNC

DNC, как было изначально опубликовано

Независимые переменные
xt {\ displaystyle \ mathbf {x} _ {t}}{\ mathbf {x}} _ {t} Входной вектор
zt {\ displaystyle \ mathbf {z} _ {t}}{\ displaystyle \ mathbf {z} _ {t}} Целевой вектор
Контроллер
χ t = [xt; r t - 1 1; ⋯; rt - 1 R] {\ displaystyle {\ boldsymbol {\ chi}} _ {t} = [\ mathbf {x} _ {t}; \ mathbf {r} _ {t-1} ^ {1}; \ cdots ; \ mathbf {r} _ {t-1} ^ {R}]}{\ displaystyle {\ boldsymbol {\ chi}} _ {t} = [\ mathbf {x} _ {t}; \ mathbf {r} _ {t-1} ^ {1}; \ cdots; \ mathbf {r} _ {t-1} ^ {R}]} Входная матрица контроллера


Глубокая (многоуровневая) LSTM ∀ 0 ≤ l ≤ L {\ displaystyle \ forall \; 0 \ leq l \ leq L}{\ displaystyle \ forall \; 0 \ leq l \ leq L}
itl = σ (W il [χ t; ht - 1 l; htl - 1] + bil) {\ displaystyle \ mathbf {i} _ {t} ^ {l} = \ sigma (W_ {i} ^ {l} [{\ boldsymbol {\ chi}} _ {t}; \ mathbf {h} _ {t-1} ^ {l}; \ mathbf {h} _ {t} ^ { l-1}] + \ mathbf {b} _ {i} ^ {l})}{\ displaystyle \ mathbf {i} _ {t} ^ {l} = \ sigma (W_ {i} ^ { l} [{\ boldsymbol {\ chi}} _ {t}; \ mathbf {h} _ {t-1} ^ {l}; \ mathbf {h} _ {t} ^ {l-1}] + \ mathbf {b} _ {я} ^ {l})} Вектор входных вентилей
otl = σ (W ol [χ t; ht - 1 l; htl - 1] + bol) {\ displaystyle \ mathbf {o} _ {t} ^ {l} = \ sigma (W_ {o} ^ {l} [{\ boldsymbol {\ chi}} _ {t}; \ mathbf {h} _ {t-1} ^ {l}; \ mathbf {h} _ {t} ^ {l-1}] + \ mathbf {b} _ {o} ^ {l})}{\ displaystyle \ mathbf {o} _ {t} ^ {l} = \ sigma (W_ {o} ^ {l} [{\ boldsymbol {\ chi}} _ {t }; \ mathbf {h} _ {t-1} ^ {l}; \ mathbf {h} _ {t} ^ {l-1}] + \ mathbf {b} _ {o} ^ {l})} Выходной вентильный вектор
ftl знак равно σ (W fl [χ t; ht - 1 l; HTL - 1] + bfl) {\ displaystyle \ mathbf {f} _ {t} ^ {l} = \ sigma (W_ {f} ^ {l } [{\ boldsymbol {\ chi}} _ {t}; \ mathbf {h} _ {t-1} ^ {l}; \ mathbf {h} _ {t} ^ {l-1}] + \ mathbf {b} _ {f} ^ {l})}{\ displaystyle \ mathbf {f} _ {t} ^ {l} = \ sigma (W_ {f} ^ {l} [ {\ boldsymbol {\ chi}} _ {t}; \ mathbf {h} _ {t-1} ^ {l}; \ mathbf {h} _ {t} ^ {l-1}] + \ mathbf {b } _ {f} ^ {l})} Забыть вектор гейта
stl = ftlst - 1 l + itl tanh ⁡ (W s l [χ t; ч т - 1 л; htl - 1] + bsl) {\ displaystyle \ mathbf {s} _ {t} ^ {l} = \ mathbf {f} _ {t} ^ {l} \ mathbf {s} _ {t-1} ^ { l} + \ mathbf {i} _ {t} ^ {l} \ tanh (W_ {s} ^ {l} [{\ boldsymbol {\ chi}} _ {t}; \ mathbf {h} _ {t- 1} ^ {l}; \ mathbf {h} _ {t} ^ {l-1}] + \ mathbf {b} _ {s} ^ {l})}{\ displaystyle \ mathbf {s} _ {t} ^ {l} = \ mathbf {f} _ {t} ^ {l} \ mathbf {s} _ {t-1} ^ {l} + \ mathbf {i} _ {t} ^ {l} \ tanh (W_ {s} ^ {l} [{\ boldsymbol {\ chi}} _ {t}; \ mathbf {h} _ {t-1} ^ {l }; \ mathbf {h} _ {t} ^ {l-1}] + \ mathbf {b} _ {s} ^ {l})} Вектор состояния ворот,. s 0 = 0 {\ displaystyle s_ {0} = 0}{\ displaystyle s_ {0} = 0}
htl = otl tanh ⁡ (stl) {\ displaystyle \ mathbf {h} _ {t} ^ {l} = \ mathbf {o} _ {t} ^ {l} \ tanh (\ mathbf {s} _ {t} ^ {l})}{\ displaystyle \ mathbf {h} _ {t} ^ {l} = \ mathbf {o} _ {t} ^ {l} \ tanh (\ mathbf {s} _ {t} ^ {l})} Вектор скрытых ворот,. h 0 = 0; час T 0 знак равно 0 ∀ T {\ displaystyle h_ {0} = 0; h_ {t} ^ {0} = 0 \; \ forall \; t}{\ displaystyle h_ {0} = 0; h_ {t} ^ {0} = 0 \; \ forall \; t}


y t = W y [час t 1; ⋯; h t L] + W r [r t 1; ⋯; rt R] {\ displaystyle \ mathbf {y} _ {t} = W_ {y} [\ mathbf {h} _ {t} ^ {1}; \ cdots; \ mathbf {h} _ {t} ^ {L }] + W_ {r} [\ mathbf {r} _ {t} ^ {1}; \ cdots; \ mathbf {r} _ {t} ^ {R}]}{\ displaystyle \ mathbf {y} _ {t} = W_ {y} [\ mathbf {h} _ {t} ^ {1}; \ cdots; \ mathbf {h} _ {t} ^ {L}] + W_ {r} [\ mathbf {r} _ {t} ^ {1}; \ cdots; \ mathbf {r} _ {t} ^ { R}]} Вектор вывода DNC
Читать Записать головки
ξ t = W ξ [ht 1; ⋯; ht L] {\ displaystyle \ xi _ {t} = W _ {\ xi} [h_ {t} ^ {1}; \ cdots; h_ {t} ^ {L}]}{\ displaystyle \ xi _ { t} = W _ {\ xi} [h_ {t} ^ {1}; \ cdots; h_ {t} ^ {L}]} Параметры интерфейса
= [ктр, 1; ⋯; к т р, R; β ^ t r, 1; ⋯; β ^ t r, R; к т ш; β t w ^; e ^ t; v t; f t 1 ^; ⋯; f t R ^; г ^ т а; г ^ т ш; π ^ t 1; ⋯; π ^ T R] {\ displaystyle = [\ mathbf {k} _ {t} ^ {r, 1}; \ cdots; \ mathbf {k} _ {t} ^ {r, R}; {\ hat {\ бета}} _ {т} ^ {г, 1}; \ cdots; {\ шляпа {\ бета}} _ {т} ^ {г, R}; \ mathbf {k} _ {т} ^ {ш}; {\ hat {\ beta _ {t} ^ {w}}}; \ mathbf {\ hat {e}} _ {t}; \ mathbf {v} _ {t}; {\ hat {f_ {t} ^ {1}}}; \ cdots; {\ hat {f_ {t} ^ {R}}}; {\ hat {g}} _ {t} ^ {a}; {\ hat {g}} _ {t } ^ {w}; {\ hat {\ boldsymbol {\ pi}}} _ {t} ^ {1}; \ cdots; {\ hat {\ boldsymbol {\ pi}}} _ {t} ^ {R} ]}{\ displaystyle = [\ mathbf {k} _ {t} ^ {r, 1}; \ cdots; \ mathbf {k} _ {t} ^ {r, R}; {\ hat {\ beta}} _ {t} ^ {r, 1}; \ cdots; {\ hat {\ beta}} _ {t} ^ {r, R}; \ mathbf {k} _ {t} ^ {w}; {\ hat {\ beta _ {t} ^ {w}} }; \ mathbf {\ hat {e}} _ {t}; \ mathbf {v} _ {t}; {\ hat {f_ {t} ^ {1}}}; \ cdots; {\ hat {f_ { t} ^ {R}}}; {\ hat {g}} _ {t} ^ {a}; {\ hat {g}} _ {t} ^ {w}; {\ hat {\ boldsymbol {\ pi }}} _ {t} ^ {1}; \ cdots; {\ hat {\ boldsymbol {\ pi}}} _ {t} ^ {R}]}


Считывание головок∀ 1 ≤ я ≤ R {\ displaystyle \ forall \; 1 \ leq i \ leq R}{\ displaystyle \ forall \; 1 \ leq i \ leq R}
ktr, i {\ displaystyle \ mathbf {k} _ {t} ^ {r, i}}{\ displaystyle \ mathbf {k} _ {t} ^ {r, я}} Чтение ключей
β tr, i = oneplus (β ^ tr, i) {\ displaystyle \ beta _ {t} ^ {r, i} = {\ text {oneplus}} ({\ hat {\ beta}} _ {t} ^ {r, i})}{\ displaystyle \ beta _ {t} ^ {r, i} = {\ text {oneplus}} ({\ hat {\ beta}} _ {t} ^ {r, i})} Прочитать силу
fti = σ (f ^ ti) {\ displaystyle f_ {t} ^ {i} = \ sigma ({\ hat {f}} _ {t} ^ {i})}{\ displaystyle f_ {t} ^ {i} = \ sigma ({\ hat { f}} _ {t} ^ {i})} Свободные ворота
π ti = softmax (π ^ ti) {\ displaystyle {\ boldsymbol {\ pi}} _ {t } ^ {i} = {\ text {softmax}} ({\ hat {\ boldsymbol {\ pi}}} _ {t} ^ {i})}{\ displaystyle {\ boldsymbol {\ pi}} _ {t} ^ {i} = {\ text {softmax}} ({\ hat {\ boldsymbol {\ pi}}} _ {t} ^ {i})} Режимы чтения,. π ti ∈ р 3 {\ displaystyle {\ boldsymbol {\ pi}} _ {t} ^ {i} \ in \ mathbb {R} ^ {3}}{\ displaystyle {\ boldsymbol {\ pi}} _ {t} ^ {i} \ in \ mathbb {R} ^ {3} }


Записать голову
ktw {\ displaystyle \ mathbf {k} _ {t} ^ {w}}{\ displaystyle \ mathbf {k} _ {t} ^ {w}} Записать ключ
β tw = β ^ tw {\ displaystyle \ beta _ {t} ^ {w} = {\ hat {\ beta}} _ {t} ^ {w}}{\ displaystyle \ beta _ {t} ^ {w} = {\ hat {\ beta}} _ {t} ^ { w}} Сила записи
et = σ (e ^ t) {\ displaystyle \ mathbf {e} _ {t} = \ sigma (\ mathbf {\ hat {e}} _ {t})}{\ displaystyle \ mathbf {e} _ {t} = \ sigma (\ mathbf {\ hat {e}} _ {t})} Удалить вектор
vt {\ displaystyle \ mathbf {v} _ {t}}{\ displaystyle \ mathbf {v} _ {t}} Записать вектор
gta = σ (g ^ ta) {\ displaystyle g_ {t} ^ {a} = \ sigma ({\ hat {g}} _ {t} ^ {a})}{\ displaystyle g_ {t} ^ {a} = \ sigma ({\ hat {g}} _ {t} ^ {a})} Шлюз распределения
gtw = σ (g ^ tw) {\ displaystyle g_ {t} ^ {w} = \ sigma ({\ hat {g}} _ {t} ^ {w})}{\ displaystyle g_ {t} ^ {w} = \ sigma ({\ hat {g}} _ {t} ^ {w})} Шлюз записи
Память
M T знак равно M T - 1 ∘ (E - wtwet ⊺) + wtwvt ⊺ {\ displaystyle M_ {t} = M_ {t-1} \ circ (E- \ mathbf {w} _ {t} ^ {w } \ mathbf {e} _ {t} ^ {\ intercal}) + \ mathbf {w} _ {t} ^ {w} \ mathbf {v} _ {t} ^ {\ intercal}}{\ displaystyle M_ {t} = M_ {t-1} \ circ (E- \ mathbf {w} _ {t} ^ {w } \ mathbf {e} _ {t} ^ {\ intercal}) + \ mathbf {w} _ {t} ^ {w} \ mathbf {v} _ {t} ^ {\ intercal}} Матрица памяти,. Матрица единиц E ∈ RN × W {\ displaystyle E \ in \ mathbb {R} ^ {N \ times W}}{\ displaystyle E \ in \ mathbb {R} ^ { N \ times W}}
ut = (ut - 1 + wt - 1 w - ut - 1 ∘ вес - 1 вес) ∘ ψ T {\ Displaystyle \ mathbf {u} _ {t} = (\ mathbf {u} _ {t-1} + \ mathbf {w} _ {t-1} ^ { w} - \ mathbf { u} _ {t-1} \ circ \ mathbf {w} _ {t-1} ^ {w}) \ circ {\ boldsymbol {\ psi}} _ {t}}{\ displaystyle \ mathbf {u} _ {t } = (\ mathbf {u} _ {t-1} + \ mathbf {w} _ {t-1} ^ {w} - \ mathbf {u} _ {t-1} \ circ \ mathbf {w} _ {t-1} ^ {w}) \ circ {\ boldsymbol {\ psi}} _ {t} } Вектор использования
pt Знак равно (1 - ∑ iwtw [я]) pt - 1 + wtw {\ displaystyle \ mathbf {p} _ {t} = \ left (1- \ sum _ {i} \ mathbf {w} _ {t} ^ { w} [i] \ right) \ mathbf {p} _ {t-1} + \ mathbf {w} _ {t} ^ {w}}{\ displaystyle \ mathbf {p} _ {t} = \ left (1- \ sum _ {i} \ mathbf {w} _ {t} ^ {w} [i] \ right) \ mathbf {p } _ {t-1} + \ mathbf {w} _ {t} ^ {w}} Взвешивание приоритета,. p 0 = 0 {\ displaystyle \ mathbf {p} _ {0} = \ mathbf {0}}{\ displaystyle \ mathbf {p} _ {0} = \ mathbf {0}}
L t = (1 - I) [(1 - wtw [i] - wtj) L t - 1 [i, j] + wtw [я] pt - 1 j] {\ displaystyle L_ {t} = (\ mathbf {1} - \ mathbf {I}) \ left [(1- \ mathbf {w} _ {t} ^ {w} [i] - \ mathbf {w} _ {t} ^ {j}) L_ {t-1} [i, j] + \ mathbf {w} _ {t} ^ {w} [i] \ mathbf {p } _ {t-1} ^ {j} \ right]}{\ displaystyle L_ {t} = (\ mathbf {1} - \ mathbf {I}) \ left [(1- \ mathbf {w} _ {t} ^ {w} [i] - \ mathbf {w} _ {t} ^ {j}) L_ {t-1} [я, j] + \ mathbf {w} _ {t} ^ {w} [i] \ mathbf {p} _ {t-1} ^ {j} \ right]} Матрица временных связей,. L 0 = 0 {\ displaystyle L_ {0} = \ mathbf {0}}{\ displaystyle L_ {0} = \ mathbf {0}}
wtw = gtw [gtaat + (1 - gta) ctw] {\ displaystyle \ mathbf {w} _ {t} ^ {w} = g_ {t} ^ {w} [g_ {t} ^ {a} \ mathbf {a } _ {t} + (1-g_ {t} ^ {a}) \ mathbf {c} _ {t} ^ {w}]}{\ displaystyle \ mathbf {w} _ {t} ^ {w} = g_ {t} ^ {w} [g_ {t} ^ {a} \ mathbf {a} _ {t} + (1-g_ { t} ^ {a}) \ mathbf {c} _ {t} ^ {w}]} Записать взвешивание
wtr, i = π ti [1] bti + π ti [2] ctr, я + π ti [3] fti {\ displaystyle \ mathbf {w} _ {t} ^ {r, i} = {\ bold символ {\ pi}} _ {t} ^ {i} [1] \ mathbf {b} _ {t} ^ {i} + {\ boldsymbol {\ pi}} _ {t} ^ {i} [2] c_ {t} ^ {r, i} + {\ boldsymbol {\ pi}} _ {t} ^ {i} [3] f_ {t} ^ {i}}{\ Displaystyle \ м athbf {w} _ {t} ^ {r, i} = {\ boldsymbol {\ pi}} _ {t} ^ {i} [1] \ mathbf {b} _ {t} ^ {i} + {\ boldsymbol {\ pi}} _ {t} ^ {i} [2] c_ {t} ^ {r, i} + {\ boldsymbol {\ pi}} _ {t} ^ {i} [3] f_ {t } ^ {i}} Считывание взвешивания
rti = M t ⊺ wtr, я {\ displaystyle \ mathbf {r} _ {t} ^ {i} = M_ {t} ^ {\ intercal} \ mathbf {w} _ {t} ^ {r, i}}{\ displaystyle \ mathbf {r} _ {t} ^ {i} = M_ {t} ^ {\ intercal} \ mathbf {w} _ {t} ^ {r, i}} Считать векторы


C (M, k, β) [i] = exp ⁡ {D (k, M [i, ⋅]) β} ∑ j exp ⁡ {D (k, M [j, ⋅]) β } {\ displaystyle {\ mathcal {C}} (M, \ mathbf {k}, \ beta) [i] = {\ frac {\ exp \ {{\ mathcal {D}} (\ mathbf {k}, M [i, \ cdot]) \ beta \}} {\ sum _ {j} \ exp \ {{\ mathcal {D}} (\ mathbf {k}, M [j, \ cdot]) \ beta \}} }}{\ displaystyle {\ mathcal {C}} (M, \ mathbf {k}, \ beta) [i] = {\ frac {\ exp \ {{\ mathcal {D}} (\ mathbf {k}, M [i, \ cdot]) \ beta \}} {\ sum _ {j} \ exp \ { {\ mathcal {D}} (\ mathbf {k}, M [j, \ cdot]) \ beta \}}}} Адресация на основе содержимого,. ключ поиска k {\ displaystyle \ mathbf {k}}\ mathbf {k} , сила ключа β {\ displaystyle \ beta}\ beta
ϕ t {\ displaystyle \ phi _ {t}}\ phi _ {t} Индексы ut {\ displaystyle \ mathbf {u} _ {t}}{\ displaystyle \ mathbf {u} _ {t}} ,., отсортированные в порядке возрастания использования
в [ϕ t [j]] = (1 - ут [ϕ t [j]]) ∏ я знак равно 1 j - 1 ут [ϕ t [я]] {\ displaystyle \ mathbf {a} _ {t} [\ phi _ {t } [j]] = (1- \ mathbf {u} _ {t} [\ phi _ {t} [j]]) \ pr od _ {i = 1} ^ {j-1} \ mathbf {u} _ {t} [\ phi _ {t} [i]]}{\ displaystyle \ mathbf {a} _ {t} [\ phi _ {t} [j]] = (1- \ mathbf {u} _ {t} [\ phi _ { t} [j]]) \ prod _ {i = 1} ^ {j-1} \ mathbf {u} _ {t} [ \ phi _ {t} [я]]} Распределение веса
ctw = C (M t - 1, ktw, β tw) {\ displaystyle \ mathbf {c} _ {t} ^ {w} = {\ mathcal {C}} (M_ {t-1}, \ mathbf {k} _ {t} ^ {w }, \ beta _ {t} ^ {w})}{\ displaystyle \ mathbf {c} _ {t} ^ {w} = {\ mathcal {C}} (M_ {t-1}, \ mathbf {k} _ {t} ^ {w}, \ beta _ {t} ^ {w })} Запись веса содержимого
ctr, i = C (M t - 1, ktr, i, β tr, i) {\ displaystyle \ mathbf {c } _ {t} ^ {r, i} = {\ mathcal {C}} (M_ {t-1}, \ mathbf {k} _ {t} ^ {r, i}, \ beta _ {t} ^ {r, i})}{\ displaystyle \ mathbf {c} _ {t} ^ {r, i } = {\ mathcal {C}} (M_ {t-1}, \ mathbf {k} _ {t} ^ {r, i}, \ beta _ {t} ^ {r, i})} Прочитать взвешивание содержимого
fti = L twt - 1 r, i {\ displaystyle \ mathbf {f} _ {t} ^ {i} = L_ {t} \ mathbf {w } _ {t-1} ^ {r, i}}{\ displaystyle \ mathbf {f} _ {t} ^ {i} = L_ {t} \ mathbf {w} _ {t-1} ^ {г, я}} Прямое взвешивание
bti = L t ⊺ wt - 1 r, i {\ displaystyle \ mathbf {b} _ {t} ^ {i} = L_ {t} ^ {\ intercal} \ mathbf {w} _ {t-1} ^ {r, i}}{\ displaystyle \ mathbf {b} _ {t} ^ {я} = L_ {т} ^ {\ интеркал} \ mathbf {w} _ {t-1} ^ {r, i}} Обратное взвешивание
ψ t = ∏ i = 1 R (1 - ftiwt - 1 r, я) {\ displaystyle {\ boldsymbol {\ psi}} _ {t} = \ prod _ {i = 1} ^ {R} \ left (\ mathbf {1} -f_ {t} ^ {i} \ mathbf {w} _ {t-1} ^ {r, i} \ right)}{\ displaystyle {\ boldsymbol {\ psi }} _ {t} = \ prod _ {i = 1} ^ {R} \ left (\ mathbf {1} -f_ {t} ^ {i} \ mathbf {w} _ {t-1} ^ {r, i} \ right)} Вектор сохранения памяти
Определения
W, b {\ displaystyle \ mathbf {W}, \ mathbf {b}}{\ displaystyle \ mathbf {W}, \ mathbf {b}} Матрица весов, вектор смещения
0, 1, I {\ displaystyle \ mathbf {0}, \ mathbf {1}, \ mathbf {I}}{\ displaystyle \ mathbf {0}, \ mathbf {1}, \ mathbf {I}} Матрица нулей, матрица единиц, единичная матрица
∘ {\ displaystyle \ circ}\ circ Элементное умножение
D (U, v) знак равно U ⋅ v ‖ U ‖ ‖ v ‖ {\ displaystyle {\ mathcal {D}} (\ mathbf {u}, \ mathbf {v}) = {\ frac {\ mathbf {u} \ cdot \ mathbf {v}} {\ | \ mathbf {u} \ | \ | \ mathbf {v} \ |}}}{\ displaystyle {\ mathcal {D}} (\ mathbf {u}, \ mathbf {v}) = {\ frac {\ mathbf {u} \ cdot \ mathbf {v}} {\ | \ mathbf {u} \ | \ | \ mathbf {v} \ |}}} Косинусное сходство
σ (x) = 1 / (1 + e - x) {\ displaystyle \ sigma (x) = 1 / (1 + e ^ {- x})}{\ displaystyle \ sigma (x) = 1 / (1 + e ^ {- x})} сигмовидная функция
oneplus (x) = 1 + log ⁡ (1 + ex) {\ displaystyle {\ текст {oneplus}} (x) = 1 + \ log (1 + e ^ {x})}{\ displaystyle {\ text {oneplus}} (x) = 1 + \ log (1 + e ^ {x})} Функция Oneplus
softmax (x) j = exj ∑ k = 1 K exk {\ displaystyle {\ text {softmax}} (\ mathbf {x}) _ {j} = {\ frac {e ^ {x_ {j}}} {\ sum _ {k = 1} ^ {K} e ^ {x_ {k}} }}}{\ displaystyle {\ text {softmax}} (\ mathbf {x}) _ {j} = {\ frac {e ^ {x_ { j}}} {\ sum _ {k = 1} ^ {K} e ^ {x_ {k}}}}} для j = 1,…, K.Функция Softmax

Расширения

Усовершенствования включают адресацию разреженной памяти, которая уменьшает временную и пространственную сложность в тысячи раз. Это может быть достигнуто с помощью алгоритма приблизительного ближайшего соседа, такого как хеширование с учетом местоположения, или случайного дерева kd, например Fast Library for Approximate Neighbours from UBC. Добавление времени адаптивных вычислений (ACT) отделяет время вычислений от времени данных, которое использует тот факт, что длина проблемы и сложность проблемы не всегда одинаковы. Обучение с использованием синтетических градиентов работает значительно лучше, чем Обратное распространение во времени (BPTT). Устойчивость может быть улучшена с помощью нормализации слоев и обхода исключения в качестве регуляризации.

Ссылки
Внешние ссылки
Последняя правка сделана 2021-05-17 05:43:48
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте