Давайте изучим самый красивый большой набор данных

Это стенограмма моего выступления на OpenVisConf 2018:

Визуализация данных - это демонстрация закономерностей глазу.

Мы всегда ищем способы проникнуть в более глубокие закономерности.

Образцы, которые отчетливо ощущаются человеческими

Паттерны, которые мы, люди, можем распознать, но не можем сформулировать для компьютера.

И закономерности, которые мы даже не думали искать

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

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

Эти инструменты используют машинное обучение, чтобы выявлять для нас шаблоны и давать нам новые способы навигации по нашим данным.

Я хотел бы продемонстрировать эти методы на моем любимом наборе данных Quick, Draw!

Если вам еще не довелось поиграть в игру, то правила игры Quick, Draw! довольно просты. Игра просит вас нарисовать слово, и вы пытаетесь заставить ИИ угадывать слово по вашему рисунку.

Когда Google Creative Lab построила Quick, Draw !, они предусмотрительно сохранили анонимные копии рисунков, навсегда изменив ход моей жизни. На данный момент миллионы людей по всему миру уже играли, и Google открыл исходный код 50 миллионов созданных ими рисунков. Это означает, что у нас есть в среднем более 100 000 рисунков для каждого из 300 слов в игре, которые нужно изучить.

Данные

Давайте внимательно посмотрим на данные, что это такое, а что нет.

Этот набор данных является отличной демонстрацией, потому что он такой забавный, но он также является репрезентативным для множества серьезных наборов данных. Он содержит категориальные данные, например, какое слово рисуется и из какой страны был создан рисунок. У нас также есть несколько параметров, связанных со временем, например, сколько времени потребовалось для рисования (продолжительность), отметка времени, когда рисунок был создан.

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

Кроме того, их сложнее всего проанализировать с помощью традиционных методов визуализации данных.

Визуализация данных

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

Сколько времени нужно, чтобы (быстро) нарисовать собаку? Джим Валландингем

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

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

Как нарисовать круг? от Nikhil Sonnad

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

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

Есть бесчисленное множество способов, которыми мы тонко, неосознанно переносим нашу культуру с собой: как мы рисуем,« считаем на пальцах и имитируем звуки реального мира , и это лишь некоторые из них. Это радость в основе этого огромного набора данных ".

Forma Fluens от Visual AI Lab @ IBM Research

В этом проекте используется ряд интересных подходов к визуализации данных. В частности, это использование средних визуальных показателей для выделения культурных моделей.

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

Визуальные средние по странам Кайл Макдональд

Кайл Макдональд довел концепцию визуальных средних до крайности в этом эпическом твиттере.

Он отлично использует маленькие множители для сравнения моделей в нескольких категориях.

Это, безусловно, дает нам некоторые интересные моменты, над которыми стоит задуматься, но трудно копать глубже, поскольку усреднение размывает все нюансы.

Так что, если бы у нас был способ уловить нюансы, теряемые средними значениями, чтобы автоматически находить интересные особенности в штрихах и анализировать данные более чем по одному измерению за раз?

Машинное обучение

Войдите в глубокие нейронные сети. Это не волшебство, но у них есть удивительные возможности, и, как оказалось, у нас есть именно такая сеть, обученная на Quick, Draw! набор данных. Это называется sketch-rnn.

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

Итак, как нам добраться до этих шаблонов?

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

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

Мы хотели бы получить более широкое представление о данных, и мы сможем его получить, когда немного больше поймем, как работает сеть. Sketch-rnn принадлежит к семейству нейронных сетей, называемых автокодировщиками, которые находят способы «сжать» входные данные в меньшее представление, которое затем можно использовать для генерации новых выходных данных.

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

Мы называем закодированные данные скрытым вектором, и это ключ к раскрытию нашей техники.

Мы можем извлечь скрытый вектор для каждого рисунка из сети, что дает нам возможность сравнивать рисунки численно.

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

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

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

Поскольку люди используют наши глаза, закономерности здесь довольно четкие, а именно глаза и улыбка.

Давайте посмотрим на совершенно другой кластер.

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

Вернемся к идее изучения сложности рисунков. Вместо использования прокси для определения сложности, например количества штрихов или продолжительности рисования, мы можем исследовать сложность напрямую.

Вот один из способов нарисовать простого кота, все они выполнены одним штрихом:

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

Теперь отойдем от метрики и перейдем к гуманитарным наукам:

Вот примерно такие же сложные кошки, но явно мы смотрим на усы, а не на улыбки:

Нам не нужно останавливаться на достигнутом, мы можем получить все!

Итак, теперь мы путешествуем по пространству, которое намного богаче, чем одно измерение.

Давайте вернемся к проблеме усреднения такой концепции, как йога.

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

Как люди рисуют даже одну позу:

И то, как люди сдаются:

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

Во-первых, t-SNE - это общий метод визуализации данных большой размерности.

Во-вторых, нейронные сети могут работать со всеми видами данных. На этом рисунке, взятом из удивительной статьи Криса Олаха Глубокое обучение для людей, векторы абзацев визуализированы с помощью t-SNE, чтобы выявить темы в статьях Википедии.

Поэтому использование нейронных сетей для поиска закономерностей и t-SNE для их визуализации в целом является хорошей идеей.

Более математический термин для многомерного ландшафта, созданного внутренним представлением нашей нейронной сети, - это «скрытое пространство». Мы можем думать о t-SNE как о том, как помочь нам нарисовать карту этого пространства.

Подобно тому, как 2D-карта никогда не может по-настоящему представить наш 3D-глобус, 2D-карта t-SNE не сможет показать нам все, что происходит в более высоком измерении.

Но это все еще может быть очень полезным способом ориентироваться в наших исследованиях.

Здесь мы взяли по одному рисунку из каждой ячейки сетки, а непрозрачность указывает количество рисунков в этой ячейке.

Давайте вкратце вернемся к идее усреднения по кодам стран.

В этом представлении мы можем вместо этого выполнить фильтрацию по коду страны. Взглянем на японские розетки:

Если мы увеличим масштаб, мы увидим преобладающее представление выхода «Типа А» с двумя вертикальными отверстиями. В отличие от средних значений, мы также можем увидеть некоторые забавные отклонения, которые, казалось, понимали подъём сил питания, а не розетку.

Давайте посмотрим на другое слово, осьминог, и вернемся к идее сложности.

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

Если вместо этого мы отфильтруем все сложные осьминоги, определяемые более чем 14 штрихами:

Находим действительно интересный кластер

Заключение

Различные способы, которыми люди рисуют, похожи на разные ноты, гармония слова и кластеры, которые мы исследовали, являются результатом гармонии тысяч незнакомцев.

Спасибо