Wydaje mi się, że pytanie jest dość szerokie! Tak czy inaczej.
Zrozumienie sieci konwolucji
Czego się nauczyłem, ConvNets
próbuje zminimalizować funkcję kosztu, aby poprawnie kategoryzować dane wejściowe w zadaniach klasyfikacji. Wszystkie filtry zmieniające parametry i wyuczone filtry mają na celu osiągnięcie wspomnianego celu.
Wyuczone funkcje w różnych warstwach
Próbują obniżyć koszty, ucząc się niskich, czasem pozbawionych znaczenia cech, takich jak poziome i pionowe linie na swoich pierwszych warstwach, a następnie układając je w stosy, aby uzyskać abstrakcyjne kształty, które często mają znaczenie na ostatnich warstwach. Dla zilustrowania tego rys. 1, który został użyty stąd , można rozważyć. Wejście to magistrala, a dźwignia pokazuje aktywacje po przejściu wejścia przez różne filtry w pierwszej warstwie. Jak widać, czerwona ramka, czyli aktywacja filtra, której parametrów nauczyliśmy się, została aktywowana dla względnie poziomych krawędzi. Niebieska ramka została aktywowana dla względnie pionowych krawędzi. Możliwie, żeConvNets
uczymy się nieznanych filtrów, które są przydatne, a my, np. praktykujący widzenie komputerowe, nie odkryliśmy, że mogą być przydatne. Najlepszą częścią tych sieci jest to, że próbują samodzielnie znaleźć odpowiednie filtry i nie używają naszych ograniczonych odkrytych filtrów. Uczą się filtrów, aby zmniejszyć kwotę funkcji kosztów. Jak wspomniano, filtry te niekoniecznie są znane.
W głębszych warstwach funkcje poznane na poprzednich warstwach łączą się i tworzą kształty, które często mają znaczenie. W niniejszym artykule omówiono, że warstwy te mogą mieć aktywacje, które są dla nas znaczące, lub pojęcia, które mają znaczenie dla nas, jako istot ludzkich, mogą być rozdzielone między inne aktywacje. Na ryc. 2 zielona ramka pokazuje aktywacje filtra w piątej warstwie aConvNet
. Ten filtr dba o twarze. Załóżmy, że czerwony dba o włosy. Mają znaczenie. Jak widać, istnieją inne aktywacje, które zostały aktywowane w pozycji typowych twarzy na wejściu, zielona ramka jest jedną z nich; Niebieska ramka jest kolejnym przykładem. Odpowiednio, abstrakcję kształtów można nauczyć się przez filtr lub wiele filtrów. Innymi słowy, każda koncepcja, podobnie jak twarz i jej komponenty, może być rozdzielona między filtry. W przypadkach, w których pojęcia są podzielone na różne warstwy, jeśli ktoś spojrzy na każdą z nich, mogą być wyrafinowane. Informacje są dystrybuowane między nimi i dla zrozumienia, że informacje te wszystkie filtry i ich aktywacje muszą być wzięte pod uwagę, chociaż mogą się wydawać tak skomplikowane.
CNNs
nie powinny być w ogóle uważane za czarne skrzynki. Zeiler i wszyscy w tym niesamowitym artykule omawiali rozwój lepszych modeli sprowadzających się do prób i błędów, jeśli nie rozumiesz, co dzieje się w tych sieciach. Ten artykuł próbuje wizualizować mapy obiektów ConvNets
.
Zdolność do obsługi różnych przekształceń w celu uogólnienia
ConvNets
używaj pooling
warstw nie tylko w celu zmniejszenia liczby parametrów, ale także w celu zachowania niewrażliwości na dokładne położenie każdej cechy. Ich użycie pozwala również warstwom uczyć się różnych funkcji, co oznacza, że pierwsze warstwy uczą się prostych funkcji niskiego poziomu, takich jak krawędzie lub łuki, a głębsze warstwy uczą się bardziej skomplikowanych funkcji, takich jak oczy lub brwi. Max Pooling
np. próbuje sprawdzić, czy specjalna funkcja istnieje w specjalnym regionie, czy nie. Idea pooling
warstw jest bardzo przydatna, ale jest w stanie obsłużyć przejścia między innymi transformacjami. Chociaż filtry na różnych warstwach próbują znaleźć różne wzory, np. Obróconą ścianę uczy się przy użyciu innych warstw niż zwykła twarz,CNNs
przez to nie mają żadnej warstwy do obsługi innych transformacji. Aby to zilustrować, załóżmy, że chcesz nauczyć się prostych twarzy bez żadnego obrotu z minimalną siatką. W takim przypadku Twój model może to zrobić idealnie. załóżmy, że zostałeś poproszony o nauczenie się każdego rodzaju twarzy z dowolnym obrotem twarzy. W takim przypadku Twój model musi być znacznie większy niż poprzednia wyuczona sieć. Powodem jest to, że muszą być filtry, aby nauczyć się tych obrotów na wejściu. Niestety to nie wszystkie transformacje. Twoje dane wejściowe również mogą być zniekształcone. Sprawy te rozzłościły Maxa Jaderberga i innych . Opracowali ten artykuł, aby poradzić sobie z tymi problemami, aby uspokoić nasz gniew.
Konwolucyjne sieci neuronowe działają
Wreszcie, po nawiązaniu do tych punktów, działają, ponieważ próbują znaleźć wzorce w danych wejściowych. Układają je w stos, aby tworzyć abstrakcyjne koncepcje za pomocą warstw splotu. Próbują dowiedzieć się, czy dane wejściowe zawierają każdą z tych pojęć, czy nie w gęstych warstwach, aby dowiedzieć się, do której klasy należą dane wejściowe.
Dodaję przydatne linki: