Wykorzystanie sieci neuronowej do rozpoznawania wzorców w macierzach

10

Usiłuję opracować sieć neuronową, która może identyfikować cechy projektowe w modelach CAD (tj. Szczeliny, występy, dziury, kieszenie, stopnie).

Dane wejściowe, których zamierzam użyć dla sieci, to macierz anxn (gdzie n jest liczbą ścian w modelu CAD). „1” w prawym górnym trójkącie w macierzy reprezentuje wypukłą zależność między dwiema ścianami, a „1” w lewym dolnym trójkącie reprezentuje wklęsłą zależność. Zero w obu pozycjach oznacza, że ​​twarze nie sąsiadują ze sobą. Poniższy obraz przedstawia przykład takiej matrycy. wprowadź opis zdjęcia tutaj

Powiedzmy, że ustawiłem maksymalny rozmiar modelu na 20 ścian i stosuję padding dla wszystkiego, co jest mniejsze niż to, aby wejścia do sieci miały stały rozmiar.

Chcę być w stanie rozpoznać 5 różnych cech konstrukcyjnych i dlatego miałbym 5 neuronów wyjściowych - [szczelina, kieszeń, dziura, boss, krok]

Czy miałbym rację mówiąc, że staje się to rodzajem problemu z rozpoznawaniem wzorców? Na przykład, jeśli dostarczę sieci szereg modeli szkoleniowych - wraz z etykietami opisującymi funkcję projektową, która istnieje w modelu, czy sieć nauczy się rozpoznawać określone wzorce sąsiedztwa reprezentowane w matrycy, które odnoszą się do niektórych cech projektowych?

Jestem całkowicie początkującym uczeniem maszynowym i staram się ustalić, czy to podejście zadziała, czy nie - jeśli potrzebne są dodatkowe informacje, aby zrozumieć problem, zostaw komentarz. Wszelkie uwagi lub pomoc będą mile widziane, dzięki.

Darren Taggart
źródło
1
To wygląda naprawdę interesująco. Ale o jakim trójkącie mówisz? Czy możesz to narysować dla jasności?
FelicityC,

Odpowiedzi:

1

Czy miałbym rację mówiąc, że staje się to rodzajem problemu z rozpoznawaniem wzorców?

Technicznie tak. W praktyce: nie.

Myślę, że interpretujesz pojęcie „rozpoznawanie wzorców” zbyt dosłownie. Mimo że wikipedia definiuje rozpoznawanie wzorców jako „gałąź uczenia maszynowego, która koncentruje się na rozpoznawaniu wzorców i prawidłowości w danych”, nie dotyczy to rozwiązywania problemów, które można „łatwo” wywnioskować na podstawie logicznego rozumowania.

Np. Tak mówisz

„1” w prawym górnym trójkącie w macierzy reprezentuje wypukłą zależność między dwiema ścianami, a „1” w lewym dolnym trójkącie oznacza relację wklęsłą

Tak jest zawsze . W typowej sytuacji uczenia maszynowego nie ma (zwykle) tej wcześniejszej wiedzy. Przynajmniej nie w takim stopniu, w jakim byłoby to „wykonalne ręcznie”.

Rozpoznawanie wzorców jest tradycyjnie statystycznym podejściem do rozwiązywania problemów, gdy stają się zbyt skomplikowane, aby je analizować przy użyciu konwencjonalnego logicznego wnioskowania i prostszych modeli regresji. Wikipedia stwierdza również (ze źródłem), że rozpoznawanie wzorców „w niektórych przypadkach jest uważane za prawie synonim uczenia maszynowego”.

To powiedziawszy: można użyć rozpoznawania wzorców w tym problemie. Jednak w tym przypadku wydaje się, że to przesada. Twój problem, o ile rozumiem, ma rzeczywiste „analityczne” rozwiązanie. To znaczy: możesz logicznie uzyskać 100% poprawny wynik przez cały czas. Algorytmy uczenia maszynowego mogłyby teoretycznie również to zrobić, w takim przypadku, a ta gałąź ML jest określana jako Meta Modeling [1].

Na przykład, jeśli dostarczę sieci szereg modeli szkoleniowych - wraz z etykietami opisującymi funkcję projektową, która istnieje w modelu, czy sieć nauczy się rozpoznawać określone wzorce sąsiedztwa reprezentowane w matrycy, które odnoszą się do niektórych cech projektowych?

