СПб.: Альфа-книга, 2017. — 274 с. — ISBN: 9785990944572.
Эта книга представляет собой введение в теорию и практику создания нейронных сетей. Она предназначена для тех, кто хочет узнать, что такое нейронные сети, где они применяются и как самому создать такую сеть, не имея опыта работы в данной области. Автор простым и понятным языком объясняет теоретические аспекты, знание которых необходимо для понимания принципов функционирования нейронных сетей и написания соответствующих программных инструкций. Изложение материала сопровождается подробным описанием процедуры поэтапного создания полностью функционального кода, который реализует нейронную сеть на языке Python и способен выполняться даже на таком миниатюрном компьютере, как Raspberry Pi Zero.
Основные темы книги:
- нейронные сети и системы искусственного интеллекта;
- структура нейронных сетей;
- сглаживание сигналов, распространяющихся по нейронной сети, с помощью функции активации;
- тренировка и тестирование нейронных сетей;
- интерактивная среда программирования IPython;
- использование нейронных сетей в качестве классификаторов объектов;
- распознавание образов с помощью нейронных сетей.
Тарик Рашид - специалист в области количественного анализа данных и разработки решений на базе продуктов с открытым исходным кодом.Имеет ученую степень по физике и степень магистра по специальности "Machine Learning and Data Mining". Проживая в Лондоне, он возглавляет местную группу разработчиков Python (насчитывающую около 3000 участников), организует многочисленные семинары и часто выступает с докладами на международных конференциях.
Об авторе.
Тарик Рашид - специалист в области количественного анализа данных и разработки решений на базе продуктов с открытым исходным кодом.Имеет ученую степень по физике и степень магистра по специальности "Machine Learning and Data Mining". Проживая в Лондоне, он возглавляет местную группу разработчиков Python (насчитывающую около 3000 участников), организует многочисленные семинары и часто выступает с докладами на международных конференциях.
Введение.
Для кого предназначена эта книга.
Что мы будем делать.
Как мы будем это делать.
Дополнительные замечания.
Ждем ваших отзывов!
Как работают нейронные сети.Что легко одному, трудно другому.
Простая прогнозирующая машина.
Задачи классификации и прогнозирования очень близки.
Тренировка простого классификатора.
Иногда одного классификатора недостаточно.
Нейроны — вычислительные машины, созданные природой.
Распространение сигналов по нейронной сети.
Какая все-таки отличная вещь — умножение матриц!
Пример использования матричного умноженияв сети с тремя слоями.
Корректировка весовых коэффициентов в процессе обучения нейронной сети.
Обратное распространение ошибок от большего количества выходных узлов.
Обратное распространение ошибок при большом количестве слоев.
Описание обратного распространения ошибокс помощью матричной алгебры.
Как мы фактически обновляем весовые коэффициенты.
Пример обновления весовых коэффициентов.
Подготовка данных.
Входные значения.
Выходные значения.
Случайные начальные значения весовых коэффициентов.
Создаем нейронную сеть на Python.Python.
Интерактивный Python = IPython.
Простое введение в Python.
Блокноты.
Python — это просто.
Автоматизация работы.
Комментарии.
Функции.
Массивы.
Графическое представление массивов.
Объекты.
Проект нейронной сети на Python.
Скелет кода.
Инициализация сети.
Весовые коэффициенты — сердце сети.
По желанию: улучшенный вариант инициализации весовых коэффициентов.
Опрос сети.
Текущее состояние кода.
Тренировка сети.
Полный код нейронной сети.
Набор рукописных цифр MNIST.
Подготовка тренировочных данных MNIST.
Тестирование нейронной сети.
Тренировка и тестирование нейронной сети с использованием полной базы данных.
Улучшение результатов: настройка коэффициента обучения.
Улучшение результатов: многократное повторение тренировочных циклов.
Изменение конфигурации сети.
Подведем итоги.
Окончательный вариант кода.
Несколько интересных проектов.Собственный рукописный текст.
Проникнем в «мозг» нейронной сети.
Загадочный черный ящик.
Обратные запросы.
Маркер «0».
Остальные изображения.
Создание новых тренировочных данных: вращения.
Эпилог.
Приложение А. Краткое введение в дифференциальноеисчисление.
Прямая линия.
Наклонная прямая линия.
Кривая линия.
Применение дифференциального исчисления вручную.
Усовершенствованный способ применения дифференциального исчисления,
допускающий автоматизацию.
Дифференциальное исчисление без использования графиков.
Закономерности.
Функции функций.
Вы освоили дифференциальное исчисление!
Приложение Б. Нейронная сеть на Raspberry Pi.
Установка IPython.
Проверка работоспособности программ.
Тренировка и тестирование нейронной сети.
Успех Raspberry Pi.
Предметный указатель.