Дизайн AI для аналізу файлів журналу


12

Я розробляю інструмент AI для пошуку помилок відомих пристроїв та пошуку нових моделей відмов. Цей файл журналу заснований на часі і має відомі повідомлення (інформація та помилки). Я використовую бібліотеку JavaScript, випадає події, щоб м'яко показувати дані, але моя справжня робота та сумніви - як навчити AI шукати відоме шаблони та знайти нові можливі зразки. У мене є деякі вимоги:

1 - Інструмент повинен або: a. не має залежності від установки додаткового середовища або b. чим менше, тим краще (ідеальний сценарій - запустити інструмент повністю на браузері в автономному режимі);

2 - можливість зробити аналізатор візерунка фрагментованим, різновид модульності, один модуль на помилку;

Який алгоритм рекомендується робити для цього (Нейронна мережа, генетичний алгоритм тощо)? Існує щось для роботи за допомогою JavaScript? Якщо ні, то яка найкраща мова, щоб зробити цей ШІ?


1
Я підозрюю, що щось на основі правил буде для цього більш підходящим, ніж машинне навчання
antlersoft

@antlersoft З відомих проблем я згоден, але я хочу шукати шаблони, щоб також корелювати дефекти.
Джуліано Олівейра

Рекомендовано? Давайте подумаємо ... Використовуючи regexp? Нейронні мережі рекомендується використовувати при проблемах, які не мають рішення з використанням класичних алгоритмів. Майже вся нейромережа отримує попередньо оброблені дані. Якщо ви "попередньо обробите" журнал, ви отримаєте і своє рішення.
betontalpfa

Відповіді:


9

Кореляція між записами

Перша рекомендація - забезпечити подання відповідних попереджувальних та інформаційних записів у файлі журналу разом із помилками в компонентах машинного навчання рішення. Усі записи журналу є потенційно корисними вхідними даними, якщо можливо, існують кореляції між інформаційними повідомленнями, попередженнями та помилками. Іноді кореляція є сильною і тому критично важливою для досягнення максимальної швидкості навчання.

Системні адміністратори часто відчувають це як ряд попереджень, що супроводжуються помилкою, викликаною умовою, зазначеною в попередженнях. Інформація в попередженнях більше вказує на першопричину відмови, ніж запис про помилку, створений у випадку критичної відмови системи або підсистеми.

Якщо хтось будує інформаційну панель системи охорони здоров’я для обладнання чи масиву машин, які взаємодіють, що, як видається, у цьому питанні, першопричиною проблем та деякою можливістю раннього попередження є ключова інформація для відображення.

Крім того, не всі погані умови здоров'я системи закінчуються збоєм.

Єдині записи в журналі, які слід усунути фільтрацією перед поданням до механізму навчання, - це, безумовно, нерелевантні та некорельовані. Це може бути, коли файл журналу являє собою сукупність журналів із декількох систем. У такому випадку записи незалежної системи, що аналізується, повинні бути вилучені як ізоляція від записів, які не могли бути співвіднесені з явищами, що аналізуються.

Важливо зазначити, що обмеження аналізу одним записом одночасно значно обмежує корисність інформаційної панелі. Здоров'я системи не дорівнює показникам стану здоров’я для останнього запису журналу. Це навіть не лінійна сума показників здоров'я останніх N записів.

Здоров'я системи має дуже нелінійні та дуже часові залежності з багатьма записами. Шаблони можуть з'являтися поступово протягом кількох днів у багатьох системах. Базова (або базова) нейронна сітка в системі повинна бути навчена ідентифікувати ці нелінійні ознаки для здоров’я, небезпеки та стану ризику, якщо бажана дуже корисна інформаційна панель. Щоб відобразити ймовірність майбутнього виходу з ладу або проблеми контролю якості, у цю нейронну мережу має входити ціле часове вікно записів журналу значної довжини.

Розрізнення відомих та невідомих патернів

Зауважте, що ідентифікація відомих закономірностей відрізняється одним важливим відношенням, ніж ідентифікація нових зразків. Ідентифікованість синтаксису введення відомих помилок уже визначена, що значно зменшує навантаження на навчання на етапах нормалізації введення для цих записів. Спершу слід виявити синтаксичні ідіосинкразії нових типів помилок.

