Основы тензорных вычислений (2022/2023)
Материал из Wiki - Факультет компьютерных наук
Содержание
О курсе
Курс читается для студентов 3-го и 4-го курса ПМИ.
Лектор: Рахуба Максим Владимирович
Семинарист: Высоцкий Лев Игоревич
Учебные ассистенты: Ира Голобородько, Миша Петров
Полезные ссылки
Записи занятий (часть 1) (часть 2)
Лекции и семинары
- Лекция 1. Введение. [Конспект Zoom-запись] Тензоры и тензорные произведения. Свёртки тензоров. Тензоры как мультилинейные отображения: нормы, сингулярные числа и векторы.
- Семинар 1. [Конспект Zoom-запись] Абстрактные тензоры. Универсальное свойство тензорного произведения. Тензорные диаграммы. Сингулярные числа и векторы (продолжение).
- Лекция 2. Каноническое разложение тензоров (CP). [Конспект Zoom-запись] Определение. Канонический ранг тензоров. Произведение Хатри-Рао. Оценки на ранг. Единственность разложения.
- Семинар 2. [Конспект Zoom-запись] Тензорные диаграммы (продолжение). Каноническое разложение: пример вычисления, комплексный вариант. Приближение тензорами меньшего ранга.
- Лекция 3. Алгоритмы вычисления CP-разложения. [Конспект Zoom-запись] Единственность разложения (продолжение). Алгоритм Дженриха. ALS. Гаусс-Ньютон.
- Семинар 3. [Конспект Zoom-запись] Построение канонического разложения: метод Ньютона, метод Гаусса-Ньютона.
- Лекция 4. Обобщение SVD на многомерный случай. [Конспект Zoom-запись] Разложение Таккера. Higher-order SVD (HOSVD). Приближение тензора тензором меньшего ранга, T-HOSVD (truncated HOSVD).
- Семинар 4. [Конспект Zoom-запись] T-HOSVD (продолжение). Переход к новому базису в тензорном произведении пространств. Связь между тензорами и ЭЭГ. Эффективное вычисление тензорных операций.
- Лекция 5. Обобщение SVD на многомерный случай — 2. [Конспект Zoom-запись] Квазиоптимальность T-HOSVD. Алгоритмы поиска разложения Таккера: HOSVD, HOOI. "Арифметика" малоранговых тензоров.
- Семинар 5. [Конспект Zoom-запись] (Не)Единственность разложения Таккера. Приведение разложения Таккера к HOSVD. T-HOSVD (продолжение).
- Лекция 6. Приложения тензорных вычислений. [Конспект Zoom-запись] "Арифметика" малоранговых тензоров (продолжение). Некоторые приложения: мультилинейный PCA, задача коллаборативной фильтрации, графы знаний, сжатие слоёв нейросетей. Проклятье размерности.
- Семинар 6. [Конспект Zoom-запись] ST-HOSVD. HOOI vs ALS. Сложность алгоритмов. Поэлементное умножение тензоров. Поэлементное обращение тензора.
- Лекция 7. Разложение тензорного поезда (TT). [Конспект Zoom-запись] Определение, формы записи. Сильное кронекерово произведение. TT-ранги. Ортогонализация ядер.
- Семинар 7. [Конспект Zoom-запись] Разреженные тензоры. Numba. TT-разложение: пример вычисления.
- Лекция 8. TT-разложение (продолжение). [Конспект Zoom-запись] Ортогонализация ядер (продолжение). Алгоритм TT-SVD. Эффективная рекомпрессия TT-разложения. Арифметика в TT-формате.
- Семинар 8. [Конспект Zoom-запись] TT-SVD в виде псевдокода. Почему ошибка в TT-SVD не накапливается экспоненциально? TT-SVD с округлением.
- Лекция 9. Линейные операторы в TT-формате. [Конспект Zoom-запись] Введение, формулировка, где встречаются. ALS для TT. DMRG. Крестовая аппроксимация матриц.
- Семинар 9. [Конспект Zoom-запись] TT-матрицы (продолжение). Примеры приведения операторов к TT-формату. Переход от канонического разложения к TT-разложению. ALS для TT (продолжение).
- Лекция 10. Крестовая аппроксимация тензоров. Риманова оптимизация. [Конспект Zoom-запись] Крестовая аппроксимация матриц (продолжение). Крестовая аппроксимация тензоров, TT-cross. Интегрирование многомерных функций. Методы римановой оптимизации.
- Семинар 10. [Конспект Ноутбук Zoom-запись] Оптимизация на многообразиях (продолжение). Касательное пространство к S^{n-1}. Минимальное собственное значение симметричной вещественной матрицы. Многообразие матриц фиксированного ранга, касательное пространство к нему. Многообразие тензоров фиксированного TT-ранга.
- Лекция 11. Риманова оптимизация. Иерархический Таккер. [Конспект Zoom-запись] Риманова оптимизация (продолжение). Разложение иерархического Таккера (HT): определение, ранги, ортогонализация, сложение. Замкнутость множеств тензоров ограниченного ранга.
- Семинар 11. [Конспект Ноутбук Zoom-запись] Является ли TT частным случаем HT? Степени свободы в HT и TT. Пример HT-разложения. Библиотека ttpy.
- Лекция 12. Обзор тензорных сетей. [Конспект Zoom-запись] Замкнутость тензорных сетей: теорема Ландсберга. Популярные тензорные сети: тензорное кольцо (TR), PEPS, MERA. Ранги произвольных развёрток. Канонические формы тензорных сетей. Тензоризация в ML. Приближение функций по сетке.
- Семинар 12. [Конспект Zoom-запись] Теорема Ландсберга: пример незамкнутого множества. TR-разложение (продолжение). MERA (продолжение). Введение в пракДЗ-3. PEPS (продолжение).
- Лекция 13. Вычисление свёрток. [Конспект Zoom-запись] Тензоризация (продолжение). Билинейные алгоритмы и каноническое разложение. Одномерная свёртка: виды свёрток, алгоритм Тоома-Кука, малоранговый случай.
- Семинар 13. [Конспект Ноутбук Zoom-запись] Тензоризация многочленов. Библиотека TensorNetwork. Билинейные алгоритмы: алгоритм Карацубы.
- Лекция 14. Вычисление свёрток — 2. [Конспект Zoom-запись] Алгоритм Винограда. Вычисление многомерных свёрток. Свёрточный слой, его сингулярные числа. Тензорные разложения ядра свёртки.
- Семинар 14. [Конспект Zoom-запись] Алгоритм Винограда: китайская теорема об остатках для чисел и для полиномов, пример вычисления. Многомерные свёртки (продолжение). "Устойчивость" нейросетей.
Домашние задания
Теоретические ДЗ выдаются каждые 2 или 3 недели.
Также планируется 3-4 практических ДЗ.
- Теоретическое ДЗ-1. [PDF TEX] Дедлайн: 03.10.22 в 23:59.
- Практическое ДЗ-1. [Папка с файлами] Дедлайн: 24.10.22 в 23:59.
- Теоретическое ДЗ-2. [PDF TEX] Дедлайн: 18.10.22 в 23:59.
- Теоретическое ДЗ-3. [PDF TEX] Дедлайн: 14.11.22 в 23:59.
- Практическое ДЗ-2. [Папка с файлами] Дедлайн: 23.11.22 в 23:59.
- Теоретическое ДЗ-4. [PDF] Дедлайн: 05.12.22 в 23:59.
- Теоретическое ДЗ-5. [PDF TEX] Дедлайн: 18.12.22 в 23:59.
- Практическое ДЗ-3. [Папка с файлами] Дедлайн: 21.12.22 в 23:59.
Итоговая оценка за курс
Итог = Округление(min(10, 0.2 * ДЗ_Теор + 0.15 * ДЗ_Практ + 0.1 * Б + 0.15 * ПР + 0.2 * К + 0.3 * Э))
ДЗ_Теор –– средняя оценка за теоретические домашние задания
ДЗ_Практ –– средняя оценка за практические домашние задания
Б –– средняя оценка за бонусные задачи в ДЗ
ПР — средняя оценка за самостоятельные работы на семинарах
К –– оценка за устный коллоквиум (проводится в начале 2-го модуля)
Э –– письменный экзамен.
Округление арифметическое.