Электронная библиотека » Педро Домингос » » онлайн чтение - страница 7


  • Текст добавлен: 7 июля 2016, 15:20


Автор книги: Педро Домингос


Жанр: Зарубежная образовательная литература, Наука и Образование


Возрастные ограничения: +12

сообщить о неприемлемом содержимом

Текущая страница: 7 (всего у книги 30 страниц) [доступный отрывок для чтения: 9 страниц]

Шрифт:
- 100% +
Кандидаты, которые не оправдали надежд

Итак, если Верховный алгоритм существует, на что он похож? На первый взгляд, очевидный ответ – на запоминание. Просто запоминай все, что видишь, и через некоторое время увидишь все, что только можно увидеть, и таким образом узнаешь все, что только можно узнать. Проблема в том, что, как сказал Гераклит, в ту же реку нельзя войти дважды. В мире куда больше вещей, чем мы в состоянии увидеть. Неважно, сколько снежинок вы исследуете: следующая будет другой. Даже если бы вы присутствовали при Большом взрыве и после этого везде и всюду, вы все равно увидели бы лишь крохотную долю того, что могли бы увидеть в будущем. Если бы вы десять тысяч лет наблюдали за жизнью на Земле, это не подготовило бы вас к тому, что еще предстоит. Человек, выросший в одном городе, не впадает в ступор, когда переезжает в другой, однако робот, способный только запоминать, впал бы. Кроме того, знание – это не просто длинный список фактов. Знание бывает обобщенным и структурированным. «Все люди смертны» – намного более емкое утверждение, чем семь миллиардов свидетельств о смерти, по одному на каждого человека. Запоминание же не даст нам ни обобщенности, ни структуры.

Другой кандидат в Верховные алгоритмы – микропроцессор. В принципе, процессор в вашем компьютере можно рассматривать как единый алгоритм, работа которого – выполнять другие алгоритмы, подобно универсальной машине Тьюринга, и он может выполнять любые мыслимые алгоритмы до границ своей памяти и производительности. Для микропроцессора алгоритм – просто еще один вид данных. Проблема в том, что сам по себе микропроцессор ничего делать не умеет: он просто сидит весь день без дела. Откуда берутся алгоритмы, которые он выполняет? Если они были закодированы программистом-человеком, никакого обучения нет. Тем не менее в каком-то отношении микропроцессор – удачный аналог Верховного алгоритма. Микропроцессор – не самое оптимальное оборудование для запуска отдельных алгоритмов, для этого гораздо больше подходят разработанные для конкретной задачи интегральные схемы специального назначения (application-specific integrated circuit, ASIC). Однако почти для всех приложений мы используем именно микропроцессоры, потому что их гибкость с лихвой компенсирует относительную неэффективность. Если бы нам приходилось разрабатывать ASIC для каждого нового приложения, информационная революция никогда бы не состоялась. Верховный алгоритм – тоже не лучший алгоритм для изучения конкретного элемента знаний. Эффективнее был бы алгоритм, в который уже заложена большая часть этого знания (или знание целиком: тогда данные будут избыточны). Однако вся суть в том, чтобы вывести знание из данных путем индукции. Это легче и дешевле, поэтому чем более обобщен алгоритм машинного обучения, тем лучше.

Еще более радикальный кандидат – скромный вентиль ИЛИ-НЕ, логический переключатель, который на выходе дает единицу, если на входе два нуля. Не забывайте, что все компьютеры построены из логических вентилей в виде транзисторов и все вычисления можно свести к комбинациям элементов И, ИЛИ и НЕ. Вентиль ИЛИ-НЕ – это просто элемент ИЛИ, за которым следует элемент НЕ: отрицание дизъюнкции[38]38
  Дизъюнкция (лат. disjunctio – разобщение) – логическая операция, по своему применению максимально приближенная к союзу «или» в смысле «или то, или это, или оба сразу». Синонимы: логическое «ИЛИ», включающее «ИЛИ», логическое сложение, иногда просто «ИЛИ».


