Günlük dosyası analizi için tasarım AI


12

Bilinen ekipmanların hatalarını bulmak ve yeni arıza modelleri bulmak için bir AI aracı geliştiriyorum. Bu günlük dosyası zaman tabanlıdır ve bilinen iletileri (bilgi ve hata) vardır. yeni olası desenleri bulun. Bazı gereksinimlerim var:

1 - Araç ya a. ekstra ortam kurulumuna bağımlı değildir veya b. ne kadar az o kadar iyi (mükemmel senaryo, aracı tamamen tarayıcıda bağımsız modda çalıştırmaktır);

2 - Desen analizörünü parçalara ayırma imkanı, bir çeşit modülerlik, hata başına bir modül;

Bunu yapmak için önerilen algoritma türleri nelerdir (Sinir ağı, genetik algoritma, vb.)? JavaScript kullanarak çalışacak bir şey var mı? Değilse bu AI yapmak için en iyi dil nedir?


1
Kural tabanlı bir şeyin bunun için makine öğrenmesinden daha uygun olacağından şüpheleniyorum
antlersoft

@antlersoft Bilinen sorunlar için katılıyorum, ancak kusurlarla da ilişki kurmak için kalıp aramak istiyorum.
Juliano Oliveira

Önerilen? Düşünelim ... regexp mi kullanıyorsunuz? Klasik algoritmalar kullanarak çözümü olmayan problemler için sinir ağları önerilir. Hemen hemen tüm sinir ağları önceden işlenmiş veriler alır. Günlüğü "önişlem" yaparsanız, çözümünüzü de alırsınız.
betontalpfa

Yanıtlar:


9

Girişler Arasındaki Korelasyon

İlk öneri, günlük dosyasındaki uygun uyarı ve bilgi girişlerinin, çözümün makine öğrenimi bileşenlerindeki hatalarla birlikte sunulmasını sağlamaktır. Bilgilendirme mesajları, uyarılar ve hatalar arasında korelasyon olması mümkünse, tüm günlük girişleri potansiyel olarak yararlı giriş verileridir. Bazen korelasyon güçlüdür ve bu nedenle öğrenme oranını en üst düzeye çıkarmak için kritiktir.

Sistem yöneticileri bunu genellikle bir dizi uyarı olarak görür ve bunu uyarılarda belirtilen durumdan kaynaklanan bir hata izler. Uyarılardaki bilgiler, sistemin veya bir alt sistemin kritik olarak başarısız olması nedeniyle oluşturulan hata girişinden daha fazla hatanın temel nedenini gösterir.

Bu soruda olduğu gibi görünen bir ekipman veya bir dizi makine için bir sistem sağlığı kontrol paneli oluşturuyorsanız, sorunların temel nedeni ve bazı erken uyarı özellikleri görüntülenmesi gereken kilit bilgilerdir.

Ayrıca, tüm kötü sistem sağlık koşulları başarısızlıkla sonuçlanmaz.

Öğrenme mekanizmasına sunulmadan önce filtreleme ile ortadan kaldırılması gereken tek günlük girişleri, kesinlikle alakasız ve ilişkisiz girişlerdir. Günlük dosyası, birkaç sistemden günlük toplamı olduğunda bu durum söz konusu olabilir. Böyle bir durumda, analiz edilmekte olan bağımsız sistem için girdiler, analiz edilen fenomenle muhtemelen ilişkilendirilemeyen girdilerden bir izolat olarak çıkarılmalıdır.

Analizleri her seferinde bir girişle sınırlamanın, kontrol panelinin kullanışlılığını büyük ölçüde sınırladığını belirtmek önemlidir. Bir sistemin sağlığı, en son günlük girdisinin sağlık göstergelerine eşit değildir. En son N girişlerinin sağlık endikasyonlarının doğrusal toplamı bile değildir.

