Опубликовано

Вышла книга “Машинное обучение. Паттерны проектирования”

Машинное обучение. Паттерны проектирования

Приводимые в книге паттерны проектирования отражают лучшие практические подходы к решению типичных задач машинного обучения. Указанные паттерны, реализованные в программном коде, сконцентрировали опыт сотен экспертов в простые и легкодоступные советы. Книга содержит подробный разбор 30 паттернов, служащих для представления данных и задач, тренировки моделей, отказоустойчивого обслуживания, обеспечения воспроизводимо-сти и искусственного интеллекта. Каждый паттерн включает в себя постановку задачи, ряд потенциальных решений и рекомендации по выбору технического приема, наилучшим образом подходящего к данной ситуации.

Для программистов в области машинного обучения

Вы научитесь

  • Выявлять и преодолевать трудности, встречающиеся во время тренировки, оценивания и развертывания моделей машинного обучения
  • Представлять данные для разных типов моделей машинного обучения, включая векторные вложения, гибриды признаков и многое другое
  • Выбирать правильный тип модели для той или иной задачи
  • Строить надежный цикл тренировки с использованием контрольных точек, распределительной стратегии и гиперпараметрической настройки
  • Разворачивать масштабируемые модели машинного обучения, которые можно переучивать и обновлять с целью учета новых данных
  • Интерпретировать предсказания модели понятным конечному пользователю образом
  • Улучшать точность, воспроизводимость и отказоустойчивость моделей

Еще о книге

Приводимые в этой книге паттерны проектирования отражают лучшие практические подходы к решению типичных задач машинного обучения. Авторы книги, три инженера компании Google, систематизировали проверенные временем методы решений и поместили их в книгу. Указанные паттерны, реализованные в программном коде, превращают опыт сотен экспертов в простые и легкодоступные советы.

Рекомендации специалистов

Эта книга с ее превосходными и разнообразными примерами обязательна для прочтения любым исследователем данных или инженером в области машинного обучения, стремящимся понять проверенные временем решения сложных задач
 Дэвид Кантер, исполнительный директор компании ML Commons

Если вы хотите, чтобы на вашем пути разработки решений в области машинного обучения было меньше синяков и шишек, то Лак, Сара и Майкл вас прикроют
 Уилл Граннис, управляющий директор облачного офиса Google

Решение типичных проблем при подготовке данных, построении моделей и MLOps

Об авторах

Valliappa (Lak) Lakshmanan

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

Michael Munn

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

Sara Robinson

Сара Робинсон (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

Книгу можно приобрести в нашем интернет-магазине.

Добавить комментарий