javascript42
Главная
Все учебники
Блог
Учебник ConvNetJS
Введение
Что такое ConvNetJS
История создания и развития библиотеки
Сравнение с другими фреймворками машинного обучения
Установка и первоначальная настройка
Структура и архитектура библиотеки
Требования к браузеру и окружению
Основы нейронных сетей
Базовые понятия машинного обучения
Персептрон и его работа
Многослойные нейронные сети
Функции активации
Прямое распространение
Обратное распространение ошибки
Градиентный спуск и оптимизация
Работа с данными
Подготовка обучающей выборки
Нормализация и стандартизация данных
Разделение данных на обучающую и тестовую выборки
Представление данных в формате Vol
Батчирование данных
Аугментация данных
Полносвязные сети
Создание простой полносвязной сети
Класс FullyConnectedLayer
Настройка количества нейронов
Инициализация весов
Добавление слоев смещения
Соединение слоев в сеть
Функции активации
Сигмоида
Гиперболический тангенс
ReLU
Leaky ReLU
Maxout
Выбор функции активации для задачи
Сверточные нейронные сети
Принципы работы сверточных слоев
Класс ConvLayer
Параметры фильтров
Stride и padding
Пулинг слои
MaxPooling и AveragePooling
Архитектура типичной CNN
Классические архитектуры
LeNet
AlexNet
VGGNet
Реализация на ConvNetJS
Адаптация под браузерные ограничения
Обучение нейронных сетей
Класс Trainer
Конфигурация параметров обучения
Learning rate и его влияние
Momentum
Batch size
Процесс одной эпохи обучения
Мониторинг процесса обучения
Методы оптимизации
Стохастический градиентный спуск
Adagrad
Adadelta
Adam
Nesterov momentum
Сравнение методов оптимизации
Выбор оптимизатора
Регуляризация
Проблема переобучения
L2 регуляризация
L1 регуляризация
Dropout
Batch normalization
Early stopping
Data augmentation как регуляризация
Функции потерь
Softmax classifier
SVM classifier
Regression loss
Выбор функции потерь
Кастомные функции потерь
Классификация изображений
Подготовка датасета изображений
Предобработка пикселей
Построение классификатора
Обучение на изображениях
Оценка точности модели
Визуализация результатов
Регрессионные задачи
Постановка регрессионной задачи
Архитектура сети для регрессии
Функция потерь для регрессии
Обучение регрессионной модели
Метрики качества регрессии
Предсказание непрерывных значений
Автоэнкодеры
Принцип работы автоэнкодеров
Построение энкодера
Построение декодера
Обучение автоэнкодера
Сжатие данных
Шумоподавление
Рекуррентные сети
Введение в рекуррентные архитектуры
Vanilla RNN в ConvNetJS
LSTM слои
Развертка рекуррентной сети
Обучение последовательностей
Работа с текстом
Представление текста в числовом виде
Word embeddings
Character-level модели
Генерация текста
Классификация текста
Обработка последовательностей переменной длины
Reinforcement Learning
Основы обучения с подкреплением
Q-learning
Deep Q-Networks
Агент и среда
Policy gradient methods
Обучение агента в ConvNetJS
Визуализация и отладка
Визуализация архитектуры сети
Отслеживание весов
Визуализация фильтров сверток
Графики loss и accuracy
Интеграция с браузерными инструментами
Поиск ошибок в архитектуре
Сохранение и загрузка моделей
Сериализация сети в JSON
Десериализация модели
Сохранение весов отдельно
Загрузка предобученных моделей
Версионность моделей
Transfer learning
Оптимизация производительности
Профилирование кода
Оптимизация вычислений
Использование WebGL
Батчирование запросов
Асинхронная обработка
Уменьшение размера модели
Работа в реальном времени
Обработка видеопотока
Классификация с веб-камеры
Управление задержками
Оптимизация для мобильных устройств
Балансировка точности и скорости
Интеграция с веб-приложениями
Архитектура ML-powered приложения
Загрузка модели на клиенте
Серверная vs клиентская обработка
REST API для моделей
WebWorkers для фоновых вычислений
Progressive Web Apps с ML
Продвинутые техники
Ансамбли моделей
Multi-task learning
Attention mechanisms
Residual connections
Skip connections
Batch renormalization
Отладка и решение проблем
Диагностика плохой сходимости
Проблемы с градиентами
Настройка гиперпараметров
Борьба с переобучением
Увеличение точности модели
Типичные ошибки и их исправление
Миграция на другие фреймворки
Экспорт моделей в TensorFlow.js
Совместимость архитектур
Конвертация весов
Сравнение производительности
Когда стоит мигрировать