[Закрыть]
, как в предложении «Я счастлив, если не голоден и не болен». Элементы И, ИЛИ и НЕ можно реализовать с использованием вентилей ИЛИ-НЕ, поэтому этот вентиль может делать все. Вообще говоря, некоторые микропроцессоры только его и используют. Так почему же он не может стать Верховным алгоритмом? Ведь он, безусловно, непревзойден в своей простоте. К сожалению, вентиль ИЛИ-НЕ – Верховный алгоритм не в большей степени, чем кубик лего – универсальная игрушка. Конечно, детали конструктора как кирпичики и из них многое можно построить, но гора элементов самопроизвольно ни во что не сложится. То же относится к другим простым вычислительным схемам, например сетям Петри[39]39
  Математический аппарат для моделирования динамических дискретных систем. Впервые описаны Карлом Петри в 1962 году.


[Закрыть]
и клеточным автоматам[40]40
  Набор клеток, образующих некую периодическую решетку с заданными правилами перехода, определяющими состояние клетки в следующий момент через состояние клеток, находящихся от нее на расстоянии не больше некоторого, в текущий момент времени.


[Закрыть]
.

Перейдем к более сложным кандидатам. Например, к запросам, на которые может ответить любой хороший движок базы данных, или простых алгоритмов в статистическом пакете. Разве их недостаточно? Это более крупные детали лего, но по-прежнему всего лишь кирпичики. Движок базы данных никогда не откроет ничего нового: он просто сообщает то, что знает. Даже если все люди в базе данных смертны, ему не придет в голову экстраполировать эту черту на других людей (проектировщики баз данных побледнели бы от самой этой мысли). Статистика в основном заключается в проверке гипотез, которые кто-то сначала должен сформулировать. Статистические пакеты умеют выполнять линейную регрессию и другие простые процедуры, но они мало чему могут научиться, сколько бы данных им ни предоставили. Качественные пакеты входят в серую зону между статистикой и машинным обучением, но все равно остается множество видов знания, которое они не могут открыть.

Ладно, давайте начистоту. Верховный алгоритм – это уравнение U(X) = 0. Он уместится не то что на футболке, а даже на почтовой марке! Уравнение U(X) = 0 говорит, что определенная (возможно, очень сложная) функция U какой-то (возможно, очень сложной) переменной X равна нулю. К этой форме можно свести любое уравнение. Например, F = ma можно записать в виде F – ma = 0, поэтому, если считать F – ma функцией U переменной F – вуаля: U(F) = 0. В целом X может быть любыми вводными данными, а U – любым алгоритмом, поэтому, конечно, Верховный алгоритм не может быть более общим, чем это уравнение, а поскольку мы ищем самый общий алгоритм из всех возможных, это должен быть он. Конечно, я шучу, но конкретно этот неудачный кандидат указывает на одну из реальных опасностей в машинном обучении: создание настолько общего обучающегося алгоритма, что он окажется недостаточно содержательным, чтобы быть полезным.

Так какое же минимальное содержание может иметь обучающийся алгоритм, чтобы оставаться полезным? Законы физики? В конце концов, все в этом мире им подчиняется (по крайней мере, мы так думаем), они породили эволюцию, а в ходе эволюции – головной мозг. Может быть, Верховный алгоритм и правда скрыт в законах физики, но, если это так, нам надо выразить его явно. Если просто подбрасывать законам физики данные, новых законов не получишь. На это можно посмотреть следующим образом: возможно, основная теория какой-то дисциплины – просто законы физики, облеченные в удобную для этой дисциплины форму. Но если это действительно так, нам нужен алгоритм, который найдет кратчайший путь из данных этой дисциплины к ее теории, и непонятно, смогут ли законы физики в этом помочь. Еще один аспект заключается в следующем: если бы законы физики были иными, Верховный алгоритм все равно во многих случаях смог бы их открыть. Математики любят говорить, что Бог может нарушать законы физики, но даже он не бросает вызов законам логики. Возможно, это так, но законы логики предназначены для дедукции, а нам нужно что-то подобное для индукции.

Пять «племен» машинного обучения

