Co to jest konwolucyjna sieć neuronowa

Sieć neuronowa to ogromny system programowy i/lub sprzętowy przypominający wzór neuronów i ich działanie w ludzkim mózgu. W odróżnieniu od tradycyjnych sieci neuronowych, sieci neuronowe konwulsyjne są bardziej wydajne ze względu na ich neurony zorganizowane jak płat czołowy u ludzi i zwierząt. To właśnie ten obszar. Dla tych, którzy nie wiedzą, obszar ten przetwarza bodźce wzrokowe.

Warstwy neuronów pokrywają pole widzenia, zapewniając jednocześnie, że nie ma problemów z przetwarzaniem obrazu, jak w tradycyjnych sieciach neuronowych. Konwolucyjne sieci neuronowe wykorzystują system podobny do perceptronu wielowarstwowego, opracowany w celu zminimalizowania wymagań przetwarzania. Warstwy CNN zawierają warstwę wyjściową, warstwę wejściową, a także warstwę ukrytą, obejmującą wiele warstw zbiorczych, warstwy konwolucyjne, warstwy normalizacji i warstwy w pełni połączone.

Dzięki zwiększonej wydajności i minimalnym ograniczeniom, sieci neuronowe fałdowe są znacznie bardziej efektywne i łatwiejsze w szkoleniu do naturalnego przetwarzania obrazu i języka.

Szkolenie – najważniejszy element sieci neuronowych

Szkolenie jest prawdopodobnie najważniejszą częścią sieci neuronowych. Aspirujący badacze danych często zastanawiają się, jak warstwy Conv przekształcają się w krzywe i krawędzie i jak w pełni połączone warstwy wiedzą, jaką mapę aktywacyjną powinny mieć.

Komputery mogą dostosowywać swoje wagi lub wartości filtrów poprzez popularny proces szkoleniowy znany jako backpropagacja. Jak wspomniano wcześniej, sieci neuronowe rysują podobieństwa do ludzkiego mózgu i musimy przyjrzeć się temu, jak działają nasze umysły, aby to zrozumieć.

Nasz mózg jest świeży, gdy jesteśmy dziećmi i nie wiemy, co to jest ptak, pies lub kot, ponieważ nasze umysły nie mają wystarczająco dużo treningu. CNN działa podobnie – jego filtry filtrują wartości, a ciężary mogą odróżnić dany obiekt. Nie wiedzą oni, czy powinni szukać krzywych, krawędzi, czy innych kształtów. Wraz z wiekiem nasi nauczyciele i rodzice pokazują nam różne obrazy i filmy, dostarczając nam odpowiednich etykiet dla rzeczy, które widzimy w codziennym życiu.

Idea oglądania etykiet i obrazów jest tym samym procesem szkoleniowym, który jest stosowany w przypadku konwulsyjnych sieci neuronowych. Im więcej się trenuje filtry, tym bardziej stają się one wyrafinowane i wydajne – i sądząc po postępie w różnych platformach internetowych, można powiedzieć, że w tej technologii nastąpił monumentalny postęp.

Można by powiedzieć, że CNN jest wszechstronnym algorytmem głębokiego uczenia się, zdolnym do robienia zdjęć wejściowych i przypisywania znaczenia licznym obiektom i aspektom na zdjęciu w celu odróżnienia ich od siebie. Byłbyś zdziwiony, gdybyś dowiedział się, że sieć neuronów konwulsyjnych wymaga znacznie mniejszego przetwarzania wstępnego, szczególnie w porównaniu z tonami innych algorytmów.

Prymitywne metody używane do posiadania ręcznie robionych filtrów. Jednakże, po odpowiednim przeszkoleniu, CNN lub ConvNet mogą nauczyć się tych cech i filtrów przy minimalnym wysiłku. Architektura sieci neuronów konwulsyjnych jest porównywalna z neuronami ludzkiego mózgu i ich wzorcem łączności. Niezależne neurony reagują tylko na bodźce w ograniczonym obszarze pola widzenia, który niektórzy lubią nazywać “polem odbiorczym”. Grupa takich pól przecinają się i pokrywają obszar widzenia w całości.

Pooling, Padding, Kernel, i Dlaczego są one ważne dla CNN

Kernel

Jądro jest filtrem używanym w sieci neuronowej w celu wyodrębnienia cech obrazu. Matryca ta przesuwa się nad danymi wejściowymi i przeprowadza produkt punktowy z jego podregionem. Ruch jądra w danych wejściowych jest zgodny z wartością krokową. Na przykład, jeśli wartość kroku wynosi dwa, jądro przesuwa się o dwie kolumny pikseli w macierzy. Jądro jest krytyczną częścią CNN, ponieważ wydobywa z różnych obrazów cechy o wysokiej szczegółowości, takie jak krawędzie.

Łączenie (Pooling)

Pooling to przede wszystkim pomniejszanie obrazu pozyskanego z poprzednich warstw. Jest to porównywalne do zmniejszania zdjęcia w celu zmniejszenia gęstości pikseli. Max pooling jest popularnym typem poolingu używanym przez wielu. Na przykład, sadzisz do puli w stosunku dwa. Pozwoli to na zmniejszenie szerokości i wysokości zdjęcia na połowę. Dlatego też, kompresujesz piksele (jeden na cztery) do siatki 2 na 2, a następnie mapujesz je do świeżego piksela.
Musisz wziąć największą wartość z czterech pikseli, aby uzyskać maksymalną pulę pikseli. Tak więc, jeden nowy piksel reprezentuje zasadniczo cztery starsze piksele, wykorzystując największą wartość z czterech pikseli. Proces ten odbywa się dla każdej grupy zawierającej cztery piksele wokół obrazu.

