JavaScript для глубокого обучения: TensorFlow.js

Оглавление⌄
От издательства....24 Об иллюстрации на обложке....23 Об авторах....22 Благодарности....17 Введение....15 Предисловие....13 Об этой книге....19 Для кого предназначено издание....19 Структура издания....20 О коде....21 Дискуссионный форум книги....21 Часть I. Актуальность и основные понятия....25 Глава 1. Глубокое обучение и JavaScript....26 1.1. Искусственный интеллект, машинное обучение, нейронные сети и глубокое обучение....29 1.1.1. Искусственный интеллект....29 1.1.2. Машинное обучение: отличия от традиционного программирования....30 1.1.3. Нейронные сети и глубокое обучение....36 1.1.4. Почему глубокое обучение? И почему именно сейчас?....40 1.2. Какой смысл в сочетании JavaScript и машинного обучения....42 1.2.1. Глубокое обучение с помощью Node.js....49 1.2.2. Экосистема JavaScript....50 1.3. Почему именно TensorFlow.js....52 1.3.1. Краткая история TensorFlow, Keras и TensorFlow.js....52 1.3.2. Почему именно TensorFlow.js: краткое сравнение с аналогичными библиотеками....56 1.3.3. Как TensorFlow.js используется в мире....57 1.3.4. Что вы узнаете о TensorFlow.js из этой книги, а что — нет....58 Упражнения....59 Резюме....60 Часть II. Введение в TensorFlow.js....61 Глава 2. Приступим: простая линейная регрессия в TensorFlow.js....62 2.1. Пример 1. Предсказание продолжительности скачивания с помощью TensorFlow.js....63 2.1.1. Обзор проекта: предсказание продолжительности....63 2.1.2. Примечания относительно листингов и команд консоли....64 2.1.3. Создание и форматирование данных....65 2.1.4. Описываем простую модель....68 2.1.5. Подгонка модели к обучающим данным....71 2.1.6. Используем обученную модель для предсказаний....74 2.1.7. Резюме нашего первого примера....75 2.2. Внутреннее устройство Model.fit(): анализируем градиентный спуск из примера 1....76 2.2.1. Основные идеи оптимизации на основе градиентного спуска....76 2.2.2. Обратное распространение ошибки: внутри градиентного спуска....82 2.3. Множественная линейная регрессия....86 2.3.1. Набор данных стоимости жилья в Бостоне....86 2.3.2. Получаем из GitHub и запускаем проект Boston-housing....87 2.3.3. Доступ к данным о бостонских ценах на недвижимость....89 2.3.4. Точная формулировка задачи проекта Boston-housing....91 2.3.5. Небольшое отступление: нормализация данных....93 2.3.6. Линейная регрессия по набору данных Boston-housing....97 2.4. Интерпретация модели....101 2.4.1. Выясняем смысл усвоенных весов....102 2.4.2. Извлекаем из модели внутренние веса....103 2.4.3. Нюансы интерпретируемости....104 Упражнения....105 Резюме....106 Глава 3. Вводим нелинейность: теперь не только взвешенные суммы....107 3.1. Нелинейность: что это такое и где может пригодиться....108 3.1.1. Развиваем чутье на нелинейность в нейронных сетях....110 3.1.2. Гиперпараметры и их оптимизация....118 3.2. Нелинейность на выходе модели: модели для классификации....121 3.2.1. Бинарная классификация....122 3.2.2. Измерение качества работы бинарных классификаторов: точность, полнота, безошибочность и кривые ROC....126 3.2.3. Кривая ROC: наглядное представление соотношения плюсов и минусов при бинарной классификации....128 3.2.4. Бинарная перекрестная энтропия....133 3.3. Многоклассовая классификация....137 3.3.1. Унитарное кодирование категориальных данных....138 3.3.2. Многомерная логистическая функция активации....140 3.3.3. Категориальная перекрестная энтропия: функция потерь для многоклассовой классификации....142 3.3.4. Матрица различий: детальный анализ многоклассовой классификации....144 Упражнения....146 Резюме....147 Глава 4. Распознавание изображений и звуковых сигналов с помощью сверточных сетей....149 4.1. От векторов к тензорам: представление изображений....150 4.1.1. Набор данных MNIST....151 4.2. Ваша первая сверточная нейронная сеть....152 4.2.1. Слой conv2d....154 4.2.2. Слой maxPooling2d....159 4.2.3. «Лейтмотивы» свертки и субдискретизации....160 4.2.4. Слои схлопывания и плотные слои....161 4.2.5. Обучение сверточной сети....163 4.2.6. Предсказания с помощью сверточной сети....168 4.3. Вне браузера: обучаем модели быстрее с помощью Node.js....171 4.3.1. Зависимости и импорты, необходимые для tfjs-node....171 4.3.2. Сохранение модели из Node.js и загрузка ее в браузере....176 4.4. Распознавание устной речи....179 4.4.1. Спектрограммы: представление звуков в виде изображений....179 Упражнения....185 Резюме....186 Глава 5. Перенос обучения: переиспользование предобученных нейронных сетей....187 5.1. Переиспользование предобученных моделей....188 5.1.1. Перенос обучения при совместимых формах выходных сигналов: блокировка слоев....190 5.1.2. Перенос обучения при несовместимых формах выходных сигналов: создание новой модели на основе выходных сигналов базовой модели....197 5.1.3. Извлекаем максимум пользы из переноса обучения благодаря тонкой настройке: пример обработки аудиоданных....210 5.2. Обнаружение объектов с помощью переноса обучения для сверточной сети....222 5.2.1. Задача обнаружения простых объектов на синтезированных изображениях....224 5.2.2. Углубляемся в обнаружение простых объектов....225 Упражнения....234 Резюме....236 Часть III. Продвинутые возможности глубокого обучения с TensorFlow.js....237 Глава 6. Работа с данными....238 6.1. Работа с данными с помощью пространства имен tf.data....239 6.1.1. Объект tf.data.Dataset....240 6.1.2. Создание объекта tf.data.Dataset....240 6.1.3. Доступ к данным в объекте Dataset....246 6.1.4. Операции над наборами данных модуля tfjs-data....247 6.2. Обучение моделей с помощью model.fitDataset....252 6.3. Распространенные паттерны доступа к данным....258 6.3.1. Работаем с форматом данных CSV....258 6.3.2. Доступ к видеоданным с помощью метода tf.data.webcam()....264 6.3.3. Доступ к аудиоданным с помощью API tf.data.microphone()....267 6.4. Вероятно, данные не без изъяна: обработка проблемных данных....270 6.4.1. Теория данных....270 6.4.2. Обнаружение и исправление проблем с данными....275 6.5. Дополнение данных....281 Упражнения....285 Резюме....285 Глава 7. Визуализация данных и моделей....287 7.1. Визуализация данных....288 7.1.1. Визуализация данных с помощью tfjs-vis....288 7.1.2. Комплексный практический пример: визуализация метеорологических данных с помощью tfjs-vis....298 7.2. Визуализация моделей после обучения....302 7.2.1. Визуализация внутренних функций активации сверточной сети....305 7.2.2. Визуализируем именно то, к чему чувствительны сверточные слои: наиболее активирующие изображения....309 7.2.3. Визуальная интерпретация результата классификации изображения сверточной сетью....314 Материалы для дальнейшего чтения и изучения....316 Упражнения....316 Резюме....317 Глава 8. Недообучение, переобучение и универсальный технологический процесс машинного обучения....318 8.1. Постановка задачи предсказания температуры....319 8.2. Недообучение, переобучение и меры противодействия им....323 8.2.1. Недообучение....323 8.2.2. Переобучение....326 8.2.3. Сокращаем переобучение за счет регуляризации весов и визуализируем эффект от нее....328 8.3. Универсальный технологический процесс машинного обучения....334 Упражнения....338 Резюме....338 Глава 9. Глубокое обучение для последовательностей и текста....339 9.1. Вторая попытка прогноза погоды: знакомство с RNN....341 9.1.1. Почему плотные слои не способны моделировать упорядоченность....341 9.1.2. Моделирование последовательного упорядочения с помощью RNN....343 9.2. Создание моделей глубокого обучения для обработки текста....353 9.2.1. Представление текста в машинном обучении: унитарное и федеративное кодирование....354 9.2.2. Первая попытка анализа тональностей....356 9.2.3. Более эффективное представление текста — вложения слов....358 9.2.4. Одномерные сверточные сети....361 9.3. Решение задач преобразования последовательностей в последовательности с помощью механизма внимания....369 9.3.1. Постановка задачи преобразования последовательности в последовательность....370 9.3.2. Архитектура «кодировщик — декодировщик» и механизм внимания....372 9.3.3. Заглянем глубже в модель «кодировщик-декодировщик», основанную на механизме внимания....376 Материалы для дальнейшего изучения....380 Упражнения....380 Резюме....382 Глава 10. Генеративное глубокое обучение....384 10.1. Генерация текста с помощью LSTM....385 10.1.1. Предсказание следующего символа: простой способ генерации текста....386 10.1.2. Пример LSTM-text-generation....388 10.1.3. Температура: настройка степени стохастичности генерируемого текста....393 10.2. Вариационные автокодировщики: поиск экономичного структурированного векторного представления изображений....395 10.2.1. Классический автокодировщик и VAE: основные понятия....396 10.2.2. Подробный пример VAE: пример Fashion-MNIST....400 10.3. Генерация изображений с помощью GAN....407 10.3.1. Основная идея GAN....409 10.3.2. «Кирпичики» GAN....413 10.3.3. Детальнее исследуем обучение ACGAN....417 10.3.4. Обучение ACGAN для набора данных MNIST и генерация изображений в действии....421 Материалы для дальнейшего изучения....424 Упражнения....425 Резюме....425 Глава 11. Основы глубокого обучения с подкреплением....427 11.1. Постановка задач обучения с подкреплением....429 11.2. Сети стратегий и градиентный спуск по стратегиям: пример cart-pole....432 11.2.1. Удержание шеста в равновесии в тележке как задача обучения с подкреплением....433 11.2.2. Сети стратегий....435 11.2.3. Обучение сети стратегий: алгоритм REINFORCE....438 11.3. Оценочные сети и Q-обучение: пример игры «Змейка»....447 11.3.1. «Змейка» как задача обучения с подкреплением....447 11.3.2. Марковский процесс принятия решений и Q-значения....450 11.3.3. Глубокая Q-сеть....454 11.3.4. Обучение глубокой Q-сети....457 Материалы для дальнейшего изучения....471 Упражнения....472 Резюме....474 Часть IV. Резюме и заключительное слово....475 Глава 12. Тестирование, оптимизация и развертывание моделей....476 12.1. Тестирование моделей TensorFlow.js....477 12.1.1. Традиционное модульное тестирование....478 12.1.2. Тестирование с помощью «золотых значений»....481 12.1.3. Соображения по поводу непрерывного обучения....484 12.2. Оптимизация модели....486 12.2.1. Оптимизация размера модели посредством квантования весовых коэффициентов модели после обучения....486 12.2.2. Оптимизация скорости выполнения вывода с помощью преобразования GraphModel....495 12.3. Развертывание моделей TensorFlow.js на различных платформах и в различных средах....501 12.3.1. Дополнительные нюансы развертывания на веб-платформе....501 12.3.2. Развертывание в облачных сервисах....502 12.3.3. Развертывание в среде браузерного расширения, например, Chrome Extension....504 12.3.4. Развертывание моделей TensorFlow.js в мобильных JavaScript-приложениях....506 12.3.5. Развертывание моделей TensorFlow.js в межплатформенных приложениях для настольных компьютеров на JavaScript....508 12.3.6. Развертывание моделей TensorFlow.js в WeChat и прочих системах плагинов мобильных приложений на основе JavaScript....510 12.3.7. Развертывание моделей TensorFlow.js на одноплатных компьютерах....512 12.3.8. Краткая сводка вариантов развертывания....513 Материалы для дальнейшего изучения....514 Упражнения....514 Резюме....516 Глава 13. Резюме, заключительные слова и дальнейшие источники информации....517 13.1. Обзор ключевых понятий....518 13.1.1. Различные подходы к ИИ....518 13.1.2. Почему глубокое обучение выделяется из всех прочих подобластей машинного обучения....519 13.1.3. Общая картина глубокого обучения....520 13.1.4. Ключевые технологии, благодаря которым возможно глубокое обучение....520 13.1.5. Сферы применения и возможности, открываемые благодаря глубокому обучению на JavaScript....521 13.2. Краткий обзор технологического процесса глубокого обучения и алгоритмов в TensorFlow.js....523 13.2.1. Универсальный технологический процесс машинного обучения с учителем....523 13.2.2. Типы моделей и слоев в TensorFlow.js: краткий справочник....525 13.2.3. Использование предобученных моделей в TensorFlow.js....531 13.2.4. Спектр возможностей....533 13.2.5. Ограничения глубокого обучения....536 13.3. Современные тенденции глубокого обучения....539 13.4. Рекомендации по дальнейшему изучению....540 13.4.1. Отрабатывайте навыки решения реальных задач на Kaggle....541 13.4.2. Читайте о последних новинках на arXiv....541 13.4.3. Исследование экосистемы TensorFlow.js....542 Заключительные слова....542 Приложения....543 Приложение А. Установка библиотеки tfjs-node-gpu и ее зависимостей....544 A.1. Установка tfjs-node-gpu в Linux....544 A.2. Установка tfjs-node-gpu в Windows....547 Приложение Б. Краткое руководство по тензорам и операциям над ними в TensorFlow.js....549 Б.1. Создание тензоров и соглашения про их оси координат....549 Б.1.1. Скаляры (тензоры ранга 0)....550 Б.1.2. tensor1d (тензоры ранга 1)....552 Б.1.3. tensor2d (тензоры ранга 2)....553 Б.1.4. Тензоры ранга 3 и более высоких рангов....554 Б.1.5. Понятие батчей данных....555 Б.1.6. Примеры тензоров из практики....556 Б.1.7. Создание тензоров из тензорных буферов....558 Б.1.8. Создание тензоров, содержащих одних нули и одни единицы....559 Б.1.9. Создание тензоров со случайными значениями....560 Б.2. Основные операции над тензорами....561 Б.2.1. Унарные операции....562 Б.2.2. Бинарные операции....564 Б.2.3 Конкатенация и срезы тензоров....565 Б.3. Управление памятью в TensorFlow.js: tf.dispose() и tf.tidy()....568 Б.4. Вычисление градиентов....571 Упражнения....574
Описание
Ниже — практический обзор по теме «tensorflow».
Пора научиться использовать TensorFlow.js для построения моделей глубокого обучения, работающих непосредственно в браузере!
Умные веб-приложения захватили мир, а реализовать их в браузере или серверной части позволяет TensorFlow.js. Данная библиотека блестяще портируется, ее модели работают везде, где работает JavaScript.
Специалисты из Google Brain создали книгу, которая поможет решать реальные прикладные задачи. Вы не будете скучать над теорией, а сразу освоите базу глубокого обучения и познакомитесь с продвинутыми концепциями ИИ на примерах анализа текста, обработки речи, распознавания образов и самообучающегося игрового искусственного интеллекта.
Файл доступен для загрузки ниже.
Поделиться
Частые вопросы
Можно ли скачать «JavaScript для глубокого обучения: TensorFlow.js» бесплатно?
Да, «JavaScript для глубокого обучения: TensorFlow.js» доступна для бесплатного скачивания на нашем сайте в формате PDF. Ссылка на файл находится на этой странице.
В каком формате и какого размера файл?
Книга предоставляется в формате PDF, размер файла 25,2 МБ.
Кто автор и когда вышла книга?
автор — Байлесчи Стэн , Нильсон Эрик , Цэй Шэнкуинг , Шолле Франсуа, издательство Питер, год выпуска 2021, 576 страниц.
О чём книга «JavaScript для глубокого обучения: TensorFlow.js»?
Пора научиться использовать TensorFlow.js для построения моделей глубокого обучения, работающих непосредственно в браузере!Умные веб-приложения захватили мир, а реализовать их в браузере или серверной части позволяет TensorFlow.js.