company_banner

Лекция Дмитрия Ветрова о математике больших данных: тензоры, нейросети, байесовский вывод 

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

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



    Люди и их устройства стали генерировать такое количество данных, что за их ростом не успевают даже вычислительные мощности крупных компаний. И хотя без таких ресурсов работа с данными невозможна, полезными их делают люди. Сейчас мы находимся на этапе, когда информации так много, что традиционные математические методы и модели становятся неприменимы. Из лекции Дмитрия Петровича вы узнаете, почему вам надо хорошо знать математику для работы с машинным обучением и обработкой данных. И какая «новая математика» понадобится вам для этого. Слайды презентации — под катом.



    Дмитрий Ветров окончил ВМиК МГУ, кандидат физико-математчиеских наук. Автор более 120 научных публикаций. Дмитрий Петрович разработал курсы «Байесовские методы машинного обучения» и «Графические модели», которые читает в МГУ и в Школе анализа данных Яндекса. Принимал участие в нескольких междисциплинарных исследовательских проектах по разработке новых методов машинного обучения и вероятностного вывода (когнитивные науки, медицина, неорганическая химия, и др.). Руководит исследовательской группой байесовских методов.

    Яндекс

    746,12

    Как мы делаем Яндекс

    Поделиться публикацией
    Комментарии 16
      +2
      Спасибо. Очень интересно! Интересуюсь и НС и вероятностными моделями, правда, так сложилось, что пока это только хобби на этапе почитай-посмотри. Эта лекция, пролила свет на многие вещи.
        +2
        А есть возможность заполучить презентацию выступления?
          +1
          Добавили слайды под кат.
          0
          У Хокинга нет Нобелевской Премии. Увы.
            0
            На 9:01 w0 должно быть под скобкой, нет?
            • НЛО прилетело и опубликовало эту надпись здесь
                0
                На видео 23:30 сам Ветров советует литературу по теме выступления.
                • НЛО прилетело и опубликовало эту надпись здесь
                    0
                    На десятом слайде есть список тем, но там сноски, а где сами названия книг смотреть по этим сноскам я не понял. Если кто понял — буду признателен за указание.
                +1
                Может быть здесь кто-нибудь подскажет.

                Есть следующая задача:
                Дано множество объектов. Можно ввести некоторую функцию F() от явных параметров объекта, возвращающую значение из отрезка [-1; 1], которая показывает насколько определённый объект подходит пользователю (-1 — совсем не подходит, 1 — идеально подходит). Требуется найти объекты, на которых эта функция принимает максимальное значение.
                Проблема в том, что сама функция неизвестна. Она принимает на вход некоторые явные параметры объекта, про которые точно известно, что от них зависит выбор пользователя. Но пользователь даже для данного конкретного объекта не может сказать какое значение должна принимать функция. Но, например, у пользователя про объект можно узнать может ли он ему подойти, не может, или он не определился, то есть пользователь может предъявляемые ему объекты определить в один из 3-х классов.
                Нужна система, которая будет предъявлять пользователю объекты из множества. В зависимости от его ответов обучаться и вычислять значение функции F() для всех объектов из множества. Чем больше ответов дал пользователь, тем лучше обучается система.
                Если этого не достаточно, то можно предъявлять пары объектов и спрашивать, какой из них больше подходит.

                Является ли описанная задача задачей машинного обучения?
                Есть ли какие-то библиотеки или программные продукты, которые позволяют её решить с минимумом усилий? База объектов есть, явные параметры известны, надо лишь найти максимум F().
                Как вообще решаются подобные задачи? Когда из множества объектов надо выбрать близкий к оптимальному, но зависимость между параметрами пользователь сам формализовать не может, а объектов очень много, так что сравнить все попарно невозможно.
                  0
                  Готовое решение вряд ли найдёте, но можно «собрать» его по кусочкам. Посмотрите в сторону обучения ранжированию (Learning to rank) — там стоит похожая задача: есть очень много объектов, возможно, релевантных пользователю, хочется первым делом показать самые релевантные, при этом релевантность мы рассчитывать не умеем, но можем оценить с привлечением человека.
                    0
                    Есть некоторые мысли, может поможет.

                    Пусть у нас N параметров. Мы в N-мерном пространстве. Объект — это вектор в этом пространстве. Есть идеальный вектор, оценка объекта пользователем — это скалярное произведение идеального вектора на верктор объекта. Система будет выбирать этот вектор обучаясь.
                      0
                      >Является ли описанная задача задачей машинного обучения?

                      Если я правильно понимаю, то является, и это — active learning.
                      Грубо говоря, функция F (допустим линейная y=AX+c, где X — вектор признаков, A — вектор их весов) будет выдавать число > 0, если объект принадлежит классу 1, и < 0 — если классу 2. Есле abs(F(x)) < eps, то к классу 3 (не определился). Это обычный классификатор, который вы обучаете, предъявляя объекты с готовыми ответами. Потом можете либо просто применять функцию F на объекты, либо выдрать из нее коэффициенты и изучать, какие зависимости они описывают.

                      Экзотическим здесь является именно процесс обучения путем опроса пользователя.

                      Мне кажется, это реализовано в одном из режимов Vowpal Wabbit. Правда, я VW в таком режиме никогда не использовал. По моим ощущениям, в нем он должен классифицировать объекты, а в случае, если классификатор сомневается больше чем задано — то запрашивать правильный ответ у пользователя. В идеале, со временем он все реже и реже будет прибегать к помощи оператора.

                      Вот статья мейнтенера VW про этот алгоритм (он не единственный, реализованный в VW): papers.nips.cc/paper/4014-agnostic-active-learning-without-constraints.pdf
                      И т.к. VW — opensource, то его всегда можно допилить (что я периодически делаю) и легко подключить к любой внешней системе (в виде статической библиотеки, например).

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

                      А вот этого VW точно не умеет и не будет уметь. Он реализует online learning для работы с большими объемами данных. Он хранит только коэффициенты функции (регрессора) и не хранит сами данные. Update and forget. Поэтому сравнивать 2 объекта не может.
                      –1
                      «одного из самых известных в России специалистов по машинному обучению Дмитрия Ветрова...» Видимо я сильно отстал от жизни, а то в первый раз о таком слышу :)

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

                      Самое читаемое