Pull to refresh
8
0
Алексей @0tt0max

User

Send message

Как я разработал квадрокоптер на ESP32 с нуля (ушло 4 года)

Level of difficultyMedium
Reading time12 min
Views15K

При сборке квадрокоптеров и других БПЛА обычно используют готовую плату полетного контроллера, содержащую все необходимые датчики и периферию, и готовую полетную прошивку, например, Betaflight, ArduPilot или PX4. Полетный контроллер управляет моторами квадрокоптера и обеспечивает стабильный полет.

Занимаясь БПЛА с 2016 года, я решил разобраться в устройстве полетных контроллеров максимально глубоко и создать квадрокоптер с нуля, не используя готовый полетный контроллер и готовый софт. Спустя долгое время разработки мне удалось это сделать. Я написал прошивку с максимально простым исходным кодом и выложил ее на GitHub. В этой статье я расскажу о теории и практике разработки полетного софта для квадрокоптера и проиллюстрирую это на примере своего дрона на базе микроконтроллера ESP32, который можно увидеть на картинке выше.

Читать далее
Total votes 139: ↑154 and ↓-15+169
Comments56

Методы оптимизации в машинном и глубоком обучении. От простого к сложному

Level of difficultyHard
Reading time29 min
Views6.5K

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

Читать далее
Total votes 22: ↑23.5 and ↓-1.5+25
Comments4

Главные отличия PCA от UMAP и t-SNE

Level of difficultyMedium
Reading time10 min
Views4.3K

Здесь будет рассказано о главных отличиях самого старого и базового алгоритма снижения размерности - PCA от его популярных современных коллег - UMAP и t-SNE. Предполагается, что читатель уже предварительно что-то слышал про эти алгоритмы, поэтому подробного объяснения каждого из них в отдельности приведено не будет. Вместо этого будут объяснены самые важные для практики свойства этих алгоритмов и то, на какие связанные с ними подводные камни можно налететь при неосторожности. Все особенности будут описаны на примерах, с минимумом теории; те пытливые умы, что почувствуют в процессе чтения жажду математической строгости, смогут удовлетворить её в литературе, ссылки на которую будут даны по ходу дела и в конце статьи.

Читать далее
Total votes 36: ↑39 and ↓-3+42
Comments12

Атаки на Bluetooth. Часть 1

Reading time4 min
Views4.3K

Снова приветствуем всех заинтересованных и случайно попавших на эту статью! Продолжаем рубрику "Без про-v-ода", в основном мы разбираем для вас атаки на Wi-Fi, но в этой статье мы затронем одну из популярных беспроводных технологий - Bluetooth. Все мы каждый день им пользуемся, никаких проводов и ничего лишнего, но вот что же происходит когда он намеренно отключается от колонок или наушников. И что может случиться если из-за него могут утечь персональные данные или же вообще зловредный трафик будет настолько велик, что окирпичит дорогостоящий телефон. Конкретно этого рода атаки в этой статье мы рассматривать не будем, статья несёт больше ознакомительный характер с практическим применением на эксплуатацию более известных атак на устройства использующие Bluetooth.

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

Читать далее
Total votes 8: ↑9 and ↓-1+10
Comments1

Связь между Arduino по оптоволокну через SFP трансиверы

Level of difficultyEasy
Reading time8 min
Views9.9K

Изучаем оптический SFP трансивер. Рассматриваем его внутреннее устройство, элементный состав, электрические подключения. Для закрепления материала попробуем отправить и принять сообщение по оптоволокну, используя платформу Arduino.

Читать далее
Total votes 56: ↑61 and ↓-5+66
Comments30

Smart LED: Адресная LED подсветка с управлением через Алису

Level of difficultyMedium
Reading time5 min
Views5.3K

В этой статье мы рассмотрим процесс создания умной светодиодной системы под названием Smart LED. Этот проект основан на микроконтроллере ESP8266 и адресной светодиодной ленте.

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

