
Приводимые в книге паттерны проектирования отражают лучшие практические подходы к решению типичных задач машинного обучения. Указанные паттерны, реализованные в программном коде, сконцентрировали опыт сотен экспертов в простые и легкодоступные советы. Книга содержит подробный разбор 30 паттернов, служащих для представления данных и задач, тренировки моделей, отказоустойчивого обслуживания, обеспечения воспроизводимо-сти и искусственного интеллекта. Каждый паттерн включает в себя постановку задачи, ряд потенциальных решений и рекомендации по выбору технического приема, наилучшим образом подходящего к данной ситуации.
Для программистов в области машинного обучения
Вы научитесь
- Выявлять и преодолевать трудности, встречающиеся во время тренировки, оценивания и развертывания моделей машинного обучения
- Представлять данные для разных типов моделей машинного обучения, включая векторные вложения, гибриды признаков и многое другое
- Выбирать правильный тип модели для той или иной задачи
- Строить надежный цикл тренировки с использованием контрольных точек, распределительной стратегии и гиперпараметрической настройки
- Разворачивать масштабируемые модели машинного обучения, которые можно переучивать и обновлять с целью учета новых данных
- Интерпретировать предсказания модели понятным конечному пользователю образом
- Улучшать точность, воспроизводимость и отказоустойчивость моделей
Еще о книге
Приводимые в этой книге паттерны проектирования отражают лучшие практические подходы к решению типичных задач машинного обучения. Авторы книги, три инженера компании Google, систематизировали проверенные временем методы решений и поместили их в книгу. Указанные паттерны, реализованные в программном коде, превращают опыт сотен экспертов в простые и легкодоступные советы.
Рекомендации специалистов
Эта книга с ее превосходными и разнообразными примерами обязательна для прочтения любым исследователем данных или инженером в области машинного обучения, стремящимся понять проверенные временем решения сложных задач
Дэвид Кантер, исполнительный директор компании ML Commons
Если вы хотите, чтобы на вашем пути разработки решений в области машинного обучения было меньше синяков и шишек, то Лак, Сара и Майкл вас прикроют
Уилл Граннис, управляющий директор облачного офиса Google
Решение типичных проблем при подготовке данных, построении моделей и MLOps
Об авторах

Валлиаппа (Лак) Лакшманан (Valliappa (Lak) Lakshmanan) — глобальный руководитель отдела аналитики данных и решений в области искусственного интеллекта в Google Cloud. Руководимый им коллектив строит программно-информационные решения для деловых задач, используя продукты Google Cloud для анализа данных и машинного обучения. Он является основателем программы погружения в проблематику машинного обучения в Лаборатории передовых решений компании Google (Google’s Advanced Solutions Lab ML). До работы в компании Google Лак был директором по исследованию данных в Climate Corporation и научным исследователем в NOAA.

Майкл Мунн (Michael Munn) — инженер по техническим решениям в области машинного обучения в Google, в которой он работает с заказчиками инфраструктуры Google Cloud, помогая им разрабатывать и развертывать модели машинного обучения. Также преподает программу погружения в проблематику машинного обучения в Лаборатории передовых решений (Advanced Solutions Lab ML). Имеет докторскую степень по математике, полученную в Университете Нью-Йорка (City University of New York). До прихода в Google он работал профессором-исследователем.

