Код креативности. Как искусственный интеллект учится писать, рисовать и думать
- Автор: дю Сотой Маркус
- Год: 2020
- Язык: русский
- Год: Аттикус
- ISBN: 978-5-389-18965-2
- Переводчик: Дмитрий Александрович Прокофьев
- Жанр: Зарубежная образовательная литература
Электронная книга - «Код креативности. Как искусственный интеллект учится писать, рисовать и думать». Краткое содержание книги:
«Искусственный интеллект потрясает самые основы нашего существования, демонстрируя, сколь многое из того, чем занимаются люди, машины могут делать не хуже, а то и лучше их. Но эта книга посвящена не столько будущему с беспилотными машинами и компьютеризованной медициной, сколько вопросу о том, смогут ли алгоритмы состязаться сколько-нибудь существенным образом с могуществом человеческого кода. Способны ли компьютеры к творчеству? Что нужно для творчества? В какой степени эмоциональная реакция на произведения искусства является результатом реакции мозга на определенные рисунки и структуры? Таковы некоторые из тем, которые мы рассмотрим». (Маркус дю Сотой)
В формате PDF A4 сохранен издательский макет книги.
Такой кумулятивный опрос можно представить себе как процесс построения дерева решений. Каждый следующий вопрос образует новую ветвь этого дерева. Сначала алгоритм выбирает случайный набор исходных направлений и некое случайно взятое пороговое значение глубины: например, двигаться вверх; если изменение глубины меньше у, переходить на левую ветвь дерева решений; если больше – на правую ветвь и так далее. Мы хотим найти такие вопросы, которые дают новую информацию. Стартовав со случайного исходного набора вопросов и применив их к 10 000 помеченных изображений, мы начинаем получать некоторые результаты. Например, мы знаем, что пиксель Х на изображении 872 относится к локтю, а на изображении 3339 – к левой ступне. Каждую ветвь или каждую часть тела можно считать отдельной корзиной. Мы хотим, чтобы наши вопросы обеспечивали попадание всех изображений, на которых пиксель Х относится к локтю, в одну и ту же корзину. Вряд ли так получится при применении первого, случайного набора вопросов. Но с течением времени, по мере того как алгоритм начнет уточнять углы и пороговые уровни глубины, он станет все лучше распределять пиксели по корзинам.
Повторяя этот процесс, алгоритм изменяет значения и совершенствуется в различении пикселей. Важно помнить, что мы не стремимся добиться абсолютного совершенства. Если в конце концов в корзине оказываются 990 из 1000 изображений, на которых пиксель Х относится к локтю, это означает, что алгоритм распознает нужный элемент изображения в 99 % случаев.
К тому времени как алгоритм находит оптимальный набор вопросов, программисты уже понятия не имеют, как именно он пришел к этому выводу. Они могут посмотреть на любую точку дерева и увидеть, какие вопросы задаются перед нею и после нее, но дерево содержит в целом более миллиона разных вопросов и все они хоть немного, но отличаются друг от друга. Восстановить логику задним числом, понять, как именно алгоритм решил, что в данной точке дерева следует задать именно этот вопрос, очень трудно.
Представьте себе, что вы пытаетесь запрограммировать подобную систему вручную. Вам пришлось бы придумать более миллиона разных вопросов. Эта перспектива обескуражила бы и самых отважных из программистов, а вот компьютер справляется с такого рода числами легко и непринужденно. Удивительно, что эта система работает настолько хорошо. Программистам потребовалось приложить некоторые творческие усилия, чтобы поверить, что вопросов о глубине соседних пикселей действительно может быть достаточно, чтобы определить, на какую часть тела мы смотрим, – но вся последующая творческая работа была выполнена машиной.
Одной из проблем машинного обучения является так называемая «переподгонка»[27] (overfitting), или переобучение. Всегда можно придумать достаточно вопросов, чтобы распознать изображение по тренировочным данным, но не хотелось бы получить программу, слишком привязанную к тем данным, на которых она обучалась. Она должна уметь извлекать из этих данных нечто применимое в более широкой области. Пусть, например, мы пытаемся создать набор вопросов для идентификации граждан; у нас есть для этого имена и номера паспортов 1000 человек. Мы можем спросить: «Номер вашего паспорта – 834765489? Тогда вы, вероятно, Ада Лавлейс». Этот метод будет работать на имеющихся данных, но окажется совершенно непригоден за пределами исходной группы, так как ни у кого из граждан, не принадлежащих к ней, не будет паспорта с таким номером.
Если на графике имеются десять точек, можно задать функцию, кривая которой проходит через все эти точки. Нужно всего лишь уравнение с десятью членами. Но это не покажет закономерностей, скрытых в данных, а именно они могут быть полезны для понимания новых точек графика. Чтобы избежать такой переподгонки, нужно уравнение с меньшим количеством членов.
27
Разумеется, приставка пере- используется здесь в значении «слишком».