Проект на GitHub

Читать далее
Total votes 7: ↑7.5 and ↓-0.5+8
Comments10

Фундамент AI: обратное распространение ошибки простыми словами

Level of difficultyEasy
Reading time7 min
Views5.2K

Что если бы я вам сказал, что без понимания того, что такое backpropagation (обратное распространение ошибки), вы никогда не сможете использовать AI эффективно? Тогда я бы, конечно, соврал. Знать такие детали не требуется для использования AI в прикладных задачах, но, тем не менее, это базовый фундамент ML/AI, и понимать, как все устроено, полезно, ну или как минимум, интересно.

Читать далее
Total votes 22: ↑24 and ↓-2+26
Comments9

Инструменты AutoML в 2024

Level of difficultyEasy
Reading time3 min
Views2.5K

Определимся с терминологией. Можно найти c десяток формулировок «AutoML- это…» с разной степенью детализации. Но все они сведутся к словам «AutoML — автоматизирует и упрощает работу с данными». И вот здесь как раз и начинаются сложности. Границы определения AutoML размыты. Есть фреймворки работающие на «3 строчках» кода, есть с платформы с GUI, есть библиотеки для профессионалов и новичков. Попробуем разобраться..

Читать далее
Total votes 7: ↑7.5 and ↓-0.5+8
Comments5

Как сделать pruning, чтобы потом не плакать

Level of difficultyEasy
Reading time14 min
Views2.5K

Обрезка нейросетей или же, если вникать в термины, pruning — то, что помогает уменьшить размер нашей модели без потери ее эффективности. Да, это далеко не новинка — в стэнфордских лекциях еще в 2017 году об этом говорили!

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

Принцип обрезки можно применять в разных ситуациях. Например, если у нас есть модель, которая обучена для распознавания ста классов объектов, а нам на самом деле нужно только десять, то почему бы не убрать те девяносто лишних? Это позволит нам сделать модель поменьше, но не менее эффективной. А если мы создаем модель с нуля, то обрезка может помочь нам сразу сделать ее компактнее и эффективнее.

Короче, pruning — это для тех, кто хочет сделать свои модели легче и быстрее без потери качества.

Читать далее
Total votes 13: ↑13 and ↓0+13
Comments0

Как обнаружить и устранить мультиколлинеарность с помощью Statsmodels в Питоне

Level of difficultyEasy
Reading time4 min
Views1.9K

Привет, Хабр!

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

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

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

В статье рассмотрим как обнаружить и устранить мультиколлинеарность с помощью Statsmodels в Питоне.

Читать далее
Total votes 6: ↑6.5 and ↓-0.5+7
Comments0

Как я написал свой первый классификатор эмоций

Level of difficultyMedium
Reading time24 min
Views2.6K

Всем привет! Немного о себе. Меня зовут Максим, я работаю специалистом по Machine Learning в компании SimbirSoft. Последние два года я углубленно изучал область машинного обучения и компьютерного зрения и сегодня с удовольствием поделюсь с вами опытом разработки личного пет-проекта.

В этой статье я расскажу о своем пути от идеи до реализации своего первого классификатора эмоций. Мы обсудим с вами методы, инструменты и техники, которые я применял в процессе создания своего проекта. Анализ данных, выбор модели, обучение и оценка результатов – каждый этап разработки имеет свои особенности и трудности, о чем я с удовольствием поделюсь с вами.

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

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

Читать далее 😎
Total votes 4: ↑4.5 and ↓-0.5+5
Comments10

Моделирование курса валют методом Монте-Карло

Level of difficultyEasy
Reading time12 min
Views6K

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

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

Ключевой аспект использования Монте-Карло в финансах — это его способность учитывать и анализировать волатильность и дрейф курсов валют. Для повышения точности моделирования и реалистичности получаемых данных часто применяется ГАРЧ модель (Generalized Autoregressive Conditional Heteroskedasticity). ГАРЧ помогает адекватно оценить и моделировать изменчивость волатильности, что является критичным при анализе финансовых временных рядов.

