Карта обучения

На AI-Triad я собираю не просто материалы по отдельным темам, а понятную траекторию обучения для тех, кто хочет прийти к реальной инженерной работе. Обычно путь в ИИ, программирование или embedded-разработку выглядит хаотично: человек читает статьи, смотрит курсы, пробует инструменты, но долго не понимает, что изучать дальше и как все это складывается в одну систему. Эта страница нужна как раз для того, чтобы такая система появилась.

Здесь нет идеи «выучить всё сразу». Гораздо полезнее двигаться слоями: сначала собрать базу, потом выбрать практический вектор, а затем закреплять знания через проекты. Именно так обычно и растут инженерные навыки — не через набор случайных тем, а через последовательную работу с инструментами, кодом, архитектурой и реальными ограничениями.

Как устроена карта

Обучение на сайте можно условно разделить на три уровня:

  • Базовый слой — программирование, алгоритмическое мышление, работа с Linux, Git, структура приложений, основы работы с данными.
  • Инженерный слой — C/C++, Python, взаимодействие с API, отладка, тестирование, работа с устройствами, системный подход к разработке.
  • Прикладной слой — машинное обучение, компьютерное зрение, edge AI, embedded-системы, backend и интеграция компонентов в работающие решения.

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

С чего начать

Если у вас пока нет уверенной технической базы, начните с фундамента:

  • Python — как основной язык для автоматизации, работы с данными, ML и быстрых инженерных прототипов.
  • C/C++ — как основа для микроконтроллеров, низкоуровневой разработки и понимания того, как работает код ближе к железу.
  • Linux — командная строка, файлы, процессы, сетевые утилиты, окружение разработчика.
  • Git — контроль версий, ветки, история изменений, нормальная работа над проектом.
  • Алгоритмы и структуры данных — не ради абстрактных задач, а ради мышления, оценки решений и чистого кода.
  • Работа с данными — форматы файлов, парсинг, очистка, подготовка, базовая визуализация.

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

Базовый маршрут

  • Освоить синтаксис и базовые конструкции Python.
  • Понять, как устроены функции, модули, файлы и структура небольшого проекта.
  • Научиться работать в Linux-среде и из терминала.
  • Освоить Git на уровне ежедневной практики.
  • Разобраться с массивами, словарями, списками, стеком, очередью, хеш-таблицами, деревьями в прикладном контексте.
  • Сделать несколько маленьких проектов: парсер, обработчик данных, консольную утилиту, простой API-клиент.

Дальше — выбрать основной трек

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

1. AI-разработка

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

  • Python для ML — NumPy, pandas, визуализация, работа с датасетами.
  • Математическая база — линейная алгебра, вероятности, оптимизация в объеме, достаточном для понимания моделей.
  • Машинное обучение — классификация, регрессия, переобучение, метрики, валидация.
  • Нейронные сети — базовые архитектуры, обучение, инференс, практические ограничения.
  • Компьютерное зрение — подготовка изображений, детекция, классификация, сегментация.
  • Инженерия ML-проектов — пайплайны, воспроизводимость, хранение моделей, API для инференса.
  • Edge AI — запуск моделей на ограниченных устройствах, оптимизация, latency, память, энергопотребление.

Хорошая цель внутри этого маршрута — не просто обучить модель в ноутбуке, а довести задачу до работающего решения: например, сделать сервис распознавания, модуль компьютерного зрения для камеры или inference на одноплатном устройстве.

2. Embedded-разработка

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

  • C/C++ для embedded — память, указатели, структура программы, работа без лишних абстракций.
  • Микроконтроллеры — GPIO, таймеры, UART, SPI, I2C, АЦП, прерывания.
  • Отладка — чтение даташитов, анализ сигналов, логирование, поиск ошибок на стыке железа и кода.
  • RTOS и основы систем реального времени — задачи, синхронизация, тайминги.
  • Linux на встраиваемых устройствах — Raspberry Pi, Orange Pi, драйверный и пользовательский уровень, взаимодействие с периферией.
  • Передача данных — протоколы, обмен с датчиками, сеть, сериализация.
  • Интеграция с AI-компонентами — сбор данных, предобработка, передача в модель, запуск inference на устройстве или рядом с ним.

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

3. Backend и системная разработка для инженерных задач

Этот трек нужен тем, кто хочет строить серверную часть, API, обработчики данных и инфраструктурные компоненты, которые часто оказываются необходимыми и в AI-, и в embedded-проектах.

  • Python backend — API, веб-фреймворки, обработка запросов, фоновая логика.
  • Базы данных — SQL, хранение телеметрии, результатов моделей, конфигураций и событий.
  • Интеграция сервисов — REST, очереди, обмен данными между устройствами, приложениями и моделями.
  • Тестирование — юнит-тесты, интеграционные проверки, контроль качества кода.
  • Архитектура приложений — разделение ответственности, сервисный слой, модульность, масштабирование.
  • Наблюдаемость — логи, метрики, диагностика сбоев.

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

Как связаны треки между собой

На практике они редко существуют отдельно. Например:

  • embedded-разработчик часто использует Python для тестов, обработки данных и сервисных скриптов;
  • AI-инженеру почти всегда нужен backend или хотя бы API, чтобы отдать модель в использование;
  • разработчик серверной части в инженерных проектах сталкивается с телеметрией, потоками данных, устройствами и ограничениями реального мира;
  • edge AI вообще находится на пересечении сразу нескольких направлений: модели, оптимизация, устройства, Linux, интерфейсы обмена и системная интеграция.

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

Рекомендуемая последовательность

  • Этап 1. Основа — Python, Linux, Git, базовые алгоритмы, структура проектов.
  • Этап 2. Второй язык и инженерная база — C/C++, работа с памятью, отладка, инструменты разработчика.
  • Этап 3. Выбор специализации — AI, embedded или backend.
  • Этап 4. Практические проекты — не учебные фрагменты, а законченные небольшие системы.
  • Этап 5. Интеграция — соединение нескольких компонентов в одну рабочую архитектуру.

Какие проекты стоит делать

Если обучение не закрепляется в проектах, знания быстро остаются только «на уровне знакомых слов». Поэтому на каждом этапе лучше делать что-то свое, пусть даже небольшое.

  • Для базового уровня — парсер логов, обработчик CSV/JSON, CLI-утилита, простой Telegram-бот, API-клиент.
  • Для AI-трека — классификация изображений, сервис инференса, распознавание объектов с камеры, анализ временных рядов.
  • Для embedded — система сбора данных с датчиков, управление исполнительным устройством, телеметрия на микроконтроллере, узел на Linux SBC.
  • Для backend — API для устройств, сервис приема и хранения данных, панель мониторинга, очередь обработки задач.
  • Для интеграции — устройство собирает данные, сервер их принимает, модель анализирует, результат возвращается в систему управления.

Как читать материалы на сайте

Материалы на AI-Triad можно использовать по-разному:

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

Я стараюсь писать так, чтобы тема не отрывалась от практики. Если речь идет о языке программирования — важно, где и зачем он реально применяется. Если о машинном обучении — важно, как модель живет вне ноутбука. Если об embedded — важно, как код, железо, обмен данными и ограничения ресурсов влияют друг на друга.

Если вы не знаете, какой маршрут выбрать

Это нормальная ситуация. В таком случае я бы рекомендовал начать с универсального набора:

  • Python
  • Linux
  • Git
  • структуры данных и базовая алгоритмика
  • работа с API и файлами данных
  • один небольшой проект

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

Принцип, на котором построена эта карта

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

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

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

Что дальше

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

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