Математика и архитектура глубокого обучения

Математика и архитектура глубокого обучения

Математика и архитектура глубокого обучения
Автор: Ашок Ананья Хоннедевастхана, Наруманчи Суджай, Чаудхури Кришнанду, Шанкар Девашиш
Дата выхода: 2026
Издательство: Питер
Количество страниц: 576
Размер файла: 38.6 MB
Тип файла: PDF
Добавил: codelibs
 Проверить на вирусы

Предисловие....17

Введение....19

Благодарности....20

Об авторах....27

Иллюстрация на обложке....28

О книге....22

Кому адресована книга....24

Структура издания....24

О примерах кода....26

Глава 1. Обзор машинного и глубокого обучения....29

1.1. Первое знакомство с машинным/глубоким обучением: смена парадигмы в вычислениях....30

1.2. Взгляд на машинное обучение как на аппроксимацию функций: модели и их обучение....34

1.3. Простая модель машинного обучения «мозг кошки»....35

1.3.1. Входные признаки....36

1.3.2. Выходные решения....36

1.3.3. Аппроксимация модели....36

1.3.4. Выбор архитектуры модели....37

1.3.5. Обучение модели....37

1.3.6. Прогнозирование....39

1.4. Геометрический взгляд на машинное обучение....39

1.5. Регрессия и классификация в машинном обучении....42

1.6. Линейные и нелинейные модели....42

1.7. Увеличение выразительной способности за счет использования множества нелинейных слоев: глубокие нейронные сети....43

Резюме....45

Глава 2. Векторы, матрицы и тензоры в машинном обучении....47

2.1. Векторы и их роль в машинном обучении....48

2.1.1. Геометрическое представление векторов и его значение в машинном обучении....50

2.2. Манипуляции с векторами с помощью PyTorch....52

2.2.1. Код PyTorch для знакомства с векторами....52

2.3. Матрицы и их роль в машинном обучении....53

2.3.1. Матричное представление цифровых изображений....55

2.4. Код на Python: знакомство с матрицами, тензорами и изображениями с помощью PyTorch....55

2.5. Основные векторные и матричные операции в машинном обучении....58

2.5.1. Транспонирование матриц и векторов....58

2.5.2. Скалярное произведение двух векторов и его роль в машинном обучении....59

2.5.3. Произведение матриц и машинное обучение....61

2.5.4. Длина вектора (норма L2): ошибка модели....63

2.5.5. Геометрический смысл длины вектора....66

2.5.6. Геометрический смысл скалярного произведения: сходство признаков....66

2.6. Ортогональность векторов и ее физический смысл....69

2.7. Код на Python: базовые векторные и матричные операции в PyTorch....70

2.7.1. Транспонирование матриц с помощью PyTorch....70

2.7.2. Скалярное произведение с помощью PyTorch....71

2.7.3. Умножение матрицы на вектор с помощью PyTorch....71

2.7.4. Умножение матрицы на матрицу с помощью PyTorch....72

2.7.5. Транспонирование произведения матриц с помощью PyTorch....72

2.8. Уравнения многомерных линий и плоскостей и машинное обучение....73

2.8.1. Уравнение многомерной линии....73

2.8.2. Многомерные плоскости и их роль в машинном обучении....74

2.9. Линейные комбинации, охватываемое пространство, базисные векторы и коллинеарность....77

2.9.1. Линейная зависимость....78

2.9.2. Пространство, охватываемое векторами....79

2.9.3. Векторные пространства, базисные векторы и замыкания....79

2.10. Линейные преобразования: геометрическая и алгебраическая интерпретации....81

2.10.1. Обобщенное определение многомерных линейных преобразований....83

2.10.2. Умножение матрицы на вектор является линейным преобразованием....83

2.11. Многомерные массивы, полилинейные преобразования и тензоры....84

2.11.1. Представление массивов: многомерные массивы чисел....84