Sistem sağlığının birçok girdi ile doğrusal olmayan ve geçici olarak bağımlı bir ilişkisi vardır. Desenler gün boyunca birçok sistemde kademeli olarak ortaya çıkabilir. Sistemdeki baz (veya baz) sinir ağı, oldukça faydalı bir gösterge tablosu isteniyorsa bu doğrusal olmayan sağlık belirtilerini, yaklaşan tehlikeleri ve risk koşullarını tanımlamak için eğitilmelidir. Yaklaşan bir arıza veya kalite kontrol sorunu olasılığını görüntülemek için, hatırı sayılır uzunlukta günlük girişlerinin tüm zaman penceresi bu sinir ağına girmelidir.

Bilinen ve Bilinmeyen Desenler Arasındaki Fark

Bilinen örüntülerin tanımlanmasının önemli bir açıdan yeni örüntülerin tanımlanmasından farklı olduğuna dikkat edin. Bilinen hataların giriş sözdiziminin kendine özgü tanımları zaten tanımlanmıştır ve bu girişler için işlemin girdi normalleştirme aşamalarındaki öğrenme yükünü önemli ölçüde azaltır. İlk olarak yeni hata türlerinin sözdizimsel bulguları keşfedilmelidir.

Bilinen tipteki girişler, bilinmeyen girişlerden de ayrılabilir ve bilinen giriş tiplerinin, yeni sözdizimsel kalıpların öğrenilmesine yardımcı olmak için eğitim verisi olarak kullanılmasına olanak tanır. Amaç, semantik analize sözdizimsel olarak normalize edilmiş bilgileri sunmaktır.

Günlük Dosyalarına Özgü Normalleştirmenin İlk Aşaması

Zaman damgası girişlerde her zaman aynı yerdeyse, göreli milisaniyeye dönüştürmek ve 0x0a karakterlerinden önce herhangi bir 0x0d karakterini kaldırmak, normalleştirmede ilk adım olarak herhangi bir şeyden önce yapılabilir. Yığın izleri, günlük girişleri ve günlük satırları arasında bire bir yazışma olması için, izleme düzeylerinin sekmeyle sınırlandırılmış dizilerine de katlanabilir.

Bilinen ve bilinmeyen hata girişlerinden ve hata türü olmayan girişlerden kaynaklanan sözdizimsel olarak normalize edilmiş bilgiler, daha sonra semantik yapı kategorilerinin naif tanımlanması için denetimsiz ağlara sunulabilir. Sayıları veya kullanıcı adları veya parça seri numaraları gibi metin değişkenlerini kategorilere ayırmak istemiyoruz.

Sözdizimsel olarak normalize edilmiş bilgiler sayımlar, kapasiteler, metrikler ve zaman damgaları gibi oldukça değişken sembolleri göstermek üzere uygun şekilde işaretlenirse, ifade kalıplarını semantik yapı ve değişkenler arasındaki ayrımı koruyacak şekilde öğrenmek için özellik çıkarma uygulanabilir. Bu ayrımın sürdürülmesi, sistem metriklerindeki daha sürekli (daha az ayrık) eğilimlerin izlenmesine izin verir. Önceden bilinen veya yakın zamanda özellik çıkarımı yoluyla edinilen her girişte sıfır veya daha fazla bu değişken olabilir.

Eğilimler, zamana veya belirli bir türdeki örnek sayısına karşı grafiklendirilebilir. Bu tür grafikler, mekanik yorgunluğun tanımlanmasına, aşırı kapasite koşullarına yaklaşılmasına veya bir arıza noktasına yükselen diğer risklere yardımcı olabilir. Eğilimler bu tür koşulların yaklaşmakta olduğunu gösterdiğinde uyarı göstergeleri üretmek için başka sinir ağları eğitilebilir.

Tembel Günlüğe Kaydetme