Конечно, охоту за Верховным алгоритмом не надо начинать с нуля. У нас за плечами несколько десятилетий исследований машинного обучения, на которые можно опереться. Лучшие умы планеты посвятили свои жизни разработке обучающихся алгоритмов, а кто-то даже утверждает, что универсальный алгоритм уже у него в руках. Хотя мы стоим на плечах гигантов, такие заявления надо принимать с долей скептицизма, и тогда возникает вопрос: как понять, что Верховный алгоритм найден? Мы поймем это тогда, когда один и тот же обучающийся алгоритм, в котором допустимо только менять параметры, на основе минимальных исходных данных сможет научиться понимать видео и текст так же хорошо, как человек, сделает важные открытия в биологии, социологии и других науках. Очевидно, что по этим стандартам ни один алгоритм машинного обучения пока нельзя признать Верховным, даже в том маловероятном случае, что он уже найден.

Крайне важно понимать, что от Верховного алгоритма не требуется уметь с чистого листа решать новую задачу. Это, наверное, была бы слишком высокая планка для любого обучающегося алгоритма, и это, разумеется, совершенно не похоже на то, как работают сами люди. Например, язык не существует в вакууме, и мы не поймем фразу без знания мира, к которому она относится. Таким образом, когда Верховный алгоритм будет учиться читать, он может опираться на то, что до этого он уже научился видеть, слышать и управлять роботами. Точно так же ученый не просто вслепую подбирает модели к данным – чтобы решить проблему, он оперирует всеми знаниями в данной области. Делая открытия в биологии, Верховный алгоритм тоже сначала может прочитать всю литературу по предмету, какую пожелает, полагаясь на уже освоенный навык чтения. Верховный алгоритм – не просто пассивный потребитель данных. Он может взаимодействовать с окружающей средой и активно искать данные, которые ему нужны, как робот-ученый Адам, о котором мы упоминали выше, или просто ребенок, исследующий окружающий мир.

Поиски Верховного алгоритма сложны, но их оживляет соперничество разных научных школ, действующих в области машинного обучения. Важнейшие из них – символисты, коннекционисты, эволюционисты, байесовцы и аналогисты. У каждого «племени» есть набор фундаментальных постулатов и конкретная проблема, которая больше всего его волнует. «Племя» находит решение для этой проблемы в идеях союзных научных дисциплин, и у него есть верховный алгоритм, который воплощает это решение.

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

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

Эволюционисты верят, что мать учения – естественный отбор. Если он создал нас самих, значит, он может все, и нам остается только симулировать его на компьютере. Ключевая проблема, которую решает эта научная школа, – обучающаяся структура: требуется не просто подобрать параметры, как при обратном распространении ошибки, а создать мозг, который эти уточнения будет тонко настраивать. Верховный алгоритм эволюционистов – это генетическое программирование, соединяющее и развивающее компьютерные программы точно так же, как природа сводит и развивает живые организмы.

Байесовцы озабочены прежде всего неопределенностью. Все усвоенное знание неопределенно, и само обучение – это форма недостоверного вывода. Проблема, таким образом, заключается в следующем: как работать с зашумленной, неполной, даже противоречивой информацией и не потерять голову? Выходом становится вероятностный вывод, а верховным алгоритмом – теорема Байеса и ее производные. Теорема Байеса объясняет, как встраивать в наши убеждения новые доказательства, а алгоритмы вероятностного вывода делают это с максимальной эффективностью.

Для аналогистов ключ к обучению – находить сходства между разными ситуациями и тем самым логически выводить другие сходства. Если у двух пациентов схожие симптомы, вероятно, у них одинаковое заболевание. Ключевая проблема – оценить, насколько похожи два случая. Верховный алгоритм аналогистов – это метод опорных векторов, который определяет, какой опыт надо запомнить и как соединить опыт, чтобы делать новые прогнозы.

