Wprowadzenie do konwolucyjnych sieci neuronowych

Konwolucyjne sieci neuronowe, znane również jako CNN lub ConvNet, należą do kategorii sztucznych sieci neuronowych używanych do przetwarzania i wizualizacji obrazów. Sztuczna inteligencja wykorzystuje głębokie uczenie się do wykonania zadania. Sieci neuronowe to sprzęt lub oprogramowanie zaprogramowane jako neurony w ludzkim mózgu. Tradycyjna sieć neuronowa przyjmuje tylko obrazy o zmniejszonej rozdzielczości jako dane wejściowe. CNN rozwiązuje ten problem, układając swoje neurony jako płat czołowy ludzkiego mózgu. Przetwarzanie wstępne w CNN jest bardzo mniejsze w porównaniu z innymi algorytmami. Splot, liniowa operacja matematyczna jest stosowana w CNN. Wykorzystuje splot zamiast ogólnego mnożenia macierzy w jednej ze swoich warstw.

Warstwy w splotowych sieciach neuronowych

Poniżej znajdują się warstwy splotowych sieci neuronowych:

1. Warstwa wejściowa obrazu

Warstwa wejściowa daje dane wejściowe (głównie obrazy) i przeprowadzana jest normalizacja. Tutaj należy podać rozmiar wejściowy.

2. Warstwa splotowa

W tej warstwie dokonuje się splotu, a obraz jest podzielony na perceptrony (algorytm), tworzone są pola lokalne, co prowadzi do kompresji perceptronów do map cech jako macierzy o rozmiarze mx n.

3. Warstwa nieliniowości

Tutaj mapy funkcji są pobierane jako dane wejściowe, a mapy aktywacji są podawane jako dane wyjściowe za pomocą funkcji aktywacji. Funkcja aktywacji jest generalnie realizowana jako funkcje styczne sigmoidalne lub hiperboliczne.

4. Warstwa rektyfikacyjna

Ta warstwa, która jest kluczowym składnikiem CNN, wykonuje trening szybciej bez zmniejszania dokładności. Wykonuje elementarną operację wartości bezwzględnej na mapach aktywacyjnych.

5. Zrektyfikowane jednostki liniowe (ReLU)

ReLU łączy warstwy nieliniowe i rektyfikacyjne na CNN. Wykonuje operację progową, w której wartości ujemne są konwertowane na zero. Jednak ReLU nie zmienia wielkości danych wejściowych.

6. Warstwa puli

Warstwa pulująca jest również nazywana warstwą próbkowania w dół, ponieważ jest odpowiedzialna za zmniejszenie rozmiaru map aktywacyjnych. Filtr i krok o tej samej długości są stosowane do głośności wejściowej. Mniej znaczące dane są ignorowane przez tę warstwę, dlatego rozpoznawanie obrazu odbywa się w mniejszej reprezentacji. Ta warstwa zmniejsza nadmierne dopasowanie. Ponieważ ilość parametrów jest zmniejszona przy użyciu warstwy puli, koszt jest również zmniejszony. Dane wejściowe są podzielone na prostokątne obszary puli i obliczana jest wartość maksymalna lub średnia, która w rezultacie zwraca wartość maksymalną lub średnią. Max Pooling jest popularny.

7. Warstwa usuwająca

Ta warstwa losowo ustawia warstwę wejściową na zero z danym prawdopodobieństwem. Więcej wyników w różnych elementach jest upuszczanych po tej operacji. Ta warstwa pomaga również ograniczyć nadmierne dopasowanie. To sprawia, że ​​sieć jest redundantna. Na tym poziomie nie odbywa się nauka. Ta operacja jest przeprowadzana tylko podczas szkolenia.

8. W pełni połączona warstwa

Mapy aktywacyjne, które są wyjściowymi poprzednimi warstwami, są przekształcane w rozkład prawdopodobieństwa klasy w tej warstwie. Warstwa FC mnoży dane wejściowe przez macierz wag i dodaje wektor polaryzacji.

9. Warstwa wyjściowa

Po warstwie FC następuje softmax i warstwy klasyfikacyjne. Funkcja softmax jest stosowana do wejścia. Warstwa klasyfikacyjna oblicza funkcję entropii krzyżowej i straty dla problemów klasyfikacyjnych.

10. Warstwa regresji

W tej warstwie obliczany jest błąd połowy kwadratu. Ta warstwa powinna być zgodna z warstwą FC.

Architektura splotowej sieci neuronowej

Poniżej znajduje się architektura splotowych sieci neuronowych:

1. LeNet

