Dittory: открытие с глубоким обучением

Покупки одежды в Интернете стали намного проще. С Dittory теперь вы можете легко находить идентичные или визуально похожие продукты во всех крупных индийских магазинах электронной коммерции.

Dittory в настоящее время доступен как отдельное расширение Chrome. В ближайшие недели мы сделаем его доступным в других браузерах и в виде приложения для Android.

Что такого хорошего в обнаружении похожих продуктов?

Скучный. Мне достаточно одного взгляда, чтобы понять, похожи ли две вещи

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

За последние пару месяцев мы создали настраиваемые нейронные сети и научили их с помощью алгоритмов глубокого обучения автоматически маркировать и индексировать более 30 миллионов изображения товаров одежды на всех основных сайтах электронной коммерции в Индии. (Мы немного объясним жаргон.)

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

Покупки - это сложно. Давай займемся математикой

Текстовые метки, предлагаемые вместе с обоими изображениями каталога - курта, анаркали, красный, с длинным рукавом, расклешенный край - отражают только общую категорию и атрибуты, которые, как оказалось, являются то же самое для обоих. Однако очевидно, что эти Анаркали Курта - для нас - очень разные по стилю. Фасон шеи, сборки, контрастная окантовка, планка - все разные. И это стилистические различия, которые мы можем сформулировать, если мы знаем словарный запас. Есть еще много различий, которые даже дизайнерам одежды сложно описать словами. Как бы вы описали узор ткани справа? Или насколько плотно рукава обнимают руки?

Наши нейронные сети, не обученные английскому языку, учатся автоматически анализировать изображения продуктов для создания сотен богатых этикеток, которые фиксируют мельчайшие детали каждого продукта. Не менее важна усвоенная способность этих сетей игнорировать нерелевантное. После просмотра десятков миллионов изображений товаров они учатся игнорировать такие особенности, как фон, положение рук и ног модели, их улыбки, цвет и длину локонов. Затем мы сохраняем эти сотни этикеток для каждого из десятков миллионов продуктов. Когда пользователь посещает продукт на любом из сайтов электронной коммерции, которые мы в настоящее время индексируем, мы просматриваем эту базу данных проиндексированных продуктов и извлекаем продукты, которые имеют идентичные или почти идентичные наборы этих расширенных этикеток. Некая изящная оптимизация, совмещенная с мощной инфраструктурой, позволяет нам выполнять этот поиск по 30 миллионам проиндексированных изображений примерно за 250 миллисекунд.

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

Краткая предыстория глубокого обучения

Звучит интересно, но что такое глубокое обучение, что такое нейронные сети и зачем нужно обращать внимание на эту проблему? Чтобы понять, что такое глубокое обучение и почему обнаружение похожих продуктов является такой сложной задачей, нам понадобится небольшой экскурс в нейробиологию. (Подождите, что? Поверьте, это интересно.)

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

Это кажется таким простым и естественным.

Это не так.

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

Теперь посмотрим, как компьютер «видит» яблоко. Фактически он получает набор значений пикселей RGB. Отдельные значения этих пикселей будут полностью различаться, даже если местоположение яблока сдвинуто на один пиксель. Любое изменение окружающего освещения в комнате также резко изменит значения пикселей. Наши компьютерные алгоритмы должны разумно научиться не учитывать это. Мало того, чтобы компьютер даже начал распознавать яблоко, он должен понимать, где заканчивается яблоко и начинается стол, что яблоко может быть частично спрятано за чем-то другим, что оно может перезреть или позеленеть. Простое перечисление всех визуальных сценариев, в которых может появиться яблоко, займет много времени.

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

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

Если бы только мы могли просто показать компьютеру целую кучу изображений и заставить его изучить эти функции автоматически.

В 2012 году, всего через 57 лет после выступления Марвина Мински, мы сделаем это этим летом, Алекс Крижевский, Илья Суцкевер и Джеффри Хинтон показали миру, что это действительно возможно. Нейронные сети существуют давно, но именно Алекс и др. продемонстрировали, что с правильной техникой обучения и парой мощных графических процессоров вы можете заставить их изучить фундаментальные особенности, общие для визуальный мир в смысле, который очень похож на то, что кодируют наши нейроны зрительной коры. Примененные ими методы глубокого обучения привели к поразительным достижениям во множестве областей. Глубокое обучение есть в поиске Google, в беспилотных автомобилях и в Alexa. Это везде!

Конец объезда. Уф.

Это возвращает нас к футуристическому настоящему. В настоящее время мы проводим аналогичный поиск товаров с использованием глубокого обучения по 8 категориям одежды и быстро расширяем сферу охвата. Мы также обнаружили, что поиск на основе сходства удобен в других категориях, не связанных с одеждой.

Что дальше?

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

Одним из интересных последствий создания расширенных этикеток для изображений продуктов является то, что мы можем видеть закономерности в том, какие продукты нравятся пользователям и которые нажимают. Это, в свою очередь, позволяет нам понять стилистические особенности пользователей и показать им интересные нишевые продукты, которые им действительно понравятся. То, что нравится пользователям на Myntra или Jaypore, позволит нам узнать, что им понравится на stalkbuylove или itokri. Чтобы помочь инди-бутикам обнаружить свою продукцию, мы в настоящее время работаем над алгоритмами машинного обучения, которые автоматически улучшат качество изображений каталога, которые можно было бы снять при плохом освещении на мобильную камеру.

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

Назад к разрушению… Пока!