Идейно код выполнялся без готовых реализованных методов из различных либ.

Проект использует следующие библиотеки и инструменты:

Читать далее
Total votes 13: ↑13.5 and ↓-0.5+14
Comments6

Проект «Мультиключ». Как мы побеждали контактные ключи Metacom и Cyfral

Level of difficultyMedium
Reading time8 min
Views7.3K

Как и обещал в предыдущей статье, пишу о нашем опыте работы с контактными ключами Metacom и Cyfral.

Эти ключи построены на микросхемах 1233KT1 и 1233KT2, которые не сильно друг от друга отличаются и имеют очень схожий принцип работы.

При подаче питания ключ просто выдает свой id. При этом никакие команды ключ не принимает и не посылает, а проверка правильности считывания ключа производится путем повторного считывания. Первым, для определения начала передачи, всегда идет стартовое слово. В отличие от ключей Dallas, они работают не по напряжению, а по току. Это менее распространенные и более дорогие ключи. Таким образом, логические уровни определяются сопротивлением ключа (около 400 Ом и 800 Ом). А значение бита определяется длительностью удержания низкого и высокого значения потребления тока.

Разберем эти ключи по отдельности...

Читать далее
Total votes 25: ↑25.5 and ↓-0.5+26
Comments15

Разбираемся в ROC и AUC

Level of difficultyEasy
Reading time6 min
Views3.3K

Привет, Хабр!

В машинном обучение очень важны метрики оценки эффективности моделей. Среди таких метрик есть: кривые ROC и показатель AUC. Они позволяют оценивать бинарные классификаторы.

В этой статье мы как раз и разберем их.

Читать далее
Total votes 10: ↑10.5 and ↓-0.5+11
Comments1

Backup. Файловое резервное копирование бюджетного VPS

Level of difficultyEasy
Reading time6 min
Views2.4K

Предыстория. В своё время, когда мне надо было найти решение этого вопроса на Хабре, казалось, что все статьи состоят из установки и настройки Veeam Backup, Proxmox Backup и прочих коммерческих решений для блочных устройств. У меня запросы поскромнее. SLA и 3-2-1 не требуются. Достаточно восстановить работоспособность за пару часов или хотя бы пару дней. В общем, в поиске нужной статьи мне не особо повезло. Зато в комментах оказались интересные находки. Попробовав некоторые из них, в итоге остановился на описанном ниже варианте. Настроил и забыл. В качестве облачного хранилища ранее был выбран Storj. Но недавно они превратили бесплатные аккаунты в триальные. Пришлось отказаться, пересесть на Mega и освежить в памяти настройки. Заодно и выложить сюда. Надеюсь, кому-то тоже пригодятся.

TL;DR Статья состоит из настройки rsnapshot, rclone и небольшого скрипта автоматизации.

Читать далее
Total votes 6: ↑6.5 and ↓-0.5+7
Comments25

Пять лучших NLP инструментов для работы с русским языком на Python

Level of difficultyEasy
Reading time5 min
Views6.8K

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

Читать далее
Total votes 13: ↑13 and ↓0+13
Comments3

Разработка программного средства по обработке данных фонокардиограммы

Level of difficultyHard
Reading time41 min
Views1.7K

Медицинские исследования играют важную роль в понимании различных заболеваний и разработке эффективных методов лечения. Одним из инструментов, используемых в кардиологии, является фонокардиограмма (ФКГ).

Фонокардиограмма - это метод диагностики сердечно-сосудистой системы, который основывается на записи звуков, производимых сердцем. Она может быть полезной в определении различных заболеваний сердца, таких как стеноз клапана, митральный стеноз, митральную недостаточность, перикардит и другие.