2.12. Линейные системы и обратные матрицы....85

2.12.1. Линейные системы с нулевыми или близкими к нулю определителями и плохо обусловленные системы....87

2.12.2. Вычисление обратной матрицы, детерминанта и проверка вырожденности с помощью PyTorch....89

2.12.3. Переопределенные и недоопределенные линейные системы в машинном обучении....89

2.12.4. Псевдообращение матрицы Мура — Пенроуза....91

2.12.5. Псевдообращение матриц: замечательная геометрическая интерпретация....92

2.12.6. Решение переопределенных систем с помощью PyTorch....94

2.13. Собственные значения и собственные векторы: универсальные инструменты машинного обучения....95

2.13.1. Собственные векторы и линейная независимость....98

2.13.2. Симметричные матрицы и ортогональные собственные векторы....99

2.13.3. Вычисление собственных значений и собственных векторов с помощью PyTorch....100

2.14. Ортогональные матрицы (вращения), их собственные значения и собственные векторы....100

2.14.1. Матрицы поворота....100

2.14.2. Ортогональность матриц вращения....103

2.14.3. Проверка ортогональности матриц вращения с помощью PyTorch....104

2.14.4. Собственные значения и собственные векторы матрицы вращения: определение оси вращения....105

2.14.5. Определение собственных значений и собственных векторов матриц вращения с помощью PyTorch....106

2.15. Диагонализация матрицы....106

2.15.1. Диагонализация матрицы с помощью PyTorch....107

2.15.2. Решение линейных систем без обращения с помощью диагонализации....108

2.15.3. Решение линейных систем методом диагонализации с помощью PyTorch....109

2.15.4. Возведение матрицы в степень с помощью диагонализации....110

2.16. Спектральное разложение симметричной матрицы....111

2.16.1. Спектральное разложение матрицы с помощью PyTorch....112

2.17. Приложение, связанное с машинным обучением: нахождение осей гиперэллипса....112

2.17.1. Решение задачи о гиперэллипсе с помощью PyTorch....113

Резюме....115

Глава 3. Классификаторы и векторное исчисление....117

3.1. Геометрическая интерпретация классификации изображений....117

3.1.1. Представление входных данных....118

3.1.2. Классификаторы как границы принятия решений....119

3.1.3. Коротко о моделировании....120

3.1.4. Знак функции поверхности в бинарной классификации....123

3.2. Ошибка, она же функция потерь....124

3.3. Минимизация функций потерь: векторы градиента....124

3.3.1. Градиенты: применение в машинном обучении....126

3.3.2. Представление поверхности уровня и минимизация потерь....132

3.4. Локальная аппроксимация функции потерь....136

3.4.1. Одномерный ряда Тейлора....136

3.4.2. Многомерный ряд Тейлора и матрица Гессе....137

3.5. Реализация градиентного спуска, минимизация ошибок и обучение модели с помощью PyTorch....138

3.5.1. Реализация линейных моделей с помощью PyTorch....138

3.5.2. Автоградиент: автоматическое вычисление градиента с помощью PyTorch....140

3.5.3. Реализация нелинейных моделей с помощью PyTorch....141

3.5.4. Реализация линейной модели мозга кошки с помощью PyTorch....144

3.6. Выпуклые и невыпуклые функции, а также глобальные и локальные минимумы....145

3.7. Выпуклые множества и функции....146

3.7.1. Выпуклые множества....147

3.7.2. Выпуклые кривые и поверхности....147

3.7.3. Выпуклость и ряды Тейлора....150

3.7.4. Примеры выпуклых функций....150

Резюме....151

Глава 4. Инструменты линейной алгебры в машинном обучении....153

4.1. Распределение точек данных и истинная размерность....154

4.2. Квадратичные формы и их минимизация....156

4.2.1. Минимизация квадратичных форм....158

4.2.2. Симметричные положительно (полу)определенные матрицы....160

4.3. Спектральная и фробениусова нормы матрицы....160

4.3.1. Спектральная норма....161

4.3.2. Фробениусова норма....161

4.4. Метод главных компонент....162

4.4.1. Направление максимальной изменчивости....164

4.4.2. Метод главных компонент и уменьшение размерности....165

4.4.3. Реализация МГК и уменьшение размерности с помощью PyTorch....167

4.4.4. Ограничения метода главных компонент....169

4.4.5. Метод главных компонент и сжатие данных....170

4.5. Разложение по сингулярным числам....170

4.5.1. Неформальное доказательство теоремы о сингулярном разложении....171

4.5.2. Доказательство теоремы о сингулярном разложении....173

4.5.3. Применение SVD: вычисление главных компонент....175

4.5.4. Применение SVD: решение произвольных линейных систем....176

4.5.5. Ранг матрицы....177

4.5.6. Решение линейных систем методом SVD с помощью PyTorch....178

4.5.7. Вычисление главных компонент методом SVD с помощью PyTorch....179

4.5.8. Применение SVD: наилучшая аппроксимация матрицей более низкого ранга....180

4.6. Применение машинного обучения: поиск документов....181

4.6.1. Использование TF-IDF и косинусного сходства....181

4.6.2. Латентно-семантический анализ....183

4.6.3. Реализация LSA с помощью PyTorch....186

4.6.4. Реализация LSA и SVD для большого набора данных с помощью PyTorch....187

Резюме....188

Глава 5. Распределение вероятностей в машинном обучении....190

5.1. Вероятность: классический частотный взгляд....191

5.1.1. Случайные величины....192

5.1.2. Гистограммы численности....193

5.2. Распределения вероятностей....194

5.3. Основные понятия теории вероятностей....196

5.3.1. Вероятности невозможных и определенных событий....196

5.3.2. Исчерпывающие и взаимоисключающие события....196

5.3.3. Независимые события....197

5.4. Совместные вероятности и их распределения....197

5.4.1. Безусловные вероятности....199

5.4.2. Зависимые события и совместное распределение их вероятностей....200

5.5. Геометрическое представление распределений зависимых и независимых величин в выборках....201

5.6. Непрерывные случайные величины и плотность вероятности....203

5.7. Свойства распределений: математическое ожидание, дисперсия и ковариация....204

5.7.1. Ожидание, или среднее....205

5.7.2. Дисперсия, ковариация и стандартное отклонение....207

5.8. Выборка из распределения....210

5.9. Некоторые известные распределения вероятностей....213

5.9.1. Равномерные случайные распределения....213

5.9.2. Гауссово (нормальное) распределение....217

5.9.3. Биномиальное распределение....227

5.9.4. Мультиномиальное распределение....231

5.9.5. Распределение Бернулли....234

5.9.6. Категориальное распределение и векторы прямого кодирования....236

Резюме....238

Глава 6. Байесовские инструменты в машинном обучении....241

6.1. Условная вероятность и теорема Байеса....242

6.1.1. Еще раз о совместной и безусловной вероятности....243

6.1.2. Условная вероятность....244

6.1.3. Теорема Байеса....246

6.2. Энтропия....247

6.2.1. Геометрический смысл энтропии....251

6.2.2. Энтропия гауссова распределения....252

6.3. Перекрестная энтропия....253

6.4. Расстояние Кульбака — Лейблера....257

6.4.1. KLD между гауссовыми распределениями....258

6.5. Условная энтропия....260

6.5.1. Цепное правило условной энтропии....262

6.6. Оценка параметров модели....262

6.6.1. Правдоподобие, доказательства, а также априорные и апостериорные вероятности....262

6.6.2. Оценка параметра методом максимального правдоподобия....264

6.6.3. Оценка параметра методом апостериорного максимума....265

6.7. Скрытые переменные и доказательство максимизации....266

6.8. Оценка параметра гауссова распределения методом максимального правдоподобия....267

6.8.1. Оценка методом максимального правдоподобия с помощью PyTorch....269

6.8.2. Оценка максимального правдоподобия с помощью PyTorch и градиентного спуска....270

6.9. Модели смесей гауссовых распределений....273

6.9.1. Функция плотности вероятности GMM....275

6.9.2. Скрытые переменные для выбора класса....279

6.9.3. Классификация с помощью GMM....281

6.9.4. Подбор параметров GMM методом максимального правдоподобия (подгонка GMM)....282

Резюме....289

Глава 7. Аппроксимация функций: как нейронные сети моделируют мир....291

7.1. Нейронные сети: общий взгляд....292

7.2. Выражение реальных задач: целевые функции....294

7.2.1. Логические функции в практических задачах....294

7.2.2. Функции классификации в реальных задачах....298

7.2.3. Общие функции в реальных задачах....304

7.3. Основной строительный блок или нейрон — перцептрон....304

7.3.1. Ступенчатая функция Хевисайда....304

7.3.2. Гиперплоскости....305

7.3.3. Перцептроны и классификация....306

7.3.4. Моделирование обычных логических элементов с помощью перцептронов....308

7.4. На пути к большей выразительности: многослойные перцептроны....311

7.4.1. Многослойный перцептрон для моделирования исключающего ИЛИ....311

7.5. Многослойные сети перцептронов: многослойные перцептроны или нейронные сети....313

7.5.1. Многослойная организация....313

7.5.2. Моделирование логических функций с помощью многослойных перцептронов....313

7.5.3. Универсальная аппроксимационная теорема Цыбенко....314

7.5.4. Многослойные перцептроны и многоугольные границы принятия решений....322

Резюме....323

Глава 8. Обучение нейронных сетей: прямое и обратное распространение....325

8.1. Дифференцируемые ступенчатые функции....326

8.1.1. Сигмоидная функция....326

8.1.2. Функция гиперболического тангенса....329

8.2. Почему многослойная организация предпочтительнее....330

8.3. Линейные слои....330

8.3.1. Выражение линейных слоев как умножение матрицы на вектор....332

8.3.2. Прямое распространение и выходные функции для многослойного перцептрона с линейными слоями....333

8.4. Обучение и обратное распространение....334

8.4.1. Потеря и ее минимизация: цель обучения....336

8.4.2. Поверхность потерь и градиентный спуск....336

8.4.3. Почему градиент определяет наилучшее направление для спуска....338

8.4.4. Градиентный спуск и локальный минимум....338

8.4.5. Алгоритм обратного распространения....339

8.4.6. Все вместе: общий алгоритм обучения....348

8.5. Обучение нейронной сети с помощью PyTorch....349

Резюме....353

Глава 9. Функции потерь, оптимизация и регуляризация....355

9.1. Функции потерь....356

9.1.1. Количественная оценка и геометрическое представление потерь....356

9.1.2. Регрессионные потери....358

9.1.2. Потери перекрестной энтропии....359

9.1.4. Потери бинарной перекрестной энтропии при несовпадении изображений и векторов....361

9.1.5. Softmax....362

9.1.6. Вычисление потерь перекрестной энтропии поверх softmax....364

9.1.7. Фокальные потери....367

9.1.8. Кусочно-линейная функция потерь....369

9.2. Оптимизация....371

9.2.1. Геометрическое представление оптимизации....372

9.2.2. Стохастический градиентный спуск и мини-пакеты....372

9.2.3. Реализация SGD с помощью PyTorch....373

9.2.4. Метод импульсов....377

9.2.5. Геометрическое представление: контуры постоянных потерь, градиентный спуск и импульс....379

9.2.6. Ускоренные градиенты Нестерова....381

9.2.7. AdaGrad....383

9.2.8. Среднее квадратическое распространение....384

9.2.9. Оптимизатор Adam....386

