Здесь будет рассказано о главных отличиях самого старого и базового алгоритма снижения размерности - PCA от его популярных современных коллег - UMAP и t-SNE. Предполагается, что читатель уже предварительно что-то слышал про эти алгоритмы, поэтому подробного объяснения каждого из них в отдельности приведено не будет. Вместо этого будут объяснены самые важные для практики свойства этих алгоритмов и то, на какие связанные с ними подводные камни можно налететь при неосторожности. Все особенности будут описаны на примерах, с минимумом теории; те пытливые умы, что почувствуют в процессе чтения жажду математической строгости, смогут удовлетворить её в литературе, ссылки на которую будут даны по ходу дела и в конце статьи.
Пользователь
Простые способы ускорения обучения PyTorch-моделей
Не знаю — нужно ли вступление к статье, посвящённой ускорению машинного обучения (Machine Learning, ML)?
Ускорение обучения моделей — это именно то, в чём нуждаются все ML‑инженеры. Более быстрое обучение модели означает ускорение экспериментов, что, в свою очередь, ведёт к ускорению выпуска новых версий программных продуктов. Кроме того — чем выше скорость обучения — тем меньше ресурсов нужно на каждую итерацию обучения модели. Поэтому предлагаю перейти сразу к делу.
Пять лучших NLP инструментов для работы с русским языком на Python
В этой статье рассмотрим пять лучших библиотек Python, предназначенных специально для работы с русским языком в контексте NLP. От базовых задач, таких как токенизация и морфологический анализ, до сложных задач обработки и понимания естественного языка.
Мы так и не смогли защитить свою модель машинного обучения от состязательных атак. Пока
Наша команда разработчиков Исследовательского центра доверенного искусственного интеллекта ИСП РАН первые два года занималась построением сетевой системы обнаружения вторжений, основанной на применении методов машинного обучения. А в последний год мы сменили щит на меч и начали атаковать состязательными атаками (adversarial attacks) синтезированную нами же модель.
Задача была простой: оценить устойчивость модели к состязательным атакам. Спойлер: модель не устойчива, а как это исправить — мы пока не знаем. Подробности ниже.
Как мы оцифровали футбольные матчи с помощью CV
Привет! Меня зовут Владимир Цуканов, я СТО спортивного направления в Яндекс Плюсе. Мы занимаемся съёмкой, обработкой и стримингом спортивных событий. В этом посте я расскажу о работе с технической съёмкой и анализом футбольных матчей.
Расскажу о том, как и на что снимать футбол, если вы хотите его проанализировать, какие есть сложности в плане распознавания толпы бегающих спортсменов, как отреагирует машинное зрение, если за мяч начнётся нешуточная борьба, чем вся эта затея полезна для тренеров и экспертов и многое, многое другое.
Fooocus v2: Революция в работе с изображениями — расширение, изменение и персонализация. Все про Input Image в нейросети
Друзья, всем привет, в прошлой статье Fooocus v2 — бесплатный Midjourney у вас на компьютере, вы познакомились с рисующей нейросетью которая вполне способна заменить Midjourney, узнали как её установить, как пользоваться, за что отвечают все настройки и как работают режимы, как писать запросы, чтобы нейросеть вас понимала.
Из этой части вы узнаете как с помощью нейросети Fooocus можно дорисовать любое изображение выйдя за его границы, изменить любую деталь на изображении, узнаете как добавить на свою генерацию текст, наложить свое лицо или как создать изображение по вашему референсу. Сегодня я расскажу про раздел Input Image.
Внутри много картинок и гифок.
Антипаттерны в TDD
Время от времени необходимо пересматривать свои методы TDD и напоминать себе, каких моделей поведения следует избегать.
Процесс TDD концептуально прост, но по мере его выполнения вы обнаружите, что он бросает вызов вашим навыкам проектирования. Не путайте это с тем, что TDD - это сложно, сложно именно проектирование!
В этой статье приводится ряд антипаттернов TDD и тестирования, а также способы их устранения.
8 инструментов для аннотирования изображений в 2023 году
Аннотирование изображений — основа для обучения моделей машинного обучения. В статье мы расскажем о лучших инструментах аннотирования, которые сделают этот процесс эффективным.
Что такое аннотирование изображений?
После завершения ручного аннотирования модель машинного обучения учится на размеченных изображениях. Все ошибки разметки также моделью выучиваются и дублируются, потому что аннотирование изображений задаёт критерии, которым стремится соответствовать модель.
Разметка или категоризация изображения описательными данными, помогающими в идентификации и классификации объектов, людей или сцен на картинке, называется аннотированием изображений.
Аннотирование изображений критически важно в таких сферах, как компьютерное зрение, роботостроение и беспилотное вождение, потому что оно позволяет роботам воспринимать и интерпретировать визуальные данные.
Примерами аннотирования изображений являются отрисовка ограничивающих прямоугольников вокруг объектов на фотографии, разметка объектов текстом или разделение изображения на части на основании его визуальных признаков.
Автоматизация написания ВКР: LaTeX, GitHub, Google Drive и ChatGPT в действии
В жизни каждого студента наступает момент, когда необходимо написать выпускную квалификационную работу (ВКР). Бывшие выпускники говорят, что успех ВКР в значительной степени зависит от правильного оформления документации, в то время как основное содержание работы остается на втором плане. Но почему бы не внедрить автоматизированный процесс оформления, который соответствовал бы ГОСТам и внутренним стандартам университета, был бы удобен для проверки научному руководителю и позволял бы студенту сконцентрироваться на сути своего проекта ВКР? Вкратце, в процессе чтения вы узнаете, зачем и как внедрить LaTeX в ВКР, настроить отправку документов на Google Drive через Github Actions для отзыва научного руководителя и пользоваться LLM.
И ещё один Steam Windows Client Local Privilege Escalation 0day
В предыдущей серии
Не так давно я опубликовал описание уязвимости для Steam. Я получил много отзывов от читателей. Valve не проронили ни слова, а HackerOne прислал огромное слезливое письмо и, в основном, молчал. В итоге меня забанили Valve на H1 — я не могу участвовать в их программе по отклонению уязвимостей (остальной H1 мне доступен).
Более подробно историю вы можете узнать в предыдущей публикации, здесь же я скажу пару слов об актуальном состоянии.
А оно простое и грустное — Valve все так же терпят фиаско. Последнее обновление, которое было призвано устранить проблему, легко обходится и уязвимость все еще актуальна. Да, я это проверил — прекрасно работает.
Но эта статья не о том, что старая уязвимость все еще присутствует, а о новой. Поскольку Valve еще раз изъявили желание прочитать публичный отчет, вместо частного, не будем лишать их этого удовольствия.
Некомпетентные компетенции
Поводом для написания этой статьи послужил случай, когда сотрудники нашего HR-отдела предложили мне взять в нашу проектную группу Департамента разработки программного обеспечения ЛАНИТ на производственную практику выпускника одного из московских техникумов. Кандидат обучался четвертый год по специальности «Прикладная информатика» и, судя по резюме, претендовал на должность «стажера-разработчика SQL, С#, HTML, CSS». Он уже прошел предварительные собеседования и, по словам наших кадровиков, показал себя наиболее адекватным из 15 других претендентов. Поскольку у меня это был не первый случай руководства практикой у студентов и предыдущие прецеденты имели положительный результат, я согласился.
Как задавать требования к качеству ПО в цифрах?
Требования к качеству, несмотря на свой небольшой размер, очень сильно влияют на реализуемость всей совокупности требований, на трудоёмкость, длительность и стоимость реализации, а следовательно окупаемость инвестиций в разработку и в целом возможную успешность проекта.
Это та причина, по которой многие подрядчики стараются избегать таких требований, как огня, что перекладывает риски во времени на более поздние этапы и на заказчика.
Но в мире честных, открытых отношений выгоднее заранее обсудить эти аспекты, чем потом с удивлением спорить при сдаче, что система тормозит, в ТЗ про это ничего не сказано, «вы же профессионалы» и всё такое.
Стандарты по программной и системной инженерии предлагают десятки видов атрибутов качества системы, а заказчики требуют, чтобы система была удобной, быстрой, надёжной и безопасной.
При этом остаётся прагматический вопрос — а что именно писать в требования, чтобы они были полезными, измеримыми, реализуемыми?
С точки зрения системной инженерии, требования к качеству программной системы являются разновидностью системных ограничений (constraints) и в этом они отличаются от требований к способностям (capabilities) системы, в мире ИТ обычно называемых «функциональными».
Пока что умение специалистов и команд выявлять и формулировать такие ограничения представляет собой скорее искусство, а не ремесло, и не инженерию.
Давайте попробуем сделать это хотя бы ремеслом.
.xlsx изнутри. Разбор структуры файлов. Разбор каждого .xml файла
Это статья о разборе excel изнутри. Вы узнаете как работать со стилями ячеек, листов через xml, как вносить данные и формулы в ячейки и мого другого.
Обратные задачи аффинных преобразований или об одной красивой формуле
Поиск научных публикаций в Интернете. Часть 3. Настройка оповещений
Уметь искать информацию о научных публикациях по своей тематике – хорошо. Но ещё лучше, если эта информация будет сама вас находить. Поэтому в заключительной части обзора по поиску научных публикаций я рассмотрю особенности настройки оповещений.
Обычный вид моего почтового ящика — существенную часть писем составляют оповещения о новых публикациях
Шесть степеней свободы: 3D object detection и не только
В компьютерном зрении часто приходится работать с двумерными изображениями, и значительно реже - с 3D объектами. Из-за этого многие ML инженеры чувствуют себя неуверенно в этой области: много незнакомых слов, непонятно, куда тут применить старых друзей Resnet и Unet. Поэтому сегодня я хотел бы немного поговорить о 3D на примере задачи определения шести степеней свободы, что в каком-то виде синонимично 3D object detection. Я разберу одну из свежих работ на эту тему с некоторыми отступлениями.
Кратко о задаче
Для начала давайте определимся, что такое шесть степеней свободы (6 DoF - degrees of freedom). Представим себе некоторый ригидный (неизменяемый, т.е. при трансформации все точки будут оставаться на той же дистанции друг от друга) объект в трехмерном мире. Чтобы описать его положение относительно наблюдателя понадобится 6 измерений: три будут отвечать за повороты по разным осям, а еще три - за смещение по соответствующим осям. Соответственно, имея эти шесть чисел, мы представляем, как объект расположен относительно какого-то базиса (например, точки, с которой ведется фотосъемка). Эта задача является классической для робототехники (где находится объект, который нужно схватить роборукой?), дополненной реальности (где нарисовать маску в MSQRD, ушки в Snapchat или кроссовки в Wanna Kicks) , беспилотных автомобилей и других доменов.
Я буду рассматривать статью MobilePose: Real-Time Pose Estimation for Unseen Objects with Weak Shape Supervision (Hou et al., 2020). Эта статья, написанная авторами из Google Research, предлагает надежный и, что немаловажно, быстрый пайплайн для решения задачи, будет уместно разобрать его по частям.
Одноглазый глубиномер
Недавно вышла интересная статья от FaceBook о том как можно делать неплохой 3D с монокулярных камер. Статья не очень применимая на практике. Но по качеству картинки завораживает.
Посмотрев на это я решил сделать небольшой рассказ о том что в статье творится, куда современные технологии пришли, и что можно ждать от них на практике.
Проект Natasha. Набор качественных открытых инструментов для обработки естественного русского языка (NLP)
Проект подрос, библиотека теперь решает все базовые задачи обработки естественного русского языка: сегментация на токены и предложения, морфологический и синтаксический анализ, лемматизация, извлечение именованных сущностей.
Для новостных статей качество на всех задачах сравнимо или превосходит существующие решения. Например с задачей NER Natasha справляется на 1 процентный пункт хуже, чем Deeppavlov BERT NER (F1 PER 0.97, LOC 0.91, ORG 0.85), модель весит в 75 раз меньше (27МБ), работает на CPU в 2 раза быстрее (25 статей/сек), чем BERT NER на GPU.
В проекте 9 репозиториев, библиотека Natasha объединяет их под одним интерфейсом. В статье поговорим про новые инструменты, сравним их с существующими решениями: Deeppavlov, SpaCy, UDPipe.
ТАУ для самых маленьких: пример реализации ПИД-регулятора в Unity3D
Вместо введения
Системы автоматического управления (САУ) предназначены для автоматического изменения одного или нескольких параметров объекта управления с целью установления требуемого режима его работы. САУ обеспечивает поддержание постоянства заданных значений регулируемых параметров или их изменение по заданному закону либо оптимизирует определенные критерии качества управления.
Как спроектировать корпус для прибора. Полное руководство
Изучая рунет, я не смог найти ни одной статьи, которая описывала бы ВСЕ этапы разработки и производства корпуса устройства.
Ни одной. Всё, что есть в интернете, касается лишь одного или двух аспектов этого процесса. Ну например: давайте набросаем корпус и распечатаем на 3D-принтере. Или купим типовой и насверлим в нём отверстий. Хотя на Хабре и есть пара материалов, но они тоже не так полны информацией, как могли бы быть.
Но так, чтобы были расписаны все этапы, от идеи до серийного производства, — я такого не нашёл. Поэтому решил написать своё руководство, максимально наполненное фактами, картинками и примерами.
Как спроектировать корпус — схема работы
Вы почти наверняка можете спроектировать корпус для своего устройства самостоятельно. Главное — хорошо представлять себе весь цикл, от идеи до производства.
Разработка корпуса — процесс, разбитый на несколько обязательных этапов. Это даже обсуждать не буду: проверено много раз. Даже если вы не собираетесь связываться с «большим» производством (например, если планируете делать устройство только для себя), всё равно лучше бы вам соблюдать правильную последовательность этапов.
А для сомневающихся в своих силах скажу сразу — вы точно сможете разобраться во всем этом: программное обеспечение шагнуло далеко вперёд, и сейчас не нужно тратить несколько лет, чтобы поставить себе на стол первый прототип корпуса.
Вот схема, по которой мы пойдем:
Информация
- В рейтинге
- 2 592-й
- Откуда
- Россия
- Зарегистрирован
- Активность