Sinir ağını matrislerdeki örüntüleri tanımak için kullanma


10

CAD modellerinde (yani yuvalar, patronlar, delikler, cepler, adımlar) tasarım özelliklerini tanımlayabilen bir sinir ağı geliştirmeye çalışıyorum.

Ağ için kullanmayı düşündüğüm girdi verileri anxn matrisidir (burada n, CAD modelindeki yüzlerin sayısıdır). Matristeki sağ üst üçgendeki '1', iki yüz arasındaki dışbükey bir ilişkiyi, sol alt üçgendeki '1' içbükey bir ilişkiyi temsil eder. Her iki konumda da sıfır, yüzlerin bitişik olmadığı anlamına gelir. Aşağıdaki görüntü böyle bir matrisin bir örneğini vermektedir. resim açıklamasını buraya girin

Maksimum model boyutunu 20 yüze ayarladığımı ve girişleri ağa sabit bir boyut haline getirmek için bundan daha küçük bir şey için dolgu uyguladığımı varsayalım.

5 farklı tasarım özelliğini tanımak istiyorum ve bu nedenle 5 çıkış nöronu olurdu - [yuva, cep, delik, patron, adım]

Bunun bir çeşit 'örüntü tanıma' sorunu haline geldiğini söylemek doğru olur mu? Örneğin, ağa modelde var olan tasarım özelliğini tanımlayan etiketlerle birlikte bir dizi eğitim modeli sağlarsam, ağ, matriste temsil edilen belirli tasarım özellikleriyle ilgili belirli bitişik kalıpları tanımayı öğrenir mi?

Makine öğrenimine yeni başlıyorum ve bu yaklaşımın işe yarayıp yaramayacağı konusunda bir fikir edinmeye çalışıyorum - sorunu anlamak için daha fazla bilgi gerekiyorsa bir yorum bırakın. Herhangi bir girdi veya yardım takdir edilecektir, teşekkürler.


1
Bu gerçekten ilginç görünüyor. Ama hangi üçgenden bahsediyorsun? Netlik için çizebilir misin?
FelicityC

Yanıtlar:


1

Bunun bir çeşit 'örüntü tanıma' sorunu haline geldiğini söylemek doğru olur mu?

Teknik olarak, evet. Uygulamada: hayır.

Bence "örüntü tanıma" terimini biraz fazla gerçek anlamıyla yorumluyor olabilirsiniz. Olsa wikipedia olarak tanımlar Desen tanıma, bu "kolay" mantıksal akıl tarafından anlaşılabilmektedir sorunların çözümü hakkında değil "makinenin bir dalı verilerinde desen ve düzenliliklerin tanınmasına ilişkin odak olduğunu öğrenen".

Örneğin diyorsun ki

Matristeki sağ üst üçgendeki '1', iki yüz arasındaki dışbükey bir ilişkiyi, sol alt üçgendeki '1' içbükey bir ilişkiyi temsil eder

Bu her zaman doğrudur . Tipik bir makine öğrenimi durumunda (genellikle) bu ön bilgiye sahip olmazdınız. En azından “elle çözmenin” izlenebileceği ölçüde değil.

Örüntü tanıma, geleneksel mantıksal akıl yürütme ve daha basit regresyon modelleri ile analiz edilemeyecek kadar karmaşık hale geldiğinde, problemleri çözmek için geleneksel olarak istatistiksel bir yaklaşımdır. Wikipedia ayrıca "bazı durumlarda makine öğrenimi ile neredeyse eşanlamlı kabul edilen" örüntü tanıma özelliğini de (kaynakla birlikte) belirtir.

Bu varlık dedi: Eğer olabilir bu sorun üzerinde model tanıma kullanın. Ancak, bu durumda aşırıya kaçmış gibi görünüyor. Sorununuzun, anlayabildiğim kadarıyla, gerçek bir "analitik" çözümü var. Yani: mantıkla, her zaman% 100 doğru sonuç alabilirsiniz. Makine öğrenme algoritmaları teorik olarak bunu da yapabilir ve bu durumda ML'nin bu dalına Meta Modelleme denir [1].

Örneğin, ağa modelde var olan tasarım özelliğini tanımlayan etiketlerle birlikte bir dizi eğitim modeli sağlarsam, ağ, matriste temsil edilen belirli tasarım özellikleriyle ilgili belirli bitişik kalıpları tanımayı öğrenir mi?

Tek kelimeyle: Muhtemelen. Gitmenin en iyi yolu? Muhtemelen değil. Neden olmasın?

