Pull to refresh
8
Augmenta@Aimnew

ML разработчик / Инженер по компьютерному зрению

12
Subscribers
Habr Career
Send message

Нужно ли обучать YOLO с нуля? Практические выводы

Level of difficultyEasy
Reading time6 min
Reach and readers3.6K

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

И именно в этой постоянной гонке я всё чаще задаю себе один и тот же вопрос, а нужно ли вообще обучать модель с нуля?

Когда я говорю «обучать с нуля», я имею в виду именно пустые веса. Не fine-tuning и не до обучение, а старт с нулевой инициализацией (PyTorch-модель без пред обученных параметров или YOLO с отключёнными pretrained-весами).

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

Читать далее

69 часов экспериментов с YOLO. Что на самом деле влияет на качество модели

Level of difficultyEasy
Reading time10 min
Reach and readers7.8K

Существуют множество готовых решений, позволяющих запускать модели «из коробки», и YOLO не исключение. Встроенные механизмы автоматически подбирают параметры обучения модели, что удобно для быстрых экспериментов и прототипов. Но инженерный интерес рано или поздно берёт своё. Хочется попробовать разные версии, разобраться в тонкостях работы модели и понять, почему модель ведёт себя именно так, а не иначе.

С одной стороны, кажется, зачем что-то менять, если уже есть «оптимальное решение»? А с другой исследовательский азарт: «А что, если попробовать так?» или «Почему это работает именно так?».

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

В статье я делюсь собственным опытом экспериментов с разными версиями YOLO на личном датасете.

Читать далее

API на информацию в эпоху цифрового риска

Level of difficultyEasy
Reading time3 min
Reach and readers4.3K

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

Но действительно ли знания снижают тревогу? Или мы просто наращиваем стек технологий, пытаясь компенсировать фундаментальную неопределённость?

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

Формально законодатель говорит: каждый имеет право искать, получать и распространять информацию. На практике же всё время возникает конфликт:

Читать далее

Этические проблемы применения алгоритмического видеонаблюдения в информационном обществе

Level of difficultyEasy
Reading time3 min
Reach and readers4.2K

Если вы являетесь наёмным сотрудником, то ваши моральные принципы могут вступают в противоречия с должностными обязанностями. Сегодня мы живём в реальности, где бизнесу и государству для эффективного функционирования необходимо использовать всё более продвинутые, а порой и недостаточно изученные технологии. Например, видеонаблюдение с элементами искусственного интеллекта задача которого анализировать поведение людей и прогнозировать потенциально опасные ситуации. Почему алгоритм, а не человек? Субъективность мнения не всегда основывается на его опыте и может быть основано на интуиции или в корыстных целях. Скорость не сопоставима с со скоростью оборудования, работа без перерывов. Единственная опасность этого алгоритма заключается в том, что он написан человеком, и нужно понимать какие критерии поиска и паттернов поведения в него заложены, ошибки проектирования, недостаточный набор данных, смещённые метрики и неверно выбранные поведенческие паттерны. Данная система не дает 100 % вероятность совершения преступления, но она может сегментировать людей как потенциально опасных при совпадении их поведения с установленными критериями. Она не способна выявить, одиночку-психопата на этапе задумки, в лучшем случае только в момент совершения противоправных действий (достать оружие под наблюдением камеры, которая выявить что это источник потенциальной опасности). Алгоритм можно обмануть или ввести в заблуждение, так как в случае потенциального указания на источника угрозы к нему будут приведены действия опознания/дознания и так далее, результатом которого может быть получена обратная связь, что данный паттерн поведения расценивается как норма и исключается из поиска, а в случае если это был преступник из группы лиц, его обратная связь пойдет по их каналам и они начнут ещё аккуратнее себя вести. Таким образом, система не инструмент поиска, а лишь часть его.

Читать далее

Информационному обществу уже далеко за 18+. Как мы дошли досюда и что будет дальше

Level of difficultyEasy
Reading time3 min
Reach and readers4.8K

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

