🏂Как повысить качество производства продукции на 25% с помощью ИИ: опыт Fujitsu
Японский технологический гигант разработал AI-систему, которая выявляет отклонения во внешнем виде продукции, чтобы определить производственные проблемы еще до того, как материалы будут потрачены впустую.
ML-модель, обученная на смоделированных изображениях продуктов с отклонениями, способна обнаруживать различные проблемы. Например, изношенная резьба, дефектный рисунок проводки на разноцветных коврах или электронных деталях с разной формой проводов. ML-алгоритм получил высокую оценку качества: показатель AUROC составляет более 98%. Технология была протестирована на заводе Fujitsu в Нагано, который производит электронное оборудование. В результате трудозатраты на проверку качества печатных плат были уменьшены на ¼ от первоначального количества человеко-часов.
https://artificialintelligence-news.com/2021/03/29/fujitsu-develops-ai-product-abnormalities-manufacturing/
Японский технологический гигант разработал AI-систему, которая выявляет отклонения во внешнем виде продукции, чтобы определить производственные проблемы еще до того, как материалы будут потрачены впустую.
ML-модель, обученная на смоделированных изображениях продуктов с отклонениями, способна обнаруживать различные проблемы. Например, изношенная резьба, дефектный рисунок проводки на разноцветных коврах или электронных деталях с разной формой проводов. ML-алгоритм получил высокую оценку качества: показатель AUROC составляет более 98%. Технология была протестирована на заводе Fujitsu в Нагано, который производит электронное оборудование. В результате трудозатраты на проверку качества печатных плат были уменьшены на ¼ от первоначального количества человеко-часов.
https://artificialintelligence-news.com/2021/03/29/fujitsu-develops-ai-product-abnormalities-manufacturing/
🤠В январе 2021 года Open.AI представила новую ML-модель, нейронную сеть под названием DALL·E, которая создает изображения из текстовых подписей к понятиям естественного языка. Она имеет 12 миллиардов параметров и основана на GPT-3. DALL·E обучен генерировать изображения из текстовых описаний, используя набор данных из пар текст-изображение. Сеть может создавать антропоморфизированные версии животных и предметов, комбинировать несвязанные концепции правдоподобными способами, отображать тексты и применять преобразования к существующим изображениям.
Как и GPT-3, DALL·E - это языковая модель-трансформер: она получает текст и изображение в виде единого потока данных, содержащего до 1280 токенов, и обучается с максимальной вероятностью генерировать все токены один за другим. Токен - это любой символ из дискретного словаря, например, каждая английская буква - это токен из 26-буквенного алфавита. В словарном запасе DALL·E есть символы текстовых и графических концепций. В частности, каждая подпись изображения представлена с использованием максимум 256 токенов, закодированных с помощью BPE, с размером словаря 16384, а изображение представлено с использованием 1024 токенов из словаря размером 8192.
Во время обучения изображения предварительно обрабатываются до разрешения 256x256. Подобно VQVAE, каждое изображение сжимается до сетки 32x32 дискретных скрытых кодов с использованием дискретного предварительно обученного VAE. Это обеспечивает масштабирование до больших размеров словаря и позволяет DALL·E генерировать изображение с нуля и регенерировать любую прямоугольную область существующего изображения до нижнего правого угла в соответствии с текстовой подсказкой.
https://openai.com/blog/dall-e/
Как и GPT-3, DALL·E - это языковая модель-трансформер: она получает текст и изображение в виде единого потока данных, содержащего до 1280 токенов, и обучается с максимальной вероятностью генерировать все токены один за другим. Токен - это любой символ из дискретного словаря, например, каждая английская буква - это токен из 26-буквенного алфавита. В словарном запасе DALL·E есть символы текстовых и графических концепций. В частности, каждая подпись изображения представлена с использованием максимум 256 токенов, закодированных с помощью BPE, с размером словаря 16384, а изображение представлено с использованием 1024 токенов из словаря размером 8192.
Во время обучения изображения предварительно обрабатываются до разрешения 256x256. Подобно VQVAE, каждое изображение сжимается до сетки 32x32 дискретных скрытых кодов с использованием дискретного предварительно обученного VAE. Это обеспечивает масштабирование до больших размеров словаря и позволяет DALL·E генерировать изображение с нуля и регенерировать любую прямоугольную область существующего изображения до нижнего правого угла в соответствии с текстовой подсказкой.
https://openai.com/blog/dall-e/
OpenAI
DALL·E: Creating images from text
We’ve trained a neural network called DALL·E that creates images from text captions for a wide range of concepts expressible in natural language.
Оффер от Яндекса за выходные!
С 24 по 25 апреля пройдёт Weekend Offer для аналитиков — онлайн-встреча Яндекса, на которой можно пройти собеседования и получить оффер за выходные!
Чтобы попасть на Weekend Offer, необходимо решить 2-5 задач на платформе Яндекс.Контест. 24 апреля пройдут две часовые секции с кодом, а 25 апреля — часовые финалы с командами, на которых ваш потенциальный руководитель расскажет о сервисе, вашей роли и, возможно, даст ещё одну задачу. При взаимном интересе вы тем же вечером получите оффер.
Подробности и регистрация: https://clck.ru/UAzfb
С 24 по 25 апреля пройдёт Weekend Offer для аналитиков — онлайн-встреча Яндекса, на которой можно пройти собеседования и получить оффер за выходные!
Чтобы попасть на Weekend Offer, необходимо решить 2-5 задач на платформе Яндекс.Контест. 24 апреля пройдут две часовые секции с кодом, а 25 апреля — часовые финалы с командами, на которых ваш потенциальный руководитель расскажет о сервисе, вашей роли и, возможно, даст ещё одну задачу. При взаимном интересе вы тем же вечером получите оффер.
Подробности и регистрация: https://clck.ru/UAzfb
🙈Pandas – отличная Python-библиотека для анализа данных, которой должен владеть каждый Data Scientist. Однако, у этого инструмента нет многопроцессорной поддержки и он довольно медленно работает с большими наборами данных. Поэтому для быстрой обработки действительно больших массивов информации следует выбирать Vaex и Dask.
👍🏻Dask https://dask.org/ - библиотека анализа данных на базе Pandas с параллельными вычислениями и масштабируемой производительностью. Кроме Pandas, она также интегрирована с библиотеками Numpy и Scikit-learn, упрощая переключение между ними за счет API-интерфейсов на Python и структур данных.
👍🏻Vaex https://vaex.io/docs/index.html - высокопроизводительная Python-библиотека для отложенных вычислений с «ленивыми» датафреймами, аналогичных Pandas, а также визуализации и агрегирования Big Data. Она позволяет вычислять базовую статистику по миллиарду строк в секунду, но, в отличие от Dask, не полностью интегрирована с другими библиотеками.
👍🏻Dask https://dask.org/ - библиотека анализа данных на базе Pandas с параллельными вычислениями и масштабируемой производительностью. Кроме Pandas, она также интегрирована с библиотеками Numpy и Scikit-learn, упрощая переключение между ними за счет API-интерфейсов на Python и структур данных.
👍🏻Vaex https://vaex.io/docs/index.html - высокопроизводительная Python-библиотека для отложенных вычислений с «ленивыми» датафреймами, аналогичных Pandas, а также визуализации и агрегирования Big Data. Она позволяет вычислять базовую статистику по миллиарду строк в секунду, но, в отличие от Dask, не полностью интегрирована с другими библиотеками.
www.dask.org
Dask | Scale the Python tools you love
Dask is a flexible open-source Python library for parallel computing maintained by OSS contributors across dozens of companies including Anaconda, Coiled, SaturnCloud, and nvidia.
🤜🏻 З простых Python-функции для работы с пропусками в датасете для ML
• fillna() - функция из пакета Pandas для заполнения нулевых (NA/NaN) значений в данных. Она возвращает объект, в котором заполнены нулевые и отсутствующие значения: Series.fillna (значение = None, method = None, axis = None, inplace = False, ** kwargs)
• dropna() - функция для удаления нулевых значений из данных разными способами. Она анализирует и удаляет строки/столбцы, в которых есть отсутствующие или неопределенные значения (NaN). Значение параметра axis указывает, со строками или столбцами нужно работать: 0 – удаление строк с пропущенными значениями, а axis=1 удалит столбцы с пропусками. DataFrame.dropna (axis = 0, how = ’any’, thresh = None, subset = None, inplace = False)
• interpolate() – функция для заполнения отсутствующих значений/NaN с использованием разных методов интерполяции. DataFrame.interpolate(method=’linear’, axis=0, limit=None, inplace=False, limit_direction=’forward’, limit_area=None, downcast=None, **kwargs)
• fillna() - функция из пакета Pandas для заполнения нулевых (NA/NaN) значений в данных. Она возвращает объект, в котором заполнены нулевые и отсутствующие значения: Series.fillna (значение = None, method = None, axis = None, inplace = False, ** kwargs)
• dropna() - функция для удаления нулевых значений из данных разными способами. Она анализирует и удаляет строки/столбцы, в которых есть отсутствующие или неопределенные значения (NaN). Значение параметра axis указывает, со строками или столбцами нужно работать: 0 – удаление строк с пропущенными значениями, а axis=1 удалит столбцы с пропусками. DataFrame.dropna (axis = 0, how = ’any’, thresh = None, subset = None, inplace = False)
• interpolate() – функция для заполнения отсутствующих значений/NaN с использованием разных методов интерполяции. DataFrame.interpolate(method=’linear’, axis=0, limit=None, inplace=False, limit_direction=’forward’, limit_area=None, downcast=None, **kwargs)
🙌🏻6 типов RNN для моделирования последовательных данных
Зачем моделировать последовательные данные и почему это не так-то просто. Решаем задачу с помощью рекуррентных нейросетей: много математики и наглядных иллюстраций, а также подробный пример реализации RNN в Keras / Tensorflow и Python.
https://neptune.ai/blog/recurrent-neural-network-guide
Зачем моделировать последовательные данные и почему это не так-то просто. Решаем задачу с помощью рекуррентных нейросетей: много математики и наглядных иллюстраций, а также подробный пример реализации RNN в Keras / Tensorflow и Python.
https://neptune.ai/blog/recurrent-neural-network-guide
neptune.ai
Recurrent Neural Network Guide: a Deep Dive in RNN
Sequence modeling is a task of modeling sequential data. Modeling sequence data is when you create a mathematical notion to understand and study sequential data, and use those understandings to generate, predict or classify the same for a specific application. …
🥁Как понять и разработать ИИ путем поиска и выделения репрезентативных сценариев: инструмент Bayes-TrEx от исследований MIT
Одной точности ML-результатов недостаточно, чтобы уверенно использовать их в любой области. Фокус только на этом показателе может привести к опасным упущениям. Модель может совершать ошибки с высокой степенью уверенности, сталкиваясь с чем-то ранее невидимым, например, когда беспилотный автомобиль видит новый дорожный знак. Чтобы улучшить взаимодействие человека и ИИ, группа исследователей из Лаборатории компьютерных наук и искусственного интеллекта Массачусетского технологического института создала новый инструмент под названием Bayes-TrEx, который позволяет разработчикам и пользователям повысить прозрачность своих AI-моделей. Это делается за счет поиска конкретных примеров, которые приводят к определенному поведению. В методе используется байесовский апостериорный вывод, широко используемый математический аппарат для рассуждения о неопределенности модели.
В ходе экспериментов метод Bayes-TrEx тестировался на нескольких наборов данных, позволив обнаружить новые идеи, которые ранее не учитывались стандартными оценками, сосредоточенными исключительно на точности прогнозов. Bayes-TrEx можно применять в медицинской диагностике, системах автономного вождения, робототехнике и пр. Метод поможет разрешить новые проблемные ситуации заранее и позволит разработчикам исправить любые нежелательные результаты до того, как случатся потенциальные трагедии или впустую потратятся ресурсы.
https://news.mit.edu/2021/more-transparency-understanding-machine-behaviors-bayes-trex-0322
Одной точности ML-результатов недостаточно, чтобы уверенно использовать их в любой области. Фокус только на этом показателе может привести к опасным упущениям. Модель может совершать ошибки с высокой степенью уверенности, сталкиваясь с чем-то ранее невидимым, например, когда беспилотный автомобиль видит новый дорожный знак. Чтобы улучшить взаимодействие человека и ИИ, группа исследователей из Лаборатории компьютерных наук и искусственного интеллекта Массачусетского технологического института создала новый инструмент под названием Bayes-TrEx, который позволяет разработчикам и пользователям повысить прозрачность своих AI-моделей. Это делается за счет поиска конкретных примеров, которые приводят к определенному поведению. В методе используется байесовский апостериорный вывод, широко используемый математический аппарат для рассуждения о неопределенности модели.
В ходе экспериментов метод Bayes-TrEx тестировался на нескольких наборов данных, позволив обнаружить новые идеи, которые ранее не учитывались стандартными оценками, сосредоточенными исключительно на точности прогнозов. Bayes-TrEx можно применять в медицинской диагностике, системах автономного вождения, робототехнике и пр. Метод поможет разрешить новые проблемные ситуации заранее и позволит разработчикам исправить любые нежелательные результаты до того, как случатся потенциальные трагедии или впустую потратятся ресурсы.
https://news.mit.edu/2021/more-transparency-understanding-machine-behaviors-bayes-trex-0322
MIT News
More transparency and understanding into machine behaviors
A tool called Bayes-TrEx allows artificial intelligence developers and users to gain transparency into their AI model. The work was led by researchers from MIT’s Computer Science and Artificial Intelligence Laboratory (CSAIL).
🥁Как удалить дубли в датасете при работе с Apache Spark?
Используйте следующие методы API-интерфейсов фреймворка:
• distinct() ¬- самый простой и часто использующийся способ убрать из датафрейма идентичные повторяющиеся строки
• dropDuplicates() – в отличие от distinct(), который не принимает аргументов вообще, в аргументах dropDuplicates() можно указать подмножество столбцов для удаления повторяющихся записей. Поэтому dropDuplicates(Seq <String> colNames) больше подходит, когда нужно обработать только некоторые столбцы из исходного набора данных.
• reduceByKey() – возвращает новый RDD - распределенный набор данных из пар «ключ-значение» (K, V), в котором все значения для одного ключа объединяются в кортеж - ключ и результат выполнения функции reduce для всех значений, связанных с этим ключом. Этот метод удаления дублей ограничен размером Scala-кортежа, который содержит от 2 до 22 элементов. Поэтому reduceByKey() не стоит использовать, когда в ключах или значениях Spark RDD более 22 столбцов.
• collect_set() - функция из API-интерфейса Spark SQL собирает и возвращает набор уникальных элементов. Она не является детерминированной, т.к. порядок результатов зависит от порядка строк, который может измениться после перемешивания, и представляет собой не «настоящую» дедупликацию. По сути, collect_set() – это сворачивание записей путем выполнения groupBy() и сбора уникальных значений для столбца, относящегося к каждой группе.
• написать собственную оконную функцию, чтобы обойти ограничение размера кортежей Scala. Например, разделить RDD по столбцам, отсортировать их и отфильтровать нужные значения.
Используйте следующие методы API-интерфейсов фреймворка:
• distinct() ¬- самый простой и часто использующийся способ убрать из датафрейма идентичные повторяющиеся строки
• dropDuplicates() – в отличие от distinct(), который не принимает аргументов вообще, в аргументах dropDuplicates() можно указать подмножество столбцов для удаления повторяющихся записей. Поэтому dropDuplicates(Seq <String> colNames) больше подходит, когда нужно обработать только некоторые столбцы из исходного набора данных.
• reduceByKey() – возвращает новый RDD - распределенный набор данных из пар «ключ-значение» (K, V), в котором все значения для одного ключа объединяются в кортеж - ключ и результат выполнения функции reduce для всех значений, связанных с этим ключом. Этот метод удаления дублей ограничен размером Scala-кортежа, который содержит от 2 до 22 элементов. Поэтому reduceByKey() не стоит использовать, когда в ключах или значениях Spark RDD более 22 столбцов.
• collect_set() - функция из API-интерфейса Spark SQL собирает и возвращает набор уникальных элементов. Она не является детерминированной, т.к. порядок результатов зависит от порядка строк, который может измениться после перемешивания, и представляет собой не «настоящую» дедупликацию. По сути, collect_set() – это сворачивание записей путем выполнения groupBy() и сбора уникальных значений для столбца, относящегося к каждой группе.
• написать собственную оконную функцию, чтобы обойти ограничение размера кортежей Scala. Например, разделить RDD по столбцам, отсортировать их и отфильтровать нужные значения.
Что такое Graph Transformer и как работает эта NN-модель
Нейронные сети на основе трансформаторов в NLP-задачах позволяют обойти ограничения рекуррентных нейронных сетей (RNN), вызванные последовательной обработкой. Сопоставляя слова в предложении и комбинируя полученную информацию, они могут генерировать абстрактные представления его признаков. Обучение на графах с графическими нейронными сетями (GNN) из нескольких параметризованных слоях стало мощным инструментом глубокого обучения. Каждый слой GNN берет граф с функциями узлов и ребер, строя абстрактные представления их признаков на основе доступной явной структуры связности (структуры графа). Сгенерированные таким образом признаки затем передаются на следующие уровни, чтобы спрогнозировать целевую фичу. Обобщение нейронных сетей-трансформеров до графов позволяет обучаться на графах и наборах данных с произвольной структурой, а не только на последовательных преобразователях NLP.
https://www.topbots.com/graph-transformer/
Нейронные сети на основе трансформаторов в NLP-задачах позволяют обойти ограничения рекуррентных нейронных сетей (RNN), вызванные последовательной обработкой. Сопоставляя слова в предложении и комбинируя полученную информацию, они могут генерировать абстрактные представления его признаков. Обучение на графах с графическими нейронными сетями (GNN) из нескольких параметризованных слоях стало мощным инструментом глубокого обучения. Каждый слой GNN берет граф с функциями узлов и ребер, строя абстрактные представления их признаков на основе доступной явной структуры связности (структуры графа). Сгенерированные таким образом признаки затем передаются на следующие уровни, чтобы спрогнозировать целевую фичу. Обобщение нейронных сетей-трансформеров до графов позволяет обучаться на графах и наборах данных с произвольной структурой, а не только на последовательных преобразователях NLP.
https://www.topbots.com/graph-transformer/
TOPBOTS
Graph Transformer: A Generalization of Transformers to Graphs
In this article, I'll present Graph Transformer, a transformer neural network that can operate on arbitrary graphs.
🎯Новое поколение AI-приложений с открытым API для продвинутой аналитики, от семантического поиска, обобщения и анализа тональности до генерации и перевода контента с GPT-3.
С момента первого коммерческого релиза OpenAI API от GPT-3 более 300 приложений используют его в различных категориях и отраслях, от производительности и образования до творчества и игр. Читайте 3 истории успеха https://openai.com/blog/gpt-3-apps/ и попробуйте сам продукт для своих DS-задач https://beta.openai.com/
С момента первого коммерческого релиза OpenAI API от GPT-3 более 300 приложений используют его в различных категориях и отраслях, от производительности и образования до творчества и игр. Читайте 3 истории успеха https://openai.com/blog/gpt-3-apps/ и попробуйте сам продукт для своих DS-задач https://beta.openai.com/
OpenAI
GPT-3 powers the next generation of apps
Over 300 applications are delivering GPT-3–powered search, conversation, text completion, and other advanced AI features through our API.
🌺Мир, труд, МАЙ! В последний весенний месяц 2021 года нас ждут интересные онлайн и офлайн митапы, конференции, форумы и прочие познавательные мероприятия для DS-любителей и профессионалов. Увидимся на новых DS-встречах!
13 мая - Цифровой четверг Х5 – Открытая дискуссия экспертов из НИУ ВШЭ, X5, Сибур, HeadHunter и других компаний о проблемах и задачах развития цифрового интеллекта для бизнеса и людей. https://x5-retail-group-event.timepad.ru/event/1615219/
14-21 мая - первый совместный хакатон от ВТБ и Магнит - регистрация до 12 мая. Выбирайте свой вариант из 17 бизнес-проектов и вместе с разработчиками, UI/UX-дизайнерами, маркетологами и аналитиками создайте рабочий прототип, чтобы 21 мая в самом центре Москвы представить его топ-менеджерам двух крупных корпораций. Победителей ждет призовой фонд 1 000 000 рублей. https://vtbxmgnt.ru/
17-18 мая HighLoad++ - Крупнейшая IT-конференция в России и Европе – онлайн трансляция из главного зала московского Крокус-Экспо, где для всех участников спикеры из Ozon, ВК, Mail.ru Group, Яндекса, Лаборатории Касперского и других крупных корпораций и интересных ИТ-компаний поделятся своим опытом построения высконагруженных систем для Data Science и не только https://www.highload.ru/spring/2021
25 мая – онлайн-конференция CNews "Интернет вещей 2021: тренды, проекты, результаты". Спикеры из S7, Сибур, МТС и пр. расскажут об интересных кейсах и трендах развития IoT/M2M-рынка https://events.cnews.ru/events/internet_veschei_2021__trendy__proekty__rezultaty.shtml
29-30 мая 2021 - CodeFest 11. Новая надежда, Новосибирск, Экспоцентр. Билеты офлайн уже закончились, но можно смотреть онлайн-трансляцию интересных докладов от разработчиков, product- и project-менеджеров, а также тим/тех-лидов из Яндекса, Тинькоф, 2ГИС, Самоката, DeepPavlov, ВК, EPAM и десятка других ИТ-компаний https://11.codefest.ru/
13 мая - Цифровой четверг Х5 – Открытая дискуссия экспертов из НИУ ВШЭ, X5, Сибур, HeadHunter и других компаний о проблемах и задачах развития цифрового интеллекта для бизнеса и людей. https://x5-retail-group-event.timepad.ru/event/1615219/
14-21 мая - первый совместный хакатон от ВТБ и Магнит - регистрация до 12 мая. Выбирайте свой вариант из 17 бизнес-проектов и вместе с разработчиками, UI/UX-дизайнерами, маркетологами и аналитиками создайте рабочий прототип, чтобы 21 мая в самом центре Москвы представить его топ-менеджерам двух крупных корпораций. Победителей ждет призовой фонд 1 000 000 рублей. https://vtbxmgnt.ru/
17-18 мая HighLoad++ - Крупнейшая IT-конференция в России и Европе – онлайн трансляция из главного зала московского Крокус-Экспо, где для всех участников спикеры из Ozon, ВК, Mail.ru Group, Яндекса, Лаборатории Касперского и других крупных корпораций и интересных ИТ-компаний поделятся своим опытом построения высконагруженных систем для Data Science и не только https://www.highload.ru/spring/2021
25 мая – онлайн-конференция CNews "Интернет вещей 2021: тренды, проекты, результаты". Спикеры из S7, Сибур, МТС и пр. расскажут об интересных кейсах и трендах развития IoT/M2M-рынка https://events.cnews.ru/events/internet_veschei_2021__trendy__proekty__rezultaty.shtml
29-30 мая 2021 - CodeFest 11. Новая надежда, Новосибирск, Экспоцентр. Билеты офлайн уже закончились, но можно смотреть онлайн-трансляцию интересных докладов от разработчиков, product- и project-менеджеров, а также тим/тех-лидов из Яндекса, Тинькоф, 2ГИС, Самоката, DeepPavlov, ВК, EPAM и десятка других ИТ-компаний https://11.codefest.ru/
🤦🏼♀️Слишком много данных? Маркируйте их метаданные и разделите на 3 категории: технические (логические и физические), операционные (статистика происхождения и профилирования данных) и метаданные команды от Data Scientist’ов и аналитиков.
Чтобы лучше понять каждый набор данных, задайте следующие вопросы:
1. Что логически представляют данные? Что означают атрибуты? Это источник истины или получен из другого набора данных?
2. Какова схема данных? Кто этим управляет? Как это было преобразовано?
3. Когда он последний раз обновлялся? Данные многоуровневые? Где предыдущие версии? Можно ли доверять этим данным? Насколько надежно качество данных?
4. Кто и/или какая команда является владельцем? Кто пользователи?
5. Какие механизмы запросов используются для доступа к данным? Версии наборов данных?
6. Где находятся данные? Где это тиражируется и в каком формате?
7. Как физически представлены данные и можно ли получить к ним доступ?
8. Существуют ли аналогичные наборы данных с общим похожим или идентичным содержанием как в целом, так и для отдельных столбцов?
Когда у вас есть ответы на эти вопросы по всем наборам данных, можно создать службу каталога метаданных, которая является важным строительным блоком платформ Data Lake / Data Mesh / Data Lakehouse. Эта служба обычно собирает метаданные после того, как наборы данных были созданы или обновлены различными конвейерами, не мешая владельцам или пользователям наборов данных.
https://medium.com/wrong-ml/why-is-understanding-datasets-hard-in-the-real-world-6eec47cafaa1
Чтобы лучше понять каждый набор данных, задайте следующие вопросы:
1. Что логически представляют данные? Что означают атрибуты? Это источник истины или получен из другого набора данных?
2. Какова схема данных? Кто этим управляет? Как это было преобразовано?
3. Когда он последний раз обновлялся? Данные многоуровневые? Где предыдущие версии? Можно ли доверять этим данным? Насколько надежно качество данных?
4. Кто и/или какая команда является владельцем? Кто пользователи?
5. Какие механизмы запросов используются для доступа к данным? Версии наборов данных?
6. Где находятся данные? Где это тиражируется и в каком формате?
7. Как физически представлены данные и можно ли получить к ним доступ?
8. Существуют ли аналогичные наборы данных с общим похожим или идентичным содержанием как в целом, так и для отдельных столбцов?
Когда у вас есть ответы на эти вопросы по всем наборам данных, можно создать службу каталога метаданных, которая является важным строительным блоком платформ Data Lake / Data Mesh / Data Lakehouse. Эта служба обычно собирает метаданные после того, как наборы данных были созданы или обновлены различными конвейерами, не мешая владельцам или пользователям наборов данных.
https://medium.com/wrong-ml/why-is-understanding-datasets-hard-in-the-real-world-6eec47cafaa1
Medium
Why is understanding datasets hard in the real-world?
There is no dearth of data within the enterprise, but consuming the data to solve business problems is a major challenge today. To extract…
👻Мягкотелые роботы с DL-нейросетями от исследователей MIT
Обычные роботы, жесткие и металлические, подходят не для всех задач, поэтому ученые давно работают над созданием гибких и мягких роботов, которые смогут безопасно взаимодействовать с людьми и легко проникать в ограниченные пространства. Но для этого роботу необходимо знать местонахождение всех частей своего тела, которое может изменяться в любой конфигурации.
Благодаря ограниченному диапазону движений за счет заданного набора суставов и конечностей жесткие роботы отлично управляемы с помощью алгоритмов, управляющих картированием и планированием их движения. Проблема мягких роботов в том, что пространство их деформаций и движений практически бесконечно. Разумеется, можно определять положение робота с помощью видеокамеры и просто передавать эту информацию в программу управления. Но здесь появляются зависимость от внешнего устройства (камеры). Поэтому, чтобы определить оптимальное количество датчиков и места их наиболее эффективного размещения на самом роботе, исследователи MIT разработали новую архитектуру нейросети. ML-алгоритм глубокого обучения оптимизирует размещение датчиков, обучаясь на данных о деформации разных участков тела робота в процессе его движения при выполнении прикладных задач, например, захват предметов.
Примечательно, что этот ML-алгоритм показал лучшие результаты в тестовой симуляции по сравнению с экспертными прогнозами робототехников на роботах с сенсорным экраном и сенсорным управлением.
https://news.mit.edu/2021/sensor-soft-robots-placement-0322
Обычные роботы, жесткие и металлические, подходят не для всех задач, поэтому ученые давно работают над созданием гибких и мягких роботов, которые смогут безопасно взаимодействовать с людьми и легко проникать в ограниченные пространства. Но для этого роботу необходимо знать местонахождение всех частей своего тела, которое может изменяться в любой конфигурации.
Благодаря ограниченному диапазону движений за счет заданного набора суставов и конечностей жесткие роботы отлично управляемы с помощью алгоритмов, управляющих картированием и планированием их движения. Проблема мягких роботов в том, что пространство их деформаций и движений практически бесконечно. Разумеется, можно определять положение робота с помощью видеокамеры и просто передавать эту информацию в программу управления. Но здесь появляются зависимость от внешнего устройства (камеры). Поэтому, чтобы определить оптимальное количество датчиков и места их наиболее эффективного размещения на самом роботе, исследователи MIT разработали новую архитектуру нейросети. ML-алгоритм глубокого обучения оптимизирует размещение датчиков, обучаясь на данных о деформации разных участков тела робота в процессе его движения при выполнении прикладных задач, например, захват предметов.
Примечательно, что этот ML-алгоритм показал лучшие результаты в тестовой симуляции по сравнению с экспертными прогнозами робототехников на роботах с сенсорным экраном и сенсорным управлением.
https://news.mit.edu/2021/sensor-soft-robots-placement-0322
MIT News
Researchers’ algorithm designs soft robots that sense
MIT researchers developed a deep learning neural network to aid the design of soft-bodied robots. The algorithm optimizes the arrangement of sensors on the robot, enabling it to complete tasks as efficiently as possible.
🏂Apache Spark для Data Scientist’а: краткий ликбез по ML-пакетам
Data Scientist’ы любят фреймворк Apache Spark не только за способность очень быстро обрабатывать действительно большие объемы данных, но и за наличие популярных алгоритмов машинного обучения (классификация, регрессия, кластеризация, фильтрация) и средств подготовки данных к моделированию (очистка, извлечение признаков, преобразование и пр.), а также алгебраических и статистических функций. Все это упаковано в специальные пакеты: MLLib (spark.mllib) и и ML (spark.ml) соответственно.
Интересно, что «Spark ML» не является официальным названием библиотеки в пакете spark.ml, но часто используется для обозначения API MLlib на основе DataFrame, в отличие от spark.mllib, которая работает со структурами данных более низкого уровня – RDD (Resilient Distributed Dataset, надежная распределенная коллекция типа таблицы). При этом официальная документация Apache Spark подчеркивает, что оба API поддерживаются и ни один из них не является устаревшим. Однако, на практике большинство современных разработчиков Spark-приложений, аналитиков данных и Data Scientist’ов работают именно со пакетом spark.ml из-за гибкого и удобного API DataFrame.
Data Scientist’ы любят фреймворк Apache Spark не только за способность очень быстро обрабатывать действительно большие объемы данных, но и за наличие популярных алгоритмов машинного обучения (классификация, регрессия, кластеризация, фильтрация) и средств подготовки данных к моделированию (очистка, извлечение признаков, преобразование и пр.), а также алгебраических и статистических функций. Все это упаковано в специальные пакеты: MLLib (spark.mllib) и и ML (spark.ml) соответственно.
Интересно, что «Spark ML» не является официальным названием библиотеки в пакете spark.ml, но часто используется для обозначения API MLlib на основе DataFrame, в отличие от spark.mllib, которая работает со структурами данных более низкого уровня – RDD (Resilient Distributed Dataset, надежная распределенная коллекция типа таблицы). При этом официальная документация Apache Spark подчеркивает, что оба API поддерживаются и ни один из них не является устаревшим. Однако, на практике большинство современных разработчиков Spark-приложений, аналитиков данных и Data Scientist’ов работают именно со пакетом spark.ml из-за гибкого и удобного API DataFrame.
👀YOLO – первая нейросеть, которая распознавала объекты в реальном времени на мобильных устройствах. Благодаря отсутствию циклов for в архитектуре слоев она обеспечивает высокие скорость и точность распознавания за один прогон, как это и следует из названия: You Look Only Once.
Первая версия YOLO была предложена в 2016 году, а сегодня, в мае 2021 года, вышла уже 5-я. На текущий момент нейросети семейства YOLO считаются одними из наиболее быстрых и точных алгоритмов обнаружения объектов в реальном времени.
YOLO работает быстрее R-CNN т.к, дробит изображение на постоянное количество ячеек, а не выделяет области и рассчитывает решение для каждой из них. Пока одной из главных проблем YOLO считается плохое качество распознавания объектов сложной формы или группы небольших объектов из-за недостаточного количества кандидатов для ограничивающих рамок.
Тем не менее, в декабре 2020 года Scaled YOLO v4 показала наилучшие результаты (55.8% AP) на датасете Microsoft COCO среди аналогов, обогнав по точности нейросети Google EfficientDet D7x/DetectoRS or SpineNet-190 (self-trained on extra-data), Amazon Cascade-RCNN, ResNest200 Microsoft RepPoints v2 и Facebook RetinaNet SpineNet-190. Такие результаты были достигнуты в условиях оптимального соотношения скорости к точности во всем диапазоне точности и скорости от 15 FPS до 1774 FPS.
Первая версия YOLO была предложена в 2016 году, а сегодня, в мае 2021 года, вышла уже 5-я. На текущий момент нейросети семейства YOLO считаются одними из наиболее быстрых и точных алгоритмов обнаружения объектов в реальном времени.
YOLO работает быстрее R-CNN т.к, дробит изображение на постоянное количество ячеек, а не выделяет области и рассчитывает решение для каждой из них. Пока одной из главных проблем YOLO считается плохое качество распознавания объектов сложной формы или группы небольших объектов из-за недостаточного количества кандидатов для ограничивающих рамок.
Тем не менее, в декабре 2020 года Scaled YOLO v4 показала наилучшие результаты (55.8% AP) на датасете Microsoft COCO среди аналогов, обогнав по точности нейросети Google EfficientDet D7x/DetectoRS or SpineNet-190 (self-trained on extra-data), Amazon Cascade-RCNN, ResNest200 Microsoft RepPoints v2 и Facebook RetinaNet SpineNet-190. Такие результаты были достигнуты в условиях оптимального соотношения скорости к точности во всем диапазоне точности и скорости от 15 FPS до 1774 FPS.
Forwarded from Бизнес-анализ | ИТ | ИИ
20 мая Сбер впервые проведет масштабную технологическую конференцию SmartDev, чтобы рассказать о максимуме возможностей для разработчиков и всего техно-сообщества.
💥 3000+ участников.
💥 50+ спикеров.
💥 6 параллельных стримов от техно-активов Сбера.
💥 Dev to dev.
На стриме платформы ML Space, эксперты и грандмастера Kaggle расскажут о возможностях ML Space — единственной облачной платформе в мире, позволяющей организовать распределенное обучение на 1000+ GPU. Впервые для российских разработчиков будут представлены новые модули платформы и инструменты oneAPI от Intel.
Конференция пройдет онлайн, участие бесплатное, по предварительной регистрации на сайте.
💥 3000+ участников.
💥 50+ спикеров.
💥 6 параллельных стримов от техно-активов Сбера.
💥 Dev to dev.
На стриме платформы ML Space, эксперты и грандмастера Kaggle расскажут о возможностях ML Space — единственной облачной платформе в мире, позволяющей организовать распределенное обучение на 1000+ GPU. Впервые для российских разработчиков будут представлены новые модули платформы и инструменты oneAPI от Intel.
Конференция пройдет онлайн, участие бесплатное, по предварительной регистрации на сайте.
С 18 мая 2021 года Google объединяет все свои Cloud-сервисы для машинного обучения в рамках единого интерфейса и API в рамках общедоступного Vertex AI - управляемой MLOps-платформы для развертывания и обслуживания ИИ-моделей. Vertex AI включает AutoML и AI-платформа в единый API, клиентскую библиотеку и пользовательский интерфейс. Пользователи могут самостоятельно управлять данными и прототипами, развертывать и интерпретировать свои модели с помощью инструментов Vertex: Vizier, Feature Store, Experiments, Continuous Monitoring и Pipelines.
Кроме того, Vertex AI интегрируется со многими open-source фреймворками (TensorFlow, PyTorch и scikit-learn), а также поддерживает все ML-фреймворки с помощью настраиваемых контейнеров для обучения и прогнозирования. Кроме того, можно подключать BigQuery, использовать стандартные SQL-запросы в существующих инструментах бизнес-аналитики и электронных таблиц, и экспортировать датасеты из BigQuery в Vertex AI. А Vertex Data Labeling позволит точно разметить данные.
Узнать больше и попробовать новую DS-платформу от корпорации добра можно здесь: https://cloud.google.com/vertex-ai
Кроме того, Vertex AI интегрируется со многими open-source фреймворками (TensorFlow, PyTorch и scikit-learn), а также поддерживает все ML-фреймворки с помощью настраиваемых контейнеров для обучения и прогнозирования. Кроме того, можно подключать BigQuery, использовать стандартные SQL-запросы в существующих инструментах бизнес-аналитики и электронных таблиц, и экспортировать датасеты из BigQuery в Vertex AI. А Vertex Data Labeling позволит точно разметить данные.
Узнать больше и попробовать новую DS-платформу от корпорации добра можно здесь: https://cloud.google.com/vertex-ai
Google Cloud
Gemini Enterprise Agent Platform (formerly Vertex AI)
Gemini Enterprise Agent Platform (formerly Vertex AI) is a comprehensive platform for developers to build, scale, govern and optimize agents.
🙌🏻Нужны чистые данные? Попробуйте PClean - новая система от исследователей MIT, написанная на предметно-ориентированном вероятностном языке программирования для автоматической очистки данных. Она удаляет опечатки, дубликаты, пропущенные значения, орфографические ошибки и несоответствия, облегчая подготовку датасета к анализу и ML-моделированию. Примечательно, что PClean не просто механически очищает данные, а учитывает их семантику с помощью обобщенных моделей здравого смысла для суждений, которые можно настроить для конкретных баз данных и типов ошибок.
Идея вероятностной очистки данных на базе декларативного и обобщенного знания о контексте исследований – не новая. Впервые она прозвучала в статье 2003 года сотрудников Калифорнийского университета Беркли с предположением, что такой подход потенциально может обеспечить гораздо большую точность, чем другие популярные методы машинного обучения. PClean развивает эту мысль с учетом тренда на «объяснимый ИИ» – применение реалистичных моделей человеческих знаний для интерпретации данных. Исправления в PClean основаны на байесовских рассуждениях, когда каждому альтернативному объяснению неоднозначных данных присваивается некоторый вес и к имеющимся данным применяются вероятности, основанные на предварительных знаниях. Дополнительным преимуществом PClean является возможность чистить действительно большие объемы данных, причем сравнительно быстро. Например, недавнее исследование 2021 года на таблице с медицинскими данными из 2,2 миллионов строк, PClean нашел более 8000 ошибок всего за 7,5 часов. Наконец, благодаря принципу байесовской вероятности, PClean может давать откалиброванные оценки своей неопределенности, которые можно подкорректировать вручную, обучая таким образом ИИ-систему.
https://news.mit.edu/2021/system-cleans-messy-data-tables-automatically-0511
Идея вероятностной очистки данных на базе декларативного и обобщенного знания о контексте исследований – не новая. Впервые она прозвучала в статье 2003 года сотрудников Калифорнийского университета Беркли с предположением, что такой подход потенциально может обеспечить гораздо большую точность, чем другие популярные методы машинного обучения. PClean развивает эту мысль с учетом тренда на «объяснимый ИИ» – применение реалистичных моделей человеческих знаний для интерпретации данных. Исправления в PClean основаны на байесовских рассуждениях, когда каждому альтернативному объяснению неоднозначных данных присваивается некоторый вес и к имеющимся данным применяются вероятности, основанные на предварительных знаниях. Дополнительным преимуществом PClean является возможность чистить действительно большие объемы данных, причем сравнительно быстро. Например, недавнее исследование 2021 года на таблице с медицинскими данными из 2,2 миллионов строк, PClean нашел более 8000 ошибок всего за 7,5 часов. Наконец, благодаря принципу байесовской вероятности, PClean может давать откалиброванные оценки своей неопределенности, которые можно подкорректировать вручную, обучая таким образом ИИ-систему.
https://news.mit.edu/2021/system-cleans-messy-data-tables-automatically-0511
MIT News
New system cleans messy data tables automatically
A new machine learning system from MIT uses probabilistic programming to clean dirty datasets, filling in blank cells accurately and quickly. Because it’s Bayesian, the artificial intelligence system can also tell you how confident it is in its answers.
🎂Обучение с подкреплением (RL, Reinforcement learning) отлично подходит для задач с четко определенной функцией вознаграждения, что подтверждается успешным опытом AlphaZero для Go, OpenAI Five для Dota и AlphaStar для StarCraft. Но на практике четко определить функцию вознаграждения не всегда возможно. Например, в простом кейсе уборки комнаты найденная под кроватью старая визитка или использованный билет на концерт могут представлять ценность и не должны быть выкинуты как мусор. Впрочем, даже если задать четкие критерии оценки анализируемого объекта, преобразовать их в вознаграждение не так просто: если вы даете агенту подкрепляющее его поведение вознаграждение каждый раз при сборе мусора, он может выбросить его назад, чтобы снова собрать и получить подкрепление.
Предупредить такое поведение AI-системы можно, формируя функцию вознаграждения на основе отзывов о поведении агента. Но этот подход требует много ресурсов: в частности, для обучения Deep RL-модели Cheetah от OpenAI Gym и MujoCo нужно около 700+ сравнений, проведенных человеком.
Поэтому исследователи калифорнийского университета Беркли David Lindner и Rohin Shah предложили алгоритм, который может без человеческого надзора или явно заданной функции, сформировать политику вознаграждения на основе неявной информации. Они назвали его RLSP (Reward Learning by Simulating the Past), т.к. подкрепляющее обучение формируется путем моделирования прошлого, на основе суждений, позволяющих агенту делать выводы о человеческих предпочтениях без явной обратной связи. Главная трудность масштабирования RLSP в том, как рассуждать о предыдущем опыте в случае множества данных. Авторы предлагают выбирать наиболее вероятные прошлые траектории развития событий вместо их полного перечисления, чередуя предсказание прошлых действий с предсказанием прошлых состояний, из которых эти действия были предприняты.
Алгоритм RLSP использует градиентный подъем для непрерывного обновления линейной функции вознаграждения для объяснения наблюдаемого состояния. Масштабирование этой идеи возможно через функциональное представление каждого состояния и моделирование линейной функции вознаграждения по этим характеристикам с последующей аппроксимацией градиента RLSP путем выборки более вероятных прошлых траектории. Градиент поощряет функцию вознаграждения, так что обратные траектории (что должно было быть сделано в прошлом) и прямые траектории (что агент сделал бы, используя текущее вознаграждение) согласовывались друг с другом. Как только траектории согласованы, градиент становится равным нулю, и становится известной функция вознаграждения, которая, вероятней всего, вызовет наблюдаемое состояние. Суть RLSP-алгоритма в выполнении градиентного подъема с использованием этого градиента. Алгоритм был проверен в симуляторе MujoCo – среде для тестирования RL-алгоритмов на задаче обучения смоделированных роботов двигаться по оптимальной траектории или наилучшим способом из возможных. Результаты показали, что сформированные RLSP политики подкрепления работают не хуже, тех, которые непосредственно обучены истинной функции вознаграждения.
https://bair.berkeley.edu/blog/2021/05/03/rlsp/
Предупредить такое поведение AI-системы можно, формируя функцию вознаграждения на основе отзывов о поведении агента. Но этот подход требует много ресурсов: в частности, для обучения Deep RL-модели Cheetah от OpenAI Gym и MujoCo нужно около 700+ сравнений, проведенных человеком.
Поэтому исследователи калифорнийского университета Беркли David Lindner и Rohin Shah предложили алгоритм, который может без человеческого надзора или явно заданной функции, сформировать политику вознаграждения на основе неявной информации. Они назвали его RLSP (Reward Learning by Simulating the Past), т.к. подкрепляющее обучение формируется путем моделирования прошлого, на основе суждений, позволяющих агенту делать выводы о человеческих предпочтениях без явной обратной связи. Главная трудность масштабирования RLSP в том, как рассуждать о предыдущем опыте в случае множества данных. Авторы предлагают выбирать наиболее вероятные прошлые траектории развития событий вместо их полного перечисления, чередуя предсказание прошлых действий с предсказанием прошлых состояний, из которых эти действия были предприняты.
Алгоритм RLSP использует градиентный подъем для непрерывного обновления линейной функции вознаграждения для объяснения наблюдаемого состояния. Масштабирование этой идеи возможно через функциональное представление каждого состояния и моделирование линейной функции вознаграждения по этим характеристикам с последующей аппроксимацией градиента RLSP путем выборки более вероятных прошлых траектории. Градиент поощряет функцию вознаграждения, так что обратные траектории (что должно было быть сделано в прошлом) и прямые траектории (что агент сделал бы, используя текущее вознаграждение) согласовывались друг с другом. Как только траектории согласованы, градиент становится равным нулю, и становится известной функция вознаграждения, которая, вероятней всего, вызовет наблюдаемое состояние. Суть RLSP-алгоритма в выполнении градиентного подъема с использованием этого градиента. Алгоритм был проверен в симуляторе MujoCo – среде для тестирования RL-алгоритмов на задаче обучения смоделированных роботов двигаться по оптимальной траектории или наилучшим способом из возможных. Результаты показали, что сформированные RLSP политики подкрепления работают не хуже, тех, которые непосредственно обучены истинной функции вознаграждения.
https://bair.berkeley.edu/blog/2021/05/03/rlsp/
The Berkeley Artificial Intelligence Research Blog
Learning What To Do by Simulating the Past
The BAIR Blog
Пишем на Python еще проще: как создать свой класс за пару строчек с модулем dataclass
Аналитики данных и Data Scientist’ы очень любят Python – удобный в изучении и простой в использовании объектно-ориентированный язык, который содержит множество встроенных функций и позволяет создавать собственные. Согласно принципу DRY (Don’t Repeat Yourself), современным стандартом разработки является упаковка кода в классы, которые предоставляют API для использования их методов. На практике создавать собственные классы в Python приходится достаточно часто, с последующим дополнением и расширением их по мере работы. Делать это быстрее поможет стандартный модуль dataclasses, который сперва следует импортировать. Затем нужно задекорировать пользовательский класс специальной функцией dataclass, а внутри этого класса перечислить необходимые атрибуты, предварительно их аннотировав, т.е. задав типы. Например, для пользовательского класса Person с целочисленным идентификатором и строковым именем это будет выглядеть так:
from dataclass import dataclass
@dataclass
class Person:
id: int
name: str
Модуль dataclasses предоставляет декоратор и функции для автоматического добавления сгенерированных специальных методов, таких как init () и repr (), в определенные пользователем классы. Впрочем, пользоваться модулем dataclasses нужно с умом и знать о следующих особенностях:
• по умолчанию модуль не проверяет тип, указанный в аннотации переменной;
• декоратор dataclass() добавляет в пользовательский класс некоторые методы, которые могут быть лишними и дублировать поведение уже существующих в классе;
• при использовании декоратора dataclass(), все базовые классы просматриваются в обратном порядке, начиная с объекта и для каждого найденного класса добавляются атрибуты его родителя в упорядоченное отображение полей. Все сгенерированные методы будут использовать это комбинированное вычисляемое упорядоченное сопоставление полей. А, поскольку поля расположены в порядке их вставки, производные классы переопределяют базовые.
Аналитики данных и Data Scientist’ы очень любят Python – удобный в изучении и простой в использовании объектно-ориентированный язык, который содержит множество встроенных функций и позволяет создавать собственные. Согласно принципу DRY (Don’t Repeat Yourself), современным стандартом разработки является упаковка кода в классы, которые предоставляют API для использования их методов. На практике создавать собственные классы в Python приходится достаточно часто, с последующим дополнением и расширением их по мере работы. Делать это быстрее поможет стандартный модуль dataclasses, который сперва следует импортировать. Затем нужно задекорировать пользовательский класс специальной функцией dataclass, а внутри этого класса перечислить необходимые атрибуты, предварительно их аннотировав, т.е. задав типы. Например, для пользовательского класса Person с целочисленным идентификатором и строковым именем это будет выглядеть так:
from dataclass import dataclass
@dataclass
class Person:
id: int
name: str
Модуль dataclasses предоставляет декоратор и функции для автоматического добавления сгенерированных специальных методов, таких как init () и repr (), в определенные пользователем классы. Впрочем, пользоваться модулем dataclasses нужно с умом и знать о следующих особенностях:
• по умолчанию модуль не проверяет тип, указанный в аннотации переменной;
• декоратор dataclass() добавляет в пользовательский класс некоторые методы, которые могут быть лишними и дублировать поведение уже существующих в классе;
• при использовании декоратора dataclass(), все базовые классы просматриваются в обратном порядке, начиная с объекта и для каждого найденного класса добавляются атрибуты его родителя в упорядоченное отображение полей. Все сгенерированные методы будут использовать это комбинированное вычисляемое упорядоченное сопоставление полей. А, поскольку поля расположены в порядке их вставки, производные классы переопределяют базовые.