Машинное обучение: Классическое моделирование и машинное обучение (+ видео лекции) Избранное

Математик Александр Шапеев о способах распознавания изображений, проблемах классического моделирования и областях применения классических моделей и машинного обучения

Вместе со Сколковским институтом науки и технологий мы сняли курс «Машинное обучение», посвященный математическому моделированию и методам машинного обучения. В этой лекции преподаватель магистерской программы «Наука о данных» Сколтеха Александр Шапеев рассказывает о преимуществах совместного использования классического моделирования и методов машинного обучения.

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

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

Интересны области исследований, где совместное применение классического моделирования и машинного обучения дает более успешные модели, в отличие от тех, что получаются по отдельности. Пример такой области — это, например, обработка изображений. Например, мы гуляем ночью по лесу и выходим на опушку, которая освещена красивым лунным светом, и мы хотим снять ее на наш телефон. Мы ее фотографируем, и у нас получается очень темное изображение. На этом мы не останавливаемся. Мы идем домой и увеличиваем яркость изображения в графическом редакторе. Тогда мы увидим некое изображение этой опушки леса, и мы увидим визуальный шум. Некоторые пиксели этого изображения будут принимать какие-то случайные цвета, изображение будет зашумленным. Алгоритмы обработки изображений позволяют убрать этот шум.

Классическим способом составлялась модель идеального изображения, которое, с одной стороны, должно быть близко к той зашумленной картинке, которую мы сфотографировали на телефон, а с другой стороны, оно должно иметь хорошее качество или быть регулярным. Регуляризация означает, что если, например, мы посмотрим на качественную картинку, снятую с хорошим освещением, увеличим ее и увидим пиксель белого цвета, то, скорее всего, рядом будет пиксель белого цвета. А если мы рядом с пикселем белого цвета увидим справа пиксель красного, сверху пиксель синего, то, скорее всего, с изображением что-то сделали, это неестественное или нерегулярное изображение. Дальше мы находим в этой модели некий баланс между близостью к исходному изображению и регулярностью и получаем картинку с отфильтрованным шумом. И в этом направлении в классической парадигме вполне удавалось продвигаться. Если это делать, то, скорее всего, на нашей картинке уйдут плавные изменения цветов, появятся контуры одного цвета, между которыми будут границы. Тогда мы делаем новую модель, основанную не на научных представлениях, а на обычных, примитивных понятиях о том, какими должны быть картинки: должны быть плавные переходы между цветами, должны быть границы между объектами. Мы это заново вносим в нашу модель и смотрим, как она работает. Она будет работать лучше. Например, клетчатый паттерн на рубашке она сгладит, решив, что это не шум (хотя это не шум). И мы будем строить все новые и новые модели…

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

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

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

Полвека назад были разработаны приближенные модели, которые дают приближенные решения уравнения Шрёдингера, которые почти настолько же точны, как уравнения Шрёдингера. Я говорю о теории функционала плотности, которая получила Нобелевскую премию в 1998 году и которая позволяет нам моделировать до нескольких сотен атомов. Моделирование сотен атомов с помощью этой модели — теории функционала плотности — дает большой прогресс во многих приложениях. Например, Артему Оганову позволяет находить новые материалы фактически у себя на компьютере. Это позволяет рассчитывать тепловые вибрации атомов, находить теплопроводность. Если мы еще добавляем электроны, то это позволяет находить электропроводность. И мы можем моделировать материалы для полупроводников, изоляторы для них. Мы можем моделировать в каком-то приближении, например, движение ионов лития в катоде, и мы можем делать новые материалы для катодов.

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

Не так давно появилась идея применять машинное обучение в построении моделей. Эта идея для такой классической науки, как молекулярное моделирование, достаточно контринтуитивна. Что предлагается делать? Предлагается заметить, что у нас есть точная модель, которая может рассчитывать сотни атомов, но которую мы до конца не понимаем, как нам упростить до того, чтобы рассчитывать миллионы и миллиарды атомов. Но мы можем провести численный эксперимент. Мы можем расположить атомы в пространстве и рассчитать энергию взаимодействия и сил между ними; расположить атомы по-другому, рассчитать энергию и сделать так тысячу раз. И контринтуитивный шаг заключается в том, чтобы сказать, что в этих расчетах заключается нужная нам модель, так же как в картинках шкафа с разными положениями, с разной интенсивностью заключается модель шкафа. Тогда мы можем применить эти алгоритмы машинного обучения и фактически построить модель, в которую мы, с одной стороны, включим наши точные знания о том, какое оно, межатомное взаимодействие. Мы точно знаем, что оно локальное, что атомы сильно далеко друг с другом не взаимодействуют. Мы знаем, что если мы повернем систему, то она будет такая же. Мы знаем, что, если мы переставим одинаковые атомы, она будет такая же. Но мы туда не будем включать все то, в чем мы не уверены. Мы знаем точно, например, что связи между атомами ― это точно не пружинки, поэтому мы это включать не будем. Но машинное обучение нам даст модель, как эти связи работают, из данных.

И на практике это было сделано в нашей группе и еще в ряде других групп по всему миру. И это позволяет строить модели, которые почти настолько же точные, как и первопринципные модели, но позволяют делать расчеты на три-четыре порядка быстрее. Что значит в практическом выражении три-четыре порядка? Есть закон Мура, согласно которому производительность суперкомпьютеров за каждые пять лет вырастает в 10 раз, то есть на порядок. Это значит, что инструменты, которые мы разрабатываем в нашей научной группе, будут позволять рассчитывать миллионы атомов и моделировать те явления с нужной точностью, которые в противном случае мы могли бы моделировать только через следующие 10 или 20 лет.

Александр Шапеев
PhD in Mathematics, доцент Центра по научным и инженерным вычислительным технологиям для задач с большими массивами данных Сколковского института науки и технологий (Сколтех)

Медиа

СЛЕДУЮЩИЙ МАТЕРИАЛ РАЗДЕЛА "IT"