LeNet został wprowadzony do optycznego i rozpoznawania znaków w dokumentach w 1998 roku. Jest mały i idealny do pracy w procesorze. LeNet jest mały i łatwy do uchwycenia. Jest on zbudowany z trzech głównych pomysłów: lokalnych pól recepcyjnych o wspólnych wagach i przestrzennego podpróbkowania. Sieć pokazuje najlepszą wewnętrzną reprezentację surowych obrazów. Ma trzy warstwy splotowe, dwie warstwy pulujące, jedną warstwę w pełni połączoną i jedną warstwę wyjściową. Zaraz po jednej warstwie splotowej nastąpiła warstwa puli. Wszystkie warstwy wyjaśniono powyżej.

2. AlexNet

AlexNet został opracowany w 2012 roku. Ta architektura spopularyzowała CNN w wizji komputerowej. Ma pięć warstw splotowych i trzy w pełni połączone warstwy, w których ReLU jest nakładany po każdej warstwie. Wykorzystuje zalety obu warstw, ponieważ warstwa splotowa ma niewiele parametrów i długie obliczenia, a odwrotnie - w przypadku warstwy w pełni połączonej. Nadmierne dopasowanie znacznie zmniejszyło się dzięki powiększaniu i przerywaniu danych. AlexNet był głębszy, większe i splotowe warstwy nie są oddzielone warstwą puli w porównaniu z LeNet.

3. ZF Net

ZF Net został opracowany w 2013 roku, który był zmodyfikowaną wersją AlexNet. Rozmiar środkowej warstwy splotowej został rozszerzony, a krok pierwszej warstwy splotowej i rozmiar filtra zostały zmniejszone. Właśnie rozpoznał wady AlexNet i opracował jeden lepszy. Wszystkie warstwy są takie same jak AlexNet. ZF Net dostosowuje parametry warstwy, takie jak rozmiar filtra lub krok AlexNet, co powoduje, że zmniejsza on liczbę błędów.

4. GoogLeNet

Ta architektura została opracowana w 2014 roku. Warstwa początkowa jest podstawową koncepcją. Ta warstwa obejmuje większy obszar, ale odnotowuje małe informacje o obrazie. Aby poprawić wydajność, w GoogLeNet stosuje się dziewięć modułów początkowych. Ponieważ warstwa początkowa jest podatna na nadmierne dopasowanie, zastosowano tutaj więcej nieliniowości i mniej parametrów. Maksymalna warstwa pulująca służy do konkatenacji danych wyjściowych poprzedniej warstwy. Ta architektura ma 22 warstwy, a parametry są 12 razy mniejsze. Jest to dokładniejsze niż AlexNet, również szybsze. Poziom błędu jest stosunkowo niższy. Średnia warstwa puli jest używana na końcu zamiast warstwy w pełni połączonej. Obliczenia są zmniejszone, głębokość i szerokość są zwiększone. Wiele modułów początkowych jest połączonych, aby wejść głębiej w architekturę. GoogLeNet wyprzedził wszystkie pozostałe architektury opracowane do 2014 r. Dostępnych jest kilka kolejnych wersji tej architektury.

5. VGG Net

To była poprawa w stosunku do ZFNet, a następnie w stosunku do AlexNet. Ma 16 warstw z 3 × 3 warstwami splotowymi, 2 × 2 warstwami puli oraz w pełni połączonymi warstwami. Ta architektura przyjmuje najprostszą strukturę sieci, ale ma większość parametrów.

6. ResNet

Architektura sieci rezydualnej została opracowana w 2015 roku. Wykorzystuje normalizację wsadową i pomija użycie warstw FC. Ta architektura wykorzystuje 152 warstwy i wykorzystuje połączenia pomijane. ResNet jest obecnie wykorzystywany głównie we wszystkich algorytmach głębokiego uczenia.

Wniosek

Facebook używa CNN do oznaczania zdjęć, Amazon do rekomendacji produktów i Google do wyszukiwania wśród zdjęć użytkowników. Wszystko to odbywa się z większą dokładnością i wydajnością. Postęp w głębokim uczeniu się osiągnął etap, w którym CNN został opracowany i pomaga na wiele sposobów. W miarę jak skomplikowane staje się CNN, pomaga w poprawie wydajności.

Polecany artykuł

Jest to przewodnik po konwergentnych sieciach neuronowych. Tutaj omawiamy wprowadzenie do konwolucyjnych sieci neuronowych i ich warstw wraz z architekturą. Możesz także przejrzeć nasze inne sugerowane artykuły, aby dowiedzieć się więcej -

  1. Klasyfikacja sieci neuronowej
  2. Uczenie maszynowe a sieć neuronowa
  3. Omówienie algorytmów sieci neuronowej
  4. Recurrent Neural Networks (RNN)
  5. Implementacja sieci neuronowych
  6. Top 6 porównań między CNN a RNN

Kategoria: