Опубликовано

Новинка! Глубокое обучение и анализ данных. Практическое руководство

Глубокое обучение и анализ данных. Практическое руководство

Представляем новую книгу Дмитрия Малова: “Глубокое обучение и анализ данных. Практическое руководство“.

Книга о принципах глубокого обучения, описывающая построение и развитие нейронных сетей с нуля. На материале обширных практических наработок в сфере распознавания образов и обработки естественного языка продемонстрированы возможности популярной библиотеки Pytorch, а также Keras и Tensorflow. Особое внимание уделено разбору базовых алгоритмов, реализованных на языке Python, которые помогут самостоятельно освоить работу с нейронными сетями, написав собственное приложение для глубокого обучения на основе данных из браузера.

Для Python-разработчиков и специалистов Data Science

Как говорил Артур Кларк, «любая достаточно продвинутая технология неотличима от магии» («третий закон Кларка»). На наших глазах именно так начинает восприниматься глубокое обучение – технология, зародившаяся в 1959 году.

Эта книга поможет вам сделать первые шаги в изучении важнейших современных библиотек глубокого обучения – Keras, PyTorch и Tensorflow. В ней просто и последовательно раскрываются принципы обработки изображений и естественного языка при помощи базовых алгоритмов, реализованных на Python. В книгу включён проект по построению собственной системы глубокого обучения на основе данных из обычного браузера.

Книга сопровождается примерами кода по каждому из теоретических аспектов, чтобы у разработчиков была возможность применить полученные теоретические знания на практике для решения собственных задач. Весь код доступен в репозитории: https://github.com/Dimitrioum/ml-data-analysis-book.

 

Книгу “Глубокое обучение и анализ данных. Практическое руководство” можно купить со скидкой в интернет-магазине издательства “БХВ“.

Введение. 9

Чему обучит книга?. 10

Для кого эта книга?. 11

Глава 1. Основы машинного обучения. 13

Линейная алгебра. 13

Скаляр. 13

Вектор. 13

Матрица. 14

Тензор. 14

Норма. 17

Теория информации и теория вероятностей. 17

Случайная величина. 18

Распределение вероятности. 18

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

Маргинальное распределение вероятности. 20

Цепное правило. 20

Математическое ожидание. 20

Дисперсия. 21

Ковариация. 21

Правило Байеса. 21

Наиболее часто используемые распределения вероятности. 22

Машинное обучение: основные понятия, подходы и типы задач. 22

Задача Т. 23

Опыт Е. 24

Активация нейронов в нейросетевых моделях. 26

Основы языка программирования Python. 26

Базовые типы. 27

Интерактивный режим работы Python. 27

Переменные в Python. 28

Числа: целые, вещественные. 28

Строки. 29

Списки. 31

Кортежи. 32

Словари. 33

Операторы сравнения. 34

Логические операторы. 34

Операторы ветвления. 35

Циклы. 36

Работа со строками. 37

Срезы строк. 38

Функции. 38

Сценарный режим программирования. 40

Функциональное программирование. 41

Основы объектно-ориентированного программирования. 49

Полезные приемы. 51

Основы разработки программного обеспечения. 53

Глава 2. Основные алгоритмы машинного обучения. 55

Предобработка данных. 55

Алгоритмы снижения размерности данных. 58

Линейные методы. 59

Нелинейные методы. 66

Линейная регрессия. 76

Логистическая регрессия. 77

Дерево решений. 78

Метод опорных векторов. 80

Наивный байесовский классификатор. 81

Алгоритм k ближайших соседей. 83

Алгоритм k средних. 84

Случайный лес. 86

Алгоритмы градиентного бустинга. 88

Глава 3. Основы глубокого обучения. 91

Алгоритм обратного распространения ошибки. 91

Перцептрон. 92

Цепь Маркова. 94

Машина Больцмана. 94

Сеть Хопфилда. 96

Глубокая сеть доверия. 97

Глубокая сверточная сеть. 97

Капсульные нейронные сети. 99

Нейронная сеть с блоком внимания (трансформеры) 101

Рекуррентные нейронные сети. 103

Автокодировщики. 104

Генеративно-состязательные сети. 105

Практические примеры. 106

Система проактивной локализации пользователей киберфизической системы. 109

Концепция системы проактивной локализации. 116

Глава 4. Основы data science. 119

Методология CRISP-DM.. 119

Бизнес-анализ. 120

Анализ данных. 121

Подготовка данных. 122

Моделирование. 124

Оценка результата. 125

Внедрение. 126

Роли специалистов в команде ML-разработки. 127

Современные тренды data science. 129

Борьба с DeepFake-контентом. 129

Интерес бизнеса к полноценным (end-to-end) решениям на основе
машинного обучения. 130

Low-code- и no-code-платформы для ML-разработки. 130

Методы оптимизации (квантования) обученной нейросетевой модели. 130

MLOps 131

Full-stack deep learning-разработчик. 131

Обучение без учителя. 132

Few-shot-, one-shot-, zero-shot-обучение. 132

Обзор современных библиотек для ML-разработки. 133

TensorFlow.. 134

CNTK.. 135

PyTorch. 135

Keras 136