Решения центральных проблем каждого из «племен» – блестящие, с трудом завоеванные успехи. Но подлинный Верховный алгоритм должен решить все пять проблем, а не одну. Например, чтобы лечить рак, необходимо разобраться в метаболических путях в клетке: каковы механизмы регуляции генов, за какие химические реакции отвечают кодируемые этими генами белки, как добавление новой молекулы повлияет на эти цепочки реакций. Было бы глупо пытаться узнать все это с нуля, игнорируя знания, которые биологи накапливали десятилетиями. Символисты знают, как объединить эти знания с данными секвенсоров ДНК, микрочипами экспрессии генов и так далее и получить результаты, которые нельзя иметь из каждого источника по отдельности. Однако знание, полученное путем обратной дедукции, – качественное, а не количественное, поэтому нам придется не просто разобраться, что с чем взаимодействует, но и понять степень этого взаимодействия, и здесь может пригодиться метод обратного распространения ошибки. Тем не менее и обратная дедукция, и обратное распространение будут подвешены в пространстве без какой-то базовой структуры, к которой можно привязать найденные ими взаимодействия и параметры. Такую структуру может открыть генетическое программирование. С этого момента, если у нас будет полное знание метаболизма и все данные пациента, можно попробовать найти лечение. Однако в реальности имеющаяся информация всегда неполная, а местами и ошибочная. Приходится прокладывать путь к цели, несмотря на эти препятствия, и именно для этого пригодится вероятностное заключение. В самых сложных случаях рак у пациента будет очень сильно отличаться от того, что было описано, и полученное знание не поможет. Спасти положение смогут алгоритмы, основанные на сходстве: они заметят аналогии между очень разными на первый взгляд ситуациями, потому что сосредоточатся на существенных моментах и проигнорируют остальное.

В этой книге мы создадим единый алгоритм со всеми этими возможностями.



В наших поисках мы пройдем по землям каждого из пяти «племен». Пограничные переходы, где они встречаются, ведут переговоры и вступают в схватки, будут самыми непростыми отрезками пути. У каждого «племени» есть свой кусочек мозаики, которую мы обязаны собрать. Специалисты по машинному обучению, как и все ученые, напоминают слепцов рядом со слоном: один щупает хобот и думает, что это змея. Другой прислонился к ноге и считает, что это дерево. Еще один потрогал бивень и решил, что это бык. Наша цель – дотронуться до всех элементов, не спеша с выводами. Прикоснувшись ко всему, мы попытаемся нарисовать в воображении слона целиком. Соединить все фрагменты в одно решение – далеко не банальная задача. Некоторые полагают, что это вообще невозможно. Но именно это мы сделаем.

Алгоритм, к которому мы придем, пока не будет Верховным (мы увидим почему), но так далеко еще никто не заходил. А в пути нас ждет столько сокровищ, что позавидовал бы сам Крез[41]41
  Крез (первая половина VI века до н. э.) – царь Лидии, рабовладельческого торгового государства, который, как пишет древнегреческий историк Геродот в своей «Истории», был обладателем несметных сокровищ.


[Закрыть]
. Тем не менее эта книга – лишь первая часть саги о Верховном алгоритме. Героем второй части станете вы, дорогой читатель. Ваша миссия, если вы решитесь взять ее на себя, – пройти остаток пути и вернуться с наградой. Я буду вашим скромным проводником по первой части, отсюда и до границы известного мира. Что? Вы говорите, что знаете слишком мало и не сильны в алгоритмах? Не пугайтесь. Информатика еще молода, и здесь, в отличие от физики или биологии, вам не надо быть доктором наук, чтобы совершить в ней революцию. (Не верите – спросите Билла Гейтса, а еще Сергея Брина, Ларри Пейджа и Марка Цукерберга[42]42
  Сергей Брин (Sergey Brin, род. 1973) и Ларри Пейдж (Lawrence «Larry» Page, род. 1973) – разработчики и основатели Google; Марк Эллиот Цукерберг (Mark Elliot Zuckerberg, род. 1984) – один из разработчиков и основателей социальной сети Facebook.


[Закрыть]
.) Важны идеи и упорство.

Итак, вы готовы? Наш путь начнется с визита к символистам, «племени» с самой солидной родословной.

Глава 3
Проблема индукции Юма

Вы рационалист или эмпирик?

Рационалисты считают, что чувства обманчивы и единственный верный путь к знанию – логическое рассуждение. Эмпирики уверены, что рассуждения подвержены ошибкам и знание должно быть получено из наблюдений и экспериментов. Французы – рационалисты. Англосаксы (как их называют французы) – эмпирики. Мыслители, юристы и математики – рационалисты. Журналисты, врачи и ученые – эмпирики. «Она написала убийство» – рационалистический криминальный телесериал. «C.S.I.: Место преступления» – эмпирический. В мире информатики теоретики и инженеры знаний – рационалисты. Хакеры и специалисты по машинному обучению – эмпирики.

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

Рационалисты и эмпирики, наверное, существовали с самого зарождения Homo sapiens. Перед тем как выйти на охоту, Пещерный Бобби долго сидел у костра и размышлял, где его поджидает добыча. Тем временем Пещерная Алиса систематически прочесывала территорию. Поскольку оба вида дошли до наших дней, наверное, будет правильно сказать, что ни один подход не лучше другого. Вы можете подумать, что машинное обучение – это окончательный триумф эмпириков, но скоро мы увидим, что все не так однозначно.

«Рационализм или эмпиризм?» – любимый вопрос философов. Платон был ранним рационалистом, а Аристотель – ранним эмпириком. Но по-настоящему дебаты разгорелись в эпоху Просвещения, когда по каждую сторону встали по три великих мыслителя: Декарт, Спиноза и Лейбниц были ведущими рационалистами; Локк, Беркли и Юм – их соперниками-эмпириками. Доверяя своей силе рассуждения, рационалисты сочиняли теории Вселенной, которые, мягко говоря, не прошли проверку временем, но помимо этого они изобрели фундаментальные математические методики, например математический анализ и аналитическую геометрию. Эмпирики были гораздо практичнее, и их влияние прослеживается везде, начиная с научного метода и заканчивая Конституцией США.

Выдающимся эмпириком и величайшим англоязычным философом всех времен был Дэвид Юм. О его серьезнейшем влиянии говорили такие ученые, как Адам Смит и Чарльз Дарвин, а еще его можно назвать святым покровителем символистов. Юм родился в Шотландии в 1711 году и большую часть своей жизни провел в Эдинбурге, который в XVIII веке процветал и бурлил интеллектуальной жизнью. Юм был человеком добродушным, но при этом строгим скептиком и много времени посвящал разрушению мифов своего времени. Он довел начатые Локком рассуждения об эмпирике до логического завершения и задал вопрос, который с тех пор, как дамоклов меч, висит над любым знанием, от самого банального до самого сложного: как в принципе можно оправдать экстраполяцию того, что мы видели, на то, чего мы не видели? Каждый обучающийся алгоритм в каком-то смысле – попытка ответить на этот вопрос.

Вопрос Юма – отправная точка нашего путешествия. Начнем с того, что проиллюстрируем его примером из повседневной жизни и встретим ее современное воплощение в знаменитой теореме No free lunch – «Бесплатных обедов не бывает»[43]43
  Теорема «Бесплатных обедов не бывает» (No free lunch) гласит: не существует алгоритма, позволяющего получить оптимальные решения всех возможных задач. Теорема получила название на основе метафоры о стоимости блюд в различных ресторанах. Допустим, существует определенное количество ресторанов (каждый из них обозначает определенный алгоритм прогнозирования), где в меню различным блюдам (каждое блюдо обозначает определенную задачу прогнозирования) сопоставлена цена (или качество решения этой задачи, которое позволяет получить рассматриваемый алгоритм). Человек, который любит поесть и при этом не прочь сэкономить, может определить, какой ресторан предлагает его любимое блюдо по самой выгодной цене. Вегетарианец, сопровождающий этого обжору, наверняка обнаружит, что его любимое вегетарианское блюдо в этом ресторане стоит намного дороже. Если обжора захочет полакомиться бифштексом, он выберет ресторан, где бифштекс подают по самой низкой цене. Но его друг-вегетарианец при этом вынужден будет заказать единственное вегетарианское блюдо в этом ресторане, пусть даже по заоблачной цене. Это очень точная метафора ситуации, когда необходимость использования определенного алгоритма для решения конкретной задачи приводит к гарантированно неоптимальным результатам.


