Рекомендатели на подъеме: от поверхностного к глубокому обучению
Аннотация
Начнем с образа медузы в качестве аналогии. Медузы обладают достаточной приспособляемостью, когда дело доходит до приспособления их условий жизни. В зависимости от условий окружающей среды и других факторов их можно увидеть живущими либо на мелководье, либо в глубоких темных траншеях (как показано на рисунке выше). Возможно, они находят в этом выгоду для обоих, время находиться на уровне моря или наоборот намного глубже.
Алгоритмы машинного обучения похожи на медуз. Они также могут находиться как в «поверхностном» (более простом, линейном) обучении, так и в «глубоком» (более сложном, нелинейном) обучении, подобно медузам, в зависимости от бизнес-задачи, потребностей и т. д. Цифровые компании, такие как LinkedIn, Amazon, Netflix и многие другие используют алгоритмы машинного обучения, чтобы рекомендовать продукт или услугу на основе характеристик (или функций), которые нравятся их клиентам. Эти программы называются рекомендательными системами, и они стали более распространенными с «большими данными». Мы, как потребители, перегружены выбором (то есть данными) в цифровом мире, в котором мы живем сегодня, и он, несомненно, будет продолжать расти. Чтобы уменьшить чрезмерный выбор, рекомендатели используются для выделения (вам) определенных товаров или услуг, которые, по их мнению, лучше всего подходят для ваших предпочтений на основе предыдущих взаимодействий или покупок/услуг. На эволюцию этих систем повлияло внедрение достижений глубокого обучения из-за их способности брать необработанные данные и получать представление признаков с более высокой производительностью, чем обычные (более мелкие) методы — возможно, медузы все это время что-то замышляли.
Хотя следующие темы предназначены для последовательного чтения, пропустите их и прочитайте темы, которые вызывают у вас наибольший интерес.
Эта статья направлена на предоставление:
- Всесторонний обзор рекомендательных систем
- Сети глубокого обучения и варианты их использования в рекомендательных системах
- Вопросы/проблемы для компаний, которым требуются такие сложные модели
- Платформы глубокого обучения, доступные на рынке, помогают в реализации инициатив глубокого обучения.
Давайте копнем глубже.
Введение
В недавнюю эпоху в тесных сообществах были магазины и предприятия. Клиенты оценили близость и личные отношения, построенные на этих предприятиях, и это чувство было взаимным для предприятий. Компании процветали, имея возможность предлагать своим клиентам выбор, впечатления и покупки посредством тесного взаимодействия. Магазины Ma-and-Pa и более крупные корпорации будут приветствовать близкие отношения со своими клиентами, поскольку это принесет пользу обеим сторонам; удержание лояльного клиента и, как вариант, получение удовольствия от предоставляемого продукта/услуги.
Быстро продвигаясь вперед к сегодняшней глобализации услуг, сложно не только сохранить, но и приобрести эти отношения. Когда бизнес построен на электронной коммерции, довольно сложно определить предпочтения, потребности, бюджет и т. д. своих клиентов, как это можно было сделать в прошлом в ходе разговоров. Владельцы/сотрудники бизнеса больше не опираются на индивидуальные взаимодействия, чтобы строить гипотезы о том, какой товар этот клиент купит в следующий раз. Кроме того, покупки больше не строятся на разговорах и благодарностях за распознавание лиц с обеих сторон. Более того, когда бизнес строится без фасада (или физического присутствия) и в Интернете, он продвигает клиентов с избытком выбора (то есть данных). Недостаток присутствия интернет-магазина в Интернете заключается в том, что это создает универсальный магазин для покупок, которые можно сделать в любом другом интернет-магазине. Многочисленные варианты выбора, доступные покупателю, являются одним из факторов, который отвлекает покупателя от совершения покупки в вашем интернет-магазине. Что отличает вашу услугу или продукт от других магазинов, когда больше нет продавца, направляющего покупателя, как это было раньше (т. е. канала связи с прямым потребителем)?
Между прошлым и настоящим известно то, что предприятиям не нужно лицо для каждой совершаемой транзакции, и каждому клиенту не нужно лицо для каждого сотрудника компании, с которым он совершает транзакцию. Однако, если мы углубимся в то, что клиенты хотят или в чем нуждаются, это всегда будет сводиться к знанию своего клиента. Транзакции могут быть совершены через личное общение лицом к лицу или через искусственный интеллект (ИИ). В конечном счете, если ИИ удовлетворяет клиента и сохраняет его лояльность, это все, что имеет значение как для клиента, так и для бизнеса. Основная цель ИИ — предоставить пользователю максимально персонализированный опыт, как если бы он взаимодействовал с кем-то, кого действительно знает.
С помощью рекомендательных систем с помощью машинного обучения (поле под ИИ) компании могут еще более детально понимать своих клиентов и, что наиболее важно, предоставлять им личное ощущение и опыт. В отличие от поисковой системы, где пользователям предоставляется информационная перегрузка в зависимости от того, что они хотят/ввели, рекомендательные системы созданы для пользователей, которые не знают, чего хотят, но, основываясь на интуитивных знаниях клиентов, могут выводить персональные рекомендации. Рекомендательные системы позволяют компаниям просеивать (т. е. фильтровать) большие данные и находить общие черты с помощью (1) истории покупок или просмотров клиентов (фильтрация на основе контента), (2) кластеров клиентов (совместная фильтрация, когда клиенты разделяют одни и те же интересы и могут разделять будущие интересы), или (3) гибрид двух. После обнаружения этих общих черт с помощью процессов фильтрации клиентам предоставляются рекомендации либо о похожих продуктах/услугах, либо о продуктах/услугах, которые им могут понравиться, что не только персонализирует их опыт, но и максимизирует создание покупок.
Параллельно с развитием бизнеса появляются различные источники данных. Однако эти данные отличаются от прошлых. Структурированные данные могут по-прежнему быть актуальными, но именно неструктурированные данные стали обычным явлением в мире больших данных и представлены в виде изображений, текста, видео и аудио. Потребность в продвинутых рекомендателях требуется для преобразования неструктурированных данных в продукт/услугу, которую они могут порекомендовать. Но как вы можете рекомендовать что-то, что может не иметь такой же линейной зависимости, как продукт когда-то в прошлом? Как компании могут подготовиться к анализу основных параметров неструктурированных данных, чтобы полностью понять, что заставляет их клиентов покупать? Подмножество машинного обучения, называемое глубоким обучением, может предоставить эти расширенные рекомендации. Эта разработка в конечном итоге предоставит предприятиям возможность глубже погрузиться в пиксели, численные вычисления того, что составляет неструктурированные данные, чтобы они могли понять суть своего продукта. Этот рост — только начало, поскольку в последние годы глубокое обучение также стало повсеместным из-за его способности принимать избыток неструктурированных, неклассифицированных форм данных и предоставлять ценную информацию технологическим гигантам, таким как Netflix, Spotify, Tesla, Amazon и многим другим. более.
Системы рекомендаций сегодня
Сегодня существует несколько атрибутов рекомендательных систем, начиная от пользовательских, характеристик элементов, прошлых взаимодействий пользователя и элемента, временных (на основе последовательности) и, наконец, пространственных (точки интереса) рекомендателей. [1] Однако со всеми этими атрибутами рекомендатели обычно делятся на три категории (на основе входных данных), как указано выше. Ключевым отличием совместной фильтрации от фильтрации на основе контента является то, что на первую влияют пользователи, тогда как на вторую влияют характеристики элементов.
Мы с вами можем быть активными пользователями медиа-платформ, таких как YouTube, Spotify, Netflix. Эти медиа-гиганты (и некоторые другие) могут сохранить подписку своих клиентов благодаря интуитивному ощущению пользовательского опыта. Почему мы все провели бесконечные часы на этих платформах? Эти платформы имеют одну общую черту, и это их интуиция каждого из нас — через рекомендателей. Персонализация опыта для пользователей является ключом к тому, чтобы они могли чувствовать, что сервис адаптирован к их предпочтениям и потребностям, и по этим причинам неудивительно, почему миллионы людей платят за их услуги.
Как обсуждалось ранее, рекомендатели основаны на 3 типах. Чтобы объяснить это дальше, я хотел бы привести пример того, как Netflix использует свои рекомендательные системы. Они используют рекомендации на основе контента, чтобы предоставить своим пользователям фильмы, похожие на те, которые они смотрели в прошлом. Контентная фильтрация фиксирует сравнение похожих элементов и включает пользовательскую вспомогательную информацию, такую как тексты, изображения или видео. С помощью Netflix они собирают данные о предыдущих выбранных пользователем фильмах, таких как жанр, главные герои, год выпуска и т. д., и представляют пользователю галерею похожих типов фильмов «похожие фильмы, такие как…/зрители также смотрели…». Кроме того, при просмотре текстовой информации Netflix будет собирать такую информацию, как обзоры фильмов, затем оценивать выбор и, наконец, предоставлять похожие фильмы на персонализированной странице для каждого пользователя.
В качестве альтернативы Netflix также использует другой тип рекомендаций, совместную фильтрацию, при предоставлении рекомендаций своим подписчикам. Совместная фильтрация, как указано в ее названии, требует группы членов, которые работают вместе и направляют модель через схожие интересы. В примере с Netflix; если пользователь 1 и пользователь 2 оба смотрели похожие фильмы в прошлом, идея совместной фильтрации заключается в том, что она предполагает, что этим пользователям, вероятно, понравится другой фильм. Когда они сгруппированы как похожие пользователи, другой фильм, просмотренный пользователем 1, будет рекомендован пользователю 2. [2] На ранних этапах рекомендательной системы Netflix они могли использовать только матричную факторизацию. Матричная факторизация будет учитывать баллы каждого фильма, который вы смотрели, с аналогичными фильмами, которые смотрели ваши партнеры по совместной работе, и рекомендовать ваши фильмы на основе интересов ваших сторон.
Обе рекомендательные системы показаны ниже для большей ясности, и при совместном использовании они известны как гибридные рекомендательные:
Из-за популярности и открытости Netflix вы, возможно, уже знакомы с используемой общей системой рекомендаций; если пользователь смотрит «А», он, скорее всего, будет смотреть «Б» (из-за особенностей фильма в «А»). Однако, если копнуть глубже, Netflix также включает стратегии для повышения вероятности кликабельности (CTR) или просмотра фильма. Как так, спросите вы? Если вы когда-нибудь задумывались, почему определенные заголовки, отображаемые в учетной записи вашего друга, не совсем похожи на ваши, то это потому, что Netflix дополнительно проанализировал способы рекомендации/увеличения вашей аудитории. Каждый фильм/шоу содержит тысячи видеокадров, а, как мы все знаем, картинка (кадр) стоит тысячи слов. Это именно то, что имел в виду Netflix, когда адаптировал и постоянно улучшал свою модель еще в 2014 году.
«В начале 2014 года мы провели несколько исследований потребителей, которые показали, что произведения искусства не только оказывают наибольшее влияние на решение участников о просмотре контента, но и составляют более 82 % их внимания при просмотре Netflix. Мы также заметили, что пользователи тратили в среднем 1,8 секунды на обдумывание каждого фильма, который им показывали на Netflix», — Ник Нельсон, бывший глобальный менеджер творческих услуг, Netflix
Краткий обзор основных тенденций, обнаруженных Netflix, выделен жирным шрифтом ниже [3]:
1. Эмоции — эффективный способ передать сложные нюансы
a. Люди неразрывно связаны с лицами, однако еще более сильными являются эмоции таких лиц, которые заставляют нас больше хотеть узнать (посмотреть) историю.
2. Хорошие истории путешествуют, но региональные нюансы могут иметь большое значение
а. В выборе изображений и фильмов по-прежнему преобладают региональные различия — адаптация к теме позволила Netflix привлечь аудиторию из соответствующей страны
3. Хорошие парни часто финишируют последними
а. Было указано, что потребители Netflix были более склонны к изображениям узнаваемых персонажей, и те, где они более злодейские (дети и взрослые , одинаково)
4. Чем меньше, тем лучше, когда речь идет о размере заброса.
а. Netflix обнаружил, что меньше значит больше — обычно меньше 3 символов. Хотя может показаться нелогичным не показывать талантливых главных героев в фильме, пользователи предпочитали выбирать из нескольких, а не множество актеров/актрис
Как Netflix смог оценить и ранжировать эти изображения, особенно в таком большом масштабе? Netflix пришлось бы аннотировать эти видеокадры и смоделировать свою систему таким образом, чтобы повысить CTR пользователей. С помощью метода, называемого A/B-тестированием, Netflix смог продемонстрировать разные изображения разным сегментам аудитории. Чтобы быстро коснуться A/B-тестирования, оно случайным образом тестирует два варианта, A и B, которые используют одну и ту же переменную, чтобы понять, какой из двух более эффективен в поведении пользователя. В Netflix пользователям, вероятно, показывали изображения одного главного героя (изображение из 2-го сезона) в «Оранжевый — новый черный» по сравнению с изображением из 1-го сезона с большим количеством шума. Они обнаружили, что зрители, как правило, больше реагируют на изображения с меньшим количеством персонажей, чем с большим. Однако вместо того, чтобы рассматривать проверенный и надежный метод A/B-тестирования, давайте подробнее остановимся на том, как Netflix и другие медиа-платформы программно улучшают своих рекомендателей с помощью инициатив глубокого обучения.
Рекомендации будущего на основе глубокого обучения
Существующие сегодня традиционные методы рекомендателей обычно используют «поверхностный» уровень машинного обучения — очень широкий термин. Чтобы упростить машинное обучение, это, по сути, метод, при котором модель или программа могут повысить производительность задачи с учетом опыта (обучения). Эти модели построены из слоев вычислительных узлов, называемых нейронами. Каждый нейрон пропускает свои входные данные через функцию активации, чтобы получить свой выходной сигнал, который впоследствии передается в качестве входных данных следующему слою. Вычислительная сложность может быть получена из функций активации в этих моделях. Функции активации могут быть линейными или нелинейными. Однако при сравнении типичной «мелкой» нейронной сети глубокие нейронные сети используют множество скрытых слоев для каскадирования многих нелинейных функций активации вместе, чтобы в конечном итоге моделировать очень сложные отношения.
Глубокое обучение в упрощенном виде может быть известно как алгоритм архитектуры нейронной сети, который изучает несколько уровней представлений и абстракций от данных. В этой статье и в практических целях мы определим глубокое обучение как метод оптимизации целевой функции с использованием варианта стохастического градиентного спуска (SGD). Если вы хотите узнать больше о SGD, перейдите по ссылке ниже [4]. Прежде чем обсуждать достижения глубокого обучения применительно к рекомендателям, я хотел бы коснуться того, чем глубокое обучение отличается от рекомендателей поверхностного обучения — их сильные и слабые стороны.
Сильные стороны моделей глубокого обучения:
· Нелинейное преобразование
Большие данные поступают через объем и скорость, что, в свою очередь, увеличивает необходимость развертывания рекомендаций на основе глубокого обучения в области систем рекомендаций. Как указывалось ранее, способность глубокой нейронной сети использовать богатый набор нелинейных функций активации позволяет модели изучать сложные взаимосвязи. Обычные рекомендации основаны на мелких нейронных сетях и моделях линейной регрессии (матричная факторизация, разреженная линейная модель и т. д.), однако они будут противоречить разреженным данным в больших наборах данных признаков. Простым примером линейной зависимости может быть; если вы купили графитовый карандаш, вам могут порекомендовать больше графита. Однако по мере того, как на рынке доступно больше вариантов для клиентов, становится все труднее прогнозировать/рекомендовать лучший метод для клиента с помощью этих линейных моделей (более подробное объяснение в ссылке ниже [5]). Необходимы более сложные модели для прогнозирования покупательских моделей.
· Обучение представлению
В последние годы Netflix и другие медиа-платформы, такие как Spotify, имели избыток данных и неструктурированных форм, таких как видео и аудио, поэтому неглубокой платформе машинного обучения гораздо сложнее маркировать и классифицировать эти точки данных для оптимального получения информации/рекомендаций. . Существует много описательной информации о пользователях и элементах посредством изучения представления входных данных. Взяв входные данные из источника, модели собирают индуктивные смещения, что приводит к лучшему рекомендателю. Глубокое обучение может обрабатывать эти необработанные формы данных намного лучше, чем мелкие нейронные сети, которым обычно требуются помеченные или классифицированные данные. Модель глубокого обучения, которая в настоящее время выполняется на некотором уровне в AVA компании Netflix [6], может самостоятельно обрабатывать все видеокадры и обеспечивать полезное представление данных — до того, как Netflix, возможно, испытал трудоемкий процесс извлечения неподвижных изображений видеокадров. и аннотировать каждый. Почему аннотация к видео лучше аннотации к изображению? Отслеживание видео обеспечивает ключевые функции, которые можно обнаружить с помощью временных функций (рекуррентная нейронная сеть, RNN), например. этот человек на самом деле счастлив или саркастичен? Это сцена на скале или только начало фильма? Аннотации к изображениям могут иметь проблемы с обнаружением непрерывного потока движения объекта при его перемещении от кадра к кадру. Методы регрессии и неглубокая нейронная сеть не допускают сложных взаимосвязей между ее признаками, особенно если набор признаков очень велик. Используя скрытые слои, глубокая нейронная сеть может формировать все более сложные отношения между функциями. Эти отношения можно считать новыми функциями, которые дают лучшее представление о том, что прогнозируется/моделируется (например, определенный тон и настройка предсказывают жанр). Сети глубокого обучения выигрывают от этих достижений, поскольку они сокращают усилия по ручному проектированию функций (как это когда-то делалось в поверхностном машинном обучении). Глубокое обучение может выполнить это самостоятельно. При этом сети глубокого обучения могут выполнять это с любым типом необработанных данных, будь то тексты, аудио или видео, что в конечном итоге устраняет сложный процесс разработки функций этих моделей.
· Моделирование последовательности
Как упоминалось ранее, мы живем в мире, где Интернет теперь является универсальным магазином для удовлетворения всех ваших повседневных потребностей. Существуют торговые площадки электронной коммерции, такие как Amazon, Alibaba, Instacart и т. д., которые позволяют вам приобретать товары, которые вам нужны, нажатием нескольких кнопок. Эти компании могут увеличить свои доходы благодаря своей способности рекомендовать продукты своим клиентам.
Судя по успеху Amazon, система рекомендаций работает. Компания сообщила об увеличении продаж на 29% до $12,83 млрд во втором финансовом квартале по сравнению с $9,9 млрд за аналогичный период прошлого года. Во многом этот рост, возможно, связан с тем, «как Amazon интегрировал рекомендации почти во все части процесса покупки…»[7]
Однако рекомендатель в Netflix может отличаться от Amazon или других торговых площадок. Что общего у Amazon, Alibaba и Instacart, так это то, что они являются торговыми площадками для продуктов, в отличие от Netflix, где вы платите только за фильмы. Когда ассортимент вашей продукции меняется, может быть сложнее найти связи из-за большого набора данных. Однако последовательное моделирование, обеспечиваемое с помощью методов глубокого обучения, таких как сверточные нейронные сети (CNN) и рекуррентные нейронные сети (RNN), может обеспечить последовательные модели покупок. Эти модели показали «многообещающие результаты в задачах последовательного моделирования, таких как машинный перевод, понимание естественного языка, распознавание речи, чат-боты и многие другие», о которых мы поговорим позже. Благодаря этим навыкам CNN/RNN может понимать изображения, обзоры и тексты продуктов, чтобы продвигать то, что вы можете купить в следующий раз (так называемый прогноз следующего товара/корзины). Примером этого может быть просмотр изображений того, что вы купили в прошлом / или собираетесь купить, и рекомендация того, что хорошо работает с этим продуктом; при покупке 4K-телевизора Amazon может предложить звуковую систему домашнего кинотеатра в качестве «часто приобретаемых вместе товаров». Генерируя комбинацию вариантов выбора для пользователя, это, в свою очередь, увеличивает вероятность того, что он сможет максимизировать свои расходы.
· Гибкость
Помимо гибкости использования различных форм необработанных входных данных, Deep Learning Recommenders извлекает выгоду из широкого спектра доступных платформ глубокого обучения с открытым исходным кодом. Такие имена, как Keras, TensorFlow и PyTorch, и это лишь некоторые из них, созданы лидерами отрасли и будут обсуждаться далее. У каждого из них есть несколько преимуществ, таких как поддержка клиентов, простота использования/реализации, и, в зависимости от вашего проекта глубокого обучения, сообщество создано достаточно хорошо для различных приложений.
Потенциальные ограничения глубокого обучения
Учитывая сложность этих моделей, существуют связанные с ними недостатки, когда дело доходит до реализации.
· Интерпретируемость
Глубокое обучение позволяет платформе генерировать результаты самостоятельно, без помощи человеческого обучения или представления человеческих функций. Таким образом, глубокое обучение работает в «черных ящиках», и объяснение прогноза — действительно сложная задача. Даже веса и активации скрыты, что приводит к еще большей неинтерпретируемости. Однако со всеми этими черными ящиками, работающими под капотом, в этой области есть недавние достижения, которые позволят моделистам интерпретировать модель.
· Требования к данным
Как упоминалось ранее, данные, необходимые для того, чтобы фреймворки глубокого обучения предоставляли исчерпывающую информацию, значительны. К счастью, в отличие от других доменов, такие данные, как видео, аудио и тексты, весьма полезны, когда речь идет о большом наборе данных. Кроме того, благодаря исследованию рекомендательных систем в академических кругах и промышленности появляются большие наборы данных, которые помогают в обучении модели.
· Расширенная настройка гиперпараметров
Глубокое обучение также вызывает необходимость обширной настройки гиперпараметров. Эта проблема также присутствует в более поверхностных моделях обучения, однако с глубоким обучением может потребоваться больше из-за задействования многочисленных слоев и нейронов.
Модели глубокого обучения
Для целей этой статьи я коснусь нескольких избранных моделей глубокого обучения и предоставлю краткое изложение и пример использования. Я считаю, что эти модели обеспечивают наилучшие варианты использования в рекомендациях и по дизайну имеют наибольшее содержание в исследованиях. Если вы хотите узнать больше о последних достижениях рекомендательных систем на основе глубокого обучения, я очень рекомендую статью С. Чжана и др. [1], и на нее часто ссылаются в этой статье. Четыре модели следующие:
- Многослойный перцептрон (MLP)
· Резюме
o MLP в упрощенном виде расширяет возможности линейной модели, выводя ее на новый уровень. Большинство существующих моделей являются (линейными) рекомендательными моделями. Однако MLP добавляет больше сложности, расширяя эти линейные модели за счет комбинации нелинейных преобразований. Пользователи и товары могут быть на самом простом уровне линейной зависимостью моделей покупок. Но это не относится к более сложным (нелинейным) отношениям между пользователями и элементами. Те, которые мы не можем предсказать/рекомендовать путем наблюдения.
§ На основе пользователей: нейронная совместная фильтрация (NCF) с MLP
· В то время как типичная модель матричной факторизации (линейная) будет принимать продукт только пользователя и элемента, MLP будет использовать комбинацию MF для линейности, а затем MLP для нелинейности, что повышает качество рекомендации. Кроме того, модель можно обучить для получения явной обратной связи («Мне нравится Black Mirror») или неявной обратной связи (например, запойного просмотра Black Mirror). Если вам интересно, как они работают, перейдите к справочному документу.
§ На основе элементов: обучение представлению признаков с помощью MLP
· Хотя MLP могут получать представление функций из элементов, они не так выразительны, как автоэнкодер, CNN и RNN. Один из методов изучения особенностей — «широкое и глубокое обучение». Широкая часть известна как линейная часть, а глубокое обучение — как MLP. Эта модель стремится захватить как запоминание (через 1-ю часть), так и обобщение через вторую. Запоминание позволяет модели просеивать и фиксировать особенности исторических данных, в то время как глубокое обучение создает «более общие и абстрактные представления».
· Применимо к…
o MLP могут активно использоваться с существующими сегодня традиционными рекомендателями благодаря своей простой архитектуре. Помимо традиционных рекомендаций, MLP можно использовать в сочетании с моделью MF, где скалярное произведение заменено евклидовым расстоянием. В этой модели данные, такие как текст, изображения и теги, рекомендуются путем определения расстояний между нелюбимыми и понравившимися элементами. Поскольку модели могут просеивать исторические данные и генерировать «гипотезы» или общие и абстрактные представления, они могут хорошо подходить для фотографий и видео, которые могут иметь помеченную информацию.
2. Автокодировщик (AE)
· Обзор
o Как правило, нейронная сеть состоит из одной или нескольких составных функций (принимая выходные данные первой функции и применяя их к следующей функции в качестве входных данных). Однако автоэнкодеры работают наоборот. Вместо того, чтобы найти выход «y», он «реконструирует» вход «x». Для этого автоэнкодер «кодирует» ввод в меньшее количество битов, которые намного плотнее (сжаты). Отсюда он восстанавливает ввод через декодер. Благодаря этому процессу плотный слой обеспечивает сжатое представление данных (уменьшение размерности; например, перемещение многомерных данных в 2–3 измерения, что позволяет упростить и проводить дальнейший анализ. Как видно выше, гриб в качестве входных данных имел больший размерность (затенение, трехмерный вид и т. д.), автоэнкодер изучает гораздо более простую версию (после декодирования), но захватывает суть представления Это полезно в таких приложениях, как классификация посредством обучения определенного класса. Если класс обнаружен как ненормальный, он классифицирует его как таковой. Таким образом, автоэнкодеры очень хорошо подходят для работы со свёрточными нейронными сетями (о которых мы вскоре поговорим). обратитесь к справочной статье, составленной S. Zhang et al.
· Применимо к…
o Классификация имеет широкое практическое применение в мире автоэнкодеров. Обучая модель через автоэнкодер с определенным классом (например, собака или «подозрительный черный мешок» или «человек — ИЗБЕГАТЬ!»), мы идентифицируем экземпляры этого конкретного класса (реконструированное, плотное представление признаков). После изучения плотных представлений признаков они обучаются в сверточной нейронной сети и обучаются на изображениях в этой области.
o Обнаружение аномалий:
§ В тех случаях, когда ваша модель должна обнаруживать какие-либо аномалии, такие как мошеннические заявления, для их обнаружения можно использовать автоэнкодер. В отличие от моделей, в которых, если он обучен на наборах данных, богатых аномалиями, он будет предсказывать аномалии и закономерности, автокодировщики могут обучаться только на закономерностях, все другое будет обнаружено как другое.
3. Сверточные нейронные сети (CNN)
· Обзор
o Возможно, моя самая любимая нейронная сеть, CNN, безусловно, являются самыми мощными, когда дело доходит до обработки мультимедийных данных. Таким образом, большинство моделей рекомендаций CNN используются для извлечения представления признаков, а не для пользователя. CNN могут предсказывать тексты, аудио, изображения, видео и т. д., что основано на зрительной коре млекопитающих. Мы, люди, обнаруживаем так же, как млекопитающие. В примере обнаружения людей; сначала мы видим клетки, клетки составляют линии и ребра, которые представлены в виде лиц, ушей (т.е. черт), отсюда мы определяем имена этих объектов (Кимберли, Боб, Натан). Когда людям предоставляется сложная информация, тем больше требуется учиться. CNN обучаются одинаково, состоят из нескольких уровней и могут быть настроены для каждого варианта использования, но обычно они состоят из уровня нейронной сети свертки (ConV), выпрямленной линейной единицы (RELU), уровня максимального объединения и т. д. Во-первых, они извлекают рецептивное поле (функция полного глобального изображения — в приведенном выше примере это будут ячейки из пикселей), а затем оно берет это поле и скользит/изгибается по всему глобальному изображению. изучить особенности. Это выполняется непрерывно через несколько итераций скалярного произведения, но в конце всех этих сверток мы сглаживаем/уплотняем этот вывод в вектор меньшего размера. Затем CNN использует все ваши обучения до сих пор, все нейроны полностью подключены к следующему слою (полностью связанный слой), который затем сжимается в функцию SoftMax. Этот последний шаг устанавливает значения вероятности для каждой классификации (например, Кимберли, «Боб, Натан, где максимальная вероятность определяет класс (например, 81% Боба). Я пропустил объяснение некоторых ключевых операций, таких как RELU и Max Pooling. , тем не менее, всестороннее объяснение сверточных нейронных сетей подробно объяснено здесь[8]. Как вы могли заметить, CNN отличаются от обычных нейронных сетей, которые взаимосвязаны. Поскольку CNN могут изучать различные характеристики по гранулярным (пиксельным , байт и т. д.) в качестве входных данных, они работают намного лучше, чем автоэнкодеры для классификации.
· Применимо к…
Благодаря способности принимать любые мультимедийные данные возможности CNN безграничны. Это может быть как ценным, так и вредным. С другой стороны, CNN могут быть утомительным процессом при работе с очень большими наборами данных, что естественно, поскольку это относится к звуковым байтам и видео. Однако, если посмотреть на возможности, они огромны. При вводе изображений CNN могут собирать несколько функций, таких как пиксели, цвет, интенсивность и т. Д. Аудиоклип может собирать такие функции, как тяжелые / мягкие тона, жанр и скорость. Извлекая эту информацию, Spotify может рекомендовать на основе типов музыки, которую мы слушаем, но не только по исполнителям, но и по основным звукам, скорости и темпу музыки. Помимо аудио или видео, в рамках исследования рекомендаций по глубокому обучению Шен и др. [9] использует возможности CNN для предоставления рекомендаций по ресурсам электронного обучения в текстовых данных. CNN используется для извлечения функций из текстовой информации, таких как введение и учебный материал. Подробно модель показана на рисунке ниже:
Более того, такие отрасли, как спортивная аналитика или телевизионные СМИ (радиовещательные компании, новости и т. д.), приветствовали эти новые достижения в области глубокого обучения, чтобы обеспечить содержательную информацию. SportLogiq, компания из Монреаля, занимающаяся спортивной аналитикой на основе искусственного интеллекта, возможно, использует CNN/RNN для предсказания/рекомендации того, как игроки склонны реагировать на ситуацию/игру. В настоящее время они являются лидерами в предоставлении ИИ как услуги (AIaaS) для хоккея, футбола и футбола.[10] Спортивные команды могут исследовать своих соперников или внутренних игроков с помощью новых достижений в этой области и давать рекомендации. . Также могут быть полезны исследовательские работы, такие как Распознавание хоккейных действий во времени с помощью позы и Оптимальные потоки [11]. Кроме того, есть статьи о классификации выстрелов в полевых видах спорта [12] и о том, как она может быть связана с поиском ключевыми индикаторами событий для вещательных компаний; например, самые оптимальные кадры забитых голов в сети для ярких роликов. Необходимо отметить, что это относится не только к спорту, но и к новостям, медицине, развлечениям и документальным фильмам, поскольку целью статьи было найти ключевые индикаторы событий в видеоматериалах.
4. Рекуррентные нейронные сети (RNN)
· Обзор
o В отличие от обычной нейронной сети с прямой связью, RNN работают с последовательными данными (временные ряды, аудио, видеокадр и т. д.). Модели RNN помогают нам вычислять «условную память» последовательности значений. Например, в отличие от MLP, RNN использует ввод предыдущего скрытого состояния (вычисленные значения, т. е. матрицу, в предыдущем состоянии) и используется вместе с вводом для изучения всех предыдущих последовательных данных (условная память). RNN, естественно, подходят для извлечения временных характеристик (например, речи, следующего элемента) из входных данных видео или аудио. Кроме того, поведение пользователя или последовательное распознавание образов также являются сильными сторонами RNN. Однако, как и в случае с CNN, RNN также имеют множество данных, которые могут быть вредными, поскольку эти нейронные сети становятся громоздкими для обучения, учитывая такое большое количество связей между функциями.
o RNN без идентификатора пользователя:
§ Ключевой проблемой RNN являются проблемы с холодным запуском. Поскольку RNN опираются на последовательные шаблоны/информацию/данные, они в первую очередь стремятся добиться идентификации пользователя и соответствующих потребительских привычек/долгосрочного интереса. Однако не везде требуется информация о пользователе через типичную страницу входа. К счастью, при использовании файлов cookie эти идентификаторы пользователей предоставляются для получения краткосрочных предпочтений (люди могут удалять файлы cookie, очищать историю). Ву и др. [13] использовали RNN без использования идентификации пользователя, чтобы рекомендовать, какие товары пользователь купит дальше, на основе истории кликов. Важно отметить, что в этом дизайне было использовано последнее состояние и сохранено историческое (более старое) состояние в одном единственном состоянии истории.
o RNN с идентификатором пользователя
§ В качестве альтернативы, когда информация о пользователе предоставляется через учетные данные для входа в систему, гораздо проще определить ваши интересы/предпочтения, желания и потребности. Netflix сделал это благодаря своей инициативе присоединения к их программе подписки. Обеспечив тем самым начало работы с Netflix, рекомендуя вам фильмы, они сначала запрашивают фильмы, которые вам нравились в прошлом, а затем строят свои рекомендации на основе вашего выбора.
· Применимо к…
о CNN + RNN:
§ CNN хорошо разбираются в классификации входных данных. Однако что, если ввод основан на времени/последовательно? Вот где в игру вступает комбинация CNN и RNN. Нейронные сети могут быть объединены для создания мощных гибридных моделей. В приведенном ранее примере видеообучения эта гибридная модель может обеспечить комплексное понимание (например, обнаружение объекта), поскольку она связана с последовательными входными данными, чтобы определить «да, это клиффхэнгер», «ОСТОРОЖНО — этот человек движется». в направлении движения вашей машины», «Этот игрок в блэкджек имеет тенденцию делать это перед своим крупным выигрышем — он/она считает карты?».
o RNN + глубокое обучение с подкреплением (DRL)
· Интересный случай с RNN + DRL был предложен Wang et al. [14]. В своем исследовании они предложили использовать контролируемое глубокое обучение с подкреплением в сочетании с RNN, чтобы определить, как автоматически рекомендовать оптимальное лечение, поскольку оно связано с предписаниями.
Основные изменения и вопросы/проблемы для компаний, которым нужны модели глубокого обучения
Сегодня в мире искусственного интеллекта есть технологические гиганты в США, которые расширяют возможности своих компаний с помощью глубокого обучения. Facebook сделал это с классификацией изображений (тегированием), Netflix добился этого с помощью рекомендаций фильмов, однако, если мы посмотрим, где был наибольший рост в последние годы? Китай лидирует с большим отрывом.
Си Цзиньпин, президент Китайской Народной Республики, является активным сторонником технологий искусственного интеллекта. Как отмечалось в его новогоднем выступлении в 2018 году, он привлек внимание автора Педро Домингоса, поскольку у Си на книжной полке была книга Педро Мастер-алгоритм[15]. предполагают, что Си понимает преимущества ИИ и технические термины, возможно, лучше, чем большинство мировых лидеров. Поддержкой этого заявления будет намерение Китая построить индустрию искусственного интеллекта стоимостью 150 миллиардов долларов в следующие несколько лет на своей родной земле. [16] к 2020 году они сравняются с другими ведущими странами в области технологий искусственного интеллекта и исследовательских центров и будут восстановлены в качестве мировых лидеров в этой области к 2030 году.
Кроме того, я нашел захватывающий анализ глобальных талантов ИИ с использованием двух наборов данных; используя 1) профили LinkedIn и 2) имена ведущих докладчиков на конференциях по ИИ. [17] Что интересно, так это кадровые резервы в соответствующих странах, перечисленные на графике ниже, где США, Великобритания и Канада входят в тройку лучших стран с ИИ. талант и Китай на 8 месте:
Интересно, что Китай не показан в качестве главного лидера. Однако этот англоцентричный подход указывал на то, что профили LinkedIn и академические исследования могут быть искажены. Эндрю Нг, мировой лидер в области искусственного интеллекта, также отметил, что из-за языкового барьера в Интернете, вероятно, можно найти меньше исследовательских статей, однако не принимайте это как должное.
У Китая чрезмерная покупательная способность и энтузиазм в отношении глубокого обучения и ИИ. Они реализуют метод «быстро сбой» и «быстро реализуют», что является хорошим переходом к моему следующему пункту. Мысли, которые следует иметь в виду, прежде чем погрузиться в инициативы глубокого обучения и поверить в то, что они являются святым Граалем, следующие: 1) является ли наш ресурсный капитал почти таким же большим, как у Китая, и 2) наша свобода попробовать эти инициативы глубокого обучения подкреплена длительными и дорогостоящими обязательствами, такими как Китай? Конечно, есть еще вопросы, к которым я углублюсь в следующем разделе.
Совершенно очевидно, что в вашем распоряжении есть несколько исследований и моделей глубокого обучения, однако, при всей этой шумихе, нужно ли это вашей компании на самом деле? Мы раз за разом убеждаемся, что компании, занимающие лидирующие позиции в этой области, являются лидерами в своих отраслях. Они несут в себе черты хранения больших хранилищ данных под рукой. Они исчерпали возможности использования традиционных линейных моделей и более мелких нейронных сетей и все еще ищут новые.
Как упоминалось ранее, у глубокого обучения есть свои ограничения, связанные с необходимостью больших объемов данных и гораздо более обширной настройкой гиперпараметров по сравнению с «поверхностным» обучением. Итак, напрашивается вопрос, кому нужны такие сложные технологии? Задавать правильные вопросы — неотъемлемая часть обеспечения удовлетворения ваших потребностей и ожиданий. Пожалуйста, обратитесь к вопросам / проблемам, которые у меня есть ниже:
1. Прежде всего, есть ли другие более поверхностные инициативы в области машинного обучения, которые ваша компания может реализовать, чтобы поднять производительность на адекватный (или более высокий) уровень без использования глубокого обучения? Сначала определите и исчерпайте их, прежде чем углубляться — высокая производительность не всегда перевешивает то, что необходимо.
а. Если требуется глубокое обучение, тщательно ли вы рассмотрели, какую нейронную сеть реализовать? Выбор NN и структуры является ключевым, поскольку они требуют времени на обучение — можно ли это реализовать вовремя для реализации проекта? Более того, выбор правильной модели жизненно важен, так как это может не соответствовать тому результату, который вы ищете.
2. Что представляют собой данные, откуда они взяты и есть ли предвзятость?
а. Неважно, насколько глубоки ваши алгоритмы и насколько хорошо они «работают» — ваша компания в первую очередь анализирует данные и ищет предубеждения? Алгоритмы глубокого обучения могут работать только с представленными им данными, что может привести к решению неправильной задачи или к неправильным выводам. Необходимо приложить усилия, чтобы ваша модель моделировала только те данные, которые, по вашему мнению, важны.
3. В зависимости от вашего исследования/задачи вам нужно знать, что происходит в фоновом режиме?
а. Глубокое обучение требует больших объемов данных для вычислений на высоком уровне. Что произойдет, если вы работаете в динамической среде и заинтересованы в понимании параметров, которые меняются с течением времени? Глубокое обучение работает в черных ящиках, и сложно понять, как работают модели.
4. Кто инициирует эти изменения реализации? Есть ли заинтересованные стороны, которые могут отстаивать свое дело? Каковы их желания, потребности и ожидания?
а. Идет ли это от вашего генерального директора или старшего руководителя, который хочет этого, потому что он/она слышал о «крутых» методах глубокого обучения, но не имеет достаточного технического образования, чтобы понять всю сложность, с которой участвует в этом?
5. Сколько денег они готовы потратить? Хотя есть более дешевые облачные решения, такие как AIaaS от AWS и других платформ. Cваши данные могут быть даже размещены в облаке?
6. Где и какое место занимает ваша компания по сравнению с вариантами использования крупных корпораций или стран?
а. Возможно, даже на уровне, с которым ваша компания не сравнится, вы ищете наиболее экономичные решения для выполнения своей задачи?
Если эти вопросы не ведут вас ни в каком направлении, возможно, если вы проясните, на что способны эти фреймворки, вы сможете перейти к практике глубокого обучения. В следующем разделе я расскажу о платформах глубокого обучения, которые помогают в вашей практике, и о том, какие из них сегодня наиболее популярны.
Структуры глубокого обучения
Если вы ориентированы на решение для глубокого обучения, то существует множество фреймворков глубокого обучения, однако, что лучше всего подойдет для вашей компании и сотрудников? Каждая структура уникальна для конечной цели или задачи. Чтобы помочь разобраться с некоторыми из лучших, посмотрите таблицу, которую я составил в этом документе Google (вставить изображение этой таблицы было нелегко для чтения).
Если этой информации недостаточно, есть рейтинг фреймворков глубокого обучения, предоставленный Джеффом Хейлом. [18] Он демонстрирует наиболее используемые, популярные, ориентированные на интересы фреймворки, доступные в нескольких наборах данных, таких как GitHub Activity, Объемы поиска Google, публикации в LinkedIn и т. д. Его общий рейтинг Power показан ниже:
Четкий подиум для TensorFlow, Keras и PyTorch установлен с 1-го по 3-е соответственно. Я взял на себя смелость изучить эту тему и нашел хорошее видео от edureka [19], в котором сравниваются эти три, их рейтинг показан ниже:
Крайне важно заявить, что, хотя каждый фреймворк имеет свои преимущества и недостатки, в конечном итоге все сводится к вашему техническому опыту, потребностям и ожиданиям. Консультирование как с потребностями, так и с ожиданиями бизнеса при объединении вашего технического персонала является ключом к полному пониманию того, как решить проблему. Чтобы помочь в этом обсуждении, подходящие варианты использования для каждого из них могут быть показаны ниже:
Заключение и заключительные замечания
У рекомендательных систем в буквальном смысле светлое будущее, которое мы предвидим в качестве наших следующих вариантов/вариантов с использованием этих технологий глубокого обучения. Захватывающе и в то же время немного пугающе знать, что каждое действие, выбор и движение, которые мы предпринимаем, в свою очередь определяют, кто мы есть — не только по нашим именам, но и по нашей категории или интересам, похожим на особенности.
Как показано в предыдущих примерах моделей глубокого обучения, мы понимаем их как чрезвычайно мощные алгоритмы, которые могут учиться на необработанных, неструктурированных формах данных. С этим навыком возможности огромны. Подавая модели необработанные и большие наборы данных, глубокое обучение интерпретирует более сложные данные. По сравнению с глубоким обучением модели поверхностного обучения должны были пройти трудоемкий процесс обеспечения структурной интеграции (как это раньше делалось в структурах реляционных баз данных) и классифицировать каждую функцию.
Хотя глубокое обучение, без сомнения, будет становиться все более распространенным и повсеместным в области ИИ в ближайшие годы, компании должны полностью понимать свои начинания в области глубокого обучения как расширение более поверхностных методов машинного обучения. Поскольку все больше исследований и разработок в таких странах, как Китай, США, Великобритания и Канада, продолжают быстро расти, компании и частные лица, заинтересованные в этих инициативах, должны обеспечить ответы на вопросы с точки зрения желаний, потребностей и ожиданий своих заинтересованных сторон. Ключевые вопросы включают: существуют ли более поверхностные (упрощенные) методы, позволяющие достичь адекватного результата? Есть ли в данных предвзятость, которая может исказить модель глубокого обучения, модель, которая только дает представление о том, что она дала (и делает неправильные выводы)? Принимают ли наши заинтересованные стороны тот факт, что эти модели будут работать так, как мы, возможно, не до конца понимаем и не сможем быстро адаптироваться? Эти вопросы имеют решающее значение, прежде чем углубляться в доступные модели или доступные платформы, независимо от того, насколько «революционными» и «захватывающими», производительность не всегда перевешивает то, что требуется.
Если вам понравилась эта статья, не стесняйтесь поделиться ею и поставить мне "аплодисменты" ниже!
[1] https://arxiv.org/pdf/1707.07435.pdf
[2] https://help.netflix.com/en/node/100639
[3] https://media.netflix.com/en/company-blog/the-power-of-a-picture
[4] https://www.youtube.com/watch?v=nhqo0u1a6fw&t=275s
[5] https://towardsdatascience.com/activation-functions-and-its-types-what-is-better-a9a5310cc8f
[6] https://medium.com/netflix-techblog/ava-the-art-and-science-of-image-discovery-at-netflix-a442f163af6
[7] http://rejoiner.com/resources/amazon-recommendations-secret-selling-online/
[8] https://towardsdatascience.com/a-comprehensive-guide-to-convolutional-neural-networks-the-eli5-way-3bd2b1164a53
[9] https://www.researchgate.net/publication/309496430_Automatic_Recommendation_Technology_for_Learning_Resources_with_Convolutional_Neural_Network
[10] https://sportlogiq.com/ru/
[11] https://arxiv.org/pdf/1812.09533.pdf
[12] https://www.mdpi.com/2076-3417/9/3/483
[13] https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=7498326
[14] https://arxiv.org/pdf/1807.01473.pdf
[15] https://qz.com/1256330/artificial-intelligence-expert-pedro-domingos-reflects-on-chinas-xi-jinping-reading-his-book-the-master-algorithm/
[16] https://money.cnn.com/2017/07/21/technology/china-artificial-intelligence-future/?iid=EL
[17] https://jfgagne.ai/talent/
[18] https://towardsdatascience.com/deep-learning-framework-power-scores-2018-23607ddf297a