Bayesian Noise
61 subscribers
57 photos
234 links
Канал @nesterione. Посты про ИТ, машинное обучение, рациональность, иногда просто заметки и наблюдения.

з.ы. картинка не картинка...
Download Telegram
Kaggle мощная платформа для Data Science, там можно не только соревноваться, но и находить готовые решения, статьи и интересные обсуждения. Сегодня заметил, что у них появился раздел для обучения https://www.kaggle.com/learn/overview На первый взгляд всё последовательно и в удобном формате. Важная подборка материалов для начинающих, здесь информация как о python и в целом о ML, так основы pandas, визуализации и deep learning

#learn #course #kaggle #ml
Google magenta занимается различными идеями применения машинного обучения в творчестве. Сегодня обнаружил у них набор интерактивных демок, которые можно запустить прямо в браузере, от генерации изображений до создания музыки (если музыку сгенерировала сеть, то кому принадлежат права на эту музыку?)

Заходите и творите вместе с машиной https://magenta.tensorflow.org/demos

В дополнение подробная статья, как на keras сделать свою модель для переноса стиля на изображения, всё очень просто и подробно написано здесь https://medium.com/tensorflow/neural-style-transfer-creating-art-with-deep-learning-using-tf-keras-and-eager-execution-7d541ac31398 отличная возможность попробовать eager execution.

#art #ml #nn
Bayesian Noise
Пора уже дополнить список полезных инструментов для поиска датасетов, Гугл недавно запустил бета-версию поиска по открытым датасетам https://ai.googleblog.com/2018/09/building-google-dataset-search-and.html Доступен он здесь https://toolbox.google.com/datasetsearch…
В коллекцию ссылок на датасеты добавлю ещё одну, https://www.visualdata.io/ когда впервые сайт увидел, думал протянет не долго, но ещё не закрылся, а новые наборы добавляются регулярно. Сейчас там 245 датасетов изображений, а вы сами понимаете как важны данные для машинного обучения.

#ml #dataset
Статья http://hookedondata.org/Red-Flags-in-Data-Science-Interviews/ про то, какие вопросы важно задавать компании, куда вы хотите прийти работать data science специалистом. Да, всё верно, интервью это двухсторонний процесс, поэтому вопросы нужно задавать, чтобы понять, стоит ли идти работать в эту компанию.

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

#ml #sdp
Модель позволяющая удалять фильтры снепчата с фотографий https://github.com/ipsingh06/ml-desnapify Идея простая: берём pix2pix, готовим датасет. На вход модели подаётся изображение с фильтром, на выходе оригинал.

#ml #fun
Вероятно вы слышали про LASSO, Ridge и Elastic Net регрессию и часто в учебниках можно встретить все эти названия, но вот я первое время считал это всё разными алгоритмами, но вот объяснение разницы между этими методами крайне простое.

Алгоритмы машинного обучения имеют способность переобучаться, один из способов борьбы - добавить регуляризацию. Известные методы: L1, L2 регуляризация или комбинация L1+L2.

В итоге вот что мы имеем:

LASSO - Regression with L1 regularization
Ridge Regression - Regression with L2 regularization
Elastic Net - Regression with L1+L2 regularization

источник https://twitter.com/chanep/status/1086659470288216070

#ml #regression
Про исследовательскую деятельность.

В мире машинного обучения самая крупная научная конференция nips https://nips.cc/ . Много интересного можно найти по хештегу #NeurIPS2018 например в твитере https://twitter.com/hashtag/NeurIPS2018

Интересная статья на хабре о том, как попасть на конференцию через специальные соревнования https://habr.com/company/ods/blog/430712/ В основном описан сам процесс соревнований. В статье про RL, да, тот же подход, что и для Star Craft.

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

https://medium.com/s/story/so-you-want-to-be-a-research-scientist-363c075d3d4c