ФКГ может использоваться для оценки эффективности лечения сердечных заболеваний и для наблюдения за состоянием сердца в течение времени. Если у вас есть симптомы, такие как боль в груди, одышка, учащенный пульс, упадок сил, обратитесь к кардиологу, который посоветует, нужна ли вам ФКГ [1].

Объектом исследования выпускной квалификационной работы является список файлов формата .csv, содержащих разделенные знаком ";" смещенные целочисленные значения амплитуды шумов сердца, записанные в течение нескольких секунд, частота дискретизации – 1000 гц (числа в записи обозначают амплитуду сигнала, временной промежуток между соседними значениями - 1 миллисекунда).

Цель работы состоит в создании алгоритма автоматической интерпретации снятых данных, который пытается по форме кривых делать выводы, аналогичные тем, которые по этим же кривым умеет делать эксперт и создание собственного алгоритма. Необходимо определить и выделить точку максимальной амплитуды, начало и окончание тона 1 для каждого из сердечных циклов. Ответ необходимо вывести в виде списка списков [t1, t2, t3], где t1 – начало тона 1, t2 – точка максимальной амплитуды, t3 – окончание тона 1. Также, для проверки результата, необходимо визуализировать полученный результат на графике. Данную процедуру необходимо произвести для каждого файла.

Ссылка на github: medical_date/script.py at main · ReshetnikovDmitrii4918/medical_date (github.com)

Читать далее
Total votes 11: ↑12 and ↓-1+13
Comments14

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

Reading time3 min
Views2K

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

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

🚀 Полезные инструменты недели

LLaMa 3 - это главный релиз недели. Новая SOTA в open-source! LLM с открытым исходным кодом, которая превосходит Claude 3 Opus... и дышит в спину GPT-4.Скорость работы составляет почти 300 токенов в секунду. LLAMA-3 - самая загружаемая модельна HF.

Torchtune - новая PyTorch-библиотека для файнтюнинга LLM. Библиотека сделана на базе PyTorch и и поддерживает LLama2 7B/13B, Mistral 7B и Gemma 2B.

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

VASA-1 - ананас нового ИИ генератора от Microsoft Research видео, который выглядит очень реалистично.

AutoCodeRover - это полностью автоматизированный инструмент для исправления ошибок на GitHub (исправление ошибок в разделе issues и генерации новых функций в проект).

Tkinter Designer — инструмент, который автоматически конвертирует дизайны Figma в код Tkinter GUI.

• OmniFusion 1.1. - гибридная LLM для работы с картинками

VoiceCraft: Zero-Shot - мощный редактор речи и преобразователь Text2Speech


📚 Бесплатные книги недели:

Учебник, где собрана коллекция задачек о нейросетях, параллельно даётся необходимая теория с объяснением

Читать
Total votes 8: ↑6 and ↓2+4
Comments3

Гайд texthero pandas

Level of difficultyEasy
Reading time7 min
Views1.4K

Я всегда нахожусь в поиске новых инструментов, которые помогут мне упростить процедуру обработки естественного языка, поэтому, когда я наткнулся на короткий видеоклип, показывающий функциональность Texthero, я знал, что должен его попробовать. Texthero разработан как оболочка Pandas, поэтому предварительно обрабатывать и анализировать текстовые ряды Pandas стало проще, чем когда-либо. Я сразу же достал документацию, открыл ноутбук и загрузил пару тысяч дискуссий из Reddit для анализа, чтобы протестировать новую библиотеку.

Примечание: библиотека Texthero все еще находится в бета-версии! Там могут быть ошибки и процедура обработки может измениться. Я нашел ошибку в функциональности wordcloudи сообщил об этом. Это должно быть исправлено в ближайшем обновлении!

Читать далее
Total votes 6: ↑7 and ↓-1+8
Comments1
1
23 ...

Information

Rating
Does not participate
Location
Петропавловск, Северо-Казахстанская обл., Казахстан
Date of birth
Registered
Activity