Сара Робинсон (Sara Robinson) — адвокат разработчиков в коллективе Google Cloud со специализацией в машинном обучении. Она вдохновляет разработчиков и исследователей данных интегрировать машинное обучение в свои приложения с помощью демонстраций, онлайнового контента и мероприятий. Имеет степень бакалавра, полученную в Университете Брандейса (Brandeis University). До работы в компании Google была представителем разработчиков из коллектива Firebase.
Содержание
Об авторах……………………………………………………………………………………………… 15
Предисловие…………………………………………………………………………………………… 17
Для кого эта книга предназначена?…………………………………………………………………………………………. 17
Чего в книге нет………………………………………………………………………………………………………………………….. 17
Примеры исходного кода………………………………………………………………………………………………………….. 19
Условные обозначения, принятые в книге……………………………………………………………………………….. 19
Благодарности…………………………………………………………………………………………………………………………… 20
Глава 1. Потребность в паттернах машинного обучения……………………….. 23
Что такое паттерны?………………………………………………………………………………………………………………….. 23
Как пользоваться этой книгой………………………………………………………………………………………………….. 25
Терминология машинного обучения………………………………………………………………………………………… 25
Модели и фреймворки………………………………………………………………………………………………………….. 26
Данные и инженерия признаков………………………………………………………………………………………….. 28
Рабочий поток машинного обучения…………………………………………………………………………………. 30
Инструментарий для работы с данными и моделями……………………………………………………….. 31
Роли……………………………………………………………………………………………………………………………………….. 32
Распространенные проблемы машинного обучения……………………………………………………………… 34
Качество данных………………………………………………………………………………………………………………….. 35
Воспроизводимость……………………………………………………………………………………………………………… 37
Смещение данных………………………………………………………………………………………………………………… 38
Масштаб……………………………………………………………………………………………………………………………….. 40
Несколько целевых установок……………………………………………………………………………………………. 40
Резюме…………………………………………………………………………………………………………………………………………. 41
Глава 2. Паттерны для представления данных………………………………………. 43
Простые представления данных………………………………………………………………………………………………. 45
Числовые входные значения……………………………………………………………………………………………….. 46
Почему желательно выполнять нормализацию…………………………………………………….. 46
Зачем нормализовать числовые значения из промежутка [–1; 1]?………………………………. 46
Линейная нормализация…………………………………………………………………………………………… 47
Не выбрасывайте “выбросы”…………………………………………………………………………………… 48
Нелинейные преобразования…………………………………………………………………………………… 50
Массив чисел…………………………………………………………………………………………………………….. 52
Категориальные входные значения……………………………………………………………………………………. 53
Кодирование с одним активным состоянием…………………………………………………………. 53
Кодирование с использованием фиктивных переменных
или кодирование с одним активным состоянием?……………………………………………………… 54
Массив категориальных переменных…………………………………………………………………….. 56
ПАТТЕРН 1. Хешированный признак………………………………………………………………………………………. 57
Постановка задачи………………………………………………………………………………………………………………. 57
Решение…………………………………………………………………………………………………………………………………. 58
Почему это работает……………………………………………………………………………………………………………. 60
Входные значения за пределами словаря………………………………………………………………. 60
Высокая кардинальность…………………………………………………………………………………………. 60
Холодный пуск………………………………………………………………………………………………………….. 60
Компромиссы и альтернативы……………………………………………………………………………………………. 61
Коллизия корзин……………………………………………………………………………………………………….. 61
Асимметрия……………………………………………………………………………………………………………….. 62
Агрегатный признак………………………………………………………………………………………………….. 62
Гиперпараметрическая настройка………………………………………………………………………….. 63
Криптографический хеш………………………………………………………………………………………….. 63
Порядок операций…………………………………………………………………………………………………….. 65
Пустые хеш-корзины………………………………………………………………………………………………… 65
ПАТТЕРН 2. Векторные вложения…………………………………………………………………………………………… 65
Постановка задачи………………………………………………………………………………………………………………. 65
Решение…………………………………………………………………………………………………………………………………. 67
Векторные вложения текста…………………………………………………………………………………….. 69
Векторные вложения снимков………………………………………………………………………………….. 72
Почему это работает……………………………………………………………………………………………………………. 72
Компромиссы и альтернативы……………………………………………………………………………………………. 75
Выбор размерности вложения…………………………………………………………………………………. 75
Автокодировщики……………………………………………………………………………………………………… 76
Контекстно-языковые модели………………………………………………………………………………….. 77
Векторные вложения на хранилище данных…………………………………………………………. 79
ПАТТЕРН 3. Синтетический признак………………………………………………………………………………………. 80
Постановка задачи………………………………………………………………………………………………………………. 80
Решение…………………………………………………………………………………………………………………………………. 80
Соединения признаков в BigQuery ML……………………………………………………………………. 83
Соединение признаков в TensorFlow……………………………………………………………………….. 84
Почему это работает……………………………………………………………………………………………………………. 85
Компромиссы и альтернативы……………………………………………………………………………………………. 86
Манипулирование числовыми признаками……………………………………………………………. 86
Манипулирование высокой кардинальностью……………………………………………………… 87
Потребность в регуляризации………………………………………………………………………………….. 88
ПАТТЕРН 4. Мультимодальный вход……………………………………………………………………………………… 89
Постановка задачи………………………………………………………………………………………………………………. 89
Решение…………………………………………………………………………………………………………………………………. 91
Компромиссы и альтернативы……………………………………………………………………………………………. 92
Табличные данные самыми разными способами………………………………………………….. 93
Мультимодальное представление текста………………………………………………………………. 94
Как работает мешок слов……………………………………………………………………………………….. 95
Мультимодальное представление снимков……………………………………………………………. 99
Сверточная нейронная сеть…………………………………………………………………………………… 100
Мультимодальные представления признаков и интерпретируемость модели…. 105
Резюме………………………………………………………………………………………………………………………………………. 105
Глава 3. Паттерны для представления задачи………………………………………. 107
ПАТТЕРН 5. Переформулировка……………………………………………………………………………………………. 108
Постановка задачи…………………………………………………………………………………………………………….. 108
Решение……………………………………………………………………………………………………………………………….. 108
Почему это работает…………………………………………………………………………………………………………. 110
Улавливание неопределенности……………………………………………………………………………. 110
Изменение целевой установки……………………………………………………………………………….. 112
Компромиссы и альтернативы………………………………………………………………………………………….. 113
Сгруппированные результаты………………………………………………………………………………. 113
Другие подходы к улавливанию неопределенности…………………………………………… 114
Прецизионность предсказаний………………………………………………………………………………. 115
Ограничение предсказательного диапазона………………………………………………………… 115
Искаженность в метке…………………………………………………………………………………………….. 117
Многозадачное обучение………………………………………………………………………………………. 118
ПАТТЕРН 6. Мультиметка……………………………………………………………………………………………………… 119
Постановка задачи…………………………………………………………………………………………………………….. 119
Решение……………………………………………………………………………………………………………………………….. 120
Сигмоидная активация против активации с функцией мягкого максимума………………….. 121
Компромиссы и альтернативы………………………………………………………………………………………….. 122
Сигмоидный результат для моделей с двумя классами………………………………………. 122
Какую функцию потери следует использовать?………………………………………………….. 123
Разбор сигмоидных результатов…………………………………………………………………………… 124
Соображения в отношении наборов данных……………………………………………………….. 125
Входные данные с перекрывающимися метками………………………………………………… 126
Один против всех…………………………………………………………………………………………………….. 127
ПАТТЕРН 7. Ансамбли……………………………………………………………………………………………………………. 128
Постановка задачи…………………………………………………………………………………………………………….. 128
Решение……………………………………………………………………………………………………………………………….. 129
Бэггинг……………………………………………………………………………………………………………………… 130
Бустинг…………………………………………………………………………………………………………………….. 131
Стэкинг…………………………………………………………………………………………………………………….. 132
Почему это работает…………………………………………………………………………………………………………. 134
Бэггинг……………………………………………………………………………………………………………………… 134
Бустинг…………………………………………………………………………………………………………………….. 135
Стэкинг…………………………………………………………………………………………………………………….. 136
Компромиссы и альтернативы………………………………………………………………………………………….. 136
Увеличенное время тренировки и проектирования……………………………………………… 137
Отсев в качестве бэггинга………………………………………………………………………………………. 137
Снижение модельной интерпретируемости…………………………………………………………. 137
Выбор правильного инструмента для задачи……………………………………………………… 138
Другие ансамблевые методы…………………………………………………………………………………. 138
ПАТТЕРН 8. Каскад………………………………………………………………………………………………………………… 139
Постановка задачи…………………………………………………………………………………………………………….. 139
Решение……………………………………………………………………………………………………………………………….. 140
Компромиссы и альтернативы………………………………………………………………………………………….. 145
Детерминированные входные данные………………………………………………………………….. 145
Одиночная модель………………………………………………………………………………………………….. 145
Внутренняя согласованность………………………………………………………………………………… 146
Предварительно натренированные модели…………………………………………………………. 146
Изменение контекста вместо каскада……………………………………………………………………. 147
Регрессия в редких ситуациях……………………………………………………………………………….. 147
ПАТТЕРН 9. Нейтральный класс…………………………………………………………………………………………… 147
Постановка задачи…………………………………………………………………………………………………………….. 148
Решение……………………………………………………………………………………………………………………………….. 148
Почему это работает…………………………………………………………………………………………………………. 149
Синтетические данные…………………………………………………………………………………………… 149
В реальном мире……………………………………………………………………………………………………… 150
Компромиссы и альтернативы………………………………………………………………………………………….. 151
Когда эксперты расходятся во мнениях……………………………………………………………….. 151
Удовлетворенность клиента………………………………………………………………………………….. 152
В качестве подхода к улучшению векторных вложений…………………………………….. 152
Переформулировка с использованием нейтрального класса……………………………… 152
ПАТТЕРН 10. Перебалансировка…………………………………………………………………………………………… 153
Постановка задачи…………………………………………………………………………………………………………….. 153
Решение……………………………………………………………………………………………………………………………….. 154
Выбор метрики оценивания…………………………………………………………………………………… 155
Понижающий отбор……………………………………………………………………………………………….. 156
Взвешенные классы………………………………………………………………………………………………… 158
Смещенность выходного слоя……………………………………………………………………………….. 159
Повышающий отбор……………………………………………………………………………………………….. 159
Компромиссы и альтернативы………………………………………………………………………………………….. 161
Переформулировка и каскад………………………………………………………………………………….. 161
Обнаружение аномалий…………………………………………………………………………………………. 164
Число примеров миноритарного класса……………………………………………………………….. 166
Сочетание разных технических приемов……………………………………………………………… 166
Выбор архитектуры модели………………………………………………………………………………….. 167
Важность объяснимости………………………………………………………………………………………… 168
Резюме………………………………………………………………………………………………………………………………………. 170
Глава 4. Паттерны для тренировки моделей…………………………………………. 173
Типичный цикл тренировки…………………………………………………………………………………………………….. 173
Стохастический градиентный спуск………………………………………………………………………………… 173
Цикл тренировки в Keras……………………………………………………………………………………………………. 174
Паттерны для выполнения тренировки……………………………………………………………………………. 175
ПАТТЕРН 11. Полезное переобучение………………………………………………………………………………….. 175
Постановка задачи…………………………………………………………………………………………………………….. 175
Решение……………………………………………………………………………………………………………………………….. 177
Почему это работает…………………………………………………………………………………………………………. 178
Компромиссы и альтернативы………………………………………………………………………………………….. 179
Интерполяция и теория хаоса……………………………………………………………………………….. 180
Методы Монте-Карло……………………………………………………………………………………………. 180
Дискретизации под управлением данных…………………………………………………………….. 181
Глубокий метод Галеркина……………………………………………………………………………………. 182
Неограниченные области………………………………………………………………………………………. 182
Дистиллирование знаний нейронной сети……………………………………………………………. 183
Переобучение на пакете данных…………………………………………………………………………… 183
ПАТТЕРН 12. Контрольные точки…………………………………………………………………………………………. 185
Постановка задачи…………………………………………………………………………………………………………….. 185
Решение……………………………………………………………………………………………………………………………….. 185
Контрольные точки в PyTorch………………………………………………………………………………… 187
Почему это работает…………………………………………………………………………………………………………. 188
Компромиссы и альтернативы………………………………………………………………………………………….. 189
Досрочная остановка……………………………………………………………………………………………… 189
Тонкая настройка……………………………………………………………………………………………………. 192
Переопределение эпохи…………………………………………………………………………………………. 193
ПАТТЕРН 13. Трансферное обучение……………………………………………………………………………………. 197
Постановка задачи…………………………………………………………………………………………………………….. 197
Решение……………………………………………………………………………………………………………………………….. 198
Узкий слой……………………………………………………………………………………………………………….. 199
Реализация трансферного обучения……………………………………………………………………… 203
Предварительно натренированные векторные вложения…………………………………… 204
Почему это работает…………………………………………………………………………………………………………. 205
Компромиссы и альтернативы………………………………………………………………………………………….. 207
Тонкая настройка против извлечения признаков………………………………………………… 207
Фокус внимания на снимковых и текстовых моделях…………………………………………. 209
Векторные вложения слов и предложений…………………………………………………………… 210
ПАТТЕРН 14. Распределительная стратегия………………………………………………………………………… 211
Постановка задачи…………………………………………………………………………………………………………….. 211
Решение……………………………………………………………………………………………………………………………….. 212
Синхронная тренировка…………………………………………………………………………………………. 212
Параллелизм распределенных данных в PyTorch……………………………………………………. 214
Асинхронная тренировка……………………………………………………………………………………….. 215
Почему это работает…………………………………………………………………………………………………………. 217
Компромиссы и альтернативы………………………………………………………………………………………….. 219
Параллелизм модели………………………………………………………………………………………………. 219
Параллелизм модели или параллелизм данных?…………………………………………………… 220
Микросхемы ASIC для более высокой производительности
при меньших затратах……………………………………………………………………………………………. 220
Выбор размера пакета……………………………………………………………………………………………. 221
Минимизация ожидания ввода-вывода………………………………………………………………… 222
ПАТТЕРН 15. Гиперпараметрическая настройка………………………………………………………………… 223
Постановка задачи…………………………………………………………………………………………………………….. 223
Ручная настройка………………………………………………………………………………………………………………. 224
Поиск по сетке и комбинаторный взрыв……………………………………………………………….. 225
Решение……………………………………………………………………………………………………………………………….. 226
Почему это работает…………………………………………………………………………………………………………. 228
Нелинейная оптимизация………………………………………………………………………………………. 229
Байесова оптимизация……………………………………………………………………………………………. 230
Компромиссы и альтернативы………………………………………………………………………………………….. 231
Полноуправляемая гиперпараметрическая настройка………………………………………. 231
Генетические алгоритмы……………………………………………………………………………………….. 234
Резюме………………………………………………………………………………………………………………………………………. 235
Глава 5. Паттерны для отказоустойчивой обработки…………………………… 237
ПАТТЕРН 16. Функция обслуживания без поддержки состояния………………………………………. 237
Функции без поддержки состояния…………………………………………………………………………. 238
Постановка задачи…………………………………………………………………………………………………………….. 239
Решение……………………………………………………………………………………………………………………………….. 241
Экспорт модели………………………………………………………………………………………………………. 241
Предсказательный вывод на языке Python…………………………………………………………… 242
Создание сервиса……………………………………………………………………………………………………. 243
Почему это работает…………………………………………………………………………………………………………. 243
Автомасштабируемость…………………………………………………………………………………………. 243
Полная управляемость…………………………………………………………………………………………… 244
Языковая нейтральность………………………………………………………………………………………… 245
Мощная экосистема……………………………………………………………………………………………….. 245
Компромиссы и альтернативы………………………………………………………………………………………….. 246
Прикладная функция обслуживания…………………………………………………………………….. 246
Несколько сигнатур………………………………………………………………………………………………… 248
Онлайновое предсказание……………………………………………………………………………………… 248
Предсказательная библиотека………………………………………………………………………………. 250
ПАТТЕРН 17. Пакетное обслуживание…………………………………………………………………………………. 250
Постановка задачи…………………………………………………………………………………………………………….. 250
Решение……………………………………………………………………………………………………………………………….. 251
Почему это работает…………………………………………………………………………………………………………. 252
Компромиссы и альтернативы………………………………………………………………………………………….. 254
Пакетные и потоковые конвейеры…………………………………………………………………………. 255
Кэшированные результаты пакетного обслуживания………………………………………… 256
Лямбда-архитектура………………………………………………………………………………………………. 257
ПАТТЕРН 18. Непрерывное оценивание модели………………………………………………………………….. 258
Постановка задачи…………………………………………………………………………………………………………….. 258
Решение……………………………………………………………………………………………………………………………….. 259
Концепция……………………………………………………………………………………………………………….. 259
Развертывание модели……………………………………………………………………………………………. 260
Сохранение предсказаний……………………………………………………………………………………… 261
Улавливание эмпирического наблюдения……………………………………………………………. 262
Оценивание результативности модели…………………………………………………………………. 262
Непрерывное оценивание………………………………………………………………………………………. 264
Почему это работает…………………………………………………………………………………………………………. 265
Компромиссы и альтернативы………………………………………………………………………………………….. 265
Триггеры для перетренировки……………………………………………………………………………….. 266
Бессерверные триггеры……………………………………………………………………………………….. 266
Плановая перетренировка……………………………………………………………………………………… 267
Валидация данных с помощью TFX……………………………………………………………………… 268
Оценивание интервала перетренировки……………………………………………………………….. 269
ПАТТЕРН 19. Двухфазные предсказания……………………………………………………………………………… 270
Постановка задачи…………………………………………………………………………………………………………….. 270
Решение……………………………………………………………………………………………………………………………….. 272
Фаза 1: построение офлайновой модели………………………………………………………………. 274
Какие модели подходят для периферии?……………………………………………………………….. 277
Фаза 2: построение облачной модели………………………………………………………………….. 277
Компромиссы и альтернативы………………………………………………………………………………………….. 279
Автономная однофазная модель……………………………………………………………………………. 279
Офлайновая поддержка для специфических вариантов использования……………. 281
Манипулирование многочисленными предсказаниями почти в режиме реального времени 281
Непрерывное оценивание для офлайновых моделей………………………………………….. 282
ПАТТЕРН 20. Предсказания по ключу………………………………………………………………………………….. 282
Постановка задачи…………………………………………………………………………………………………………….. 283
Решение……………………………………………………………………………………………………………………………….. 283
Как проносить сквозные ключи в Keras………………………………………………………………… 284
Добавление возможности предсказания по ключу в существующую модель….. 285
Компромиссы и альтернативы………………………………………………………………………………………….. 286
Асинхронное обслуживание………………………………………………………………………………….. 286
Непрерывное оценивание………………………………………………………………………………………. 286
Резюме………………………………………………………………………………………………………………………………………. 287
Глава 6. Паттерны обеспечения воспроизводимости……………………………. 289
ПАТТЕРН 21. Преобразователь……………………………………………………………………………………………… 290
Постановка задачи…………………………………………………………………………………………………………….. 290
Решение……………………………………………………………………………………………………………………………….. 291
Компромиссы и альтернативы………………………………………………………………………………………….. 292
Преобразования в TensorFlow и Keras…………………………………………………………………… 293
Эффективные преобразования с помощью библиотеки tf.transform………………….. 296
Преобразования текста и снимков………………………………………………………………………… 297
Альтернативные подходы……………………………………………………………………………………… 298
ПАТТЕРН 22. Повторяемая разбивка…………………………………………………………………………………….. 298
Постановка задачи…………………………………………………………………………………………………………….. 299
Решение……………………………………………………………………………………………………………………………….. 299
Компромиссы и альтернативы………………………………………………………………………………………….. 301
Единый запрос………………………………………………………………………………………………………… 301
Случайная разбивка……………………………………………………………………………………………….. 302
Разбивка по нескольким столбцам………………………………………………………………………… 302
Повторяемая разбивка……………………………………………………………………………………………. 303
Последовательная разбивка………………………………………………………………………………….. 304
Стратифицированная разбивка…………………………………………………………………………….. 306
Неструктурированные данные……………………………………………………………………………… 306
ПАТТЕРН 23. Мостовая схема……………………………………………………………………………………………….. 307
Постановка задачи…………………………………………………………………………………………………………….. 307
Решение……………………………………………………………………………………………………………………………….. 308
Схема с наведенным мостом………………………………………………………………………………….. 308
Аугментированные данные……………………………………………………………………………………. 309
Компромиссы и альтернативы………………………………………………………………………………………….. 313
Объединенная схема………………………………………………………………………………………………. 313
Каскадный метод……………………………………………………………………………………………………. 313
Манипулирование новыми признаками……………………………………………………………….. 314
Манипулирование увеличениями прецизионности…………………………………………….. 314
ПАТТЕРН 24. Оконный предсказательный вывод………………………………………………………………… 315
Постановка задачи…………………………………………………………………………………………………………….. 315
Решение……………………………………………………………………………………………………………………………….. 317
Компромиссы и альтернативы………………………………………………………………………………………….. 319
Сокращение вычислительных затрат…………………………………………………………………… 320
Потоковый SQL……………………………………………………………………………………………………….. 321
Модели на основе последовательностей……………………………………………………………… 323
Признаки с поддержкой состояния……………………………………………………………………….. 324
Упаковывание предсказательных запросов…………………………………………………………. 325
ПАТТЕРН 25. Конвейер рабочего потока……………………………………………………………………………… 325
Постановка задачи…………………………………………………………………………………………………………….. 325
Решение……………………………………………………………………………………………………………………………….. 326
Разработка конвейера TFX…………………………………………………………………………………….. 329
Исполнение конвейера на платформе Cloud AI Platform……………………………………. 330
Почему это работает…………………………………………………………………………………………………………. 332
Компромиссы и альтернативы………………………………………………………………………………………….. 333
Разработка компонентов………………………………………………………………………………………… 333
Интеграция CI/CD с конвейерами…………………………………………………………………………. 335
Платформы Apache Airflow и Kubeflow Pipelines………………………………………………….. 336
Конвейер разработки и промышленный конвейер………………………………………………. 337
Отслеживание линии преемственности в конвейерах ML…………………………………… 337
ПАТТЕРН 26. Хранилище признаков…………………………………………………………………………………….. 338
Постановка задачи…………………………………………………………………………………………………………….. 338
Решение……………………………………………………………………………………………………………………………….. 340
Хранилище Feast…………………………………………………………………………………………………….. 342
Определение источников потоковых данных при создании экземпляра FeatureSet……… 345
Получение данных из хранилища Feast……………………………………………………………….. 348
Почему это работает…………………………………………………………………………………………………………. 350
Компромиссы и альтернативы………………………………………………………………………………………….. 353
Альтернативные реализации…………………………………………………………………………………. 353
Паттерн “Преобразователь”…………………………………………………………………………………… 353
ПАТТЕРН 27. Управление версиями……………………………………………………………………………………… 354
Постановка задачи…………………………………………………………………………………………………………….. 354
Решение……………………………………………………………………………………………………………………………….. 355
Типы пользователей модели………………………………………………………………………………….. 356
Управление версиями модели с помощью сервиса……………………………………………… 356
Управление версиями для манипулирования новыми данными………………………………….. 359
Компромиссы и альтернативы………………………………………………………………………………………….. 359
Другие бессерверные инструменты управления версиями…………………………………. 360
Инструмент Tensorflow Serving………………………………………………………………………………. 360
Несколько функций обработки……………………………………………………………………………… 361
Новые модели против новых версий моделей……………………………………………………… 362
Резюме………………………………………………………………………………………………………………………………………. 363
Глава 7. Ответственный искусственный интеллект……………………………… 365
ПАТТЕРН 28. Эвристический эталон…………………………………………………………………………………….. 366
Постановка задачи…………………………………………………………………………………………………………….. 366
Решение……………………………………………………………………………………………………………………………….. 367
Компромиссы и альтернативы………………………………………………………………………………………….. 370
Проверка разработки……………………………………………………………………………………………… 370
Эксперты-люди……………………………………………………………………………………………………….. 371
Величина полезности……………………………………………………………………………………………… 372
ПАТТЕРН 29. Объяснимые предсказания……………………………………………………………………………… 372
Постановка задачи…………………………………………………………………………………………………………….. 373
Решение……………………………………………………………………………………………………………………………….. 374
Базовый уровень модели………………………………………………………………………………………… 377
Определение базовых уровней……………………………………………………………………………… 378
Эвристические эталоны и модельные базовые уровни…………………………………………….. 380
Библиотека SHAP……………………………………………………………………………………………………. 380
Объяснения из развернутых моделей……………………………………………………………………. 382
Компромиссы и альтернативы………………………………………………………………………………………….. 386
Искаженность отбора данных……………………………………………………………………………….. 386
Контрфактический анализ и объяснения на основе примеров…………………………… 387
Пределы объяснений………………………………………………………………………………………………. 389
ПАТТЕРН 30. Призма объективности……………………………………………………………………………………. 390
Постановка задачи…………………………………………………………………………………………………………….. 390
Решение……………………………………………………………………………………………………………………………….. 393
До тренировки…………………………………………………………………………………………………………. 394
Искаженность в других формах данных…………………………………………………………………… 398
После тренировки……………………………………………………………………………………………………. 398
Компромиссы и альтернативы………………………………………………………………………………………….. 402
Инструментарий Fairness Indicators………………………………………………………………………. 402
Автоматизирование оценивания данных……………………………………………………………… 403
Списки разрешений и запретов……………………………………………………………………………… 403
Аугментация данных………………………………………………………………………………………………. 404
Модельные карточки……………………………………………………………………………………………… 405
Объективность против объяснимости…………………………………………………………………… 406
Резюме………………………………………………………………………………………………………………………………………. 406
Глава 8. Взаимосвязанность паттернов………………………………………………… 409
Справочник паттернов……………………………………………………………………………………………………………. 409
Взаимодействие паттернов…………………………………………………………………………………………………….. 413
Паттерны в рамках проектов машинного обучения…………………………………………………………….. 416
Жизненный цикл машинного обучения……………………………………………………………………………. 417
Обнаружение…………………………………………………………………………………………………………… 417
Разработка………………………………………………………………………………………………………………. 420
Развертывание…………………………………………………………………………………………………………. 421
Готовность к искусственному интеллекту……………………………………………………………………….. 424
Тактическая фаза: ручная разработка…………………………………………………………………. 424
Стратегическая фаза: эффективное использование конвейеров………………………… 425
Трансформационная фаза: полноавтоматизированные процессы……………………. 427
Распространенные паттерны с группировкой по варианту использования
и типу данных………………………………………………………………………………………………………………………….. 428
Понимание естественного языка………………………………………………………………………………………. 428
Компьютерное зрение………………………………………………………………………………………………………… 429
Предсказательная аналитика……………………………………………………………………………………………. 429
Рекомендательные системы………………………………………………………………………………………………. 431
Обнаружение мошенничества и аномалий……………………………………………………………………… 431
Предметный указатель…………………………………………………………………………. 433
Книгу можно приобрести в нашем интернет-магазине.