Главные тезисы:
- придётся решать задачи на которые нет ответов (сложно перестроить мозг после обычного образования, где ответы всегда есть)
- придётся работать только с тем, что не работает иначе это уже перестаёт быть исследованием
- результаты работы быстро устаревают
- большая ответственность, потому что нужно выбирать что-то одно из всех возможных вариантов, чем можно заниматься

Кому интересна тема науки (не путать с получением к.т.н. в каком-нибудь но-нейм-вузе и реальной наукой), обязательно посмотрите статью.

#ml #research
Удивительно полезный сайт для исследователей и практиков машинного обучения https://paperswithcode.com/ Как вы уже догадались из названия, там можно находить не только последние статьи, но и код. Сайт хорошо структурирован, можно легко найти нужные работы, есть рейтинги от пользователей.

Недавно появился ещё один раздел https://paperswithcode.com/sota, здесь собраны State-Of-The-Art решения для разных задач. Если нужно быстро вникнуть в новую задачу, это хорошая отправная точка. Находите SOTA решение похожей задачи, смотрите какие есть подходы и на каких датасетах оценивается результат и начинаете экспериментировать.

#code #paper #useful #sota #ml
На прошлой неделе посетил конференцию https://bulbacon.com/. Теперь все доклады доступны на сайте. Сами по себе доклады интересны, но всё же посещать такие мероприятия интереснее вживую, а если удалось пообщаться с другими участниками, то минимум выполнен - нетворкинг - то, ради чего нужно посещать конференции, хотя сама атмосфера и движение вокруг тоже мотивирует.

Я могу отметить несколько понравившихся докладов:

- Быстрый ML inference на мобильных устройствах - запуск нейронных сетей на мобильных устройствах совсем непростая задача, интересно услышать советы от практиков.
- Ржавые грабли и серебряные пули: как мы разрабатывали Wanna Kicks - здесь можно послушать про опыт и ошибки при разработке проекта.
- Реалистичное 3d телеприсутствие - здесь отметил для себя несколько интересных задач, где применяются нейронные сети. А вы думали, что когда-нибудь текстуры на аватары будут натягивать сетками?

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

#ml #conference
Неоднократно ссылался на гайды от гугл про машинное обучение, уж очевидно, что им есть что рассказать о ML и больших данных. Нашёл время и прочёл очередную серию статей https://developers.google.com/machine-learning/problem-framing - про постановку задач машинного обучения.

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

Дальше лонгрид резюме, набор полезных сниппетов заметок важных идей для себя. Получилось реально много букв, поэтому вынев в telegraph
https://telegra.ph/Postanovka-zadachi-ML-04-07

#ml #problem #framing #production #engineering
Около недели назад посетил https://datafest.by в Минске, некоторые заметки по этому поводу.

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

В основном слушал доклады со второго трека (видео со второго трека пока не опубликованы, с первого уже доступны).

Чтобы организовать работу команды data science, нужно подумать о том, как контролировать версии моделей, данных и пайплайнов и иметь возможность повторять эксперименты. Про это первых 2 доклада.

1. Создание Data Science архитектуры на базе Apache Airflow - узнал про https://azkaban.github.io/ и https://airflow.apache.org/, так же был упомянут шаблон data science проекта, с которого мы тоже когда-то начинали https://drivendata.github.io/cookiecutter-data-science/ - в целом доклад суховат, и больше про пайплайны, а не про управление экспериментами.

2. Начните с контроля версий и управления экспериментами в ML проектах. Доклад про DVC и он как раз более интересный и полезный для начинающей ML команды. В нём разбирается переход от простого, к более сложному проекту, показывая какие подходы и инструменты позволяют улучшить проект. Про https://dvc.org/ знал давно, похоже пока это лучший инструмент, хоть и не лишён недостатков. Из доклада узнал про https://mlflow.org/, мне этот инструмент кажется довольно интересным.

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

4. Откуда, куда и как быстро бежит NLP. - последовательное изложение достижений NLP от более простого к SOTA на данный момент решениям - если вы только начали работать с NLP будет очень полезно, но если вы знаете о Transformer и BERT, думаю вы и так всё знаете.

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