9.3. Регуляризация....387

9.3.1. Минимальная длина дескриптора: взгляд на оптимизацию с точки зрения бритвы Оккама....388

9.3.2. L2-регуляризация....389

9.3.3. L1-регуляризация....390

9.3.4. Разреженность: сравнение L1- и L2-регуляризации....390

9.3.5. Теорема Байеса и стохастический взгляд на оптимизацию....392

9.3.6. Прореживание....394

Резюме....398

Глава 10. Свертки в нейронных сетях....402

10.1. Одномерная свертка: геометрическое и алгебраическое представление....404

10.1.1. Сглаживание кривой с помощью одномерной свертки....409

10.1.2. Обнаружение края кривой с помощью одномерной свертки....410

10.1.3. Одномерная свертка как произведение матриц....411

10.1.4. PyTorch: одномерная свертка с заранее заданными весами....414

10.2. Размер выхода свертки....415

10.3. Двумерная свертка: геометрическое и алгебраическое представление....416

10.3.1. Сглаживание изображения с помощью двумерной свертки....423

10.3.2. Обнаружение границ на изображении с помощью двумерной свертки....424

10.3.3. PyTorch: двумерная свертка с заранее заданными весами....426

10.3.4. Двумерная свертка как произведение матриц....428

10.4. Трехмерная свертка....430

10.4.1. Определение движения в видео с помощью трехмерной свертки....433

10.4.2. PyTorch: трехмерная свертка с заранее заданными весами....435

10.5. Транспонированная, или дробно-шаговая, свертка....436

10.5.1. Применение транспонированной свертки: автокодировщики и векторные представления....439

10.5.2. Размер выхода транспонированной свертки....440

10.5.3. Увеличение разрешения с помощью транспонированной свертки....441

10.6. Добавление сверточных слоев в нейронную сеть....443

10.6.1. PyTorch: добавление сверточных слоев в нейронную сеть....443

10.7. Объединение....444

Резюме....446

Глава 11. Нейронные сети для классификации изображений и обнаружения объектов....448

11.1. Сверточные сети для классификации изображений: LeNet....449

11.1.1. PyTorch: реализация LeNet для классификации изображений в MNIST....452

11.2. Вперед к еще более глубоким нейронным сетям....453

11.2.1. Сеть VGG (Visual Geometry Group)....454

11.2.2. Inception: парадигма «сеть в сети»....460

11.2.3. ResNet: почему добавление слоев для увеличения глубины не масштабируется....464

11.2.4. PyTorch Lightning....470

11.3. Обнаружение объектов — краткая история....475

11.3.1. R-CNN....475

11.3.2. Fast R-CNN....476

11.3.3. Faster R-CNN....477

11.4. Faster R-CNN: глубокое погружение....477

11.4.1. Сверточная основа....478

11.4.2. Сеть выбора областей-кандидатов....479

11.4.3. Fast R-CNN....491

11.4.4. Обучение Faster R-CNN....499

11.4.5. Другие парадигмы обнаружения объектов....499

Резюме....501

Глава 12. Многообразия, гомеоморфизм и нейронные сети....503

12.1. Многообразия....503

12.1.1. Хаусдорфово свойство....506

12.1.2. Второе свойство счетности....507

12.2. Гомеоморфизм....509

12.3. Нейронные сети и гомеоморфизм между многообразиями....509

Резюме....511

Глава 13. Байесовский подход к оценке параметров модели....512

13.1. Байесовский подход к оценке. Неформальное введение....513

13.1.1. Оценка параметров и внедрение убеждений....513

13.2. Оценка значений параметров гауссова распределения методом MLE (краткий обзор)....514

13.3. Байесовский подход к оценке: гауссово распределение, неизвестное среднее, известная точность....515

13.4. Большие и малые объемы обучающих данных, а также сильные и слабые убеждения....518

13.5. Сопряженные априорные распределения....519

13.6. Байесовский подход к оценке: гауссово распределение, неизвестная точность, известное среднее....520

13.6.1. Оценка параметра точности....521

13.7. Байесовский подход к оценке: гауссово распределение, среднее и точность неизвестны....523

13.7.1. Нормальное гамма-распределение....523

13.7.2. Оценка параметров распределения среднего и точности....523

13.8. Пример: вывод байесовских оценок....526

13.8.1. Оценка методом максимального правдоподобия....526

13.8.2. Вывод байесовских оценок....526

13.9. Байесовский подход к оценке: многомерное гауссово распределение, неизвестное среднее, известная точность....528

13.10. Байесовский подход к оценке: многомерное распределение, неизвестная точность, известное среднее....530

13.10.1. Распределение Уишарта....530

13.10.2. Оценка точности....531

Резюме....533

Глава 14. Скрытое пространство и генеративное моделирование, автокодировщики и вариационные автокодировщики....535

14.1. Геометрическое представление скрытого пространства....536

14.2. Генеративные классификаторы....538

14.3. Преимущества и применение моделирования скрытого пространства....540

14.4. Линейные скрытые многообразия и метод главных компонент....541

14.4.1. Уменьшение размерности методом главных компонент с помощью PyTorch....545

14.5. Автокодировщики....546

14.5.1. Автокодировщики и метод главных компонент....549

14.6. Гладкость, непрерывность и регуляризация скрытых пространств....550

14.7. Вариационные автокодировщики....551

14.7.1. Геометрическое представление вариационных автокодировщиков....551

14.7.2. Обучение VAE, потери и использование....553

14.7.3. Вариационные автокодировщики и теорема Байеса....555

14.7.4. Стохастическое отображение приводит к гладкости скрытого пространства....556

14.7.5. Прямая максимизация апостериорной вероятности требует дорогостоящей нормализации....556

14.7.6. Нижняя вариационная граница и вариационные автокодировщики....556

14.7.7. Выбор априорного распределения: гауссово распределение с нулевым средним и единичной матрицей ковариации....559

14.7.8. Трюк с перепараметризацией....561

Резюме....565

Приложение....566

П.1. Скалярное произведение и косинус угла между двумя векторами....566

П.2. Определители....568

П.3. Вычисление дисперсии гауссова распределения....568

П.4. Две теоремы из статистики....570

П.4.1. Неравенство Йенсена....570

П.4.2. Неравенство логарифмических сумм....571

П.5. Гамма-функции и гамма-распределение....571

П.5.1. Гамма-функция....571

П.5.5 Гамма-распределение....572

Обозначения....575

Узнайте, что происходит внутри черного ящика! Для использования глубокого обучения вам придется подготовить данные, выбрать правильную модель, обучить ее, оценить качество и точность и предусмотреть обработку неопределенности и изменчивости в выходных данных развернутого решения. Эта книга шаг за шагом знакомит с основными математическими концепциями, которые пригодятся вам как специалисту по данным, — с векторным исчислением, линейной алгеброй и байесовским выводом, представляя их с точки зрения глубокого обучения.

Авторы объясняют математику, теорию и принципы построения моделей глубокого обучения, а затем демонстрируют применение теории на практике, приводя фрагменты программного кода на Python с подробными комментариями. В книге вы пройдете путь от основ алгебры, исчисления и статистики до современных архитектур глубокого обучения, ставших результатом новейших исследований.

5 причин купить книгу:

  1. Книга шаг за шагом знакомит с основными математическими концепциями, которые пригодятся вам как специалисту по данным.
  2. Основные принципы проектирования нейронных сетей.
  3. Реализация глубокого обучения на Python с помощью PyTorch.
  4. Регуляризация и оптимизация неэффективных моделей.
  5. Узнайте, что происходит внутри черного ящика!

Похожее:

Список отзывов:

Нет отзывов к книге.