Data Science News
441 subscribers
56 photos
1 video
5 files
245 links
Данные, инструменты для них и немного математики.

Чат: @data_science_chat

Для контактов: @telejamm
Download Telegram
Исследование под названием Fake News Detection on Social Media using Geometric Deep Learning (статья, код) вышла в начале 2019 года, но пройти мимо этой работы просто невозвожно.

К задаче классификации фейковых новостей существует как минимум два подхода. Первый основан на лингвистическом анализе контента (content-based analysis). Интерпретация контента требуют от NLP модели политических, социальных, общих знаний, и здесь, даже на текущий момент, нет существенного прогресса. Более того, фейковые новости, зачастую, умышленно манипулируют фактами, и даже для натренированных людей сходу классифицировать фейки бывает достаточно сложно. Авторы предлагают использовать другой подход, основанный на анализе характера распространения (Propagation-based) новостей в социальных сетях (twitter). Этот подход независим от языка, имеет большую надежность и устойчив к состязательным атакам. Итоговая модель демонстрирует точность ROC AUC 92.7% (!) и способна достаточно точно классифицировать фейки спустя всего два часа с начала распространения информации.

В работе подробно описан протокол подготовки датасэта (2 страницы!). Данные собирались вручную, проверки выполнялись специальными людьми (fact-checkers). Для связи новостей с данными twitter использовались URL, которые так же проверялись специалистами. Данные twitter отражают каскад распространения новостей в виде социального графа. Таким образом входные данные отражают четыре группы признаков: данные профиля пользователя (геолокация, язык, дата создания и т.д.), активность пользователя (статусы, избранное и прочее), характер распространения новостей (связи между пользователями, количество подписчиков, ретвиты и т.д.) и сам контент (word embedding и хэштеги).

Кульминация работы – это применение Geometric deep learning. Если кратко, то это обобщение нейронных сетей на неевклидовых входных данных, такими являются графы и многообразие (привет дифгем и топология!). Если некратко, то вот исходная работа, а вот видео от Microsoft Research по графовым нейронным сетям. Архитектура модели получилась довольно простой – несколько свёрточных слоёв на графах и полносвязных сетей с классификатором на выходе. И не забываем, что это статья по социальным наукам! В работе представлено много интересных наблюдений. Например, пользователи twitter сильно поляризованы по характеру распространения фейковых новостей.

Авторы показали изящный подход к сложной NLP задаче. Полученная модель не требует тысячи часов обучения на TPU как BERT и способна очень точно классифицировать фейки.
Data Science News pinned «Настольные книжки у нас уже были, но есть ещё отличные онлайн материалы. Это некоторые базовые вещи, которые помогают понимать что вообще происходит вокруг. Важно, что всё это в наши дни можно получить бесплатно и не выходя из дома. MIT OpenCourseWare –…»
Сегодняшняя заметка будет посвящена обучению с подкреплением (reinforcement learning, RL). Наиболее яркие сферы применения RL это робототехника, управление, игры (ещё Dota2 и AlphaGo), автономные транспортные средства, финансы и экономика.

Paperspace Blog опубликовал целую трилогию по основам RL. Блог-пост под названием A Thorough Introduction to Reinforcement Learning – это основы RL за 10 минут. Здесь вы узнаете про основные понятия и Марковский процесс принятия решений (Markov decision process, MDP), откуда берутся уравнения Беллмана (Bellman equation), как вычислить оптимальную стратегию и зачем аппроксимировать Q-таблицу с помощью глубокого Q-обучения (Deep Q-Learning). Довольно ёмко и по сути.

В заметке The Machine Learning Practitioner's Guide to Reinforcement Learning: All About Markov Decision Processes подробно рассматривается MDP на примере игры Atari и среды CartPole-v0 (балансировка вертикального шеста).

Третий пост The Machine Learning Practitioner's Guide to Reinforcement Learning: Overview of the RL Universe это обзорный пост по существующим алгоритмам RL с примерами.

UPD: ещё отличное практическое руководство по работе с тестовой RL средой OpenAI Gym

