Глава 6. Работа с данными
239
Не говоря уже о том, что зашумленные данные, как и испорченное топливо, вполне
могут привести к сбою системы. Вся эта глава посвящена данным. Мы рассмотрим
рекомендуемые практики организации данных, обнаружения и исправления проблем
в них, а также их эффективного использования.
«Но разве мы не работали с данными все это время?» — спросите вы. Да, в пре
дыдущих главах мы работали с самыми разнообразными источниками данных.
Мы обучали модели для изображений как на искусственных, так на и взятых с веб
камеры изображениях. Мы использовали перенос обучения для создания средства
распознавания речи на основе набора аудиосемплов и брали данные из табличных
наборов для предсказания цен. Что же здесь еще обсуждать? Разве мы не достигли
мастерства в работе с данными?
Вспомните, какие паттерны использования данных встречались в предыдущих
примерах. Обычно сначала нужно было скачать данные из удаленного источника.
Далее мы (обычно) приводили их в нужный формат, например преобразовывали
строки в унитарные векторы слов или нормализовали средние значения и дисперсии
табличных источников данных. После этого мы организовывали данные в батчи
и преобразовывали их в стандартные массивы чисел, представленные в виде тензо
ров, а затем уже подавали на вход модели. И это все еще до первого шага обучения.
Подобный паттерн скачивания — преобразования — организации по батчам очень
распространен, и библиотека TensorFlow.js включает инструменты для его упрощения,
модульной организации и снижения числа ошибок. В этой главе мы расскажем вам
об инструментах из пространства имен
tf.data
и главном из них —
tf.data.Dataset
,
позволяющем выполнять отложенную потоковую обработку данных. Благодаря это
му подходу можно скачивать, преобразовывать данные и обращаться к ним по мере
необходимости, вместо того чтобы скачивать источник данных полностью и хранить
его в памяти для возможного доступа. Отложенная потоковая обработка существенно
упрощает работу с источниками данных, не помещающимися в памяти отдельной
вкладки браузера или даже в оперативной памяти машины.
Сначала мы познакомим вас с API
tf.data.Dataset
и покажем, как его настра
ивать и связывать с моделью. А затем приведем немного теории и расскажем об
утилитах, предназначенных для просмотра и исследования данных с целью поиска
и разрешения возможных проблем. Завершается глава рассказом о дополнении
данных — методе расширения набора данных путем создания их искусственных
псевдопримеров для повышения качества работы модели.
6.1. Работа с данными
с помощью пространства имен tf.data
Как обучить спамфильтр, если размер базы данных электронной почты занима
ет сотни гигабайт и база требует специальных учетных данных для доступа? Как
создать классификатор изображений, если база данных обучающих изображений
слишком велика и не помещается на одной машине?
Обращение к большим массивам данных и выполнение операций с ними — клю
чевой навык любого специалиста по машинному обучению, но до сих пор мы имели
240
Do'stlaringiz bilan baham: |