Такой кумулятивный опрос можно представить себе как процесс построения дерева решений. Каждый следующий вопрос образует новую ветвь этого дерева. Сначала алгоритм выбирает случайный набор исходных направлений и некое случайно взятое пороговое значение глубины: например, двигаться вверх; если изменение глубины меньше
Повторяя этот процесс, алгоритм изменяет значения и совершенствуется в различении пикселей. Важно помнить, что мы не стремимся добиться абсолютного совершенства. Если в конце концов в корзине оказываются 990 из 1000 изображений, на которых пиксель Х относится к локтю, это означает, что алгоритм распознает нужный элемент изображения в 99 % случаев.
К тому времени как алгоритм находит оптимальный набор вопросов, программисты уже понятия не имеют, как именно он пришел к этому выводу. Они могут посмотреть на любую точку дерева и увидеть, какие вопросы задаются перед нею и после нее, но дерево содержит в целом более миллиона разных вопросов и все они хоть немного, но отличаются друг от друга. Восстановить логику задним числом, понять, как именно алгоритм решил, что в данной точке дерева следует задать именно этот вопрос, очень трудно.
Представьте себе, что вы пытаетесь запрограммировать подобную систему вручную. Вам пришлось бы придумать более миллиона разных вопросов. Эта перспектива обескуражила бы и самых отважных из программистов, а вот компьютер справляется с такого рода числами легко и непринужденно. Удивительно, что эта система работает настолько хорошо. Программистам потребовалось приложить некоторые творческие усилия, чтобы поверить, что вопросов о глубине соседних пикселей действительно может быть достаточно, чтобы определить, на какую часть тела мы смотрим, – но вся последующая творческая работа была выполнена машиной.
Одной из проблем машинного обучения является так называемая «переподгонка»[27]
(Если на графике имеются десять точек, можно задать функцию, кривая которой проходит через все эти точки. Нужно всего лишь уравнение с десятью членами. Но это не покажет закономерностей, скрытых в данных, а именно они могут быть полезны для понимания новых точек графика. Чтобы избежать такой переподгонки, нужно уравнение с меньшим количеством членов.
Иногда переподгонка не позволяет увидеть общие тенденции, заставляя нас моделировать слишком мелкие подробности, и это приводит к получению совершенно диких предсказаний. Ниже приведен график, двенадцать точек которого показывают численность населения США с начала прошлого века. Общая тенденция лучше всего описывается квадратным уравнением, но нельзя ли использовать функцию с более высокими, чем