Ну а если весь этот материал видится вам избитым и скучным, то посмотрите на применение RL в молекулярной биологии. Работа Molecular Design in Synthetically Accessible Chemical Space via Deep Reinforcement Learning демонстрирует ML фреймворк, который синтезирует молекулы и помогает убедиться в том, что соединения, созданные в результате компьютерного моделирования, получится в дальнейшем синтезировать в лаборатории.
Данные публичных ML проектов говорят нам что PyTorch доминирует в исследовательских работах как минимум с марта 2019 года. Осваивать новый фреймворк интересно, но на это не всегда есть время. Однако, проект LabML Neural Networks (Github) существенно упрощает задачу. LabML NN – это коллекция PyTorch реализаций нейронных сетей и ML алгоритмов. Самая бомбовая часть проекта – это его сайт. Просто посмотрите на реализацию, например, Multi-Head Attention или оптимизатора Adam. Слева пояснения и формулы, справа код (и мобильная версия довольно сносная). Лучше этого сложно что-то придумать. Даже если вы не собираетесь экспериментировать на PyTorch левая часть сайта это мини-шпаргалка по последним моделям и алгоритмам.
Специалисты из Microsoft Research и университета Карнеги-Меллона исследовали (статья, блог) интересный феномен глубокого обучения, который возникает при использования ансамбля методов (еnsemble learning) и knowledge distillation (подскажите как по-русски).

На первом этапе ученые использовали стандартный набор данных CIFAR-100 и архитектуру WideResNet-28-10 которая была обучена 10 раз с различной случайной инициализацией весов в модели. Точность на тестовом наборе составила 81.51% при стандартном отклонении 0.16%. То есть, каждая индивидуально обученная модель даёт почти одинаковый результат, что логично. Следующим шагом, для чистоты эксперимента, все 10 моделей были обучены одновременно, а за выходное значение комплексной модели было принято взвешенное среднее выходов 10 моделей. И такой подход не даёт никакого преимущества по точности. Но дальше начинаются странные вещи.

Первое, если обучить 10 моделей по методике еnsemble learning, то на выходе мы увидим существенный прирост точности с 81.51 до 84.87%! То есть, это те же 10 моделей, с той же различной рандомной инициализацией, но в качестве выходного значения принимается невзвешенное среднее всех моделей. Это довольно интересный факт, который доказан экспериментально.

Но что удивляет ещё больше, так это применение knowledge distillation. Дело в том, что 10 моделей это очень медленно в производстве. Многие жертвуют точностью ради экономии вычислительных ресурсов. Подход knowledge distillation предполагает обучение одной модели, но учится она не на размеченных данных, а на выходах, например, комплексной модели, полученной с помощью еnsemble learning. То есть, метки набора данных содержат псевдовероятность 100% для, например, автомобиля, и 0% для всех остальных классов. А выход модели еnsemble learning будет примерно такой: 80% автомобиль, 15% велосипед и 5% бульдог. И если вы обучите с помощью knowledge distillation, то получите 83.81%, то есть такую же точность, только это будет уже одна модель, а не 10!

Ну и самое удивительное, это Self-distillation. Если взять только одну модель и обучить её. А затем вторую модель обучить на основе выходов первой модели, то вы получите существенный прирост производительности. Вот что действительно заставляет задуматься.

Вся остальная часть работы посвящена попыткам объяснить почему так происходит. Оказывается, что прирост производительности будет не всегда: если данные похоже на гаусовские, то еnsemble learning не даёт преимуществ. Кроме этого, существующие теоремы не могут корректно объяснить прирост производительности… В общем, это крайне интересная работа на 69 страниц с кучей математики и смелыми предположениями к объяснению того, что мы видим в экспериментах.
TransGAN: Two Transformers Can Make One Strong GAN (статья, код, вдеоразбор) - это новая топовая модель (State-Of-The-Art) в области генерации изображений.

Новая генеративно-состязательная сеть (Generative adversarial network, GAN) построена полностью на архитектуре трансформеров без участия свёрточных (convolutional neural network, CNN) блоков. Для достижения высокой результативности, авторы из университета Техаса, IBM и MIT предложили целый ряд интересных решений.