Yazılım mimarları ve teknoloji görevlileri, önemli sistem bilgilerinin depolama biçimini yazılım geliştiricilerinin değişen uygun kaprislerine bırakmayı bırakırsa, tüm bu günlük analizi tartışmalıdır. Günlük dosyaları genellikle bir karışıklıktır ve içlerindeki desenler hakkında istatistiksel bilgilerin çıkarılması, yazılım kalite kontrolündeki en yaygın zorluklardan biridir. Popüler kayıt çerçevelerinin hiçbiri titizliği teşvik etmediğinden, titizliğin evrensel olarak günlüklemeye uygulanma olasılığı küçüktür. Büyük olasılıkla bu sorunun sık sık görülmesinin nedeni budur.

Bu Özel Sorunun Gereksinimler Bölümü

Bu soruda sunulan özel durumda, # 1 gereksinimi, analizin tarayıcıda çalıştırılması tercihini belirtir; bu mümkün ancak önerilmez. ECMA harika bir betik dili olmasına ve ayrıştırıcıları öğrenmede yardımcı olabilecek normal ifade makineleri ECMA'ya (1 numaralı gereksinimin diğer kısmına uygun, ek kurulum gerektirmeyen) derlenmemiş diller neredeyse Java kadar verimlidir. Ayrıca, Java bile çöp toplama ve bayt kodunun makine koduna çalışma zamanı eşleştirilerek oluşan verimsizlikler nedeniyle C kadar verimli değildir.

Makine öğreniminde birçok deneyde başka bir harika dil olan Python kullanılıyor, ancak Python'da yaptığım işlerin çoğu, çoğu durumda yaklaşık 1000 ila bir hız kazanımı için hesaplama açısından verimli C ++ 'a taşındı. C ++ yöntemi araması bile bir darboğazdı, bu yüzden portlar ECMA tarzında çok az kalıtım kullanıyor, ancak çok daha hızlı. Geleneksel tipik çekirdek kodunda, C yapıları ve işlev işaretçisi kullanımı vtable yükünü ortadan kaldırır.

Modüler işleyicilerin ikinci gereksinimi mantıklıdır ve birçoğunun NN mimarileriyle uyumsuz olduğunu düşünmeye teşvik edilebilecek tetiklenmiş bir kural ortamı anlamına gelir, ancak değildir. Örüntü kategorileri belirlendikten sonra, daha sonraki girdi verilerinde en yaygın olanları aramak, yukarıdaki sürece zaten dahil edilmiş olan bilinen / bilinmeyen ayrımda zaten ima edilir. Ancak bu modüler yaklaşımla ilgili bir zorluk vardır.

Sistem sağlığı genellikle tek girdilerle değil, eğilimlerle (yukarıda tartışıldığı gibi) gösterildiğinden ve sistem sağlığı, tek tek girişlerin sağlık değerinin doğrusal bir toplamı olmadığından, girişleri işlemeye yönelik modüler yaklaşım, ekrana daha fazla gerek duyulmadan gösterilmemelidir. analizi. Aslında bu, sinir ağlarının sağlık izlemede en büyük fonksiyonel kazanımları sağlayacağı yerdir. Modüllerin çıktıları, bu doğrusal olmayan sağlık belirtilerini, yaklaşan tehlikeleri ve risk koşullarını tanımlamak için eğitilebilen bir sinir ağına girmelidir.

Ayrıca, hata öncesi davranışının zamansal yönü, hatırı sayılır uzunlukta günlük girişlerinin tüm zaman penceresinin bu ağa girmesi gerektiği anlamına gelir. Bu ayrıca çözümün hesaplama açısından yoğun kısmı için bir seçenek olarak ECMA veya Python'un uygunsuzluğunu ima eder. (Python'daki eğilimin C ++ ile yaptığım işi yapmak olduğunu unutmayın: Denetleyici kod için nesne yönelimli tasarım, kapsülleme ve takip edilmesi kolay tasarım desenleri ve gerçek öğrenme ve diğer hesaplama yoğunluğu veya veri yoğunluğu için çok hesaplamalı olarak verimli çekirdek benzeri kod kullanın fonksiyonlar.)