Modelinizin her zaman tam olarak ne istediğinizi öğrenmeme olasılığı vardır. Buna ek olarak, kendinizi endişelendirmeniz gereken aşırı sığdırma gibi birçok zorluğunuz var. Dediğim gibi bu istatistiksel bir yaklaşım. Tüm test verilerinizi% 100 doğru olarak sınıflandırsa bile (delicesine inat edilemez matematiği kontrol etmedikçe) her zaman doğru olarak sınıflandırılacağından% 100 emin olmanın bir yolu yoktur. Ayrıca, modeliniz üzerinde çalışmak için daha fazla zaman harcayacağınızdan şüpheleniyorum, o zaman mantığı çıkarmak için gereken süre.

Ayrıca @Bitzel ile aynı fikirde değilim: Bu konuda CNN (evrimsel sinir ağı) yapmam. CNN'ler, matrisin belirli bölümlerine bakmak istediğinizde kullanılır ve pikseller arasındaki ilişki ve bağlantı önemlidir - örneğin görüntülerde. Sadece 1'ler ve 0'larınız olduğundan, bir CNN'nin aşırı derecede aşırı olduğundan şüpheleniyorum. Ve tüm ihtişamla (birçok sıfır) kıvrımlarda çok sayıda sıfırla karşılaşırsınız.

Aslında sade bir vanilya (ileri beslemeli) sinir ağı öneririm, ki bu seyrekliğe rağmen bu sınıflandırmayı oldukça kolay bir şekilde yapabilecektir.


1
Çok kapsamlı bir cevap. Kısa bir versiyon, analitik bir çözümü olan sorular için ML'nin genellikle doğru yaklaşım olmadığıdır.
Amrinder Arora

0

Anladığım kadarıyla, evet probleminiz örüntü tanıma ile ilgilidir. Yaklaşım, girişleri daha önce sinir ağı için sağladığınız etiketlerle sınıflandırmak olduğundan, evrişimli bir sinir ağlarının sizin için sorun yaratabileceğini düşünüyorum.


0

Sorun

Önerilen sistem için eğitim verileri aşağıdaki gibidir.

  • Katı geometrik tasarımın yüzey bitişikliğini temsil eden bir Boolean matrisi
  • Matriste ayrıca kenarların iç ve dış açıları arasındaki ayrım da temsil edilir
  • Etiketler (aşağıda açıklanmıştır)

Dışbükey ve içbükey, yüzey eğimi süreksizliklerini tanımlamak için doğru terimler değildir. Bir parmak freze tarafından yapılan gibi bir iç kenar aslında içbükey bir yüzey değildir. İdealleştirilmiş katı modelin bakış açısından yüzey gradyan süreksizliği sıfır yarıçapa sahiptir. Dış kenar, aynı nedenden ötürü bir yüzeyin dışbükey bir parçası değildir.

Önerilen eğitilmiş sistemin amaçlanan çıktısı, spesifik katı geometrik tasarım özelliklerinin varlığını gösteren bir Boolean dizisidir.

  • Bir veya daha fazla yuva
  • Bir veya daha fazla patron
  • Bir veya daha fazla delik
  • Bir veya daha fazla cep
  • Bir veya daha fazla adım

Bu Boole değerleri dizisi, eğitim için etiket olarak da kullanılır.

Yaklaşımda Olası Uyarılar

Bu yaklaşımda haritalama tutarsızlıkları vardır. Kabaca dört kategoriden birine girerler.

  • CAD modelindeki topolojinin matrisle eşleştirilmesiyle yaratılan belirsizlik - önerilen matris kodlamasında birincil olarak yakalanmayan katı geometriler
  • Matrisi olmayan CAD modelleri - kenarların içten dışa açılara dönüştüğü veya eğriliğin ortaya çıktığı durumlar
  • Matristen özelliklerin tanımlanmasındaki belirsizlik - matristeki deseni tanımlayabilen özellikler arasında çakışma
  • Beş arasında olmayan özellikleri tanımlayan matrisler - bu, gelişme aşamasında bir veri kaybı sorunu haline gelebilir

