Так называемое машинное обучение не перестает удивлять, однако для математиков причина успеха по-прежнему не совсем понятна.
Как-то пару лет назад за ужином, на который меня пригласили, выдающийся специалист в области дифференциальной геометрии Эудженио Калаби вызвался посвятить меня в тонкости весьма ироничной теории о разнице между приверженцами чистой и прикладной математики. Так, зайдя в своих исследованиях в тупик, сторонники чистой математики нередко сужают проблематику, пытаясь таким образом обойти препятствие. А их коллеги, специализирующиеся на прикладной математике, приходят к выводу, что сложившаяся ситуация указывает на необходимость продолжить изучение математики с целью создания более эффективных инструментов.
Мне всегда нравился такой подход; ведь благодаря ему становится понятно, что прикладные математики всегда сумеют задействовать новые концепции и структуры, которые то и дело появляются в рамках фундаментальной математики. Сегодня, когда на повестке дня стоит вопрос изучения «больших данных» – слишком объемных или сложных блоков информации, которые не удается понять, используя лишь традиционные методы обработки данных – тенденция тем более не утрачивает своей актуальности.
Современного математического подхода к трактовке многих методов, имеющих решающее значение в ходе нынешней революции больших данных, в лучшем случае недостаточно. Рассмотрим простейший пример обучения с учителем, который использовали такие компании, как Google, Facebook и Apple для создания технологии распознавания голоса или изображений, которая по уровню точности должна была максимально приблизиться к показателям человека. Разработка подобных систем начинается с подготовки огромного количества учебных образцов — миллионов или миллиардов изображений и записей голоса — которые используются для формирования глубокой нейронной сети, определяющей статистические закономерности. Как и в других областях машинного обучения, исследователи надеются, что компьютеры смогут обработать объем данных, достаточный для «изучения» поставленной задачи: в этом случае машина не запрограммирована на подробную схему принятия решения; ей предоставляется возможность придерживаться различных алгоритмов, благодаря которым можно сосредоточиться на соответствующих образцах.
Говоря на языке математики, в таких системах обучения с учителем предусмотрены большие наборы стимулов и соответствующих реакций; перед компьютером ставится задача освоить функцию, которая, наверняка, гарантирует правильный результат в случае поступления нового входящего сигнала. Для этого компьютеру приходится раскладывать задачу на несколько неизвестных – сигмовидных — функций. Эти S-образные функции напоминают подъем с дороги на тротуар: так происходит плавный переход от одного уровня на другой, где начальный уровень, высота ступени и ширина переходной области заранее не определены.
В ответ на входящий сигнал, поступающий на первый уровень сигмовидной функций, генерируются результаты, которые, до перехода на второй уровень сигмовидной функции, можно комбинировать. Так процесс продолжается от уровня к уровню. Данные, полученные в ходе работы функций, формируют «сеть» в нейронной системе. «Глубокая» нейронная сеть состоит из множества слоев.
Несколько десятилетий назад исследователи доказали, что такие сети универсальны, а, значит, могут генерировать все возможные функции. Другие ученые позже пришли к теоретическим выводам о существовании уникальной связи между сетью и функциями, которые она генерирует. Правда, результаты подобных исследований касались потенциальных сетей, состоящих из невероятного количества слоев и имеющих множество точек пересечения функции в пределах каждого слоя. На практике же нейронные сети задействуют порядка 2-20 слоев*. Именно из-за этого ограничения, ни одна из классических теорий так и не смогла объяснить, почему нейронные сети и обучение посредством глубоких нейронных сетей настолько эффективны.
И вот кредо большинства прикладных математиков: если математические принципы, действительно, хорошо работают, всему должно быть отличное математическое объяснение и мы просто обязаны его найти. В данном случае может оказаться, что пока у нас нет даже соответствующей математической основы, чтобы со всем этим разобраться (или, если таковая имеется, возможно, она создавалась в рамках чистой математики, из сферы которой подход не распространился на другие математические дисциплины).
Другой метод, используемый в машинном обучении — обучение без учителя, применяется для выявления скрытых связей в больших блоках информации. Например, допустим, вы исследователь, который хочет, подробно изучить типы личности людей. Вы получили солидный грант, благодаря которому появилась возможность провести тест на определение личности из 500 вопросов среди 200 000 участников эксперимента. Ответы варьируются по шкале от одного до 10. В итоге, у вас на руках 200 000 результатов обработки данных в 500 виртуальных «измерениях» — одно измерение на каждый исходный вопрос из теста. Взятые вместе, эти результаты образуют одно- и двумерные участки в 500-мерном пространстве. Это как простой подъем в горы соответствует двумерной модели в трехмерном пространстве.
Для вас, как для исследователя, важно определить упомянутые одно- и двумерные модели, с тем чтобы впоследствии свести портреты личности 200 000 участников эксперимента к основополагающим характеристикам – это как выяснить, что двух переменных достаточно, чтобы идентифицировать любую точку в пределах конкретной горной цепи. Возможно, тест на определение личности получится задать и простой функцией, описывающей связь между переменными, общее число которых менее 500. Такого рода функция позволит отобразить скрытую структуру в данных.
Примерно, за последних 15 лет исследователи создали несколько инструментов, позволяющих проанализировать геометрию скрытых структур. Например, можно построить модель поверхности, предварительно увеличив масштаб разных точек. На каждую точку вы нанесёте каплю виртуальных чернил и проследите, как она растекается. В зависимости от степени изгиба поверхности к конкретной точке, чернила будут/не будут растекаться в том или ином направлении. Соединив все чернильные пятна, вы получаете довольно четкое представление о том, как поверхность выглядит в целом. Обладая этой информацией, вы бы располагали не просто набором результатов обработки данных. Перед вами глазами открылись бы имеющиеся на поверхности связи, интересные петли, складки и изломы. А, значит, вы бы поняли, как можно исследовать полученную информацию.
Благодаря вышеупомянутым методам сделано немало интересных и полезных открытий, но потребуются и дополнительные инструменты. Прикладным математикам придется хорошенько поработать. Но даже столкнувшись со столь непростыми задачами, они верят, что многие из их «чистых» коллег будут объективными, продолжат участвовать в текущих проектах и помогут обнаружить связь между различными математическими структурами. А, возможно, и вовсе создадут новые.
* в оригинальной версии статьи указано, что практические нейронные сети используют только два или три уровня. В настоящее время данный показатель для инновационных систем — более 10 уровней. Призер последнего этапа ImageNet Large-Scale Visual Recognition Challenge – Алгоритм распознавания изображений от Google – задействовал 22 уровня.
pro100olga
А можно ссылку на оригинал статьи? А то текст, на мой взгляд, не оправдывает громкое название «Математические тайны «больших данных»».
И еще в тексте несколько лишних запятых.
ragequit
Автор: ragequit <=> Ingrid Daubechies