Исследования
Символьная система и есть разметчик
Система, принимающая решение, одновременно является и той, что размечает. Когда символьное правило в нашем агенте «выпускается» — заслуживает место, потому что хорошо срабатывает под подкреплением, — оно не просто действует. Оно порождает обучающий пример: признаки сигнала в момент срабатывания, в паре с паттерном, который оно сопоставило. Эта пара и есть размеченная метка, произведённая бесплатно детерминированной системой, которую никогда не просили быть разметчиком.
Эта заметка описывает механизм и его текущее состояние. Это подход, а не результат: нейронный слой, потребляющий эти метки, ещё в разработке, и нам пока не о каких показателях обобщения сообщать.
Две скорости — и что именно не является нашим тезисом
Агент учится на двух скоростях. Быстрый мозг обновляется онлайн — событие скрапера, нечёткое сопоставление, сила срабатывания, обновление веса, каждые несколько минут, на неразмеченных сигналах. Медленный мозг обучается офлайн на гораздо более длинном цикле, только на размеченных данных.
Разделение на две скорости не ново, и мы его не заявляем. Оно перекликается с иерархическим RL, системами комплементарного обучения (McClelland et al., 1995) и «consciousness prior» Бенжио. Вклад уже и лежит между двумя мозгами: откуда берутся метки.
Механизм
Каждое событие «выпуска» записывает размеченный эпизод:
{
"signal_features": {
"event_type": "metric_pod_restart",
"service": "pgbouncer",
"restart_count": 15,
"namespace": "default"
},
"pattern_label": "database_connection_failure",
"confidence": 1.0,
"source": "hitl"
}
Хранилище решений уже записывает имя паттерна и уверенность; добавляется извлечение признаков сигнала в момент решения и экспорт накопленных эпизодов. Метки поступают из четырёх источников — человек в контуре (HITL), разборы инцидентов, движок автономного исследования и предварительно классифицированные потоки аномалий, — поэтому набор данных уплотняется с каждым «выпускаемым» паттерном, а не зависит от написанных вручную эвристик.
Почему это не ANFIS и не просто Snorkel
ANFIS настраивает форму функций принадлежности по разреженному вознаграждению; здесь другой вопрос — по данному сигналу, какое имя паттерна применимо? — и он учится из накопленных меток. Контраст, пункт за пунктом:
| ANFIS | Конвейер символьной разметки |
|---|---|
| Учится на разреженном вознаграждении RL | Учится на накопленных размеченных эпизодах |
| Учит параметры формы ФП | Обобщает из размеченных паттернов |
| Не работает при <100 примерах | Уплотняется с каждым «выпуском» |
| Нужен надзор границ ФП | Метки даёт сама символьная система |
| Вход: (сигнал, вознаграждение) | Вход: (signal_features, pattern_label) |
Против слабого надзора в духе Snorkel различие ещё резче: наши метки — не написанные вручную функции разметки, а порождённые системой, которая заслужила их через «выпуск» под RL, и они несут временную сигнатуру (признаки такими, какими они были в момент срабатывания). Именно сочетание самозагрузки и временности мы и не нашли в предшествующих работах.
На чём это основано
Родословная заявлена прямо — мы её расширяем, а не вытесняем:
(2016). Logic Tensor Networks символьные факты ограничивают обучение нейросети (2018). A Semantic Loss Function for Deep Learning with Symbolic Knowledge логические ограничения как дифференцируемая потеря (2016). Snorkel: Data Programming программный слабый надзор (2018). DeepProbLog нейро-вероятностная логикаОграничения
Сказано прямо, потому что это и есть честное состояние работы:
- Пока нет результатов обобщения. Этап обучения впереди, а не позади. Всё вышесказанное — это метод.
- Минимальный достаточный набор данных неизвестен. Мы оцениваем 50+ размеченных эпизодов до того, как обучение станет осмысленным; не подтверждено.
- Переопределять или дополнять — открытый вопрос. Когда нейронное предсказание должно переопределять символьное сопоставление, а когда лишь дополнять его — не решено.
- Дизайн признаков открыт. Какие именно признаки события формируют входной вектор — не определено.
Где это сейчас
Работа выходит этапами: добавить признаки сигнала к записи решения; экспортировать трёхкомпонентный размеченный набор; обучить намеренно простую модель первой (логистическая регрессия или небольшой MLP), прежде чем браться за что-то большее; а затем дать медленному мозгу предлагать новые пробные паттерны из своих предсказаний. Начинать с простого — намеренно: цель сначала подтвердить, что символьный «выпуск» вообще порождает обучаемые метки, прежде чем тянуться к архитектуре.
Если это подтвердится, система правил агента станет возобновляемым источником надзора для его нейронного слоя. Мы узнаем, когда появятся цифры.