Bunlar, bazı mekanik tasarım alanlarında yaygın olarak görülen ve veri eşlemesini gizleyen topoloji sorunlarına sadece birkaç örnektir.

  • Bir delik, iç yarıçaplı bir kutu çerçevesiyle aynı matrise sahiptir.
  • Dış yarıçaplar matriste aşırı basitleştirmeye neden olabilir.
  • Kenarlarla kesişen delikler, matris formunda diğer topolojiden ayırt edilemez.
  • Kesişen iki veya daha fazla delik bitişik belirsizlikler gösterebilir.
  • Merkez delikli yuvarlak başlıkları destekleyen flanşlar ve nervürler ayırt edilemez.
  • Bir top ve bir torus aynı matrise sahiptir.
  • 180 derecelik bir bükülme ile altıgen bir çarpı işareti olan bir disk ve bant aynı matrise sahiptir.

Bu olası uyarılar, soruda tanımlanan proje için endişe verici olabilir veya olmayabilir.

Bir yüz boyutu ayarlamak verimliliği güvenilirlikle dengeler, ancak kullanılabilirliği sınırlar. Basit geometriler için verimlilikten ödün vermeden rastgele model boyutlarının kapsamına izin verebilecek RNN'lerin varyantlarından birini kullanan yaklaşımlar olabilir. Böyle bir yaklaşım, matrisin her örnek için bir dizi olarak yayılmasını ve her matrise iyi tasarlanmış bir normalleştirme stratejisinin uygulanmasını içerebilir. Eğitim verimliliği üzerinde sıkı bir kısıtlama yoksa ve yüz sayısı için pratik bir maksimum mevcutsa dolgu etkili olabilir.

Sayım ve Kesinliği Çıktı Olarak Değerlendirmek

Bu belirsizlikler ile başa çıkmak için, [0.0,1.0] egzersiz verilerinin etiketlenmesini değiştirmeden çıkış hücrelerinin aktivasyon fonksiyonlarının aralığı olabilir.

Negatif olmayan bir tamsayı çıktısının, özellik başına tek bir Boolean yerine birden çok ikili çıktı hücresi toplanarak oluşturulan imzasız bir ikili gösterim olarak kullanılması olasılığı da en azından dikkate alınmalıdır. Aşağı yönde, özellikleri sayma yeteneği önemli olabilir.

Bu, her katı geometri modelinin her bir özelliği için eğitimli ağ tarafından üretilebilecek beş gerçekçi permütasyona yol açar.

  • Varlığı gösteren Boole
  • Örnek sayısını gösteren negatif olmayan tam sayı
  • Bir veya daha fazla örneğin Boole ve gerçek kesinliği
  • En olası örnek sayısını ve bir veya daha fazla örneğin gerçek kesinliğini temsil eden negatif olmayan tam sayı
  • Negatif olmayan gerçek ortalama ve standart sapma

Örüntü Tanıma veya Ne?

Mevcut kültürde, bu soruna yapay bir ağ uygulamak normalde bilgisayarlı görme veya ses işleme anlamında örüntü tanıma olarak tanımlanmaz. Yakınlık, doğruluk ve güvenilirlik kriterleri göz önüne alındığında, bir fikir haritalamanın kaba yönünde yakınsama yoluyla karmaşık bir fonksiyonel haritalamanın öğrenilmesi olarak düşünülmektedir. Fonksiyon parametrelerif, verilen girdiler X, ilişkili etiketlere yönlendirilir Y eğitim sırasında.

f(X)Y

Ağ tarafından işlevsel olarak yaklaştırılan konsept sınıfı eğitim için kullanılan örnekte yeterince temsil ediliyorsa ve eğitim örneği örneği hedef uygulamanın daha sonra çizeceği şekilde çizilirse, yaklaşık olması yeterli olacaktır.

Bilgi teorisi dünyasında, daha yüksek yapay zeka kavramsal soyutlamasında olması gerektiği gibi, örüntü tanıma ile fonksiyonel yaklaşım arasındaki ayrımın bulanıklaşması söz konusudur.

Fizibilite

Ağ, matrisleri tasarım özelliklerinin [dizi] Boole [göstergeleri] ile eşleştirmeyi öğrenir mi?

Yukarıda listelenen uyarılar proje paydaşları için kabul edilebilirse, örnekler iyi etiketlenir ve yeterli sayıda sağlanır ve veri normalizasyonu, kayıp fonksiyonu, hiper-parametreler ve katman düzenlemeleri iyi ayarlanırsa, eğitim ve makul bir otomatik özellik tanımlama sistemi. Yine kullanılabilirliği, eğitim örnekleri gibi konsept sınıfından çıkarılan yeni katı geometrilere dayanmaktadır. Sistem güvenilirliği, sonraki kullanım örneklerini temsil eden eğitime dayanır.

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.