Записи відомого типу також можуть бути відокремлені від тих, які невідомі, що дозволяє використовувати відомі типи запису як навчальні дані, щоб допомогти у вивченні нових синтаксичних зразків. Мета - представити семантичний аналіз синтаксично нормованої інформації.

Перший етап нормалізації, специфічний для файлів журналу

Якщо позначка часу завжди знаходиться на одному і тому ж місці в записах, перетворення її на відносні мілісекунди і, можливо, видалення будь-яких символів 0x0d перед символами 0x0a, можна зробити перед будь-чим іншим, як перший крок у нормалізації. Сліди стеків можна також скласти в масиви відстежених рівнів, визначених вкладками, щоб між записами журналу та рядками журналу існувало відповідність один до одного.

Синтаксично нормована інформація, що виникає як із відомих, так і з невідомих записів записів помилок та помилок, може бути представлена ​​непідконтрольним мережам для наївної ідентифікації категорій смислової структури. Ми не хочемо категоризувати числа або текстові змінні, такі як імена користувачів або серійні номери частин.

Якщо синтаксично нормована інформація належним чином позначена для позначення сильно змінних символів, таких як підрахунки, ємності, метрики та часові позначки, вилучення можливостей може застосовуватися для вивчення шаблонів виразів таким чином, щоб підтримувати відмінність між семантичною структурою та змінними. Збереження цього розрізнення дозволяє відстежувати більш постійні (менш дискретні) тенденції в системних метриках. Кожен запис може мати нульове або більше таких змінних, апріорі відомих або нещодавно придбаних шляхом вилучення функції.

Тенденції можна визначити за часом або проти кількості примірників певного виду. Така графіка може допомогти визначити механічну втому, наближення умов над потужністю або інші ризики, що переростають до точки відмови. Подальші нейронні мережі можуть бути навчені виробляти попереджувальні індикатори, коли тенденції вказують на настання таких умов.

Ледачий лісозаготівля

Весь цей аналіз журналу був би суперечливим, якби архітектори програмного забезпечення та технологічні службовці перестали залишати формат зберігання важливої ​​системної інформації різним зручним примхам розробників програмного забезпечення. Файли журналів, як правило, безлад, а вилучення статистичної інформації про закономірності в них є однією з найпоширеніших проблем у контролі якості програмного забезпечення. Ймовірність того, що суворість коли-небудь буде застосовуватися для ведення лісозаготівель, невелика, оскільки жодна з популярних систем ведення журналу не заохочує суворість. Це, швидше за все, саме це питання переглядали часто.

Розділ вимог цього конкретного питання

У конкретному випадку, представленому в цьому питанні, вимога №1 вказує перевагу запускати аналіз у браузері, що можливо, але не рекомендується. Навіть незважаючи на те, що ECMA є чудовою мовою сценаріїв і механізм регулярного вираження, який може допомогти у вивченні парсерів, вбудований в ECMA (який відповідає іншій частині вимоги №1, не потребуючи додаткових інсталяцій), неізольовані мови не майже ефективний як Java. І навіть Java не настільки ефективна, як C через збирання сміття та неефективності, які виникають завдяки делегуванню відображення байтового коду до машинного коду для запуску часу.

Багато експериментів у машинному навчанні використовують Python, ще одну чудову мову, але більшість робіт, які я робив у Python, тоді були перенесені на обчислювально ефективний C ++ за майже 1000 до одного набирання швидкості у багатьох випадках. Навіть пошук методу C ++ був вузьким місцем, тому порти використовують дуже мало спадку, у стилі ECMA, але набагато швидше. У типовому традиційному коді ядра, С-структури та використання вказівника функції виключає накладні витрати

Друга вимога модульних обробників є розумною і передбачає спрацьоване середовище правила, яке може бути спокушеним вважати, що воно не сумісне з архітектурами NN, але це не так. Після того, як були визначені категорії шаблонів, пошук найпоширеніших з них спочатку в подальших вхідних даних вже мається на увазі у відомій / невідомій відмінність, яка вже вбудована у вищезазначений процес. Однак цей модульний підхід є викликом.

