8 сезон · выпуск 11 · 1 декабря 2022 · 45 мин

От определения цены на молоко до распознавания лиц. Как дата-сайентисты меняют повседневную жизнь

ИИ и нейросети

Слушать · 44:55

В этом эпизоде мы снова говорим о данных и о том, что с ними можно сделать. Раньше машина не всегда могла отличить коня от человека, а теперь мы доверяем ей в определении оптимальной цены в магазинах, поимке кибер-преступников и даже этических вопросах. Как индустрия прошла этот путь — разбираемся с Валерием Бабушкиным, экспертом по Data Science в компании BlockChain.

Реклама. Курсы от Яндекс Практикума по программированию с нуля: https://clck.ru/32nsqX

Ссылки:

Телеграм-канал Валеры: https://t.me/cryptovalerii

Сайт Алексея Чернобровова: https://chernobrovov.ru/

Лекции от сообщества Open Data Science: https://www.youtube.com/@OpenDataScienceCon

Подписаться на «Запуск++» в Телеграме: https://t.me/+N_AopnXC0dBkMGQy

Подписаться на Либо/Либо+ в Телеграме, куда включены эпизоды «Запуск++»: https://t.me/+LXZx5JRqO4o0MjJi

Партнер этого подкаста — Яндекс Практикум. https://practicum.yandex.ru/

Над выпуском работали

Редакторка
Маша Агличева
Продюсерка
Настя Медведева
Звукорежиссер
Юра Шустицкий
Дизайнер обложки
Петр Сутупов

Транскрипт