За последние 25 лет роль информации выросла настолько, что уже нельзя представить экономику или социальную жизнь без цифровых технологий. Появились Big Data, облака, реализации общедоступных моделей искусственного интеллекта, новые профессии. Но гораздо важнее то, что информационное общество незаметно, но радикально меняет повседневную жизнь каждого из нас.

Информационное общество - это когда:

Читать далее

Как я подружил WSL, VirtualBox и Ansible, чтобы быстро создавать VM Alpine на Windows

Level of difficultyMedium
Reading time10 min
Reach and readers8.4K

Хочешь быстро поднять несколько лёгких Linux-виртуалок из Windows, да так, чтобы процесс можно было легко повторить? Я, как любитель и самоучка, недавно решил с этим разобраться и всё получилось.

Я сделал это так, на Windows через WSL установил Alpine сборки minirootfs, затем при помощи Ansible развернул в Oracle VM VirtualBox 3 виртуальные машины на базе Alpine сборки standard. Никаких облаков, только локальный контроль и минимум зависимостей. Для чего всё это? Сейчас всё чаще говорят о минималистичных системах, об оптимизации железа под конкретные задачи, о работе на граничных устройствах, вот и захотелось попробовать всё своими руками.

Читать далее

Как я учу Kubernetes. Запуск локального Minikube, реальные ошибки и как я их решал

Level of difficultyMedium
Reading time14 min
Reach and readers11K

Я изучаю Kubernetes как часть практики по контейнеризации и автоматизации развертывания. Чтобы системно выстроить понимание, я веду рабочий конспект в формате статьи: фиксирую используемые команды, практические наблюдения и способы решения возникающих проблем. Моя цель — уверенно понимать, как устроен кластер изнутри, и уметь работать с ним в реальных условиях. Эта статья будет полезна тем, кто также начинает путь в Kubernetes и сталкивается с тем, что документация даёт базу, но не всегда описывает полную последовательность действий и типичные ошибки, возникающие в процессе.

Для практики я использую локальный кластер на Minikube — он позволяет экспериментировать с компонентами Kubernetes без аренды серверов или облачных инфраструктуры.

Читать далее

Сравниваю Jupyter Notebook, Google Colab, Kaggle и Marimo глазами исследователя и начинающего Data Scientist

Level of difficultyEasy
Reading time13 min
Reach and readers7.7K

Я пришел в Data Science не сразу. Учился в магистратуре по вечерам, работая в совершенно другой сфере (строительство). Осваивать машинное обучение и анализ данных было интересно, но один из самых неожиданных вопросов, который возник буквально сразу - в какой среде писать код?

На первый взгляд кажется, что Jupyter Notebook, Google Colab, Kaggle и сравнительно новая Marimo - это одно и то же, ноутбук с ячейками и Python (так же поддерживаются другие языки программирования). Но на практике каждая из этих сред подходит для разных задач, где-то удобнее учиться, а где-то работать командой.

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

Статья будет полезна:

Читать далее

Сравнение инструментов разметки данных для CV: Label Studio & CVAT & Roboflow — опыт разметки 6000+ изображений

Level of difficultyEasy
Reading time9 min
Reach and readers10K

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

Читать далее

Как я собрал и подготовил датасет дефектов печатных плат для обучения моделей YOLO

Level of difficultyEasy
Reading time7 min
Reach and readers10K

Когда пришло время выбирать тему диплома, я, как и многие студенты, понятия не имел, о чём писать. После мозгового штурма с одногруппниками родилась идея, которая из простого «варианта для защиты» превратилась в полноценный инженерный проект: «исследование и разработка системы автоматического распознавания дефектов печатных плат».

Со временем я понял, что выбрал тему не случайно - это реально актуальная задача для производства, где качество пайки напрямую влияет на работоспособность устройств, а ещё отличный шанс пройти весь цикл Computer Vision проекта от сбора данных до обучения моделей.

Эта статья краткая выжимка моего опыта: как собрал собственный датасет дефектов печатных плат для обучения моделей, какие инструменты использовал и на что стоит обратить внимание.

Статья будет полезна:

Читать далее

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity

Specialization

ML разработчик, Инженер по компьютерному зрению
Младший