PyTorch. Освещая глубокое обучение [Эли Стивенс] (pdf) читать постранично, страница - 3

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


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

115
4.1.3. Изменение схемы расположения . . . . . . . . . . . . . . . . . . . 115
4.1.4. Нормализация данных . . . . . . . . . . . . . . . . . . . . . . . . . 117
4.2. Трехмерные изображения: объемные пространственные данные . . . 118
4.2.1. Загрузка данных в специализированном формате . . . . . . . . 119

10  Оглавление
4.3. Представление табличных данных . . . . . . . . . . . . . . . . . . . . . 120
4.3.1. Реальный набор данных . . . . . . . . . . . . . . . . . . . . . . . . 120
4.3.2. Загрузка тензора данных по вину . . . . . . . . . . . . . . . . . . 122
4.3.3. Представление оценок . . . . . . . . . . . . . . . . . . . . . . . . . 124
4.3.4. Быстрое кодирование . . . . . . . . . . . . . . . . . . . . . . . . . . 125
4.3.5. Когда считать данные категориальными . . . . . . . . . . . . . . 127
4.3.6. Поиск пороговых значений . . . . . . . . . . . . . . . . . . . . . . 128
4.4. Временные ряды . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
4.4.1. Добавляем измерение времени . . . . . . . . . . . . . . . . . . . . 132
4.4.2. Компоновка данных по периоду времени . . . . . . . . . . . . . 133
4.4.3. Готов для обучения . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
4.5. Представление текста . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
4.5.1. Преобразование текста в числа . . . . . . . . . . . . . . . . . . . . 139
4.5.2. One-hot-кодирование символов . . . . . . . . . . . . . . . . . . . 139
4.5.3. Унитарное кодирование целых слов . . . . . . . . . . . . . . . . . 141
4.5.4. Вложения текста . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
4.5.5. Вложения текста как схема . . . . . . . . . . . . . . . . . . . . . . 146
4.6. Итоги главы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
4.7. Упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
4.8. Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Глава 5. Внутренняя кухня обучения . . . . . . . . . . . . . . . . . . . . . . . . 149
5.1. Всегда актуальный урок моделирования . . . . . . . . . . . . . . . . . . 150
5.2. Обучение — это просто оценка параметров . . . . . . . . . . . . . . . . 152
5.2.1. «Жаркая» задача . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
5.2.2. Сбор данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
5.2.3. Визуализация данных . . . . . . . . . . . . . . . . . . . . . . . . . . 154
5.2.4. Выбираем линейную модель для первой попытки . . . . . . . . 155
5.3. Наша цель — минимизация потерь . . . . . . . . . . . . . . . . . . . . . 156
5.3.1. Возвращаемся от задачи к PyTorch . . . . . . . . . . . . . . . . . 157
5.4. Вниз по градиенту . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
5.4.1. Снижение потерь . . . . . . . . . . . . . . . . . . . . . . . . . . . . .161
5.4.2. Выражаем аналитически . . . . . . . . . . . . . . . . . . . . . . . . 162
5.4.3. Подгонка модели в цикле . . . . . . . . . . . . . . . . . . . . . . . 164

Оглавление  11
5.4.4. Нормализация входных сигналов . . . . . . . . . . . . . . . . . . 167
5.4.5. Визуализируем (снова) . . . . . . . . . . . . . . . . . . . . . . . . . 170
5.5. Компонент autograd PyTorch: обратное распространение всего .
чего угодно . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
5.5.1. Автоматическое вычисление градиента . . . . . . . . . . . . . . 171
5.5.2. Оптимизаторы на выбор . . . . . . . . . . . . . . . . . . . . . . . . 175
5.5.3. Обучение, проверка и переобучение . . . . . . . . . . . . . . . . . 180
5.5.4. Нюансы автоматического вычисления градиентов .
и его отключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
5.6. Итоги главы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
5.7. Упражнение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
5.8. Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
Глава 6. Аппроксимация данных с помощью нейронной сети . . . . . . . . . 191
6.1. Искусственные нейроны . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
6.1.1. Формирование многослойной сети . . . . . . . . . . . . . . . . . 194
6.1.2. Функция ошибки . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
6.1.3. Все, что нам нужно, — это функция активации . . . . . . . . . . 195
6.1.4. Другие функции активации . . . . . . . . . . . . . . . . . . . . . . 198
6.1.5. Выбор наилучшей функции активации . . . . . . . . . . . . . . . 199
6.1.6. Что обучение дает нейронной сети . . . . . . . . . . . . . . . . . 200
6.2. Модуль nn PyTorch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
6.2.1. Использование метода __call__ вместо метода forward . . . . . 204
6.2.2. Обратно к линейной модели . . . . . . . . . . . . . . . . . . . . . 205
6.3. Наконец-то нейронная сеть . . . . . . . . . . . . . . . . . . . . . . . . . . 210
6.3.1. Замена линейной модели . . . . . . . . . . . . . . . . . . . . . . . 210
6.3.2. Просматриваем информацию о параметрах . . . . . . . . . . . . 212
6.3.3. Сравнение с линейной моделью . . . . . . . . . . . . . . . . . . . 214
6.4. Итоги главы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
6.5. Упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
6.6. Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
Глава 7. Различаем птиц и самолеты: обучение на изображениях . . . . . . . 217
7.1. Набор крошечных