Архитектрура TransGAN состоит из генеративной и дискриминативной моделей. Дискриминатор – это просто ViT в чистом виде, который на выходе пытается различить сгенерированные и реальные картинки. А вот с генеративной моделью всё немного сложнее. Если просто развернуть архитектуру ViT вспять, то возникает проблема «склеивания» патчей на границах. Нормально это сделать невозможно, поэтому авторы предложили новую архитектуру. Кроме этого, были решены вопросы оптимизации связанные с большим расходом памяти блоков внимания в слоях трансформера.

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

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

Изюминка всех архитектурных решений - это маскировка или ограничение на количество оценки механизмом внимания пикселей (Locality-aware initialization for self-attention). На ранних стадиях обучения это всего несколько соседних пикселей (очень напоминает CNN), а на поздних это вся картинка целиком. В работе представлен анализ применения каждого каждого решения с опорой на точность. И как результат – первое место на наборе STL-10.
Сегодня у нас будет обзор блогов AI компаний и лабораторий.

BIAR опубликовал заметку про новый RL метод для адаптации обученных моделей в изменённых окружениях. Обученная RL модель в тестовом окружении зачастую показывает плохую производительность в реальном мире, особенно если условия вокруг агента существенно меняются (освещение, погодные условия, ландшафты и т.д.). Кроме этого, в реальной среде, информация о награде агента может быть недоступна. В таких условиях невозможно выполнить оптимизацию целевой функции на основе новых данных окружения. Учёные предложили подход самообучения агента в реальной среде (self-supervised policy adaptation, PAD). Вообще, по этой работе есть отдельно статья, целый сайт проекта, и конечно же, код. Однако, блог стоит почитать хотя бы для того, что бы насладиться прекрасным английским.

Google хвастается своей новой AutoML платформой. Фреймворк конструирует модели из заготовленных атомарных блоков, и, затем, перебирает конфигурации для достижения максимальной производительности на данных. Код проекта сопровождается понятным примером.

Снова Google, в сотрудничестве с DeepMind и университетом Торонто представил RL модель DreamerV2. Новая модель ставит рекорды на бенчмакрах в играх Atari. Если вы отличаете model-free подход от model-based, то вам срочно сюда. Ну и статья и неофициальная реализация модели то же имеется.

Facebook публикует исследование о способах работы со скрытыми повреждениями данных (silent data corruption), которые возникают в крупных дата-центрах. Ошибки в данных могут возникать из-за дефектного оборудования на котором математические операции над данными выполняются некорректно. Такие ошибки трудно отследить, а при обработке больших объёмов данных этот эффект усиливается. Статья носит инженерный уклон, а, значит, это ценный производственный опыт.

В завершение, стоит посмотреть на блог Paperspace, в котором опубликовано (Чать 1, Часть 2) практическое руководство по работе с временными рядами. Формулы, код и много текста. Всё как мы любим.

Хороших выходных!
Convex Optimization (S. Boyd & L. Vandenberghe) – фундаментальная книга о методах оптимизации от авторов из Стэндфордского университета и университета Калифорнии. Содержание книги разбито на три раздела: теория, приложения и алгоритмы. Разбор градиентного спуска начинается на странице 466. В приложениях есть удачные материалы по линейной алгебре. Книга доступна онлайн на странице автора в PDF.
Если вы еще не видели новый открытый курс от MIT по машинному обучению, то обязательно обратите на него внимание. Качественные лекции и лабы на tensorflow. Сейчас выложена только часть материала, так что уже можно смотреть и освежать практические навыки. Материал будет дополняться, а в конце будет конкурс проектов.
Обзор самого интересного в AI блогах за неделю:

Блог TF отличился статьей по вариационным методам. Статистика, алгоритмы и TF-probability. Не каждый день такое увидишь.

