Структурное обучение (Structured Learning)
подход в машинном обучении, при котором модели учатся предсказывать сложные структурированные объекты (например, последовательности, деревья, графы), а не отдельные скалярные или категориальные значения.
В отличие от «классических» задач ML, где модель выдаёт один ответ (класс или число), при структурном обучении выход представляет собой структуру — набор взаимосвязанных элементов. Это востребовано там, где целевая переменная по природе своей сложна: например, при синтаксическом разборе предложения (дерево зависимостей), генерации разметки документа (иерархия секций), предсказании 3D‑формы белка (пространственная структура).
Аналогия из бытового мира
Представьте, что вы учите ребёнка собирать пазл. В «обычном» обучении вы бы просили его выбрать один правильный фрагмент из нескольких. В структурном обучении задача — собрать весь пазл целиком, учитывая, как фрагменты соединяются друг с другом. Модель должна не просто угадать один элемент, а выстроить корректную структуру из многих взаимосвязанных частей.
Исторический контекст
Идеи структурного обучения восходят к концу 1990‑х — началу 2000‑х годов, когда исследователи стали выходить за рамки классификации и регрессии. Важную роль сыграли:
- Условные случайные поля (CRF, 2001) — модель для последовательных данных, популярная в обработке естественного языка (NLP).
- Структурные перцептроны (работа Майкла Коллинза, 2002) — расширение перцептрона для структурированных выходов.
- Структурные SVM (Tsochantaridis et al., 2004) — обобщение метода опорных векторов на структурные задачи.
В 2010‑е годы глубокое обучение вдохнуло новую жизнь в структурное обучение: появились нейросетевые архитектуры, способные порождать структуры (например, последовательности в Seq2Seq‑моделях).
Смежные понятия и различия
- Классификация/регрессия — предсказывают одно значение (класс или число), а не структуру.
- Многозадачное обучение (multi‑task learning) — учит модель решать несколько задач одновременно, но каждая задача может быть «простой» (скалярный выход).
- Генеративные модели (например, GAN, VAE) — могут порождать сложные объекты, но не всегда явно моделируют структуру (связи между элементами).
Примеры использования
Обработка естественного языка (NLP):
- синтаксический разбор (парсинг) предложений (например, модели типа Stanford Parser, Biaffine Parser);
- извлечение именованных сущностей (NER) с учётом структуры предложения;
- машинный перевод (Seq2Seq‑модели с вниманием, Transformer).
Компьютерное зрение:
- семантическая сегментация (разметка пикселей с учётом их взаимосвязей);
- предсказание позы человека (граф суставов).
Биоинформатика:
- предсказание вторичной структуры РНК (парные взаимодействия нуклеотидов);
- фолдинг белков (3D‑структура из последовательности аминокислот, как в AlphaFold).
Графовые нейронные сети (GNN):
- предсказание свойств молекул (граф атомов и связей);
- анализ социальных сетей (структура сообществ).
