Тензорный скетч

Материал из testwiki
Перейти к навигации Перейти к поиску
Тензорный скетч может использоваться для уменьшения количества переменных, необходимых для реализации билинейного пулинга в нейронной сети

Тензорный скетч (Шаблон:Lang-en) — метод уменьшения размерности, используемый в статистике, машинном обучении и алгоритмах обработки больших данных[1][2]. Он особенно эффективен применительно к векторам, имеющим тензорную структуру. Такой скетч может быть использован для ускорения билинейного объединения в нейронных сетях и является краеугольным камнем во многих алгоритмах числовой линейной алгебры[3].

История

Термин тензорный скетч (эскиз) был придуман в 2013 г.[4] и в том же году описан как метод Расмусом Пегом[5].

Сначала соответствующий метод базировался на использовании быстрого преобразования Фурье, чтобы реализовать быструю свёртку аналогично отсчётному скетчу. В результате дальнейших исследований его обобщили на значительно больший класс методов уменьшения размерности с помощью случайных тензорных проекций.

Тензорные проекции

В основе одного из вариантов тензорного скетча лежит применение торцевого произведения матриц, предложенного Слюсарем В. И.[6] в 1996 г. (Шаблон:Lang-en)[7][8][9][10][11].

Торцевое произведение двух матриц с однаковым количеством строк 𝐂∈ℝ3×3 и 𝐃∈ℝ3×3 имеет вид[7][8][9][12]: 𝐂∙𝐃=[𝐂1⊗𝐃1𝐂2⊗𝐃2𝐂3⊗𝐃3]=[𝐂1,1𝐃1,1𝐂1,1𝐃1,2𝐂1,1𝐃1,3𝐂1,2𝐃1,1𝐂1,2𝐃1,2𝐂1,2𝐃1,3𝐂1,3𝐃1,1𝐂1,3𝐃1,2𝐂1,3𝐃1,3𝐂2,1𝐃2,1𝐂2,1𝐃2,2𝐂2,1𝐃2,3𝐂2,2𝐃2,1𝐂2,2𝐃2,2𝐂2,2𝐃2,3𝐂2,3𝐃2,1𝐂2,3𝐃2,2𝐂2,3𝐃2,3𝐂3,1𝐃3,1𝐂3,1𝐃3,2𝐂3,1𝐃3,3𝐂3,2𝐃3,1𝐂3,2𝐃3,2𝐂3,2𝐃3,3𝐂3,3𝐃3,1𝐂3,3𝐃3,2𝐂3,3𝐃3,3].

Целесообразность использования этого произведения заключается в его свойстве:

(𝐂∙𝐃)(x⊗y)=𝐂x∘𝐃y=[(𝐂x)1(𝐃y)1(𝐂x)2(𝐃y)2⋮],

где ∘ — поэлементное произведение Адамара.

На этой основе произвольный тензорный скетч вида 𝐌(y⊗z) можно представить как 𝐌′y∘𝐌″z, где матрицы 𝐌′ и 𝐌″ имеют меньшую размерность, и 𝐌′∙𝐌″=𝐌. Поскольку операции 𝐌′y и 𝐌″z выполнимы за линейное время kd1 и kd2 соответственно, переход к представлению 𝐌′∙𝐌″ позволяет выполнить умножение на векторы с тензорной структурой намного быстрее, чем формируется исходное выражение 𝐌(y⊗z), а именно за время kd=kd1d2.

Для тензоров более высокого порядка, например, x=y⊗z⊗t, экономия будет ещё более значимой.

Подобное преобразование удовлетворяет лемме о малых искажениях исходных данных большой размерности.

См. также

Примечания

Шаблон:Примечания

Шаблон:Вс Шаблон:Искусственный интеллект Шаблон:Машинное обучение

  1. ↑ Шаблон:Cite web
  2. ↑ Шаблон:Cite web
  3. ↑ Woodruff, David P. «Sketching as a Tool for Numerical Linear Algebra.» Theoretical Computer Science 10.1-2 (2014): 1-157.
  4. ↑ Шаблон:Cite conference
  5. ↑ Шаблон:Cite journal
  6. ↑ Anna Esteve, Eva Boj & Josep Fortiana (2009): Interaction Terms in Distance-Based Regression, Communications in Statistics — Theory and Methods, 38:19, P. 3501 [1] Шаблон:Wayback
  7. ↑ 7,0 7,1 Шаблон:Cite journal
  8. ↑ 8,0 8,1 Шаблон:Статья
  9. ↑ 9,0 9,1 Шаблон:Статья
  10. ↑ Шаблон:Статья
  11. ↑ Шаблон:Cite web
  12. ↑ Шаблон:Cite journal