Оскільки стан здоров’я системи часто позначається тенденціями, а не поодинокими записами (як обговорювалося вище) і оскільки стан здоров'я системи не є лінійною сумою значення здоров'я для окремих записів, модульний підхід до обробки записів не повинен бути просто прокладений на дисплей без подальшого аналіз. Це насправді, коли нейронні сітки забезпечать найбільші функціональні надбання в моніторингу здоров'я. Виходи модулів повинні входити в нейронну мережу, яка може бути навчена ідентифікувати ці нелінійні ознаки для здоров’я, небезпеки та стану ризику.

Крім того, часовий аспект поведінки перед відмовою означає, що ціле тимчасове вікно записів журналу значної довжини повинно входити в цю мережу. Це ще більше означає, що ECMA або Python не є вибором для обчислювально інтенсивної частини рішення. (Зауважте, що тенденція в Python полягає в тому, щоб робити те, що я роблю з C ++: Використовувати об'єктно-орієнтований дизайн, інкапсуляцію та легко дотримуватися шаблони проектування для контрольного коду та дуже обчислювально ефективний код, схожий на ядро ​​для фактичного навчання та іншого обчислювально-інтенсивного чи інтенсивного використання даних функції.)

Добір алгоритмів

Не рекомендується вибирати алгоритми на початкових етапах архітектури (як це було зрозуміло в кінці запитання). Спочатку архітектуруйте процес. Визначте компоненти навчання, тип їх необхідності, стан їхньої мети після тренувань, де можна використовувати підкріплення та як буде формуватися сигнал оздоровлення / помилки для посилення / корекції потрібної поведінки мережі. Базуйте ці визначення не лише на бажаному вмісті відображення, але на очікуваній пропускній здатності, вимогах до обчислювальних ресурсів та мінімальній ефективній швидкості навчання. Алгоритми, мова та планування потенціалу для системи можуть бути змістовно обрані лише після того, як усі ці речі будуть принаймні приблизно визначені.

Подібна робота у виробництві

Простий адаптивний аналіз тут працює в лабораторії як частина автоматизації соціальних мереж, але лише для обмеженого набору символів та послідовних зразків. Це робить масштаб без переналаштування на довільно великі мовні одиниці, префікси, закінчення та суфікси, обмежені лише нашими апаратними можливостями та пропускною здатністю. Існування бібліотек регулярних виразів було корисним для спрощення дизайну. Ми використовуємо бібліотеку серії PCRE версії 8, що подається ансіотропною формою DCNN для вилучення можливостей з вікна, що переміщується через вхідний текст з настроюваним розміром вікна та переміщенням розміру приросту. Евристика, застосована до вхідних текстових статистичних даних, зібраних за першим проходом, створює набір гіпотетичних PCRE, розташованих у два шари.

Оптимізація відбувається, щоб застосувати більш високі ймовірнісні ваги до кращих PCRE під час хаотично збуреного пошуку тексту. Він використовує ті самі стратегії конвергенції градієнтного спуску, які використовуються при поширенні спини NN у навчанні. Це наївний підхід, який не робить таких припущень, як наявність зворотних слідів, файлів чи помилок. Він би адаптувався однаково до арабських повідомлень та іспанських.

Вихід - це довільно спрямований графік в пам'яті, який схожий на дамп об'єктно-орієнтованої бази даних.

قنبلة -> dangereux -> 4anlyss
bomba -> dangereux
ambiguïté -> 4anlyss -> préemption -> قنبلة

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

Заключні коментарі

Система має компоненти та архітектуру процесів, подібні до проблеми аналізу журналів, і підтверджують перелічені вище концепції. Звичайно, чим більше дезорганізації способу ведення журналу між розробниками системи, яка здійснює ведення журналу, тим складніше людині чи штучному агенту розлучати записи. Деякі системні журнали так довго контролюють низьку якість, що журнал майже марний.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.