Czy funkcja rozpoznawania wzorców w CNN jest ograniczona do przetwarzania obrazu?

21

Czy konwergentna sieć neuronowa może być używana do rozpoznawania wzorców w dziedzinie problematycznej, w której nie ma wcześniej istniejących obrazów, powiedzmy graficznie reprezentując abstrakcyjne dane? Czy to zawsze byłoby mniej wydajne?

Ten programista twierdzi, że obecny rozwój może pójść dalej, ale nie, jeśli istnieje ograniczenie poza rozpoznawaniem obrazów.

dynrepsys
źródło
1
Widzę tu co najmniej dwa pytania. Jak myślisz o podziale? Ponadto pytanie miałoby znacznie wyższą jakość, gdybyś mógł rozwinąć to, czego szukałeś, bez pytania tytułowego.
Eric Platon,
@EricPlaton Zaostrzyłem to trochę. Moje główne pytanie dotyczy natury związku między CNN a obrazami. Jaka byłaby twoja sugestia na drugie pytanie?
dynrepsys
Dziękuję, pytanie jest dla mnie dobre (chociaż powinienem usunąć swoją odpowiedź teraz ~). Co do drugiego pytania, co powiesz na podejście „co to jest haczyk”? „Czy to zawsze jest mniej wydajne?” jest nadal w porządku, jeśli ktoś może wymyślić kontrprzykład.
Eric Platon,
Przez „Czy konwergentną sieć neuronową można wykorzystać do rozpoznawania wzorców w dziedzinie problematycznej, w której nie ma wcześniej istniejących obrazów, powiedzmy, reprezentując abstrakcyjne dane graficznie?” pytasz, czy możemy przedstawić jakiekolwiek dane jako obraz i zastosować CNN? Jak czytanie zestawu danych zawierającego 100 funkcji i reprezentowanie go jako obrazu 10x10?
rcpinto

Odpowiedzi:

10

Sieci splotowe (CNN) opierają się na splotach matematycznych (np. Splotach 2D lub 3D), które są powszechnie stosowane do przetwarzania sygnałów. Obrazy są rodzajem sygnału, a splot może być w równym stopniu wykorzystywany w dźwięku, wibracjach itp. Tak więc w zasadzie CNN mogą znaleźć zastosowanie do dowolnego sygnału i prawdopodobnie więcej.

W praktyce istnieją już prace nad NLP (jak wspomniał Matthew Graves), gdzie niektóre osoby przetwarzają tekst za pomocą CNN zamiast sieci rekurencyjnych. Niektóre inne prace dotyczą przetwarzania dźwięku (nie ma tu odniesienia, ale wciąż mam prace niepublikowane).


Oryginalna treść: W odpowiedzi na oryginalne pytanie tytułowe, które się zmieniło. Być może trzeba go usunąć .

Badania sieci przeciwników (i pokrewnych) pokazują, że nawet sieci głębokie można łatwo oszukać , co prowadzi ich do zobaczenia psa (lub innego obiektu) w czymś, co wydaje się przypadkowym hałasem, gdy człowiek na to patrzy (artykuł zawiera wyraźne przykłady).

Kolejną kwestią jest moc generalizacyjna sieci neuronowej. Sieci konwergencyjne zadziwiły świat swoją zdolnością do generalizowania znacznie lepiej niż inne techniki. Ale jeśli sieć będzie karmiona tylko obrazami kotów, rozpozna tylko koty (i prawdopodobnie zobaczy wszędzie koty, jak na podstawie wyników sieci przeciwników). Innymi słowy, nawet CN mają trudności z uogólnieniem zbyt daleko poza to, czego się nauczyły.

Limit rozpoznawania jest trudny do precyzyjnego zdefiniowania. Powiedziałbym po prostu, że różnorodność danych edukacyjnych przesuwa granicę (zakładam, że dalsze szczegóły powinny prowadzić do bardziej odpowiedniego miejsca do dyskusji).

Eric Platon
źródło
5

Prosta odpowiedź brzmi „nie, nie są one ograniczone do obrazów”: CNN są również wykorzystywane do przetwarzania języka naturalnego. (Zobacz tutaj wprowadzenie).

Nie widziałem ich jeszcze w odniesieniu do danych graficznych, ale nie szukałem; jest kilka oczywistych rzeczy do wypróbowania, więc jestem optymistą, że to zadziała.

Matthew Graves
źródło
3

Konwolucyjna sieć neuronowa może być stosowana nie tylko do rozpoznawania obrazów, ale także do analizy i rozpoznawania wideo, przetwarzania języka naturalnego, w grach (np. Go ), a nawet do odkrywania leków poprzez przewidywanie interakcji między cząsteczkami i wiki białek biologicznych .

Dlatego można go stosować do różnych problemów, stosując warstwy splotowe i podpróbkowania połączone z warstwami pełniej połączonymi. Łatwiej je trenować, ponieważ mają mniej parametrów niż w pełni połączone sieci z taką samą liczbą ukrytych jednostek. UFLDL

kenorb
źródło
3

Splotową sieć neuronową można stosować wszędzie tam, gdzie wzorce są lokalnie skorelowane i możliwe do przetłumaczenia (jak w trybie przesuwnym). Dzieje się tak, ponieważ CNN zawierają filtry, które szukają pewnych lokalnych wzorców wszędzie na wejściu. Znajdziesz lokalne i możliwe do przetłumaczenia wzory na zdjęciach, tekście, szeregach czasowych itp.

Używanie CNN nie ma większego sensu, jeśli dane są bardziej jak zestaw funkcji o nieistotnym porządku. W takim przypadku możesz mieć problemy z wykryciem wzorców, które zawierają cechy, które zdarzają się dalej w wektorze wejściowym. W danych nie znajdziesz wzorców lokalnych i możliwych do przetłumaczenia, jeśli możesz zmienić kolejność punktów danych wektorów wejściowych bez utraty informacji.

BlindKungFuMaster
źródło