38. Как определить, нужно ли добавлять данные с отличающимся распределением
Допустим мы хотим научиться прогнозировать цены на жилье в Нью-Йорке. Исходя из размера дома (входной признак x), необходимо предсказать его цену (целевое значение y).
Цены на жилье в Нью-Йорке очень высокие. Предположим, имеется второй набор данных о ценах на жилье в Детройте, штат Мичиган, где недвижимость намного дешевле. Нужно ли включать эти данные в обучающую выборку?
При одинаковом размере х цена дома у сильно отличается в зависимости от того, находится ли он в Нью-Йорке или в Детройте. Если необходимо прогнозировать цены на жилье в Нью-Йорке, объединение двух наборов данных ухудшит результаты. В этом случае лучше не добавлять в обучающую выборку данные о недвижимости Детройта
*Замечание автора Одним из способов решения проблемы несовместимости данных Детройта с данными Нью-Йорка будет добавление дополнительного параметра в каждый пример данных, указывающий город. Учитывая параметр x, указывающий город, целевое значение y становится однозначным. Однако этот подход редко встречается на практике.*
Чем этот случай с данными о цене недвижимости в Нью-Йорке и Детройте отличается от случая с изображениями кошек, полученными из мобильного приложения и из Интернета?
Основное отличие состоит в том, что взглянув на изображение, всегда можно уверенно сказать, к какому классу оно относится (с кошкой или без кошки). Не имеет значения пришло ли это изображение из мобильного приложения или было было найдено в Интернете. Таким образом в кошачьем детекторе существует функция f(x), которая надежно отображает данные входа x в выходные классы (метки y), независимо от происхождения изображений. Поэтому, задача распознавания изображений в Интернете «совместима» (консистента) с задачей распознавания изображений из мобильного приложения. Следовательно, не должно появиться особых проблем при включении всех данных в обучающую выборку (не считая потребности в увеличении вычислительных мощностей), при этом есть шансы получить существенные выгоды от обучения на всех данных.
Напротив, данные о домах и их ценах в Нью-Йорке и Детройте, штат Мичиган, не являются совместимыми (консистентными). При одном и том же размере дома х, его цена сильно отличается в зависимости от того, в каком штате он расположен.
39. Использование параметра для уравновешивания данных из разных распределений
Предположим, имеется 200 000 изображений из Интернета и 5000 изображений от пользователей мобильного приложения. Соотношение этих выборок 40:1. Теоретически, если построить огромную нейронную сеть и обучать ее достаточно долго на всех 205 000 изображений, то нет никаких препятствий для того, чтобы заставить алгоритм работать хорошо как на интернет-изображениях, так и на мобильных изображениях.
Но на практике, имея в 40 раз больше "интернет-изображений", чем из мобильного приложения, может потребоваться в 40 (или более) раз больше вычислительных ресурсов для обучения сетей на обоих выборках, по сравнению с обучением только на 5000 изображениях.
Если в наличие нет бесконечных вычислительных ресурсов, то в качестве компромиссного решения можно придать гораздо меньший вес изображениям из Интернета.
Например, мы хотим оптимизировать квадрат ошибки (не очень хороший выбор для задачи классификации, рассматриваем его для простоты). Таким образом, наш алгоритм обучения пытается оптимизировать следующую функцию потерь:
Первая сумма состоит из более 5000 слагаемых квадратов ошибок на изображениях из мобильного приложения, а количество слагаемых в сумме квадратов ошибок на изображениях из Интернета превышает 200 000. Это уравнение можно оптимизировать с помощью дополнительного параметра β:
Если установить β = 1/40, то алгоритм уравновесит суммы квадратов ошибок на 5000 мобильных изображениях и квадратов ошибок на 200 000 интернет-изображениях. Для параметра β можно установить другие значения, например, подобрав их при настройке работы алгоритма на валидационной выборке.
При уменьшении веса ошибок на изображениях, полученных из Интернета, исчезает потребность в массивной нейронной сети, необходимой для того, чтобы алгоритм мог справляться с обоими распределениями данных. Данный подход перераспределения весов функции ошибок необходим только в том случае, если есть подозрение, что дополнительные данные (изображения из Интернета) имеют распределение, сильно отличающееся от валидационной и тестовой выборок, или если количество дополнительных данных намного превосходит количество данных из распределения, которое соответствует валидационной и тестовой выборкам (изображениям из мобильного приложения).