В докладе показывали такую карту сентимента новостей https://krimmkr.carto.com/builder/e211c628-c0b7-4877-8cae-b4832d93c75c/embed

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

Дальше я переместился в трек 1

6. Полностью генеративные ответы на вопросы в Поддержку ВКонтакте - доклад не зашёл, мои ожидания были выше, того, что я узнал.

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

8. Как понять пешеходов - действительно, как? Доклад традиционно рассказывает о проблемах, и почему простые методы не работают, слушать увлекательно, решения интересные - в очередной раз хочу сказать, что Deep Learning + творческое мышление = интересный результат.

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

#ml #datafest #summary
Если вы не знаете как потратить вечер субботы летом, у меня есть для вас идея: 13-го июля проводим первый в Гомеле митап посвящённый Data Science, я участвую в организации, можно задавать мне вопросы. Мероприятие пробное, но обещает быть интересным. Если вы не занимаетесь непосредственно машинным обучением, вы можете найти для себя полезную информацию, и не забывайте, что ценность митапа в большей степени не в докладах, а в возможности поговорить с разными людьми, разным опытом

https://communities.by/events/machine-learning-community-meetup-1

Пожалуйста, нажимайте кнопку регистрации, знание о количестве участников поможет нам лучше организовать пространство.

#ml #event #gomel
Меня часто спрашивают что нужно изучить, чтобы создавать свои нейронные сети. Помимо знаний в математике вам понадобится какой-нибудь deep learning фреймворк. Появление tensoflow упростило исследования и позволило внедрять их в продакшен. PyTorch - это новая "звезда", и темпы распространения в сообществе разработчиков действительно удивляют. Он проще tf и если вы не изучали ничего, то pytorch покажется вам проще и логичнее. График взят с твита https://twitter.com/RitchieNg/status/1155026908855226369/photo/1 #dl #ml #tf #pytorch
Узнал недавно про один простой модуль позволяющий ускорить первичный EDA (exploratory data analysis) данных.

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

Github проекта: https://github.com/pandas-profiling/pandas-profiling

Я подготовил Kaggel Kernel, где можно покликать и посмотреть, что можно получить совсем без усилий: https://www.kaggle.com/nesterione/examples-pandas-profiling