GoogleAI писал о новом потоковым ML аудио кодеке, есть примеры записей, можно посравнивать на слух. Кроме этого, в бекэнде TF-lite XNNPACK (оптимизация моделей для вэба и мобил) подросла производительность.

Беркли, как всегда, теоретизирует на тему RL.

OpenAI обнаружила, что их CLIP можно обмануть с помощью простых наклеек. И если после этого вас ещё интересует CLIP (ирония), то на roboflow появилось руководство по нему.

Хорошее практические введение про фреймворк Ray для распределённых вычислений.

Если вы любите pandas и хотите анализировать терабайты данных, то вот руководство как это сделать в упряжке с modin.

Для больших табличных данных есть ещё Dask и Vaex, и целых две заметки на эту тему

А ещё сейчас идёт крупнейшая AI конференция ICLR 2021 (там есть просто все). Регистрироваться на неё уже поздно, а вот доклады будут выгружены примерно через неделю. За прошлый год смотреть здесь
T-SNE (t-distributed stochastic neighbor embedding) – это техника уменьшения размерности для визуализации данных, которая была опубликована в 2008 году. В отличие от PCA (сохранение максимальной вариативности) и MDS (сохранение расстояний), t-SNE предназначена для анализа кластеризации данных. T-SNE своего рода незаменимый инструмент в разведочном анализе. Основные параметры это perplexity и количество компонент. Если с компонентами всё понятно, то вот с perplexity есть тонкие моменты. Более подробно об этом, с интерактивными примерами, можно посмотреть здесь
Практический курс "введение в статистику и машинное обучение" от Стэнфорда. Регрессия, методы классификации, выборки, SVM, кластеризация, деревья решений. Хорошо и на примерах разобраны такие статистические инструменты как LDA/QDA, PCR, PCA. По каждому разделу есть лабы на R.
Архитектура трансформеров - это сегодняшний мейнстрим, во многом за счёт высокой обобщающей способности и легкой адаптации модели к различных приложениям. Однако, эта технология глубокого обучения имеет существенный недостаток – это вычислительная сложность O(n^2) в механизме внимания. В прошлом году была представлена архитектура Linformer, способная выполнять операции с вниманием за линейное время. Этот метод обладает некоторыми недостатками, одним из которых является существенное снижение точности.

Свежая работа «Rethinking Attention with Performers» (статья, код-эталон, видео-разбор) это попытка подобрать оценку к исходной матрице внимания, которую можно вычислить за линейное время. Авторы представили метод FAVOR+ который не требует исходных предположений, имеет несмещённую оценку к матрице внимания и низкую дисперсию. Кроме этого, линейная архитектура FAVOR+ полностью совместима с архитектурой трансформеров и имеет фундаментальное теоретические обоснование.

Суть метода сводится к аппроксимации softmax составляющей механизма внимания векторным произведением двух функций (ядерный метод). За счёт такого представления становится возможным эффективно изменить порядок операций, что уменьшает вычислительную сложность до O(n). Если вы увлекаетесь теоретическими основами ML, то эта работа просто обязательна к прочтению: здесь обоснована оценка матрицы внимания, сформулировано и доказано 4 теоремы, результаты обоснованы экспериментально.

Предложенный метод аппроксимации параметризуется набором ортогональных случайных компонент (из многомерного нормального распределения) - чем больше компонент, тем точнее приближение. Ну а практикам стоит обратить внимание на количество реализаций этого метода: PWC уже насчитал 8 репозиториев с реализацией на pytorch и TF.
Термин Networking многим знаком из компьютерных сетей, а, например, предприниматель скажет, что это важно в бизнесе. В общем случае, с точки зрения математики, Networking можно задать графом, и получить богатствo операций из соответствующей теории. Неважно какая у вас предметная область: транспорт, социальные/компьютерные сети, взаимодействие белков клетках – графы позволяют выделить важные узлы и связи, понять структуру сети и характер распространения информации.

Если вы используете python, то вам определённо повезло. Для этого инструмента есть networkx (документация, лаба) и там есть всё что нужно. И вот ещё удачное руководство по оценке центральности. А если для вашего проекта важна скорость, то стоит присмотреться к python API для igraph.

