Создаём нейронную сеть [Тарик Рашид] (pdf) читать постранично

-  Создаём нейронную сеть  (пер. А. Г. Гузикевич) 43.46 Мб, 274с. скачать: (pdf) - (pdf+fbd)  читать: (полностью) - (постранично) - Тарик Рашид

Книга в формате pdf! Изображения и текст могут не отображаться!


 [Настройки текста]  [Cбросить фильтры]

СОЗДАЕМ
НЕЙРОННУЮ
СЕТЬ

MAKE YOUR
OWN NEURAL
NETWORK
by Tariq Rashid

createspace

СОЗДАЕМ
НЕЙРОННУЮ
СЕТЬ
Тарик Рашид

Москва •Санкт-Петербург •Киев
2017

ББК 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

C58

Рашид, Тарик.
Создаем нейронную сеть. : Пер. с англ. — СПб. : ООО “Альфа-книга” ,
2017. — 272 с. : ил. — Парал. тит. англ.
ISBN 978-5-9909445-7-2 (рус.)
ББК 3 2 .973.26-018.2.75
Все названия программных продуктов являются зарегистрированными торговыми
марками соответствующих фирм.
Никакая часть настоящего издания ни в каких целях не может быть воспроизведена
в какой бы то ни было форме и какими бы то ни было средствами, будь то электронные
или механические, включая фотокопирование и запись на магнитный носитель, если на
это нет письменного разрешения автора, Тарика Рашида.
Authorized Russian translation o f the English edition o f Make Your Own Neural
Network (ISBN 978-1530826605) © 2016 by Tariq Rashid.
This translation is published and sold by permission o f Tariq Rashid, who owns or con­
trols all rights to publish and sell the same.
All rights reserved. No part of this book may be reproduced or transmitted in any form
or by any means, electronic or mechanical, including photocopying, recording, or by any
information storage or retrieval system, without the prior written permission o f the copy­
right owner and the publisher.

Научно-популярное издание
Тарик Рашид

Создаем нейронную сеть
Литературный редактор
Верстка
Х удож ественны й редактор
К орректор

Л.Н. Красножон
О.В. Миш у тина
Е.П. Дынник
Л А . Гордиенко

ООО “Альфа-книга” , 195027, Санкт-Петербург, Магнитогорская ул., д. 30

ISBN 978-5-9909445-7-2 (рус.)

© 2017, Компьютерное изд-во “ Диалектика” ,
перевод, оформление, макетирование

ISBN 978-1530826605 (англ.)

© 2016 by Tariq Rashid

Оглавление
Пролог

10

Введение

14

Глава 1. Как работают нейронные сети

19

Глава 2. Создаем нейронную сеть на Python

129

Глава 3. Несколько интересных проектов

213

Эпилог

229

Приложение А. Краткое введение в дифференциальное исчисление

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
Тестирование нейронной сети
Тренировка и тестирование нейронной сети
с использованием полной базы данных
Улучшение результатов: настройка коэффициента обучения
Улучшение результатов: многократное повторение
тренировочных циклов
Изменение конфигурации сети
Подведем итоги
Окончательный вариант кода

129
130
131
132
133
137
140
140
144
147
149
157
157
158
161

Содержание

163
164
167
170
173
176
185
193
198
200
202
205
207
208

7

Глава 3. Несколько интересных проектов

213

Собственный рукописный текст
Проникнем в “ мозг” нейронной сети
Загадочный черный ящик
Обратные запросы
Маркер “ 0”
Остальные