Форма реальности. Скрытая геометрия стратегии, информации, общества, биологии и всего остального — страница 38 из 82

(«индийский»), и примените его к слову bagel, – это vada pav («вада пав»), популярное в Мумбаи вегетарианское блюдо: булочка с двумя картофельными котлетками. Catholic bagel («католический бейгл») – это sandwich («сэндвич»); второй вариант – meatball sub (сэндвич с фрикадельками под соусом).

Программа Word2vec знает и названия городов. Если вместо широты и долготы использовать ее концептуальный векторный анализ, то Окономовоком для Нью-Йорка будет вовсе не Морристаун, а Саратога-Спрингс. Понятия не имею почему.

Играть с этой штукой весело и в каком-то смысле поучительно. Но я позволил себе ненадлежащее поведение, свойственное авторам статей о машинном обучении, – настойчиво выбирал фактики поинтереснее. Забавно делиться самыми эффектными и впечатляющими примерами! Это может ввести в заблуждение: Word2vec – вовсе не волшебная машина смыслов. Чаще всего предлагаемая аналогия – всего лишь синоним исходного слова (женский вариант для слова boring («скучный») – это uninteresting («неинтересный»); для слова mathematics («математика») – просто сокращение math; для amazing («поразительный») – incredible («невероятный»); написание с орфографической ошибкой (женская версия слова vicious («порочный») – это viscious) или просто совсем неправильное слово: мужской вариант для duchess («герцогиня») – это prince («принц, князь»), женский для pig («свинья») – piglet («поросенок»), женский для cow («корова») – cows («коровы»), женская версия слова earl («граф») – это Georgiana Spencer (Джорджиана Спенсер), хотя правильное слово здесь – countess («графиня»). Правда, тут нужно признать: Спенсер графиней была[334].

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

Глава 9. Три года воскресений

Действительно важный и в каком-то смысле замалчиваемый факт о математике – она очень сложна. Иногда мы скрываем этот факт от учеников, полагая, что оказываем им услугу. Как раз наоборот. Будучи стажером у преподавателя Робина Уильямса, я научился у него одной простой вещи. Когда мы говорим, что этот урок легкий или простой, а это явно не так, мы даем учащимся понять, что проблемы не в математике, а в них. И они нам верят. К худу или к добру, но ученики доверяют учителям. «Если я не понял даже то, что было просто, – скажут они, – то зачем вообще утруждать себя попытками понять что-то сложное?»

Наши ученики боятся задавать вопросы в классе из-за опасений «выглядеть глупо». Если бы мы честно признались[335], насколько трудна и глубока математика, то даже та математика, которую изучают на уроках геометрии в старших классах, явно стала бы меньшей проблемой: мы оказались бы в классах, где задавать вопросы значило бы не «выглядеть глупо», а, наоборот, «выглядеть как человек, который хочет чему-то научиться». И это относится не только к слабым ученикам. Да, некоторые легко усваивают основные правила алгебраических операций или геометрических построений, но даже им следует задавать вопросы – учителям и себе. Например: я сделал то, что просил учитель, но что, если бы я попробовал сделать что-то другое, о чем учитель не спрашивал? И кстати, почему учитель просил то, а не иное? Нет такой интеллектуальной вершины, с которой вы не сможете увидеть какой-то пробел в знаниях, и именно туда и нужно направить усилия, если вы хотите учиться. Если урок математики легкий, значит, вы что-то делаете неправильно.

Что такое вообще сложность? Это одно из тех слов, которые, как нам кажется, мы хорошо знаем, но при попытках их описать они распадаются на связанные, но разные понятия. Мне нравится история, рассказанная специалистом по теории чисел Эндрю Грэнвиллом об алгебраисте Фрэнке Нельсоне Коуле[336].

На заседании Американского математического общества[337] в 1903 году Коул подошел к доске и, не говоря ни слова, вычислил величину 267 – 1 = 147 573 952 589 676 412 927. Затем на второй части доски он написал 193 707 721 × 761 838 257 287, перемножил эти числа и получил то же самое число. После этого он, по-прежнему не сказав ни слова, сел на свое место, а впоследствии признался, что разложение числа 267 – 1 на два множителя заняло у него «три года воскресений». Мораль этой истории в том, что, хотя Коулу потребовались огромные усилия и настойчивость, чтобы найти эти множители, ему не понадобилось много времени, чтобы продемонстрировать и обосновать свой результат в аудитории математиков (и доказать свою правоту). Таким образом, как мы видим, доказательство может быть коротким, даже если его поиск занял массу времени.

Одно дело – трудность в признании истинности какого-нибудь утверждения, и совсем другое – трудность в придумывании утверждения, истинность которого должна быть признана. Именно этому достижению аплодировала аудитория Коула. Мы уже видели, что поиск простых делителей для больших чисел – это сложная задача; однако число 147 573 952 589 676 412 927 по стандартам современной компьютерной техники вовсе не является большим. Я только что разложил его[338] на своем ноутбуке, и это заняло не целое воскресенье, а совершенно незаметный промежуток времени. Так сложна эта задача или нет?

Или рассмотрим проблему вычисления цифр числа π; когда-то это занятие считалось исследовательской математикой, но сейчас это всего лишь простые расчеты. Здесь появляется еще один вид трудности – трудность мотивации. Я не сомневаюсь, что моих технических умений вычислять хватит, чтобы вручную найти семь или восемь цифр π. Но мне было бы очень непросто заставить себя это сделать, потому что это скучно, потому что за меня это может сделать мой компьютер и (возможно, самое главное) потому что нет причин знать очень много цифр этого числа. Конечно, существуют ситуации, где понадобится семь-восемь цифр. Но сотая цифра? Сорока цифр уже вполне достаточно, чтобы вычислить длину окружности размером с нашу Галактику с точностью до размера протона.

Знать сто цифр числа π – вовсе не значит знать о кругах больше, чем другие люди. В числе π важно не его значение, а то, что оно само имеет большое значение. Значимым фактом будет то, что отношение длины окружности к ее диаметру не зависит от ее размера и местоположения. Это факт о симметрии плоскости. Любую окружность можно преобразовать в другую с помощью так называемого подобия, состоящего из переносов, вращений и изменений масштаба. Подобие может менять расстояния, однако делает это путем умножения на фиксированную константу: возможно, все расстояния удваиваются, возможно, уменьшаются в десять раз, но в любом случае отношение между двумя длинами (скажем, длиной окружности и длиной ее диаметра) остается тем же. Если вы считаете две фигуры одинаковыми, когда их можно перевести друг в друга путем симметрий такого рода (называя разные вещи одним именем в стиле Пуанкаре), то в реальности существует всего одна окружность, а потому и только одно число π. Аналогично есть только один квадрат и, соответственно, только один ответ на вопрос «Каково отношение периметра квадрата к его диагонали?»[339], и этот ответ равен удвоенному квадратному корню из 2, то есть примерно 2,828… и эту величину можно назвать числом π для квадрата. Точно так же есть только один правильный шестиугольник, и его π равно 3.



А вот у прямоугольника числа π нет, потому что существует не один прямоугольник, а много, отличающихся отношением между длинной и короткой сторонами.

Сложно ли сыграть идеальную партию в шашки? Для человека – да, но компьютерной программе «Чинук» вполне по силам. (Правильно ли ставить вопрос не о сложности, с которой сталкивается «Чинук» в игре, а о сложности, с которой столкнулись ученые при создании программы?) Как мы видели, задача игры в идеальные шашки, идеальные шахматы или идеальное го принципиально ничем не отличается от перемножения двух больших чисел. А разве в каком-то смысле это действие не концептуально простое? Мы точно знаем, что нужно сделать, чтобы проанализировать дерево игры, даже если в реальности нам не хватит на это времени жизни Вселенной.

Один простой ответ – сказать, что некоторые задачи, такие как разложение чисел на множители или игра го, просты для компьютеров и сложны для нас, потому что компьютеры лучше и умнее нас. Такой ответ неявно моделирует сложность в виде некоторой точки на прямой, где также можно расположить людей и компьютеры, при этом их положение определяется умением решать все задачи, размещенные левее.



Однако это неверно: геометрия сложности не одномерна. Существуют задачи – например, разложение больших чисел на множители, идеальная игра в шашки или хранение миллиардов слов с идеальной точностью, – с которыми компьютеры справляются гораздо, гораздо лучше нас. (Прежде всего, компьютеры не сталкиваются с проблемой мотивации: они делают – во всяком случае, на данный момент – то, что мы им говорим.) Но есть задачи, сложные для компьютеров и легкие для нас. Известный пример – проблема четности: стандартные архитектуры нейронных сетей очень плохо с ней справляются. Скажем, в строке из букв X и O четное или нечетное количество букв X? Трудности возникают и с экстраполяцией. Если вы приведете человеку кучу подобных примеров:



и спросите, что будет на выходе, если на входе 3,2, то он скажет: 3,2. То же самое выдаст и нейронная сеть, обученная на этих данных. А если на входе будет 10,0? Человек скажет 10,0. А вот нейронная сеть может ответить что угодно. Существует масса безумных правил, которые согласуются с формулой «вход = выход» в промежутке от 1 до 5, но ведут себя совершенно иначе вне этого диапазона. Человек знает, что «вход = выход» – это самый простой и естественный способ экстраполировать правило на более широкий класс возможных входных сигналов, а вот алгоритм машинного обучения