[Закрыть]
. Затем мы посмотрим, что отвечают Юму символисты. Это подведет нас к самой важной проблеме машинного обучения: проблеме переобучения, то есть выделения фантомных закономерностей, которых на самом деле нет. Мы посмотрим, как ее решают символисты и почему машинное обучение – сердце своего рода алхимии, философский камень превращения данных в знания. Для символистов этот камень – само знание. В следующих четырех главах мы увидим решения алхимиков из других «племен».

Быть или не быть свиданию?

У вас есть знакомая девушка, которая вам очень нравится. Вы хотите пригласить ее на свидание, однако вам уже приходилось сталкиваться с отказами, и вы решили задать вопрос, только если будете твердо уверены, что она скажет «да». Пятничным вечером вы сидите с мобильником в руке и пытаетесь решить, звонить или не звонить. Вы помните, что в прошлый раз она не согласилась. Но почему? До этого она два раза сказала «да», потом «нет». Может быть, есть какие-то дни, когда она не хочет никуда ходить? Или, может быть, она любит клубы, а рестораны, напротив, ей не нравятся? Вы человек, необычайно любящий систему, поэтому откладываете телефон в сторону и набрасываете на листке бумаги все, что помните по прошлым встречам.



Итак, что вас ждет? Быть свиданию или не быть? Есть ли какая-то закономерность во всех этих «да» и «нет»? И самое главное – что эта схема скажет о сегодняшнем дне?

Понятно, что одного фактора для прогнозирования мало. В какие-то выходные она хотела куда-нибудь сходить, а в другие – нет. Иногда ей хотелось развлечься в клубе, а иногда не хотелось и так далее. А как насчет сочетания факторов? Может быть, она любит по выходным ходить в клуб? Нет, не то: случай номер четыре перечеркивает эту догадку. А может быть, она любит гулять только в теплые вечера? В точку! Сработало! В таком случае, учитывая, что на улице морозец, сегодня вечером шансов маловато. Погодите! А что если она любит ходить в клуб, когда по телевизору нет ничего интересного? Это тоже обоснованное предположение, и в таком случае сегодня вас ждет «да»! Быстрее, надо позвонить ей, пока не очень поздно. Стоп. Как узнать, что эта закономерность правильная? Целых два варианта согласуются с вашим прошлым опытом, но они дают противоположные прогнозы. Подумаем еще раз: а если она ходит в клуб только в хорошую погоду? Или она выходит из дома по выходным, когда по телевизору нечего смотреть? Или…

Тут вы в отчаянии комкаете листок бумаги и швыряете его в мусорную корзину. Ничего не получается! Как быть?! Дух Юма печально кивает у вас за плечом. У вас нет никаких оснований предпочесть одно обобщение другому. «Да» и «нет» – одинаково допустимые ответы на вопрос «Что она скажет?». А часы тикают. С горечью вы вытаскиваете из кармана пятак и почти готовы его подбросить.

Вы не одиноки в своем затруднении – оно знакомо и нам. Мы буквально только что отправились в путь навстречу Верховному алгоритму и, похоже, уже наткнулись на непреодолимое препятствие. Есть хоть какой-нибудь способ научиться чему-то на прошлом опыте, чтобы с уверенностью применять знание в будущем? А если такого способа нет, не станет ли машинное обучение безнадежным предприятием? Если уж на то пошло, не построена ли вся наука или даже все человеческое знание на довольно шаткой почве?

Непохоже, чтобы проблему решало увеличение объема данных. Вы можете быть супер-Казановой и встречаться с миллионами женщин, по тысяче раз с каждой, но ваш обширный архив все равно не ответит на вопрос, что эта женщина ответит в этот раз. Даже если сегодняшний случай в точности напоминает тот, когда она сказала «да» – тот же день недели, тот же вид свидания, та же погода и те же шоу по телевизору, – это все еще не означает, что она согласится. Вполне может быть, что ее ответ определяется каким-то фактором, о котором вы не подумали или который не можете оценить. Или, может быть, в ее ответах нет ни ладу, ни складу: они случайные, и вы просто ставите себе палки в колеса, пытаясь отыскать в них какую-то схему.