В научном сообществе сейчас развивается целое направление по адаптации нейронных сетей к операциям на графах и многообразии (Geometric Deep Learning). И такой подход доказывают свою эффективность в задачах, где передовые NLP технологии не справляются.
Оказывается, у Гилберта Стрэнга есть учебник по линейной алгебре. Это просто огненный материал! PDF с книгой и задачами забираем в чате
Статистическая оценка мат. ожидания, дисперсии и корреляции во временых рядах требует стационарности. Для этого, из временного ряда нужно убрать общие тренды, сезонность и вариативность дисперсии. Как это быстро сделать на python читайте в заметке coderzcolumn
Paperspace отличается хорошим качеством гайдов. Вот несколько из последних:
1. Метод максимального правдоподобия. Основа основ.
2. Вступительные руководства по tensorflow и keras.
3. Распределённые вычисления на keras.
И ещё они сменили дизайн болга. Теперь он мало чем отличается от блогов openai и google. Видимо, чтобы не вносить диссонанс в AI аудиторию.
Time Series Analysis and Its Applications With R Examples, 4Ed (2016) by R.H. Shumway и D. S. Stoffer - это одна из лучших книг по временным рядам. Очень много примеров из реальных приложений, есть немного кода на R. Книга очень богата по содержанию, охватывает практически все основы анализа временных рядов. PDF здесь.
Если вы ещё не видели новую технику обучения DINO (статья, код, видео), то это новый лучший алгоритм (Unsupervised learning) для классификации изображений. Авторы из FB AI, Inria и Sorbonne University предложили метод самообучения на основе подхода self-distillation в комплексе с ViT.

В основе DINO лежит достаточно простая идея. На входе изображения по-разному дополняются (multi-crop augmentation) для двух моделей (student/teacher). Далее, модель студента формирует веса модели учителя с помощью техники exponential moving average. В процессе распространения данных в модели учителя дополнительно форсируется более точный прогноз наиболее вероятного класса. На выходе, на основе кросс-энтропии, два полученных распределения сравниваются и веса студента обновляются. То есть, разные части одной и той же картинки, «нарезанные» по-разному, должны попадать в один класс для двух моделей.

Самообучение – это важная проблема анализа данных. Например, с помощью DINO, добавив сверху линейный классификатор, можно очень точно выполнить целый ряд практических задач. Интересно, что лежащий в основе ViT однозначно выделяет важные для классификации области изображения, которые легко интерпретируются человеком (в отличие от CNN). Примечательно, что полученная модель группирует изображения в кластеры, близкие по значению в понимании человека: машины с машинами, птицы с птицами. Обязательно посмотрите иллюстрации в статье!

В блоге FB AI, кроме DINO, анонсирована не менее интересная технология под названием PAWS из разряда semi-supervised learning. Это техника позволяет обучать модели на порядок быстрее своих конкурентов, что очень важно на практике.
Paperspace сравнивает себя с colab. Среди преимуществ отмечается: 30ГБ оперативной памяти на всех инстансах (даже free), бOльший период содержания сессии при бездействии. На платном тарифе больше места для данных, которые не удаляются с машиной, лучше GPU. В блоге не сказано, но платная подписка colab доступна только для США. Так что, если вы решите купить colab pro, то придётся соврать (указав один из ZIP кодов США). Кто работал в colab, знают, что при малейшем промедлении машина отнимается, особенно если она с GPU. Так что заход Paperspace достаточно интересный. Кроме этого, в gradient доступен обычный привычный jupyter. Сейчас не так много вариантов, где можно позапускать свои ML проекты бесплатно или почти бесплатно. Если знаете, ещё варианты, пишите в комментариях.
YOLO классная технология, которая позволяет делать сервисы для людей. Например, есть у кого-то система видеонаблюдения и нужно там объекты распознавать – достаточно недорого оборудования, обучения на специализированном датасэте и готово! Можно в гостинице людей считать и машиноместа на парковках оптимизировать. Вот вам пошаговое руководство как это всё готовить.