Самат Галимов, Валерий Бабушкин · расшифровано автоматически, ошибки возможны

  1. Самат Галимов

    Всем привет! Меня зовут Самат Галимов, и это подкаст «Запуск завтра». Как технический директор я пытаюсь разобраться, как устроены сложные и интересные штуки. Я зову профессионалов, с которым можно поговорить простым человеческим языком. Когда вы видите в соцсетях картинки, нарисованные нейросетью по обычным фотографиям, тут никаких вопросов нет. Очевидно, что это машинное обучение. Но на самом деле алгоритмы участвуют в нашей жизни куда чаще и больше, чем мы себе это представляем. Например, когда вы идёте в магазин, то большинство цен определяются машиной. Или когда мы вызываем такси, то откуда к вам приедет таксист тоже определяется алгоритмом. В общем, сегодня мы разберемся, где еще, в каких еще неожиданных местах алгоритмы влияют на нашу жизнь. Поможет нам гость, который внедрял анализ больших данных и машинное обучение в крупнейших корпорациях планеты. Это подкаст студии Либо-Либо, и мы его сделали вместе с сервисом онлайн-образования Яндекс Практикум. У Практикума много курсов по разработке английскому языку, анализу данных, но важная часть это то, что Практикум помогает войти в IT, то есть начать с нуля. У Практикума есть курсы для начинающих, где вам сначала помогут разобраться, какие профессии вообще в IT существуют, и выбрать ту, которая вам нравится. В процессе обучения дадут не только теоретические знания, но и практику. Ну и, наконец, после выпуска даже помогут найти первую работу в IT. У большинства курсов есть бесплатная часть, так что можно попробовать начать учиться на эту профессию и решить, готовы ли вы платить за обучение. Ссылка на курсы практикума в описании к этому эпизоду.

  2. Валерий Бабушкин

    Меня зовут Валерий Бабушкин, я работаю вице-президентом по Data Science в компании Blockchain.com.

  3. Самат Галимов

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

  4. Валерий Бабушкин

    Например, когда ты идешь, наверняка у тебя есть смартфон. Не дай бог, у тебя есть какие-то умные часы. а то и какое-то умное кольцо, которое на основе каких-то данных выдает тебе какую-то информацию. Может быть твой пульс, насыщение кислородом, количество шагов сделанное, температуру и так далее. То есть в принципе это частично обработка сигналов, но вся эта обработка сигналов уже давно завязана на машинное обучение, и из всей этой кучи информации какие-то модели пытаются какую-то полезную информацию вытащить и сообщить. Ты пришёл в кафе, ты берёшь кофе за какую-то цену, правильно? Довольно частая задача, которая много где возникает, и обычно она приносит много денег. Но очевидно, что это зависит от оборота. То есть, если весь оборот кофейни 100 тысяч рублей, вряд ли стоит нанимать специалиста за 400 тысяч рублей, чтобы он принёс дополнительно 10 тысяч рублей. Ну то есть, логично. Но в целом, цена, безусловно, зависит, зачастую в хороших местах, от модели, а не просто к набу.

  5. Самат Галимов

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

  6. Валерий Бабушкин

    Да, да, там не с большой она посчитана машиной, потому что это тот проект, который мы делали, собственно. Ну подожди, дальше это можно продавать бесконечно долго, это кофе как-то привозили, правильно, то есть задача логистики, оптимизация логистической нагрузки. Это в принципе из мира еще классических оптимизационных задач, задача коммивояжёра, но точно так же она решается и разными ML методами, то есть там применяется много интересных вещей. ...как ценообразование, правда? Их тоже нужно как-то просчитывать, высчитывать. Третий пример. Программа лояльности. Ты приходишь в кофейню, а тебе дают карточку бумажную или пластиковую, или картонную. 5% в скидку или купи 9 — 10-й стакан бесплатно. Потом они, может, захотят тебя отслеживать и понимать, на какие акции ты реагируешь или нет. Вот тебе тоже, пожалуйста, аналитика. Мы рассмотрели довольно простой пример на довольно ограниченном ассортименте, но смотри, как много уже можно чего здесь с тобой сделать.

  7. Самат Галимов

    Слушай, у меня следующий вопрос, который возникает. Сейчас это делали с помощью Data Science, а вот до появления Data Science как это работало?

  8. Валерий Бабушкин

    Многие методы. которые мы используем сейчас, будем продолжать с Data Science, они имели по 100-200. Мы всегда анализировали данные. Увеличился их объем, увеличилась наша возможность их анализировать. Это делать в автоматическом режиме и использовать для этого алгоритмы, для которых у нас раньше не хватало либо данных, либо мощностей, либо какие-то вещи в принципе не так давно и появились.

  9. Самат Галимов

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

  10. Валерий Бабушкин

    Практически все задачи, связанные с компьютерным зрением, с текстом и с речью, были либо невозможны, либо решались на гораздо худшем уровне. То есть, словно говоря, с помощью компьютерного зрения, В 90-х можно было распознать, какие цифры указаны на письме, потому что там 10 цифр, и они пишутся довольно стандартно, особенно если на конверте, там же даже прописи указаны. Но очевидно, что это не то же самое, как распознать, что это тот человек или другой, правда ведь? То есть задача рекознавания людей была практически невозможной, или их детекция. Я помню, как я смотрел выступление какого-то довольно известного учёного в области компьютерных наук, и он сказал следующее. За последние 30 лет мы ускорились в 30 тысяч раз за счёт железа, и в 300 тысяч раз за счёт более оптимальных алгоритмов. Но есть алгоритмы, которые просто улучшают, ускоряют уже ранее решенные задачи. А есть алгоритмы, которые позволяют решать то, что раньше было нерешаемо. Тут стоит разделять. Поэтому мы, безусловно, многое смогли решать только потому, что у нас есть теперь возможность такие объемы обрабатывать. В то же время, какие-то вещи мы раньше никак не могли решать, даже если бы у нас мощностей стало столько же, сколько и сейчас. Вот не было бы у нас каких-то архитектур для работы с текстом, речью и картинками. ничего бы и не помогло.

  11. Самат Галимов

    Когда был переломный момент?

  12. Валерий Бабушкин

    Можно смотреть по индустрии. Например, в такой индустрии, как компьютерное зрение, переломный момент произошел, пожалуй, в 2012 году. Есть такое соревнование ImageNet, в котором есть огромный набор данных, это миллионы картинок, там, по-моему, тысяча классов, то есть каждая картинка может принадлежать к одному из тысячи классов. Поезд, человек, лошадь, сено и так далее. Соответственно, ученые соревновались, различные алгоритмы для обработки зрения, обработки изображения использовали, чтобы посмотреть, какой же алгоритм работает лучше на задачах классификации. В какой-то момент вышли на плато, и они там бились на уровне примерно 73-75% точности. И в 2012 году ребята, по-моему, из лаборатории Джеффри Хинтона, Алекс Крижевский, они применили свёрточную (convolutional) нейронную сеть AlexNet, которая просто побила все результаты на 15%. А чтобы понимал, там ребятки бились за 0,1%, а уже 0,2%. То есть, чтобы сравнить, представь, вот Олимпийский игр, Усейн Болт пробежал 100 метров за 9.57, и все «Невероятно! Это самый быстрый человек на Земле! 9.57! Он побил предыдущий рекорд, который был 9.7! Ну то есть, это фантастика!» И тут кто-то просто берёт и пробегает за 4 секунды. Ну т.е. это просто несравнимый уровень. И сейчас ImageNet уже в хвосты гриву побит нейронными сетями 95%, 97%. Я не слежу, честно говоря, какое там конечное качество. Постоянно уже ставят рекорды, там уже всё, в принципе. Достигнут уровень, который выше уровня человеческой производительности в этой задаче.

  13. Самат Галимов

    О, т.е. человек в этой задаче, он уже проигрывает машине.

  14. Валерий Бабушкин

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

  15. Самат Галимов

    человек этого точно не сделает.

  16. Валерий Бабушкин

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

  17. Самат Галимов

    Можешь привести ещё пару примеров, может быть, из других областей?

  18. Валерий Бабушкин

    А вот то, что ты сейчас в это время видишь, ты видишь, наверное, всякие генеративные штуки, когда текст превращается в картинку, делают какие-то художества, обложка Космополита сгенерирована. Этот прорыв частично связан с прорывом тоже в архитектуре нейронных сетей. Здесь, наверное, смыкаются две вещи. В 2017 году Ян Гудфеллоу, который работал в Google на тот момент, выпустил статью про генеративные соревновательные сети, где, если кратко попробовать описать, одна сеть пытается нейронной обмануть другую, пытается сгенерировать какие-то картинки, а вторая пытается определить, реальные ли картинки или сгенерированные. Ей показывает первая сеть. И за счёт этого первая сеть учится генерировать всякий хлам, который очень похож на что-то настоящее, но это не настоящее, это фейк. А дальше начали это усложнять и как бы сгенерировать именно то, что мы хотим. А если задуматься, то можно взять что-то, какое-то низкое качество, низкое разрешение и сгенерировать из этого более высокое разрешение. То есть стали это применять задачу по-разному. А в 2017 или 2018 году появилась новая архитектура для работы с текстом. Это архитектура трансформеров. Проблема работы с текстом заключается в том, что в тексте очень много контекста, очень много зависимостей. Соответственно, нужно постоянно смотреть на то, что было сказано до, то, что было написано после.

  19. Самат Галимов

    Отсылки такие, да. Эти, те, о чём мы говорили.

  20. Валерий Бабушкин

    Замок или замок, как понять. В тексте никак, пока ты не увидишь контекста. Но появилась эта архитектура, которая тоже произвела революцию. Сначала эта архитектура применялась только в тексте. Может быть, вспомнишь, были довольно шумные публикации от OpenAI GPT, GPT-2, GPT-3. Да-да-да. То есть, вот это всё на архитектуре. BERT от Google, ELMo. А потом в какой-то момент сказали, чуваки, а мы можем, в принципе, архитектуру трансформеров применять и к компьютерному зрению. И оказалось, что довольно неплохо это применяется. Вот сошлись несколько вещей, генеративные сети, новые архитектуры, ну и, понятно, компьютерные мощности с 2012 года тоже скакнули невероятно вперёд. И вот это всё сошлось в точки, в которые можно вбить пингвины дерутся на Луне, и тебе выдастся какая-то картинка.

  21. Самат Галимов

    Фотографистичная картинка.

  22. Валерий Бабушкин

    Да, как пингвины дерутся на Луне. Со звуком из генерации речи прорывы произошли очевидные, т.е. если ты когда-то пользовался программами по генерации речи в начале 2000-х годов, которые просто страшно механическим голосом по буквам что-то пытались делать, или по отдельным триплетам, или биграммам, это было ужасно.

  23. Самат Галимов

    Да-да-да.

  24. Валерий Бабушкин

    Если посмотреть на голосовых помощников, будь то Google, Алиса от Яндекса или Алекса от Амазона, то это, конечно, совершенно другой уровень. Они и понимают нас очень хорошо, и генерация речи, и распознавание речи тоже произошёл, очевидно, сильный прорыв, но он опять же тоже связан со различными архитектурами нейронных сетей, но очевидно, что это применение, которое ещё 20 лет назад казалось уже чем-то почти невозможным. Но в целом, если попробовать так разбить, нейронные сети довольно хорошо работают с не структурированными данными, такими как текст, речь и изображение. А структурированные табличные данные, тут откровенно говоря, поменялось не так, чтобы очень много. То, что мы используем, да, есть какие-то модификации, улучшения, но это всё было и 20 лет назад, и 30 лет назад, просто это пошло в широкое распространение. Происходит какая-то революция, потом происходит не качественное, но количественное улучшение. Как это было видно по тому же компьютерному зрению и ImageNet, как это было с трансформерами, и сейчас они просто их допиливают, улучшают, дорабатывают и так далее. То есть появляется какая-то технология довольно прорывная. А дальше, на мой взгляд, это скорее уже количественное, но некачественное изменение, когда начинают оптимизировать.

  25. Самат Галимов

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

  26. Валерий Бабушкин

    В X5 классическая задача— ценообразование.

  27. Самат Галимов

    Вот давай ее как раз и обсудим. В каком виде вообще она для тебя была сформулирована?

  28. Валерий Бабушкин

    Что сделать? Заработать денег на ценообразование. Как выставлять цену так, чтобы и людям было хорошо, и экспертам было хорошо? Люди, к сожалению, не могут держать в голове множество факторов. Люди, конечно, могут какую-то классическую модель бизнеса посчитать, но какая классическая модель? Если я купил яйца за 100 рублей, наверное, за 90 мне их продавать не очень выгодно. Дальше, за сколько мне их выгодно продавать? Ну, дальше можно посчитать, какова себестоимость продажи и прочее. Например, если я купил за 100 рублей И еще у меня есть люди, которые все это обслуживают, магазины и так далее. И чтобы я вышел, мне нужно продать за 120 рублей, а я хочу что-то заработать, я, может, захочу продать за 123 рубля, потому что у меня норма прибыли должна быть 2%. Дальше жизнь усложняет историю, потому что продукты могут испортиться, если их вовремя не купят. Их могут украсть, их могут разбить. Соответственно, нужно и это закладывать. Окей. А что если я какие-то продукты буду продавать дешевле, даже ниже себестоимости? Мне нужно, чтобы вы приходили за ним, потому что дальше приходят и покупают еще какую-то ерунду. А на эту ерунду я как раз накину денег побольше. Ну а дальше, дальше можно сказать, а вот если у нас магазин расположен на площади трёх вокзалов в Москве, то там наверное можно одну цену поставить, люди спешат, им некогда или они бегут на поезд какую-нибудь колбаску купить с хлебом или конфеток, поэтому мы накинем побольше. А если у нас спальный район, они там могут выбирать, мы накинем поменьше. И вот это уже всё с помощью людей контролировать становится очень тяжело.

  29. Самат Галимов

    Слишком много параметров.

  30. Валерий Бабушкин

    Если бы у нас была волшебная машина, в которую мы загоняем весь известный нам набор данных о конкретной точке. Допустим, день недели, сколько было куплено на прошлой неделе, прогноз погоды на следующей неделе, какие были цены, цены у конкурентов, что-то еще, что-то еще, что-то еще, что-то еще. И говорит машина скажи нам пожалуйста какие у нас будут продажи. Машина говорит, затем мы меняем цену, а при такой цене мы можем менять эту цену и смотреть где же наступит тот максимум. Ну дальше мы считаем максимум по чему? Максимум по марже, максимум по обороту. То есть понятно, да? Это может работать. Соответственно, нам нужна такая модель мира, которая у нас сможет эти закономерности найти и построить. Ну, мы все в школе учились, возможно, помним классическое линейной регрессии, y равно

  31. Самат Галимов

    kx плюс b. Это просто прямая, я так понимаю, да, на плоскости?

  32. Валерий Бабушкин

    Прямая, которая имеет, а, какой-то наклон, и, б, имеет какое-то смещение. Собственно, b отвечает за смещение, а k отвечает за наклон. Ну и что, если бы у нас было всего две точки, цена и спрос, ну то есть, что значит две точки? Двумерное пространство. То мы могли бы это графически изобразить в двухмерном пространстве, правда ведь? И потом сказать, ага, вот у нас есть 30 точек, мы через эти 30 точек проводим как-то прямую, но все эти точки же могут не лежать на одной прямой. То есть мы либо можем провести кривую, которая все эти точки пересекает, либо как-то так провести прямую, чтобы минимизировать расстояние от прямой до точек. Ну а теперь всё очень просто. Мы из двумерного пространства переходим в двухсотмерное, например, где у нас вместо зависимости цена-спрос, цена-погода, покупки на предыдущей неделе.

  33. Самат Галимов

    То есть все параметры этой модели— это ещё одно измерение этого пространства.

  34. Валерий Бабушкин

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

  35. Самат Галимов

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

  36. Валерий Бабушкин

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

  37. Самат Галимов

    То есть тебе нужно определить те параметры, которые важны, на которые ты будешь опираться.

  38. Валерий Бабушкин

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

  39. Самат Галимов

    Окей. Значит, первое – это выделить те параметры, на которые мы реально будем опираться. Что дальше?

  40. Валерий Бабушкин

    Тут суть в том, что это итеративный процесс. Мы выделили параметры. Дальше, а чего мы вообще пытаемся закономерить, между чем и чем построить? Ну, допустим, здесь мы поняли, между какими-то параметрами, которые включают в себя цену, и таким параметром, как спрос. Но спрос на что? И в каком диапазоне? Спрос на один день вперед, на неделю вперед, на каждый день, агрегированный на неделю, агрегированный на месяц, на уровне магазина, на уровне десяти магазинов, на уровне распределительного центра. Ну, то есть, мы можем же бесконечно... То есть, вообще, между чем и чем мы ищем зависимость? А вообще, мы же делаем для того, чтобы денег заработать, то есть, что нам нужно, второе, что мы можем, и третье, что мы можем быстро. А это уже итеративный процесс, какие признаки помогают, какую нам зависимую переменную, с какой точностью и уверенностью прогнозировать, на какой срок, а как это делать надежно, а как это делать в автоматическом режиме, а как бы это все еще перевести в деньги, потому что, откровенно говоря, если я смогу спрогнозировать зависимость спроса от цены, Как мне бы это ещё перевести в деньги? Что это принесло? Правда ведь? Как это протестировать? Это постоянно бесконечный тупик зависимости цикла, потому что ты выбрал признаки, ты выбрал переменную, ты строишь какую-то модель, ты как-то эту модель пытаешься оценивать. Вопрос ещё, как эту модель оценивать, правильно? А дальше, окей, ты эту модель построил, а как тебе её интегрировать так, чтобы люди пользовались её результатом? Директор магазина может в какой-то момент сам решить, сколько ему заказать товара или нет.

  41. Самат Галимов

    Ага, то есть тебе нужно ещё это построить в производственную цепочку.

  42. Валерий Бабушкин

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

  43. Самат Галимов

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

  44. Валерий Бабушкин

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

  45. Самат Галимов

    То есть ты выстроил в X5 процесс, в котором цена определяется не людьми, а алгоритмами на основании данных. Когда я готовился к эпизоду, я увидел, что ты работал в Фейсбуке. С какими задачами ты там сталкивался?

  46. Валерий Бабушкин

    Я работал в WhatsApp в Integrity, отвечал за команду User Data Privacy. И основная задача была биться со всякими злодеями, которые пытаются данные пользователей различными способами украсть. Ну то есть есть простой способ. Например, у меня есть WhatsApp. Я добавляю 10 тысяч случайных номеров. Например, 11111, 11112, 11113.

  47. Самат Галимов

    Просто перебираешь все номера.

  48. Валерий Бабушкин

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

  49. Самат Галимов

    Так, уже полезная информация. Значит номер как минимум реальный.

  50. Валерий Бабушкин

    Да, второй. Я могу увидеть его картинку профильную.

  51. Самат Галимов

    Опа. А по ней уже можно что-то пробить.

  52. Валерий Бабушкин

    А по ней можно что-то понять. Пол, возраст, расу. Дальше иногда там люди пишут имя свое.

  53. Самат Галимов

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

  54. Валерий Бабушкин

    Да. Еще там есть статус. online / offline. Ну а дальше, например, мне нужно разослать спам-компанию по каким-нибудь мужским штукам или женским штукам. Всё, соответственно, я уже могу действовать по этому. Ну и понятно, что если чувак просто добавляет, удаляет 10000 номеров в своей адресной книге, то не сложно его на этом поймать. А, проблема еще в WhatsApp в том, что это же end-to-end encrypted messenger, то есть контент сообщений неизвестен.

  55. Самат Галимов

    Фейсбук его не видит.

  56. Валерий Бабушкин

    Ну, во-первых, Фейсбук даже это не хранит, а во-вторых, даже если бы хранил, он все равно это не видит. Ну и соответственно, хорошо, а что делать, когда у тебя есть 10000 сим-карт, каждый из которых добавляет и удаляет 500 номеров в день? Ну то есть 10 тысяч на 500 умножаешь, получаешь уже 5 миллионов. Есть всякие неофициальные клиенты ватсапа, их десятки, ну их там даже уже по две сотни миллионов. Ну то есть ватсап вообще довольно распространен, это довольно большая штука, у которой по-моему в день активных пользователей 2,5 миллиарда человек. Эти клиенты неофициальные бывают по разным причинам. Кто-то делает для того, чтобы получить какой-то дофункционал, а кто-то что-то там меняет, потому что в каких-то странах ватсап, трафик ватсапа дороже. оплачивается, это операторы специально бьют по людям. А какие-то клиенты конкретно опасные, неофициальный клиент, ну то есть там какой-то чей-то софт, он может легко взломать, получить доступ к телефону человека. Тоже этих чуваков выслеживать. Ну и отдельные задачи связанные со всякими scam integrity, civic integrity, то есть когда идут какие-нибудь выборы в Бразилии и идут спам-компании, а потом Власти Бразилии пытаются судить WhatsApp за то, что через WhatsApp это всё идёт. Тоже нужно как на это реагировать. То есть это всё связано с безопасностью.

  57. Самат Галимов

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

  58. Валерий Бабушкин

    Ну, начнем с того, что проблема в том, что в WhatsApp отсылаются в день больше 100 миллиардов сообщений. Это много. С этим тяжело работать. То есть, можно посчитать, какое количество в секунду, пусть у нас сколько, 85 тысяч секунд в сутках, получается 1,2 миллиона сообщений в секунду. Это много. Соответственно, тут несколько вещей. Во-первых, нужно уметь реагировать в реалтайме. Это тяжелая инженерная задача. Нужно уметь все эти сигналы быстро записывать. А сигналы могут быть простые. Понятно, что если чувак отослал 200 сообщений в секунду, ну я утрировал, то это очень подозрительно. Тебе не нужно знать контент сообщений, чтобы понять, что 200 сообщений в секунду отослано.

  59. Самат Галимов

    Нормальный человек не отошлёт.

  60. Валерий Бабушкин

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

  61. Самат Галимов

    Ну это спамер 100%, его надо банить.

  62. Валерий Бабушкин

    Ну, я унтрированно, то есть мы уже понимаем какие-то сигналы, правда ведь? А дальше вопрос, а сколько должно быть сообщений в секунду? 200? А почему не 199? Ну то есть, если мы сделаем 200, спамеры не дураки, они очень умные. Это же среда очень быстро адаптирующаяся, они будут слать 199.

  63. Самат Галимов

    А, тут задача оптимизации, мы уже оптимизируем не цену, а вот threshold (порог), после которого надо идти.

  64. Валерий Бабушкин

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

  65. Самат Галимов

    Как давно он пользуется WhatsApp?

  66. Валерий Бабушкин

    Как давно он пользуется WhatsApp?

  67. Самат Галимов

    У скольки людей он есть в записной книжке?

  68. Валерий Бабушкин

    Да-да-да, официальный это или неофициальный клиент, и далее-далее-далее.

  69. Самат Галимов

    Окей, сейчас ты работаешь в блокчейне.

  70. Валерий Бабушкин

    Всё верно.

  71. Самат Галимов

    Зачем там датсайенс?

  72. Валерий Бабушкин

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

  73. Самат Галимов

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

  74. Валерий Бабушкин

    Ну, скажем так, тут всегда лучше перепрогнозировать вопрос в том, сколько, на 100% или на 10.

  75. Самат Галимов

    Это экономия очень большая.

  76. Валерий Бабушкин

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

  77. Самат Галимов

    К конкуренту и не вернуться.

  78. Валерий Бабушкин

    К конкуренту, и потом вы думаете, чего я туда пойду, там курицы нет. Соответственно, вторая задача, связанная с ликвидностью. Но как только мы переходим на уровень, если мы будем выдавать кредиты физическим лицам, здесь уже пойдет классическая задача кредитного скоринга. И все то же самое, зачем аналитика, Data Science и Machine Learning в банках?

  79. Самат Галимов

    Какие еще задачи решает Data Science, о которых обычный человек не подозревает, не знает?

  80. Валерий Бабушкин

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

  81. Самат Галимов

    Валера, на самом деле мне становится непонятно, потому что двусторонний маркетплейс. Делаешь программу, в которой есть таблицы с пользователями и таблицы с таксистами, и соединяешь их друг с другом. Где тут data science?

  82. Валерий Бабушкин

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

  83. Самат Галимов

    денег,

  84. Валерий Бабушкин

    А тот, кого водят, хочет ездить и не платить.

  85. Самат Галимов

    А, и тебе нужно найти оптимальную точку пересечения.

  86. Валерий Бабушкин

    Согласен с этим?

  87. Самат Галимов

    Ну да.

  88. Валерий Бабушкин

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

  89. Самат Галимов

    Это не случайно то, что у нас постоянно рядом есть машина.

  90. Валерий Бабушкин

    Это не случайно. А дальше, а водитель уже тоже, ему же хочется заработать больше денег. Чтобы заработать больше денег, ему нужно максимизировать заказ. Максимизировать заказ он тогда, когда он приехал куда-то и тут же взял новый заказ. Правильно?

  91. Самат Галимов

    Так... И тебе нужно... А, время ожидания сделать не слишком большим, но... А дальше

  92. Валерий Бабушкин

    у тебя есть разные классы такси, бизнес, эконом или премиум. Правда ведь?

  93. Самат Галимов

    Но иногда мне на самом деле дают бесплатные машины, просто для того, чтобы... Потому

  94. Валерий Бабушкин

    что ему выгоднее поехать и повезти тебя, чем поехать пустым.

  95. Самат Галимов

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

  96. Валерий Бабушкин

    стараются не гонять пустыми.

  97. Самат Галимов

    но заказы дешевле делать те, чтобы машина там оказалась.

  98. Валерий Бабушкин

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

  99. Самат Галимов

    Оу, шит, это реально сложная задача.

  100. Валерий Бабушкин

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

  101. Самат Галимов

    Очень-очень круто. Все наверняка видели, как компьютер рисует картинки по описанию. А есть знаменитый сайт This person does not exist, где фотографии людей, которых не существует. Как это всё работает? Как это устроено?

  102. Валерий Бабушкин

    А это вот, собственно, те генеративные сети. Есть две нейронные сети. Генератор и дискриминатор.

  103. Самат Галимов

    Очень нравится мне название, хорошо.

  104. Валерий Бабушкин

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

  105. Самат Галимов

    То есть это конкуренция такая, двух машин, двух алгоритмов.

  106. Валерий Бабушкин

    Генеративные соревнующиеся сети, ГАНы. Соответственно то, что Ян Гудфеллоу открыл миру. И да, вот это результат. This person doesn't exist. Сетка научилась на этой задаче генерировать людей.

  107. Самат Галимов

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

  108. Валерий Бабушкин

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

  109. Самат Галимов

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

  110. Валерий Бабушкин

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

  111. Самат Галимов

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

  112. Валерий Бабушкин

    Ну, примерно так. То есть даже мы не то чтобы его штрафуем, мы просто ему посылаем сигнал, что учись в том направлении.

  113. Самат Галимов

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

  114. Валерий Бабушкин

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

  115. Самат Галимов

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

  116. Валерий Бабушкин

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

  117. Самат Галимов

    Так, просто набор чисел.

  118. Валерий Бабушкин

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

  119. Самат Галимов

    Идея понятна, окей. Значит, разные фотки одного и того же человека должны быть похожи.

  120. Валерий Бабушкин

    В векторном пространстве.

  121. Самат Галимов

    В векторном пространстве, да.

  122. Валерий Бабушкин

    Второй момент. Фотки разных людей должны быть далеко друг от друга в векторном пространстве. Дальше. Третий момент. Людей много. И мы должны иметь достаточно места в этом векторном пространстве, чтобы мы могли разместить достаточное количество людей. И при этом у нас не было слишком много ложноположительных или ложноотрицательных результатов. То есть, когда мы говорим, о, это Петя, а на самом деле это Вася. Или такого человека нет, а на самом деле он такой есть. Ну а дальше есть различные способы это делать. Нужно научиться переводить такой вектор, чтобы решать эти две задачи. И поэтому, когда сеть обучается переводить картинку в вектор, она как раз учится решать такие задачи. То есть обычно ей дают несколько фотографий одних и тех же людей. Соответственно, представь, у тебя есть база данных, не пусть 100 тысяч человек, пусть у каждого человека есть 3-5 фотографий, и ты сеть учишь так, чтобы все фотографии одного человека были очень близко, и при этом фотографии разных людей были очень далеко.

  123. Самат Галимов

    А вот как ты её учишь? Вот этот процесс научения, он как устроен?

  124. Валерий Бабушкин

    Это то же самое. Ты говоришь, что она сначала выдала тебе какой-то вектор. Для этой картинки, для этой и для этой. И ты высчитываешь дистанцию, которая должна быть похожей, которая должна быть одинаковой. Ты говоришь, сеть, пожалуйста, попробуй выучиться так, чтобы в следующий раз это было друг от друга дальше, а это друг от друга ближе. Есть второй момент. Второй момент, что ты дальше можешь работать с так называемыми hard negative samples. То есть, когда сеть, допустим, если она ошиблась, это же получается очень ценный материал, потому что там, где она в какой-то момент перестала ошибаться, это уже нам не так важно. То есть нет смысла, условно говоря, в тридцатый раз ей говорить сеть, научись эти картинки близко, а эти далеко, если она это уже делает. В какой-то момент возникает смысл сконцентрироваться на том, чтобы она придавала больше значения там, где она плохо работает.

  125. Самат Галимов

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

  126. Валерий Бабушкин

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

  127. Самат Галимов

    Какое количество архитектуры вообще готовых есть?

  128. Валерий Бабушкин

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

  129. Самат Галимов

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

  130. Валерий Бабушкин

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

  131. Самат Галимов

    Я слышал, что Google Translate сейчас работает полностью на машину обучения.

  132. Валерий Бабушкин

    То же самое. Представь, мы научились переводить текст в вектор. Представил, да?

  133. Самат Галимов

    Погоди, текст, в смысле, какой-то длины фиксированный, я так понимаю, блок какой-то?

  134. Валерий Бабушкин

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

  135. Самат Галимов

    Хорошо, так принято.

  136. Валерий Бабушкин

    Можем же, правильно?

  137. Самат Галимов

    Да, окей. Научились кодировать текст в вектор.

  138. Валерий Бабушкин

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

  139. Самат Галимов

    А, если перевод хороший, то вектора должны быть близкие, если перевод плохой, то далекие.

  140. Валерий Бабушкин

    Если совсем упрощенно, понимаешь, мы свели практически задачу к предыдущей. Очень упрощенно это описал.

  141. Самат Галимов

    Валера, а есть какие-то задачи, в которых этот подход ломается? Которых невозможно описать с помощью векторов?

  142. Валерий Бабушкин

    Есть, но, в принципе, почему произошел прорыв в работе с языком и с текстом? зрением, потому что эмбеддинги (embeddings), то есть мы научились превращать многомерное пространство, «вкладывать» в другое пространство, векторное, и использовать это, находить похожие и совершать всякие операции. Ну то есть в целом изначально никто не понимал, как перевести слово вектор. До 2011 года это было непонятно. А потом выпустил студент, который после этого стал работать в DeepMind, работу Word2Vec, где он показал, как можно слова переводить в вектора. А затем научились вектора переводить и предложения, и тексты, и так далее, и так далее, и так далее.

  143. Самат Галимов

    А в чем там суть этой работы, этого подхода?

  144. Валерий Бабушкин

    Если мы рассмотрим самую классическую Word2Vec, то суть примерно в следующем. Что у нас слово очень сильно зависит от своего контекста. И, соответственно, если у нас слова, которые очень друг на друга похожи, могут описываться одним контекстом. Что это означает? Это означает, что если мы заменяем одно слово на похожее на него, у нас все еще нормально, правильно?

  145. Самат Галимов

    В смысле, смысл предложения типа мало меняется.

  146. Валерий Бабушкин

    Этот студент умный, поэтому он отличник. Этот студент смышленый, поэтому он отличник.

  147. Самат Галимов

    Так, да, согласен.

  148. Валерий Бабушкин

    Но очень редко будет встречаться «этот студент дурак, поэтому он отличник».

  149. Самат Галимов

    Он отличник, согласен. А-а-а, тут ключевое слово, ты сказал, очень редко будет встречаться такое слово в наших данных входных.

  150. Валерий Бабушкин

    Да, да. Соответственно, мы можем построить, я даже не знаю, как мне это описать по понятию, но в целом мы можем попытаться описать слово на основе его контекста и превратить это в такой вектор, чтобы у нас слова, которые имеют похожий контекст, были в векторном пространстве тоже близко. Ну и там, кстати, очень много всяких приколов получилось. Там, например, получалось, что если из вектора слова «король» вычесть вектор слова «мужчина», то получается вектор слова «королева».

  151. Самат Галимов

    Прикольно. Очень круто. Погоди, это же была вот эта священная грааль, типа «давайте научимся переводить смыслы в математические конструкции». Вот, типа, научились.

  152. Валерий Бабушкин

    Да, это был невероятный прорыв. В чем была проблема раньше? Раньше, как слова кодировали. Вот, допустим, у нас есть 200 тысяч слов. Мы возьмем вектор длиной 200 тысяч. Пусть у нас везде будут нули, кроме этого слова. То есть, если это слово «я», то у нас будет единичка на месте слова «я» в словаре, а все остальные будут нули. Работает, работает. Что плохо?

  153. Самат Галимов

    Опираться над ними нихера не сделаешь нормально.

  154. Валерий Бабушкин

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

  155. Самат Галимов

    Какие есть специальности внутри Data Science?

  156. Валерий Бабушкин

    То же самое. Есть люди, которые занимаются компьютерным зрением, есть люди, которые занимаются NLP-текстом, есть люди, которые занимаются классическим ML, есть люди, которые занимаются трейдингом, есть люди, которые занимаются генеративными сетями. Они с определенной легкостью могут переходить между областями, но в целом я бы такое разделение ввел.

  157. Самат Галимов

    Я еще часто вижу в вакансиях такие слова ML-инженер, Data-инженер, Data-аналитик. Чем они отличаются?

  158. Валерий Бабушкин

    Ну, очевидно, что менеджер – это человек, который работает с машинным обучением, и это человек, который эти модели делает и дальше деплоит их, как-то обвязывает и связывает с чем-то. Дата инженер – это человек, который работает с хранилищем данных, Data Lake, DWH, строит ETL-пайплайны, которые данные переводят, переносят из одного места в другое и гарантируют качество, скорость доставки и так далее. А дата аналитик это лучший друг, product manager или product owner, человек, который отвечает на вопросы и понимает, что и почему произошло. Ну тут уже дальше разделение.

  159. Самат Галимов

    Совсем разные профессии, получается.

  160. Валерий Бабушкин

    Да, это абсолютно разные профессии.

  161. Самат Галимов

    Очень круто. Чем отличается анализ данных от data science?

  162. Валерий Бабушкин

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

  163. Самат Галимов

    А каких можно назвать?

  164. Валерий Бабушкин

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

  165. Самат Галимов

    Очень нравится.

  166. Валерий Бабушкин

    Соответственно, Data Science – это что-то очень широкое. Можно прийти в 10 разных компаний, посмотреть их вакансии по Data Science, и окажется, что от этих людей, от каждого, в каждой компании будут ожидать совершенно разных вещей. Data Science – это очень широкая понятия. Когда как Data Analytics, всё понятно. Чувак, который как-то умеет программировать для решения каких-то базовых своих потребностей, но первое, главная его сила – это анализ, знание того, как анализировать, критическое мышление и способность срыться в данных.

  167. Самат Галимов

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

  168. Валерий Бабушкин

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

  169. Самат Галимов

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

  170. Валерий Бабушкин

    Да, можно тюнить. Я вообще сейчас читаю статью, довольно длинную, на 50 страниц, что в модель можно влить backdoor, и модель будет выдавать то, что тебе нужно, а никто это проверить не сможет.

  171. Самат Галимов

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

  172. Валерий Бабушкин

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

  173. Самат Галимов

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

  174. Валерий Бабушкин

    Есть различные методы, которые позволяют отследить, а что повлияло на решение. Сейчас с этим ситуация гораздо лучше, чем была 5 лет назад. Поэтому понять, почему, можем. Backdoor найти пока не можем.

  175. Самат Галимов

    Валера, мы вообще можем редактировать нерассить? Можно, например, взять и сказать, типа, не учитывать, например, пол кандидата при приеме на работу? Ты уже не выкинул в момент обучения. Можно что-то с этим сделать? Постфактум.

  176. Валерий Бабушкин

    Не, ну можно просто, когда ты на обучение подаешь этот вектор, допустим, там был вектор 0 или 1, а ты подаешь 7, 0, 5. Или ты 7 всегда меняешь на одинаковый пол. Но тут на самом деле не совсем корректно, потому что, а вдруг у нас какая-то комбинация факторов, что если у одного человека пол на один его возьмут на работу, а другому на один его не возьмут. То есть тут несколько моментов. Первый момент. Если уж мы учим модели, не можем пол выкинуть, то мы можем просто это заменить на какую-то константу, тогда это везде у всех одинаково и это не учитывается. Раз, раз. Второй момент. Модель же ленивая. Пол выкинешь, а там фотка есть, она будет смотреть на длину волос. И окажется, что длина волос коррелирует с полом. от bias (смещения)— вещь такая нетривиальная.

  177. Самат Галимов

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

  178. Валерий Бабушкин

    Посмотреть какие-то лекции на YouTube мои, Алексея Чернобровова, сообщество Open Data Science.

  179. Самат Галимов

    Отлично. Ссылки на YouTube и на ODS мы положим в описании к этому эпизоду.

  180. Валерий Бабушкин

    Канал можно мой почитать, да. Время Валера.

  181. Самат Галимов

    И на твой канал тоже. Спасибо тебе большое, что пришел и выделил время. Это подкаст Студии Либо-Либо, и мы его сделали вместе с сервисом онлайн-образования Яндекс Практику. Над подкастом работали редакторка Маша Агличева, продюсерка Настя Медведева, звукорежиссер Юрий Шустицкий. За джингл спасибо Алексею Зеленскому. Редактор субтитров Т.Горелова Корректор А.Егорова

Слушайте где удобно

0:00