Философы спорили о проблеме индукции Юма с тех самых пор, как он ее сформулировал, но так и не пришли к удовлетворительному ответу. Бертран Рассел[44]44
  Бертран Артур Уильям Рассел (Bertrand Arthur William Russell, 1872–1970) – британский философ, общественный деятель и математик.


[Закрыть]
любил иллюстрировать эту проблему историей об индюке-индуктивисте. В первое утро индюку дали корм в девять утра. Но он был хорошим индуктивистом и не спешил с выводами. Он много дней собирал наблюдения при всевозможных обстоятельствах, однако его раз за разом кормили в девять утра. Наконец он сделал вывод: да, его всегда будут кормить в девять утра. А потом наступил канун Рождества и ему перерезали горло.

Было бы очень хорошо, если бы проблема Юма была всего лишь философским ребусом, который можно и проигнорировать. Но проигнорировать проблему Юма не получится. Например, бизнес Google основан на угадывании, какие страницы вы ищете, когда вписываете в строку поиска определенные слова. Ключевое преимущество этого поисковика – огромный массив запросов, которые люди вводили в прошлом, и ссылок, на которые они кликали на соответствующих страницах результатов. Но что делать, если кто-то вписывает сочетание ключевых слов, которого нет в архивах? А даже если они и есть, разве можно с уверенностью сказать, что текущий пользователь хочет найти те же страницы, что и все его предшественники?

Как насчет того, чтобы предположить, что будущее будет похоже на прошлое? Это, безусловно, рискованное допущение (у индюка-индуктивиста, например, оно не сработало). С другой стороны, без него знание невозможно, да и жизнь тоже. Мы предпочитаем жить, пусть и без уверенности. К сожалению, даже с таким предположением мы по-прежнему блуждаем в тумане. Оно работает в «тривиальных» случаях: если я врач, а у пациента B точно такие же симптомы, как у пациента A, я предположу, что диагноз будет такой же. Однако если симптомы соответствуют не точно, я по-прежнему ничего не узнаю. Это проблема машинного обучения: обобщение случаев, которые мы еще не видели.

Но, может быть, все не так страшно? Разве с достаточным количеством данных большинство случаев не попадает в категорию «тривиальных»? Нет, не попадает. В предыдущей главе мы уже разобрались, почему запоминание не может быть универсальным обучающимся алгоритмом, но теперь давайте посмотрим на это с количественной точки зрения. Предположим, у вас есть база данных с триллионом записей по тысяче булевых полей в каждой (булево поле – это ответ на вопрос «да или нет»). Это довольно много. Какую долю возможных случаев вы увидели? (Попробуйте угадать, прежде чем читать дальше.) Итак, число возможных ответов – два на каждый вопрос, поэтому для двух вопросов это дважды два (да-да, да-нет, нет-да и нет-нет), для трех вопросов – это два в кубе (2 × 2 × 2 = 23), а для тысячи вопросов – это два в тысячной степени (21000). Триллион записей в нашей базе данных – это ничтожно малая доля процента от 21000, а именно «ноль, запятая, 286 нулей, единица». Итого: неважно, сколько у вас будет данных – тера-, пета-, экса-, зетта– или иоттабайты. Вы вообще ничего не видели. Шансы, что новый случай, который вам нужен для принятия решения, уже есть в базе данных, так исчезающе малы, что без обобщения вы даже не сдвинетесь с места.

Если все это звучит немного абстрактно, представьте, что вы крупный провайдер электронной почты и вам надо пометить каждое входящее письмо как спам или не спам. Даже если у вас есть база данных с триллионом уже помеченных писем, она вас не спасет, потому что шанс, что очередное письмо будет точной копией какого-то из предыдущих, практически равен нулю. У вас нет выбора: надо попытаться более обобщенно определить, чем спам отличается от не-спама. И, согласно Юму, сделать это никак нельзя.


Страницы книги >> Предыдущая | 1 2 3 4 5 6 7 8 9 | Следующая
  • 0 Оценок: 0

Правообладателям!

Данное произведение размещено по согласованию с ООО "ЛитРес" (20% исходного текста). Если размещение книги нарушает чьи-либо права, то сообщите об этом.

Читателям!

Оплатили, но не знаете что делать дальше?


Популярные книги за неделю


Рекомендации