#tool #ml
Я несколько раз упоминал о гайдах от google о машинном обучении (https://t.me/bayesian_noise/163), мне нравится их подход всё с озов, но достаточно глубоко по каждой теме https://developers.google.com/machine-learning/ - сейчас обнаружил, что были добавлены ещё несколько разделов.

Их базовый курс (crash-course) мне не нравится, на coursera от того же яндекса курсы полезнее, а вот остальные материалы советую смотреть,
problem-framing - о постановке задачи машинного обучения, о том, как правильно понять, какая модель нужна для решения проблемы бизнеса.
data-prep - про подготовку данных - практические советы, как собирать данные
clustering - о кластеризации данных и как проверять результаты
recommendation - как строить рекомендательные системы
testing-debugging - очень полезная тема для промышленного использования, которая редко освещается

Обязательно взгляните на словарик терминов, просто пролистав его, вы не плохо расширите представление о ML https://developers.google.com/machine-learning/glossary/

#google #course
Как вы знаете, за последние годы происходит много нового в машинном обучении. Rак в исследованиях, так и в инструментах для разработки.
Чем больше машинное обучение используется в продакшене, там больше возникает спрос на разные инструменты помогающие организовать работу.

Если вы занимаетесь разработкой, то по любому используете систему контроля версий, для машинного обучения ещё нет такого же повсеместно используемого инструмента, но есть хорошие проекты, например https://dvc.org/

Сегодня команда DVC запустила ещё один продукт https://cml.dev/ (Continuous Machine Learning (CML) is CI/CD for Machine Learning Projects), на первый взгляд выглядит просто, но ещё остаётся масса вопросов.

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

#ml #tool
Про разметку данных в машинном обучении

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

Есть разные подборки инструментов https://github.com/heartexlabs/awesome-data-labeling, но большая часть просто ужасны, поэтому компании вынуждены делать что-то своё или покупать платное решение (вполне ниша для бизнеса)

Совершенно недавно узнал про новый инструмент https://labelstud.io

Почему вам стоит на него посмотреть?

— Можно размечать картинки, текст, звук, временные ряды
— Можно подключать ML модель, чтобы делать предварительную разметку, и тем самым ускорять подготовку новых данных
— Есть возможность задавать различные атрибуты и проставлять связи, между объектами
— Вполне живой github
— Хорошая документация и приятный UX
— Есть интеграция с s3, google cloud, странная, но работает

Что пока не понравилось?
— Нет возможности группировать картинки, например если вы делаете разметку pdf документов, хотелось бы все страницы в одном месте
— Довольно странная конфигурация проектов

Ссылка на github https://github.com/heartexlabs/label-studio , если вам нужна разметка, попробуйте, возможно вам подойдёт.

#ml #data #labeling
Вышел новый отчёт State of AI 2020 https://www.stateof.ai/ , презентация https://docs.google.com/presentation/d/1ZUimafgXCBSLsgbacd6-a-dqO7yLyzIl1ZJbiCBUUT4/edit

Некоторые моменты из отчёта:

- 15% статей публикуют свой код
- PyTorch становится популярнее в ресёрче и на github
- Модели в NLP продолжают расти по количеству параметров GPT-3
- Тренировка GPT-3 оценивается в 10 млн $
- Ещё одна модель которая обходит BERT для re-ranking ConveRT
- NLP бенчмарк SuperGLUE почти побит
- AI в биологии, 50% рост количества статей по биологии, где используются AI методы
- Большое количество улучшений CV
- Фармакологические компании активно заявляют, что используют AI для разработки лекарств
- Super-resolution используются в электронных микроскопах
- Больше половины штатов в США приняли законы для регулирования автономных автомобилей
- Качество supervised систем перестало ускоряться, возможно нужны другие подходы
- Многие компании выкладывают в open source большие датасеты, это важно для развития области
- Graphcore hardware компания, которая показывает впечатляющие результаты, и может быть сможет составить конкуренцию NVIDIA
- Взрыв популярности к MLOPS — это хорошо, означает, что индустрия начинает взрослеть
- RPA наиболее популярная область в enterprise
- BERT используется в поиске google и microsoft
- Hugging Face один из важнейших проектов в NLP
- Ещё большое случаев, когда модель ведёт себя не политкорректно из-за данных, на которых была обучена

Рекомендую посмотреть отчёт

#ml #progress
MLOps становится всё популярнее

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

Недавно встретил такой сайт https://ml-ops.org/, где собрана и хорошо структурирована информация по MLOps. Очень рекомендую

Отмечу несколько разделов:

https://ml-ops.org/content/phase-zero — тут представляется AI Canvas, похоже на Lean Canvas, только для AI проекта, шаблон полезный, так как предлагает набор вопросов, о которых следует подумать до начала проекта

https://ml-ops.org/content/state-of-mlops — здесь собраны инструменты и сгруппированы по их назначению.

#ml #ops
Небольшая статья достоянная прочтения о том, почему ML проекты проваливаются https://towardsdatascience.com/what-is-the-main-reason-most-ml-projects-fail-515d409a161f

В статье говорится о двух основных причинах:

Цена итерации — при разработке ML продуктов подготовка данных очень дорогая стадия, как по деньгам, так и по времени. Если плохо поставили задачу или данные разметили не так, то повторная операция приведёт к существенным затратам.

Определения готовности (definition of readiness) "How good is good enough" — действительно это частая проблема, когда принимающее решение на проекте люди, не понимают, когда стоит остановиться и продолжить внедрение. Всегда можно попробовать ещё что-нибудь, чтобы улучшить модель, но для успешного продукта, нужно держать в уме цели продукта, не только модели.

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

#ml #production