Jednym słowem: prawdopodobnie. Najlepsza droga? Prawdopodobnie nie. Dlaczego nie pytasz?

Zawsze istnieje możliwość, że Twój model nie nauczy się dokładnie tego, czego chcesz. Ponadto masz wiele wyzwań, takich jak nadmierne dopasowanie , o które powinieneś się martwić. Jest to podejście statystyczne, jak powiedziałem. Nawet jeśli klasyfikuje wszystkie twoje dane testowe jako 100% poprawne, nie ma możliwości (chyba że sprawdzisz szalenie trudną matematykę), aby mieć 100% pewności, że zawsze będzie poprawnie klasyfikowana. Podejrzewam ponadto, że prawdopodobnie skończysz spędzać więcej czasu pracując nad swoim modelem, niż czas potrzebny na samo wyprowadzenie logiki.

Nie zgadzam się również z @Bitzel: nie zrobiłbym na ten temat CNN (sieci neuronowej splotowej). Sieci CNN są używane, gdy chcesz spojrzeć na określone części macierzy, a zależność i powiązanie między pikselami są ważne - na przykład na obrazach. Ponieważ masz tylko 1 i 0, mocno podejrzewam, że CNN byłby znacznie przesadzony. I przy całej rzadkości (wielu zerach) skończyłoby się z wieloma zerami w zwojach.

Właściwie sugerowałbym prostą waniliową (feed forward) sieć neuronową, która, pomimo rzadkości, wydaje mi się, że będzie w stanie łatwo dokonać tej klasyfikacji.

Andreas Storvik Strauman
źródło
1
Bardzo dokładna odpowiedź. Jedna krótka wersja jest taka, że ​​w przypadku pytań, które mają rozwiązanie analityczne, ML zwykle nie jest właściwym podejściem.
Amrinder Arora,
0

O ile rozumiem, tak, twój problem związany jest z rozpoznawaniem wzorów. Ponieważ podejście polega na klasyfikowaniu danych wejściowych za pomocą etykiet, które wcześniej udostępniasz dla sieci neuronowej, myślę, że splotowe sieci neuronowe mogą być dla ciebie problemem.

Bitzel
źródło
0

Problem

Dane szkoleniowe dla proponowanego systemu są następujące.

  • Macierz boolowska reprezentująca przyleganie powierzchni do solidnego projektu geometrycznego
  • W matrycy przedstawiono również rozróżnienie między wewnętrznymi i zewnętrznymi kątami krawędzi
  • Etykiety (opisane poniżej)

Wypukłe i wklęsłe nie są poprawnymi terminami opisującymi nieciągłości gradientu powierzchni. Wewnętrzna krawędź, na przykład wykonana przez frez końcowy, nie jest w rzeczywistości powierzchnią wklęsłą. Nieciągłość gradientu powierzchni, z punktu widzenia wyidealizowanego modelu bryłowego, ma promień zerowy. Z tego samego powodu zewnętrzna krawędź nie jest wypukłą częścią powierzchni.

Zamierzonym wyjściem proponowanego wyszkolonego systemu jest tablica boolowska wskazująca na obecność konkretnych stałych cech geometrycznych.

  • Jedno lub więcej gniazd
  • Jeden lub więcej szefów
  • Jedna lub więcej dziur
  • Jedna lub więcej kieszeni
  • Jeden lub więcej kroków

Ta tablica wartości logicznych jest również używana jako etykiety do treningu.

Możliwe zastrzeżenia w podejściu

W tym podejściu występują niezgodności mapowania. Można je z grubsza podzielić na jedną z czterech kategorii.

  • Niejednoznaczność wynikająca z odwzorowania topologii w modelu CAD na matrycę - zaproponowano geometrie brył, których pierwotne nie zostały uchwycone w kodowaniu matrycowym
  • Modele CAD, dla których nie istnieje matryca - przypadki, w których krawędzie zmieniają się z kątów wewnętrznych na zewnętrzne lub wychodzą z krzywizny
  • Niejednoznaczność w identyfikacji cech z macierzy - nakładają się na siebie cechy, które mogłyby zidentyfikować wzór w macierzy
  • Macierze opisujące funkcje, których nie ma wśród pięciu - może to stać się problemem utraty danych na dalszych etapach rozwoju

To tylko kilka przykładów problemów z topologią, które mogą występować często w niektórych domenach projektowania mechanicznego i zaciemniają mapowanie danych.

  • Otwór ma tę samą matrycę co rama skrzynkowa z wewnętrznymi promieniami.
  • Promienie zewnętrzne mogą prowadzić do nadmiernego uproszczenia matrycy.
  • Otwory przecinające się z krawędziami mogą być nie do odróżnienia od innej topologii w formie matrycy.
  • Dwa lub więcej przecinających się otworów może powodować niejednoznaczności przylegania.
  • Kołnierze i żebra podpierające okrągłe występy z otworami środkowymi mogą być nie do odróżnienia.
  • Piłka i torus mają tę samą matrycę.
  • Tarcza i pasek z sześciokątnym krzyżem o skręcie o 180 stopni mają tę samą matrycę.

Te możliwe zastrzeżenia mogą, ale nie muszą dotyczyć projektu określonego w pytaniu.

Ustawienie rozmiaru twarzy równoważy wydajność z niezawodnością, ale ogranicza użyteczność. Mogą istnieć podejścia wykorzystujące jeden z wariantów RNN, które mogą pozwolić na pokrycie dowolnych rozmiarów modeli bez uszczerbku dla wydajności prostych geometrii. Takie podejście może obejmować rozłożenie matrycy jako sekwencji dla każdego przykładu, zastosowanie dobrze opracowanej strategii normalizacji dla każdej matrycy. Wypełnienie może być skuteczne, jeśli nie ma ścisłych ograniczeń dotyczących wydajności treningu i istnieje praktyczne maksimum dla liczby twarzy.

Biorąc pod uwagę liczbę i pewność jako wynik

[0,0,1.0]

Należy przynajmniej wziąć pod uwagę możliwość użycia nieujemnej liczby całkowitej jako niepodpisanej reprezentacji binarnej utworzonej przez agregację wielu binarnych komórek wyjściowych, zamiast pojedynczej wartości logicznej na funkcję. W dalszej kolejności zdolność liczenia funkcji może stać się ważna.

Prowadzi to do rozważenia pięciu realistycznych permutacji, które mogą być wytwarzane przez przeszkoloną sieć dla każdej cechy każdego modelu bryły geometrycznej.

  • Wartość logiczna wskazująca na istnienie
  • Nieujemna liczba całkowita wskazująca liczbę wystąpień
  • Logiczna i prawdziwa pewność co najmniej jednego wystąpienia
  • Nieujemna liczba całkowita reprezentująca najbardziej prawdopodobną liczbę wystąpień i rzeczywistą pewność co najmniej jednego wystąpienia
  • Nieujemna rzeczywista średnia i odchylenie standardowe

Rozpoznawanie wzoru czy co?

faXY

fa(X)Y

Jeżeli klasa koncepcji funkcjonalnie aproksymowana przez sieć jest dostatecznie reprezentowana w próbce użytej do szkolenia, a próbka przykładów szkolenia jest rysowana w taki sam sposób, jak aplikacja docelowa później narysuje, przybliżenie prawdopodobnie będzie wystarczające.

W świecie teorii informacji zaciera się rozróżnienie między rozpoznawaniem wzorów a przybliżeniem funkcjonalnym, ponieważ powinna istnieć abstrakcja koncepcyjna AI na wyższym poziomie.

Wykonalność

Czy sieć nauczyłaby się mapować macierze na [tablicę] boolowskich [wskaźników] funkcji projektowych?

Jeśli wyżej wymienione zastrzeżenia są do zaakceptowania przez interesariuszy projektu, przykłady są dobrze oznakowane i przedstawione w wystarczającej liczbie, a normalizacja danych, funkcja utraty, hiperparametry i układ warstw są dobrze skonfigurowane, prawdopodobne jest, że konwergencja nastąpi podczas szkolenie i rozsądny automatyczny system identyfikacji funkcji. Ponownie, jego użyteczność zależy od nowych brył geometrycznych zaczerpniętych z klasy koncepcyjnej, tak jak w przykładach szkoleniowych. Niezawodność systemu polega na tym, że szkolenie jest reprezentatywne dla późniejszych przypadków użycia.

Douglas Daseeco
źródło