ББК 32.973.26-018.2.75
С58
УДК 681.3.07
К ом п ью тер н ое и зда тел ьств о “ Д и а л е к ти к а ”
Гл авны й р ед а к тор С.Н. Тригуб
Зав. р едак ц и ей В.Р. Гинзбург
П еревод с а н гл и й ск о го и р ед а к ц и я кан д. х и м . н а ук А.Г. Гузикевича
П о общ и м воп р оса м обр а щ а й тесь в и зд а тел ьств о “ Д и а л е к т и к а ” по адр есу:
in fo @ d ia le k tik a . c o m , h ttp : / / w w w . d ia le k tik a . co m
Приложение А. Краткое введение в дифференциальное исчисление
231
Приложение Б. Нейронная сеть на Raspberry Pi
257
Предметный указатель
270
Содержание
Об авторе
9
Пролог
10
Попытки создания разумных машин
Природа вдохновила новый золотой век
10
11
Введение
14
Для кого предназначена эта книга
Что мы будем делать
Как мы будем это делать
Дополнительные замечания
Ждем ваших отзывов!
14
15
16
17
18
Глава 1. Как работают нейронные сети
19
Что легко одному, трудно другому
Простая прогнозирующая машина
Задачи классификации и прогнозирования очень близки
Тренировка простого классификатора
Иногда одного классификатора недостаточно
Нейроны — вычислительные машины, созданные природой
Распространение сигналов по нейронной сети
Какая все-таки отличная вещь — умножение матриц!
Пример использования матричного умножения
в сети с тремя слоями
Корректировка весовых коэффициентов в процессе обучения
нейронной сети
Обратное распространение ошибок от большего количества
выходных узлов
Обратное распространение ошибок при большом
количестве слоев
Описание обратного распространения ошибок
с помощью матричной алгебры
Как мы фактически обновляем весовые коэффициенты
19
21
28
33
44
51
62
68
76
85
88
91
96
100
Пример обновления весовых коэффициентов
Подготовка данных
Входные значения
Выходные значения
Случайные начальные значения весовых коэффициентов
121
122
123
124
125
Глава 2. Создаем нейронную сеть на Python
129
Python
Интерактивный Python = IPython
Простое введение в Python
Блокноты
Python — это просто
Автоматизация работы
Комментарии
Функции
Массивы
Графическое представление массивов
Объекты
Проект нейронной сети на Python
Скелет кода
Инициализация сети
Весовые коэффициенты — сердце сети
По желанию: улучшенный вариант инициализации
весовых коэффициентов
Опрос сети
Текущее состояние кода
Тренировка сети
Полный код нейронной сети
Набор рукописных цифр MNIST
Подготовка тренировочных данных MNIST
Тестирование нейронной сети
Тренировка и тестирование нейронной сети
с использованием полной базы данных
Улучшение результатов: настройка коэффициента обучения
Улучшение результатов: многократное повторение
тренировочных циклов
Изменение конфигурации сети
Подведем итоги
Окончательный вариант кода
Последние комментарии
13 часов 51 минут назад
1 день 11 минут назад
1 день 12 часов назад
1 день 19 часов назад
1 день 20 часов назад
1 день 22 часов назад