Toplama Algoritmaları

Mimarinin ilk aşamalarında (sorunun sonunda ima edildiği gibi) algoritmaların seçilmesi önerilmez. Önce süreci mimar. Öğrenme bileşenlerini, ihtiyaç duydukları türü, eğitimden sonraki hedef durumlarını, takviyenin nerede kullanılabileceğini ve istenen ağ davranışını güçlendirmek / düzeltmek için sağlık / hata sinyalinin nasıl oluşturulacağını belirleyin. Bu tespitleri yalnızca istenen görüntü içeriğine değil, beklenen verime, bilgi işlem kaynağı gereksinimlerine ve minimum etkili öğrenme oranına dayandırın. Sistem için algoritmalar, dil ve kapasite planlaması ancak tüm bunlar en azından kabaca tanımlandıktan sonra anlamlı bir şekilde seçilebilir.

Üretimde Benzer Çalışmalar

Laboratuvarda sosyal ağ otomasyonunun bir parçası olarak basit adaptif ayrıştırma çalışıyor, ancak sadece sınırlı sayıda sembol ve sıralı model için. Sadece donanım kapasitelerimiz ve iş hacmimizle sınırlı olarak keyfi büyük taban dil birimlerine, ön eklerine, sonlara ve soneklere yeniden yapılandırılmadan ölçeklendirir. Düzenli ifade kütüphanelerinin varlığı, tasarımı basit tutmak için yardımcı oldu. Yapılandırılabilir bir pencere boyutuna ve taşıma boyutuna sahip giriş metninde hareket eden bir pencereden özellik çıkarma için DCNN'nin ansiyotropik bir formuyla beslenen PCRE sürüm 8 serisi kitaplığını kullanıyoruz. İlk geçişte toplanan girdi metni istatistiklerine uygulanan sezgisel tarama, iki kat halinde düzenlenmiş bir dizi varsayımsal PCRE üretir.

Eniyileme düzensiz bir metin aramasında en iyi PCRE'lere daha yüksek olasılıklı ağırlıklar uygulamak için optimizasyon gerçekleşir. Eğitimde NN geri yayılmasında kullanılanla aynı degrade iniş yakınsama stratejilerini kullanır. Geri izlerin, dosyaların veya hataların varlığı gibi varsayımlarda bulunmayan saf bir yaklaşımdır. Arapça mesajlara ve İspanyolca mesajlara eşit şekilde uyarlanacaktır.

Çıktı, nesne yönelimli bir veritabanının dökümüne benzeyen, bellekte keyfi olarak yönlendirilmiş bir grafiktir.

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

Bir takviye versiyonu için yeniden giriş algoritması saplanmış olsa da ve sağlık sinyali zaten mevcut olsa da, diğer çalışmalar uyarlanabilir ayrıştırıcıyı ilerletmeyi veya doğal dil için işi kullanmak için bir sonraki adıma doğru çalışmayı önledi: Yönlendirilmiş grafikleri kalıcı yönlendirilmiş grafiğe eşleştirme Dil kavrayışının fikir hatırlama yönünü taklit eden fikirleri temsil eden filtreler.

Son Yorumlar

Sistem, günlük analizi problemine benzer bileşenlere ve süreç mimarisine sahiptir ve yukarıda listelenen kavramları kanıtlar. Tabii ki, günlüğe kaydetmeyi yapan sistemin geliştiricileri arasında günlüğe kaydetme biçiminde ne kadar düzensizlik olursa, bir insan veya yapay bir ajanın girişleri belirsizleştirmesi o kadar zor olur. Bazı sistem günlüğü, günlüğün neredeyse işe yaramayacağı kadar uzun bir süredir çok düşük kalite kontrolü olmuştur.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.