Мы в Почте Mail.ru повсеместно используем machine learning для решения бизнес-задач. Основные направления – сделать Почту умнее (помочь пользователю ориентироваться в нарастающем потоке информации и эффективно решать его задачи) и защитить от спама.
Чтобы достичь этих целей, мы создаем и поддерживаем десятки систем машинного обучения. При таком количестве моделей их регулярная поддержка: набор выборки, дообучение и выкатка в бой — может отнимать почти все время команды. Особенно остро эта проблема стоит в антиспаме, где спамеры адаптируются к системе защиты днем и ночью. Очевидно, что поддержку нужно автоматизировать, однако по ходу процесса возникает много вопросов:
* как быть уверенным, что обученная на выборке модель будет хороша на продакшне и не сломается на выходных;
* как поддерживать ансамбли и каскады моделей;
* как выстроить эффективный feedback loop без участия асессоров.
Как мы решаем эти и другие проблемы, а также какие общие подходы мы выработали, я расскажу в своем докладе.
Video: https://www.youtube.com/watch?v=GMsa9FhuoIw
Потоковые алгоритмы в задачах обработки больших данных / Виктор Евстратов (Se...Ontico
Для того чтобы таргетировать рекламу по поведению интернет-пользователей, DMP ежедневно оценивает терабайты данных. В докладе расскажу, как при помощи алгоритмов потоковой обработки данных можно быстро оценить большой объем статистики и формы распределения различных характеристик.
+ Что будем оценивать?
Будем оценивать функции распределения различных случайных величин. На практике это может понадобиться, например, как инструмент первичного анализа трафика или как данные, необходимые для принятия решений в RTB.
+ Распределения параметров пользователей и их поведения.
+ Метод Манро-Патерсона, метод Канна-Гринвальда.
В этой части я расскажу о методе Манро-Патерсона — алгоритме оценки медианы, и о методе Канна-Гринвальда, который позволяет оценить функцию распределения.
+ Мотивирующий пример.
Расскажу о том, как применяю описанные методы на наших данных для составления портрета целевой аудитории наших клиентов.
Ускоряем исследования с помощью конкурсов как их готовить и выигрывать / Иван...Ontico
Мы в Авито часто сталкиваемся с ситуацией, когда нужно быстро придумать алгоритм, решающий некоторую бизнес задачу на основе анализа больших объёмов данных. Придумать какой-то алгоритм не сложно, но каждый раз возникает вопрос — а вдруг можно решить эту же задачу в разы более качественно. Исследования можно вести годами, но это рискованно — лучшего решения может и не быть, и будет затрачено много времени.
На помощь приходят конкурсы по анализу данных. Мы устраивали конкурсы на построение алгоритмов, работающих с совершенно различными типами и объемами данных:
+ Выявление запрещенных объявлений.
+ Прогнозирование вероятности клика на рекламное объявление.
+ Обнаружение телефонов на изображениях.
+ Прогнозирование инкрементального эффекта от скидочных акций.
Какие-то были более удачными, какие-то — менее. Расскажем про основные этапы подготовки задач к конкурсу, а также про основные трюки, используемые для победы в таких конкурсах
Потоковые алгоритмы в задачах обработки больших данных / Виктор Евстратов (Se...Ontico
Для того чтобы таргетировать рекламу по поведению интернет-пользователей, DMP ежедневно оценивает терабайты данных. В докладе расскажу, как при помощи алгоритмов потоковой обработки данных можно быстро оценить большой объем статистики и формы распределения различных характеристик.
+ Что будем оценивать?
Будем оценивать функции распределения различных случайных величин. На практике это может понадобиться, например, как инструмент первичного анализа трафика или как данные, необходимые для принятия решений в RTB.
+ Распределения параметров пользователей и их поведения.
+ Метод Манро-Патерсона, метод Канна-Гринвальда.
В этой части я расскажу о методе Манро-Патерсона — алгоритме оценки медианы, и о методе Канна-Гринвальда, который позволяет оценить функцию распределения.
+ Мотивирующий пример.
Расскажу о том, как применяю описанные методы на наших данных для составления портрета целевой аудитории наших клиентов.
Ускоряем исследования с помощью конкурсов как их готовить и выигрывать / Иван...Ontico
Мы в Авито часто сталкиваемся с ситуацией, когда нужно быстро придумать алгоритм, решающий некоторую бизнес задачу на основе анализа больших объёмов данных. Придумать какой-то алгоритм не сложно, но каждый раз возникает вопрос — а вдруг можно решить эту же задачу в разы более качественно. Исследования можно вести годами, но это рискованно — лучшего решения может и не быть, и будет затрачено много времени.
На помощь приходят конкурсы по анализу данных. Мы устраивали конкурсы на построение алгоритмов, работающих с совершенно различными типами и объемами данных:
+ Выявление запрещенных объявлений.
+ Прогнозирование вероятности клика на рекламное объявление.
+ Обнаружение телефонов на изображениях.
+ Прогнозирование инкрементального эффекта от скидочных акций.
Какие-то были более удачными, какие-то — менее. Расскажем про основные этапы подготовки задач к конкурсу, а также про основные трюки, используемые для победы в таких конкурсах
Современные архитектуры диалоговых систем / Анатолий Востряков (Segmento)Ontico
В докладе я рассмотрю современные архитектуры диалоговых систем или чат-ботов. Неполный список архитектур влючает Dual Encoders, Neural Conversational Networks with and without context, Generative Hierarchical Neural Networks, Memory Networks and Dynamic Memory Networks. В том числе немного коснемся использования Reinofcement Learning в диалоговых системах. Вначале будет мягкое введение в Deep Learning for NLP для лучшего понимания представленных архитектур.
Вебинар: Основы распараллеливания С++ программ при помощи OpenMPFlyElephant
Презентация с первого технического вебинара FlyElephant, на котором были рассмотрены основы распараллеливания С/С++ программ при помощи OpenMP и рассказано о функционале FlyElephant.
Видео презентации: https://youtu.be/X1bqBPnJaHM
Сайт FlyElephant: http://flyelephant.net/
ПРОГРАММА БЕТА-ТЕСТИРОВАНИЯ FLYELEPHANT: http://flyelephant.net/beta/
Доклад Андрея Саса на конференции РИТ++ 2014. "Email-рассылки для профи- част...Badoo Development
Внезапно оказалось, что email-рассылка важна для вашего проекта? Обнаружили, что письма приходят в "Спам"? Иногда пользователи ждут их по часу? Хотите увеличить число отправляемых писем в N раз и не знаете, справится ли почтовый сервер? Не знаете, как правильно тестировать разные версии писем?
Этот доклад даст вам видение всего спектра задач, которые приходится решать для поддержания email-рассылок проекта "в тонусе", а также представление о возможных путях их решения.
Популярные проблемы и пути их решения:
1. Техническая реализация:
а) что нужно знать:
- устройство вашей системы отправки;
- как настроены механизмы авторизации писем;
- какова скорость рассылки, каково число серверов и т.п.;
б) популярные задачи и проблемы:
- хочу слать 3 миллиона писем в день, как много серверов мне понадобится?
- собственный сервер vs. сторонний рассыльщик?
- как понять, что сервис рассылок "плохой"?
- без какой статистики нельзя жить?
в) полезные советы и хаки:
- микрофреймворк для писем;
- config типов писем;
- асинхронная генерация писем;
- мониторинг падений email-адресов.
2. Доставляемость:
а) что нужно знать:
- распределение базы по почтовым сервисам;
- источники пополнения базы;
- типы писем и логику их рассылки;
- историю проблем с доставляемостью;
б) популярные задачи и проблемы:
- письма начали приходить в "Спам", что же делать?
- как построить мониторинг доставляемости?
в) полезные советы и хаки:
- популярные ошибки, приводящие к проблемам;
- postmaster.mail.ru;
- postoffice.yandex.ru;
- будьте осторожны с приглашениями;
- график среднего времени доставки как показатель доставляемости.
Для эффективной борьбы с большими данными одних технологий недостаточно. Необходим правильный настрой по отношению к ним, позволяющий видеть перспективы и особенности их использования. В данном рассказе предлагается точка зрения на совокупность проблем больших данных и их возможные пути разрешения. Рассказ построен на конкретных примерах из личной практики.
Целевая аудитория доклада, ее примерный уровень: аналитики, менеджеры ИТ, CTO.
Опыт моделеварения от команды ComputerVision Mail.ruEduard Tyantov
Команда Computer Vision Mail.ru предоставляет решения для нескольких продуктов Mail.ru: Облако, Vision (b2b-продукт), Почта. Спектр проектов достаточно широкий и включает в себя такие задачи (но не ограничивается ими), как Face Recognition, OCR и реставрация фотографий. За несколько лет работы мы споткнулись обо всевозможные грабли и встречаем одни и те же челленжи:
* Какие архитектуры нейросеток, подходы, хаки работают на большом спектре задач ?
* Как организовать инфраструктуру для удобного обучения моделей ?
* Каким образом катить и сервить модели в проде, чтобы это было удобно для всех?
В своем докладе расскажу о полном жизненном цикле проектов в Computer Vision: от постановки задачи до запуска в production.
Video: https://www.youtube.com/watch?v=oOtBt2jqXgw&feature=youtu.be&list=PLH-XmS0lSi_yY4rQCIZyx5Np57zc77OyE&t=21658
Основы машинного обучения, базовые понятия (например переобучение и способы его предотвращения), различные архитектуры сетей, и, в частности, сверточные сети. Так же рассмотрены методы оптимизации вычислений в подобных архитектурах: quantization, binary-net и другие.
SentiScan: система автоматической разметки тональности в social mediaDmitry Kan
Автоматический анализ тональности можно по праву считать подзадачей ИИ. В этом докладе мы рассмотрим проблематику создания системы SentiScan, коснёмся вопросов оценки качества, сопровождения, реальных кейсов и способов улучшения качества в полуавтоматическом режиме.
Компания SemanticAnalyzer разработала API для распознавания объектной тональности в текстах на русском языке. Испробовать систему можно подключившись к API на сайте: https://www.mashape.com/dmitrykey/russiansentimentanalyzer
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...yaevents
Александр Петренко, ИСП РАН
Профессор, доктор физико-математических наук, заведующий отделом технологий программирования Института системного программирования (ИСП РАН), профессор ВМК МГУ. Основные работы в областях: формализация требований, генерация тестов на основе формализованных требований и формальных моделей (model based testing – MBT). Приложения: тестирование операционных систем и распределенных систем, тестирование компиляторов, верификация дизайна микропроцессоров, формализация стандартов на API операционных систем и телекоммуникационных протоколов. Сопредседатель оргкомитетов International MBT workshop (http://www.mbrworkshop.org/), Spring Young Researcher Colloquium on Software Engineering – SYRCoSE (http://syrocose.ispras.ru), городского семинара по технологиям разработки и анализа программ ТРАП/SDAT (http://sdat.ispras.ru/).
Тема доклада
Модели в профессиональной инженерии и тестировании программ.
Тезисы
Model Based Software Engineering (MBSE) является расширением подхода к разработке программ на основе моделей. В MBSE в отличие, например, от MDA (Model Driver Architecture) существенное внимание уделяется не только задачам собственно проектирования и разработки кода, но и задачам других фаз жизненного цикла – анализу требований, верификации и валидации, управлению требованиями на всех фазах жизненного цикла. Model Based Testing (MBT) хронологически возник гораздо раньше, чем MBSE и MDA, однако его место в разработке программ в полной мере раскрылось вместе с развитием MBSE. По этой причине MBT и MBSE следует рассматривать в тесной связке. В докладе будут рассмотрены концепции MBSE-MDA-MBT, основные источники и виды моделей, которые используются в этих подходах, методы генерации тестов на основе моделей, известные инструменты для
Саморазвитие: как я не усидел на двух стульях и нашел третийEduard Tyantov
Когда я спрашиваю на собеседованиях соискателей "Чего вы ожидаете от руководителя", то почти каждый раз получаю инста-ответ "должен быть экспертом". А ведь по мере увеличения команды или вертикального роста у нас, руководителей, все меньше и меньше времени на то, чтобы просто оставаться на том же уровне в условиях постоянно меняющегося окружения. Как в таких реалиях еще и успевать двигаться вперед ? Вопрос сложный.
Сотрудники любят, чтобы их технологически развивали и всячески наставляли, и многие думают, что это можно получить только от руководителя с развитыми hard skills, но так ли это? Часто у руководителей в определенный момент встает ребром вопрос выбора между развитием технической экспертизы и софт скиллами. Как его сделать? Нужно ли его делать ?
Я нашел этот ответ для себя и среди прочего расскажу:
* Как развивать себя, коллег и всех, кто движется вокруг? Как сделать так, чтобы коллеги мотивировали тебя достигать большего? Почему важны разноплановые уровни взаимодействия в команде?
* Почему надо выкинуть цели, написанные во время вдохновляющих новогодних каникул, и на что их заменить ?
* Что развивать, зачем и почему ? Как развивать хард-скиллы, если ты более не contributor проекта?
Разумеется, для всего этого нужны время, мотивация, энергия, и я не обойду стороной важнейший вопрос личной эффективности и максимизации своего output'а. Я отношусь к себе как к био-роботу и программирую свое окружение и процессы таким образом, чтобы развитие, да и просто хорошие, правильные вещи происходили сами собой без мук выбора и силы воли, например, этот доклад ;)
Video: https://youtu.be/dPnrsUG3ADs?list=PL_L_HiHe5k_0jRIGM2lgsO3Pn2r9UBKnG&t=14403
Машинное обучение проникает во все сферы нашей жизни со все нарастающей скоростью, что меняет наши привычные паттерны взаимодействия с продуктами и отношение к ним. Пользователи уже привыкают к тому, что магические алгоритмы делают всю работу за них и часто лучше их: выбирают новости или книги, подбирают фильтр для улучшения фотографии и даже заказывают столик в ресторане по телефону.
Чтобы обеспечить всю эту магию, со стороны разработки происходит так называемый переход от Software 1.0 к 2.0: теперь не нужно четко описывать алгоритм принятия решения, нейросети смогут вывести его на данных лучше нас. Это в корне меняет традиционные подходы, а компетенция ML становится все более востребованной в стеке технологий разработчика.
Аналогичный переход надо совершить и в подходах к ведению проектов и продуктов. С добавлением ML в продукт знакомые техники и правила перестают работать. Постановка задачи с точными требованиями и привычные методы контроля с большой вероятностью не приведут к успеху. Ведение продукта, в основе которого лежит технология машинного обучения, принципиально отличается.
За последние пару лет мы в Mail.ru запустили десятки продуктов и фич на основе ML, и я расскажу о:
* выработанных практиках ведения проекта с ML в основе;
* многочисленных шишках, которые мы набили;
* адаптации софтверной разработки;
* и многом другом.
Доклад будет полезен всем, кто так или иначе участвует в разработке AI-продуктов.
Video: https://youtu.be/t0Sop2WeoiU?list=PLH-XmS0lSi_xEcn9meOmrPVPxajSh2PRA&t=8779
Современные архитектуры диалоговых систем / Анатолий Востряков (Segmento)Ontico
В докладе я рассмотрю современные архитектуры диалоговых систем или чат-ботов. Неполный список архитектур влючает Dual Encoders, Neural Conversational Networks with and without context, Generative Hierarchical Neural Networks, Memory Networks and Dynamic Memory Networks. В том числе немного коснемся использования Reinofcement Learning в диалоговых системах. Вначале будет мягкое введение в Deep Learning for NLP для лучшего понимания представленных архитектур.
Вебинар: Основы распараллеливания С++ программ при помощи OpenMPFlyElephant
Презентация с первого технического вебинара FlyElephant, на котором были рассмотрены основы распараллеливания С/С++ программ при помощи OpenMP и рассказано о функционале FlyElephant.
Видео презентации: https://youtu.be/X1bqBPnJaHM
Сайт FlyElephant: http://flyelephant.net/
ПРОГРАММА БЕТА-ТЕСТИРОВАНИЯ FLYELEPHANT: http://flyelephant.net/beta/
Доклад Андрея Саса на конференции РИТ++ 2014. "Email-рассылки для профи- част...Badoo Development
Внезапно оказалось, что email-рассылка важна для вашего проекта? Обнаружили, что письма приходят в "Спам"? Иногда пользователи ждут их по часу? Хотите увеличить число отправляемых писем в N раз и не знаете, справится ли почтовый сервер? Не знаете, как правильно тестировать разные версии писем?
Этот доклад даст вам видение всего спектра задач, которые приходится решать для поддержания email-рассылок проекта "в тонусе", а также представление о возможных путях их решения.
Популярные проблемы и пути их решения:
1. Техническая реализация:
а) что нужно знать:
- устройство вашей системы отправки;
- как настроены механизмы авторизации писем;
- какова скорость рассылки, каково число серверов и т.п.;
б) популярные задачи и проблемы:
- хочу слать 3 миллиона писем в день, как много серверов мне понадобится?
- собственный сервер vs. сторонний рассыльщик?
- как понять, что сервис рассылок "плохой"?
- без какой статистики нельзя жить?
в) полезные советы и хаки:
- микрофреймворк для писем;
- config типов писем;
- асинхронная генерация писем;
- мониторинг падений email-адресов.
2. Доставляемость:
а) что нужно знать:
- распределение базы по почтовым сервисам;
- источники пополнения базы;
- типы писем и логику их рассылки;
- историю проблем с доставляемостью;
б) популярные задачи и проблемы:
- письма начали приходить в "Спам", что же делать?
- как построить мониторинг доставляемости?
в) полезные советы и хаки:
- популярные ошибки, приводящие к проблемам;
- postmaster.mail.ru;
- postoffice.yandex.ru;
- будьте осторожны с приглашениями;
- график среднего времени доставки как показатель доставляемости.
Для эффективной борьбы с большими данными одних технологий недостаточно. Необходим правильный настрой по отношению к ним, позволяющий видеть перспективы и особенности их использования. В данном рассказе предлагается точка зрения на совокупность проблем больших данных и их возможные пути разрешения. Рассказ построен на конкретных примерах из личной практики.
Целевая аудитория доклада, ее примерный уровень: аналитики, менеджеры ИТ, CTO.
Опыт моделеварения от команды ComputerVision Mail.ruEduard Tyantov
Команда Computer Vision Mail.ru предоставляет решения для нескольких продуктов Mail.ru: Облако, Vision (b2b-продукт), Почта. Спектр проектов достаточно широкий и включает в себя такие задачи (но не ограничивается ими), как Face Recognition, OCR и реставрация фотографий. За несколько лет работы мы споткнулись обо всевозможные грабли и встречаем одни и те же челленжи:
* Какие архитектуры нейросеток, подходы, хаки работают на большом спектре задач ?
* Как организовать инфраструктуру для удобного обучения моделей ?
* Каким образом катить и сервить модели в проде, чтобы это было удобно для всех?
В своем докладе расскажу о полном жизненном цикле проектов в Computer Vision: от постановки задачи до запуска в production.
Video: https://www.youtube.com/watch?v=oOtBt2jqXgw&feature=youtu.be&list=PLH-XmS0lSi_yY4rQCIZyx5Np57zc77OyE&t=21658
Основы машинного обучения, базовые понятия (например переобучение и способы его предотвращения), различные архитектуры сетей, и, в частности, сверточные сети. Так же рассмотрены методы оптимизации вычислений в подобных архитектурах: quantization, binary-net и другие.
SentiScan: система автоматической разметки тональности в social mediaDmitry Kan
Автоматический анализ тональности можно по праву считать подзадачей ИИ. В этом докладе мы рассмотрим проблематику создания системы SentiScan, коснёмся вопросов оценки качества, сопровождения, реальных кейсов и способов улучшения качества в полуавтоматическом режиме.
Компания SemanticAnalyzer разработала API для распознавания объектной тональности в текстах на русском языке. Испробовать систему можно подключившись к API на сайте: https://www.mashape.com/dmitrykey/russiansentimentanalyzer
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...yaevents
Александр Петренко, ИСП РАН
Профессор, доктор физико-математических наук, заведующий отделом технологий программирования Института системного программирования (ИСП РАН), профессор ВМК МГУ. Основные работы в областях: формализация требований, генерация тестов на основе формализованных требований и формальных моделей (model based testing – MBT). Приложения: тестирование операционных систем и распределенных систем, тестирование компиляторов, верификация дизайна микропроцессоров, формализация стандартов на API операционных систем и телекоммуникационных протоколов. Сопредседатель оргкомитетов International MBT workshop (http://www.mbrworkshop.org/), Spring Young Researcher Colloquium on Software Engineering – SYRCoSE (http://syrocose.ispras.ru), городского семинара по технологиям разработки и анализа программ ТРАП/SDAT (http://sdat.ispras.ru/).
Тема доклада
Модели в профессиональной инженерии и тестировании программ.
Тезисы
Model Based Software Engineering (MBSE) является расширением подхода к разработке программ на основе моделей. В MBSE в отличие, например, от MDA (Model Driver Architecture) существенное внимание уделяется не только задачам собственно проектирования и разработки кода, но и задачам других фаз жизненного цикла – анализу требований, верификации и валидации, управлению требованиями на всех фазах жизненного цикла. Model Based Testing (MBT) хронологически возник гораздо раньше, чем MBSE и MDA, однако его место в разработке программ в полной мере раскрылось вместе с развитием MBSE. По этой причине MBT и MBSE следует рассматривать в тесной связке. В докладе будут рассмотрены концепции MBSE-MDA-MBT, основные источники и виды моделей, которые используются в этих подходах, методы генерации тестов на основе моделей, известные инструменты для
Саморазвитие: как я не усидел на двух стульях и нашел третийEduard Tyantov
Когда я спрашиваю на собеседованиях соискателей "Чего вы ожидаете от руководителя", то почти каждый раз получаю инста-ответ "должен быть экспертом". А ведь по мере увеличения команды или вертикального роста у нас, руководителей, все меньше и меньше времени на то, чтобы просто оставаться на том же уровне в условиях постоянно меняющегося окружения. Как в таких реалиях еще и успевать двигаться вперед ? Вопрос сложный.
Сотрудники любят, чтобы их технологически развивали и всячески наставляли, и многие думают, что это можно получить только от руководителя с развитыми hard skills, но так ли это? Часто у руководителей в определенный момент встает ребром вопрос выбора между развитием технической экспертизы и софт скиллами. Как его сделать? Нужно ли его делать ?
Я нашел этот ответ для себя и среди прочего расскажу:
* Как развивать себя, коллег и всех, кто движется вокруг? Как сделать так, чтобы коллеги мотивировали тебя достигать большего? Почему важны разноплановые уровни взаимодействия в команде?
* Почему надо выкинуть цели, написанные во время вдохновляющих новогодних каникул, и на что их заменить ?
* Что развивать, зачем и почему ? Как развивать хард-скиллы, если ты более не contributor проекта?
Разумеется, для всего этого нужны время, мотивация, энергия, и я не обойду стороной важнейший вопрос личной эффективности и максимизации своего output'а. Я отношусь к себе как к био-роботу и программирую свое окружение и процессы таким образом, чтобы развитие, да и просто хорошие, правильные вещи происходили сами собой без мук выбора и силы воли, например, этот доклад ;)
Video: https://youtu.be/dPnrsUG3ADs?list=PL_L_HiHe5k_0jRIGM2lgsO3Pn2r9UBKnG&t=14403
Машинное обучение проникает во все сферы нашей жизни со все нарастающей скоростью, что меняет наши привычные паттерны взаимодействия с продуктами и отношение к ним. Пользователи уже привыкают к тому, что магические алгоритмы делают всю работу за них и часто лучше их: выбирают новости или книги, подбирают фильтр для улучшения фотографии и даже заказывают столик в ресторане по телефону.
Чтобы обеспечить всю эту магию, со стороны разработки происходит так называемый переход от Software 1.0 к 2.0: теперь не нужно четко описывать алгоритм принятия решения, нейросети смогут вывести его на данных лучше нас. Это в корне меняет традиционные подходы, а компетенция ML становится все более востребованной в стеке технологий разработчика.
Аналогичный переход надо совершить и в подходах к ведению проектов и продуктов. С добавлением ML в продукт знакомые техники и правила перестают работать. Постановка задачи с точными требованиями и привычные методы контроля с большой вероятностью не приведут к успеху. Ведение продукта, в основе которого лежит технология машинного обучения, принципиально отличается.
За последние пару лет мы в Mail.ru запустили десятки продуктов и фич на основе ML, и я расскажу о:
* выработанных практиках ведения проекта с ML в основе;
* многочисленных шишках, которые мы набили;
* адаптации софтверной разработки;
* и многом другом.
Доклад будет полезен всем, кто так или иначе участвует в разработке AI-продуктов.
Video: https://youtu.be/t0Sop2WeoiU?list=PLH-XmS0lSi_xEcn9meOmrPVPxajSh2PRA&t=8779
This document summarizes a Kaggle competition on landmark recognition. It provides details on the dataset, evaluation metrics, and the top approaches used. The dataset contains over 1 million training images across nearly 15,000 landmark classes. Models like ResNet and DenseNet were trained using metric learning and data balancing. Inference involved finding the closest centroids for each landmark class. Ensembling multiple models and test-time augmentation improved results. The top solution used ArcFace metric learning, balanced sampling, and kNN to achieve 10th place on the private leaderboard.
Kaggle reviewPlanet: Understanding the Amazon from SpaceEduard Tyantov
This document summarizes a Kaggle competition to detect deforestation in the Amazon rainforest using satellite images. It describes:
1. The competition involved classifying over 150,000 image chips into 17 land cover classes to detect deforestation.
2. The baseline model was a ResNet-18 pretrained on ImageNet with fine-tuning, which achieved a score of 90.06%. Several techniques like optimal class thresholds and hyperparameter tuning improved the score to 92.53%.
3. The top models combined RGB satellite images with a near-infrared channel and indexes, training separate branches on JPG and TIF data. The best single model scored 93.071% by ensembling different model
This document summarizes a Kaggle competition on ultrasound nerve segmentation. It describes the data provided, which includes over 5000 training images and masks of the Brachial Plexus nerve. Several baselines are presented, with the top method being a U-Net model achieving a score of 0.62. The document then analyzes aspects of the winning solution in detail, which was based on a modified U-Net architecture with techniques like dropout, data augmentation, and an ensemble of models to achieve a final score of 0.70399. Other approaches tried like FCNs and Inception networks are also discussed.
43. Проблемы с дообучением
Модель может
– Не поддерживать дообучение
– Ухудшится
– Не предсказуемо измениться
• Создать новые ошибки или вернуть старые
57. Дообучение FastText
New text => new words, n-grams
dimension
n_words
n_buckets
Дефолтное дообучение
– Только старые веса
– Веса изменяются непредсказуемо
• => Нет преемственности
58. Дообучение FastText
Рецепт
– Добавляем все новое
𝐿𝑜𝑠𝑠 = 𝐶𝑟𝑜𝑠𝑠 𝐸𝑛𝑡𝑟𝑜𝑝𝑦 + 𝛽 𝜃 𝑜𝑙𝑑
𝑖
− 𝜃 𝑜𝑙𝑑
𝑖−1 2
New words
New buckets
CE– Учим CrossEntropy
– Harmonic regularization
Harmonic
Reg.
Harmonic
Reg.
60. Triplet loss для Антифишинга
Anchor
positive + α < negative
minimize maximize
Negative
Positive
FaceNet: A Unified Embedding for Face Recognition and Clustering
61. Triplet loss: harmonic
– Learn from scratch Model v2
Anchor
minimize maximize
Negative
Positive
New
62. Triplet loss: harmonic
– Learn from scratch Model v2
minimize maximize
Emb v1
Emb v2
Emb v1
Emb v2
Emb v1
– Retrain Embedding layer
– Then the whole net
стоит время, вся команда может заниматься только поддержкой моделей запросто, без бюджета на инновации
все это не какие-то космолеты - а понятные и часто достаточно простые вещи
дизайн таких систем: через эволюцию и след. шаг, почему: …
месяц жизни разраба
битва ML-алгоритмов,
по кнопкам
80% нигерйский FP – реально спам
свое уникальное восприятие удачи
связанный ML – например пост-проверка с более полными данными
модель может тупо не поддерживать дообучение
Если есть возможность избежать асессоров в цикле - избегаем,
модель может тупо не поддерживать дообучение
тут важна уверенность что не сломается, приемственность моделей - мы не хотим чтобы она каждый раз выдывала неизвестно знает что и обрабатывать коннер кейсы (они всегда будут, но желательно те же самые) иначе увеличена поддержка
Если не применять спец. Техники можно сделать только хуже
Трейн датасет != продакшен распределение
Нужны спец. техники
Старая модель работает в проде и мы можем ей верить
Допилили lightgbm
tODO: анимашки
Снова допилили фаст-текст
Есть разные вариации, чего учить чего морозить (n-gramm), но по аналогии с успешным опытом на лин. моделей
Несколько фасттекстов, CNN
Каждая модель изменяется предсказуемо
Каждая модель изменяется предсказуемо
Каждая модель изменяется предсказуемо
Каждая модель изменяется предсказуемо
улучшает здоровье =)
быстро предовтращать и митигировать последствия
эффект: любой факап рушит обрушивает это value и устраивает disruption и отток пользователей (в нашем мире когда время все ценнее, никто не хочет тратить время на ваши баги и просто пойдет в другой продукт)
Пример системы который рубит редкий но опасный спам, сломался признак, которую должным образом не замониторили и не обложили анти-факапными мерами и тестированием признаков
у нас плохая память - чек-лист проекта на сдаче или в процессе, не полагайтесь на людей, система
Причем у нас две системы накатки моделей и логики, цель которых привезти модель как можно скорее модель и безопаснее
И аб-тесты когда уже модель начинает использоваться
каждый след. шаг обходится дороже, баг надо отловить как можно раньше
Пер инстанс, алерты
взять и переписать маленькую часть легче чем космолет (стори про индусов)
Заменить fast-text потом на transformer – т.к.
Даже закаленные люди совершают ошибку: о интересная задача гоу-гоу
Эти вещи помогут быстрее улучшать ваши продукты и вам соблюдать worklife balance (если существует).