Машинное обучение в рекламе

Доклад был представлен Максимом Севериным, менеджером Яндекса по исследованиям и аналитике на Клиентской конференции Яндекса, которая состоялась 19 октября в Москве, в гостинице Lotte Hotel Moscow.

Свой доклад, заявленный в программе конференции под названием «Как создаются рекламные таргетинги», Максим посвятил рассказу о машинном обучении в рекламе.

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

Докладчик сообщил, что в Яндексе применением машинного обучения в рекламе занимается проект «Крипта», а также выразил надежду на то, что понимание того, как это машинное обучение работает в рекламе, в дальнейшем пригодится людям, которые занимаются рекламой.

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

Для этого был сделан идеальный макет рыбы – настоящего самца колюшки с красным брюшком. Эта рыба была помещена в аквариум – настоящий самец колюшки среагировал на нее агрессивно.

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

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

Информация подается слева на нейроны, а справа получается результат. А в среднем красном слое количество нейронов уменьшается. И таким образом получается, что сеть вынуждена сокращать объем подаваемой информации и подавать только те значения, которые важны для принятия решений в данном конкретном случае.

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

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

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

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

Вот именно за такое обучение в Яндексе отвечает система «Крипта». Работает она примерно так:

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

Там есть и нолики и единички – это программирование. Есть формулы – это математика. И еще происходит какой-то magic, про который вообще никто не знает. И на выходе выдаются определенные паттерны поведения этих людей, характерные именно для этой группы. Таким образом можно эти паттерны экстраполировать на всю генеральную совокупность. И зная поведение других людей, но не зная любят ли они сыр, можно сказать: «Ага, ты ведешь себя вот так, значит, ты любишь сыр, а ты ведешь себя вот так, значит, ты не любишь сыр». Но докладчик обратил особенное внимание на тот факт, что это знание будет вероятностным. Оно не будет стопроцентным, оно лишь позволяет сделать предположение, что этот человек с вероятностью 80% любит сыр.

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

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

Сложнее было с определением владения домом. Первый признак про владение домом, который был показан, это тот, что если человек владеет домом, то, скорее всего, он женат. Также, если человек владеет домом, то его дом, как правило, находится на далеком расстоянии от работы. Третий признак – это возраст. Чем старше, тем выше вероятность владения домом.

Но самые интересные данные получились для пола. Первый фактор – женат человек или не женат. Следующий фактор – покупка велосипеда. Пол очень легко определить, если вы знаете, покупал человек велосипед или нет. И так далее.

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

При помощи этого машинного обучения Яндексу удается сделать алгоритмы, которые работают на огромных массивах данных, и работают очень точно. «Крипта» обрабатывает порядка 400 миллионов профилей в месяц. Это примерно 6 терабайтов данных в день. За месяц примерно 180 серверов.

«Крипта» обрабатывает большое количество разной информации. Но основной продукт, построенный на машинном обучении – это соцдемтаргетинг. То есть, когда говорят, что Яндекс использует соцдемтаргетинг, нужно иметь в виду, что это таргетинг, основанный на данных машинного обучения. «Крипта» позволяет сказать про человека с определенной вероятностью мальчик он или девочка. Бывает мальчик на 80%, девочка на 20%, а бывает 50/50, бывает, что сложно определить. И некоторые ставят это в упрек: «У вас же соцдем вероятностный, а у нас на анкетных данных». Докладчик считает, что вероятностность является преимуществом, потому что позволяет что-то знать о людях, которые принципиально не сообщают информацию о профилях и не регистрируются вообще нигде.

По словам Максима, Яндекс очень плотно работает над развитием соцдемтаргетинга. Когда рекламодатель приходит в Яндекс и заказывает рекламную кампанию, таргетируя ее на какой-то пол, возраст и доход, ему в обязательном порядке ставится счетчик TNS, который проверяет, как точно кампания попала в заданный таргетинг. Поэтому, всем кто размещает таргетированные рекламные кампании на Яндексе, предлагается сравнивать ее с другими кампаниями, и сообщать о результатах, потому что Яндексу хочется иметь какую-то обратную связь.

Журналист, новостной редактор, работает на сайте с 2009 года. Специализация: интернет-маркетинг, SEO, поисковые системы, обзоры профильных мероприятий, отраслевые новости рунета. Языки: румынский, испанский. Кредо: Арфы нет, возьмите бубен.