«И, заметив, что в истине положения „Я мыслю, следовательно, я существую“ меня убеждает единственно ясное представление, что для мышления надо существовать, я заключил, что можно взять за общее правило следующее: все представляемое нами вполне ясно и отчетливо – истинно. Однако некоторая трудность заключается в правильном различении того, что именно мы способны представлять себе вполне отчетливо».
Современник Декарта Иоганн Кеплер изучал движение планет по орбитам и сформулировал ряд законов, касающихся их траекторий и скорости, однако не нашел простого объяснения тому факту, что планеты движутся именно так, а не иначе.
Исаак Ньютон применил принцип «бритвы Оккама» для описания поведения физических объектов. Его знаменитые законы движения выглядят удивительно просто.
1. Всякий объект в отсутствие приложенной к нему силы продолжает оставаться в состоянии покоя или равномерного прямолинейного движения.
2. Ускорение, которое получает объект, прямо пропорционально приложенной к нему силе.
3. Любые два объекта действуют друг на друга с равными по значению и противоположно направленными силами.
Добавив к этому простое определение силы тяготения, Ньютон сумел вывести открытые Кеплером законы движения планет. Простые объяснения – средство чрезвычайно мощное!
Несколько веков спустя Альберт Эйнштейн высказал гипотезу, что простые законы Ньютона перестают выполняться, когда скорость движения объектов приближается к скорости света. К подобной точке зрения склонялись и другие ученые; большинство экспериментов подтверждало правоту Эйнштейна. «Всё следует упрощать до тех пор, пока это возможно, но не более того», – метко выразился ученый. Однако полученные им результаты не означали, что ньютоновская модель мира абсолютно не верна: в повседневной жизни она давала прекрасное приближение. Законы Ньютона остаются актуальными и по сей день и отлично работают для простых процессов – например, если мы ведем автомобиль или ставим эксперименты в школьной лаборатории.
Теория Эйнштейна, в свою очередь, не выдерживает столкновения с мельчайшими частицами, которые, как выяснилось, подчиняются правилам совсем другой механики – квантовой. Современные физики пытаются состыковать общую теорию относительности Эйнштейна с квантовой механикой; если это удастся, можно будет говорить о глобальной «теории всего».
Простые модели не способны охватить все многообразие нашего мира, однако приближение они, как правило, дают очень хорошее. Найдите простое объяснение какому-либо факту – и получите возможность довольно точно предсказывать развитие однотипных ситуаций. В информатике в последнее время этот принцип проявляется особенно ярко.
Сегодня вы можете взять выписанный вам чек, сфотографировать на телефон и отправить в банк по интернету. Программа проанализирует изображение и вычленит сумму и номер счета, даже если чек заполнен от руки. Сотрудникам банка не придется вручную обрабатывать чек, если только это не было оговорено заранее.
Расшифровать номер счета в нижней части чека для программы никакого труда не составляет. Цифры строго соответствуют установленному формату, специально разработанному так, чтобы номер легко распознавался компьютером.
А вот сумма в 30 долларов выписана от руки. Откуда машине знать, о какой сумме речь, если почерк у каждого свой?
Рис. 2.1. Чек
Задача явно непростая. Взять хотя бы цифру «два» насколько по-разному пишут ее разные люди!
Рис. 2.2. Двойки
Подобными проблемами занимается особая математическая дисциплина – машинное обучение. На первом этапе алгоритм получает большую обучающую выборку (в нашем случае – несколько тысяч примеров написания для каждой цифры). По ней он должен сконструировать относительно несложную модель, которая позволит корректно отличать одну рукописную цифру от другой. Хорошо натренированный алгоритм безошибочно распознает незнакомые цифры даже в том случае, когда обучение завершилось давно.
За последние двадцать лет в этой области удалось добиться впечатляющих успехов. Современные методы классификации данных позволяют анализировать уже не тысячи, а миллионы обучающих примеров. Распознавать теперь можно не только чеки; некоторые программы редактирования изображений умеют вполне сносно фильтровать фотографии по лицам. Сайты интернет-компаний (Amazon, Netflix, Pandora и многие другие) рекомендуют книги, фильмы и музыку, основываясь на ваших предпочтениях и истории покупок. Программы распознавания голоса и автоматического перевода, конечно, не выдерживают конкуренции с человеком, однако дают нам общее представление о смысле написанного или сказанного. Спам-фильтры избавляют нас от нежелательных сообщений, а автомобили к 2020 году научатся ездить практически без нашего участия.
Дальше, очевидно, все станет только лучше. С какого-то момента успехи и достижения польются непрерывным потоком. Значит ли это, что сбривать больше нечего?
Нет, не значит. Принцип Оккама гласит, что самое простое описание следует считать самым лучшим, однако не помогает нам это описание найти. Современные методы машинного обучения работают с данными довольно примитивной структуры; обычно это просто набор не связанных друг с другом свойств. Найти самое простое описание, т. е. создать небольшую эффективную программу (на каком языке, неважно), которая умела бы быстро классифицировать данные, – задача чрезвычайно трудная и принадлежит классу NP.