Padding

Padding jest niezbędny dla konwulsyjnych sieci neuronowych. Dlaczego? Ponieważ dodaje więcej pikseli w zewnętrznej części obrazu, a jeśli wartość wypełnienia jest równa zero, to wartość każdego dodanego piksela będzie również równa zero. Z drugiej strony, jeśli wartość wypełnienia zerowego jest równa jednemu, to wokół oryginalnego obrazu będzie znajdował się gruby piksel, a jego wartość będzie równa zero.
Ilekroć używamy jądra do skanowania obrazu, jego rozmiar staje się mniejszy. Można tego uniknąć i zachować oryginalny rozmiar obrazu poprzez użycie wyściełania, dodając dodatkowe piksele do obramowania obrazu.

Przełomowa innowacja

Na początku, słyszenie terminu “konwulsyjne sieci neuronowe” skłoni Cię do myślenia o dziwnym połączeniu matematyki, biologii i niektórych elementów CS. Jednak po bliższym przyjrzeniu się, zdasz sobie sprawę, że jest to jedna z najbardziej przełomowych innowacji w dziedzinie wizji komputerowej. Sieci neuronowe zyskały na znaczeniu w 2012 roku, gdy ekspert w dziedzinie uczenia się maszyn Alex Krizhevsky wykorzystał je do zdobycia pierwszej nagrody w konkursie ImageNet.

Alex znacznie obniżył rekord błędu klasyfikacji, podnosząc go do piętnastu procent – to ogromna poprawa w stosunku do poprzedniego rekordu, który wynosił dwadzieścia sześć procent. Jest to ogromny powód, dla którego wiele firm wykorzystuje dogłębne uczenie się w ramach swoich usług. Oto lista niektórych wysokiej klasy platform internetowych, które korzystają z sieci neuronowych, aby zapewnić ludziom lepsze doświadczenia:

Facebook
Czy kiedykolwiek zastanawialiście się, jak działa słynny algorytm automatycznego tagowania Facebooka? Odpowiedzią są sieci neuronowe.

Amazon
Rekomendacja produktu, który dostajesz na Amazonie i kilku innych podobnych platformach wynika z sieci neuronowych.

Google
Sieci neuronowe są powodem doskonałych możliwości wyszukiwania obrazów przez Google.

Instagram
Solidna infrastruktura wyszukiwania Instagramu jest możliwa, ponieważ sieć mediów społecznościowych wykorzystuje sieci neuronowe.

Pinterest
Doskonała personalizacja profilu na Pintereście jest możliwa dzięki wykorzystaniu sieci neuronowych.

Konwolucyjne sieci neuronowe mogą uchwycić zależności czasowe i przestrzenne.

Byłoby sprawiedliwe twierdzić, że obrazy są matrycą różnych wartości pikseli.
Dlaczego nie można spłaszczyć obrazu, podając go do perceptronu wysokiego poziomu dla lepszej klasyfikacji? Ponieważ jest to trochę bardziej skomplikowane niż to. Jeśli chodzi o proste obrazy binarne, precyzja, jaką ta metoda zapewni, będzie średnia. Jednak nie byłby on dokładny w przypadku złożonych obrazów, zwłaszcza tych o dużej zależności od pikseli.

Sieć ConvNet lub CNN może z powodzeniem uchwycić zależności czasowe i przestrzenne obrazu za pomocą odpowiednich filtrów. Wydajność architektury jest drastycznie lepsza i zapewnia lepsze dopasowanie do różnych zbiorów danych obrazu ze względu na redukcję używanych parametrów i możliwość wielokrotnego użycia wagi. Przy odpowiednim czasie i zaangażowaniu, można szkolić sieć, aby lepiej zrozumieć wyrafinowanie obrazu.

Wykorzystanie konwekcyjnych sieci neuronowych do przetwarzania obrazu

Głównym celem CNN jest przetwarzanie obrazów. Przyjrzyjmy się temu, jak eksperci używają konwolucyjnych sieci neuronowych do klasyfikacji obrazów.

Identyfikacja obrazów

Klasyfikacja lub identyfikacja obrazów to zadanie polegające na uzyskaniu obrazu i dostarczeniu danych wyjściowych, które najlepiej opisują obiekty. Człowiek uczy się tego zadania od momentu wejścia w ten świat. Jest to pierwsza umiejętność, której uczą się bez wysiłku i naturalnie, gdy stajemy się dorośli. W większości przypadków możemy zidentyfikować obiekt, otoczenie lub osobę bez zastanowienia.

Jak przyjmujemy te umiejętności? Jak możemy rozpoznać różne wzorce w ciągu milisekund? Odpowiedzią jest wcześniejsza wiedza. Uczenie się maszyn i sztuczna inteligencja są dość podobne do ludzkiego mózgu i możemy szkolić maszyny, aby mogły rozpoznawać obrazy bez podejmowania świadomego wysiłku.