Theano. 136

Torch. 137

Caffe. 137

MxNet 138

Chainer 138

Глава 5. Задачи глубокого обучения. 141

Аугментация данных. 141

Методы аугментации данных. 141

Глубокое обучение в задачах компьютерного зрения. 142

Установка OpenCV.. 142

Загрузка и отображение изображений. 143

Рисование на изображении. 144

Задача оптического распознавания символов. 144

Обработка естественного языка. 148

Методы и инструменты обработки текста. 148

Статистические методы. 148

Текстовая классификация. 149

Извлечение текста. 150

Обработка аудио. 151

Задача идентификации спикера. 151

Как мы представляем звук в цифровом виде?. 152

Подготовка аудиоданных для модели глубокого обучения. 153

Спектр. 153

Аудиомодели глубокого обучения. 154

Какие проблемы решает глубокое обучение аудио?. 155

Классификация аудио. 155

Аудиоразделение и сегментация. 155

Классификация музыкальных жанров. 156

Создание и транскрипция музыки. 156

Распознавание голоса. 156

Преобразование речи в текст и текста в речь. 157

Обработка видеопоследовательности. 157

Декодирование и кодирование. 158

Интерполяция с отслеживанием. 159

Глава 6. Знакомство с TensorFlow.. 161

Начало работы с TensorFlow.. 161

Определение и запуск нейронной сети. 163

Определение нейронной сети. 163

Запуск нейронной сети. 164

Классификация изображений с помощью TensorFlow.. 165

Построение модели для трансферного обучения. 167

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

Тонкая настройка модели (fine tuning) 168

Обработка текста с TensorFlow.. 168

Представление текста в виде тензоров. 169

Векторизация текста. 171

Ограничение размера словарного запаса. 171

Текстовое представление набора слов через мешок слов. 171

Обучение классификатора мешка слов. 172

Обучение классификатора как одной сети. 173

Биграммы, триграммы и n-граммы. 174

Автоматический расчет векторов мешка слов. 175

Частота слова и обратная частота документа. 175

Сжатые векторные характеристики. 177

Рекуррентные нейронные сети для обработки текста. 184

Пересмотр последовательностей переменных. 188

Классификация аудио с TensorFlow.. 189

Импортирование набора данных речевых мини-команд. 189

Преобразование сигналов в спектрограммы. 192

Построение и обучение модели. 193

Оценка точности модели. 195

Глава 7. Знакомство с Keras 197

Функции. 197

Преимущества. 197

Установка пакетов. 198

Установка Keras с использованием Python. 200

TensorFlow.. 200

Theano. 201

Доступные модули. 201

Модуль Backend. 202

Модуль Utils 205

Основная концепция слоев в Keras 206

Форма ввода. 210

Модуль Initializers 210

Модуль Constraints 215

Модуль Regularizers 216

Функции активации. 217

linear 217

elu. 218

selu. 218

relu. 219

softmax. 220

softplus 220

softsign. 221

tanh. 221

sigmoid. 222

hard_sigmoid. 222

exponential 223

Классификация изображений с Keras 223

Трансферное обучение. 227

Keras для классификации аудио. 229

Предварительная настройка. 229

Построение кривых амплитуды. 230

Работа с tf.Keras 231

Классификация изображений с использованием TensorFlow 2.x. 231

Импортирование набора данных. 232

Предварительная обработка данных. 232

Компиляция и обучение модели глубокого обучения. 233

Классификация текста с использованием TensorFlow и Keras 234

Предварительная подготовка. 234

Импорт текста. 234

Очистка и предварительная обработка текста. 235

Заполнение текстовых последовательностей. 236

Создание тестовой выборки. 236

Построение и компиляция модели. 236

Обучение модели глубокого обучения. 236

Импорт тестовых данных. 237

Прогноз по набору тестов. 237

Глава 8. Знакомство с PyTorch. 239

Основы PyTorch. 239

Загрузка данных, устройств и CUDA.. 239

Создание параметров. 239

Пакет Autograd. 240

Процедура оптимизации. 240

Функция ошибки. 241

Модель. 241

Набор данных. 243

Метрика качества. 245

Классификация аудио с PyTorch. 245

Тензоры. 247

Классификация изображений с PyTorch. 247

PyTorch для компьютерного зрения. 247

Загрузка данных. 248

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

Классификация текста с PyTorch. 251

Подготовка конвейеров обработки данных. 252

Создание пакета данных и итератора. 252

Определение модели. 253

Глава 9. Разработка веб-приложения для демонстрации моделей
глубокого обучения. 259

Разработка веб-приложения на Django. 259

Пару слов о Heroku. 261

Заключение. 267

Предметный указатель. 268

Малов Дмитрий

Малов Дмитрий Александрович, с 2017 по 2021 – научный сотрудник института Санкт-Петербургского Федерального исследовательского центра Российской академии наук, лаборатория больших данных в социокиберфизических системах, автор более 20 научных статей и монографии. Сфера профессиональных интересов – распознавание образов, синтетические данные. Является генеральным директором стартапа «Квант», занимающегося прикладными исследованиями в сфере квантовых вычислений.

Добавить комментарий