Wprowadzenie do sieci neuronowych i głębokiego uczenia: struktury, typy i ograniczenia
Opublikowany: 2022-06-25Odkąd czytasz ten artykuł, prawdopodobnie masz wiedzę na temat podstawowego uczenia maszynowego – jeśli nie technicznych, to przynajmniej teoretycznych aspektów uczenia maszynowego.
Deep Learning to kolejny logiczny krok po uczeniu maszynowym. W tradycyjnym uczeniu maszynowym maszyny zostały stworzone do uczenia się w oparciu o nadzór lub wzmocnienie. Głębokie uczenie ma jednak na celu odtworzenie procesu ludzkiego uczenia się i pozwala systemom na samodzielną naukę.
Jest to możliwe dzięki sieciom neuronowym. Pomyśl o neuronach w mózgu i ich działaniu. A teraz wyobraź sobie, że zostały przekształcone w sztuczne sieci – tym właśnie są sztuczne sieci neuronowe.
Głębokie uczenie i sieci neuronowe zrewolucjonizują świat, który znamy, a jeśli chodzi o tę technologię, jest wiele do rozszyfrowania.
W tym artykule wprowadzającym przedstawimy krótką wiedzę na temat głębokiego uczenia się, wraz z tym, jak działają sieci neuronowe, jakie są ich różne typy i jakie są niektóre ograniczenia sieci neuronowych.
Głębokie uczenie – krótki przegląd
Głębokie uczenie można traktować jako poddziedzinę uczenia maszynowego. Jednak w przeciwieństwie do tradycyjnego algorytmu lub systemu uczenia maszynowego, systemy uczenia głębokiego wykorzystują wiele warstw, aby wyodrębnić funkcje wyższego rzędu z nieprzetworzonych danych wejściowych, którymi są zasilane. Im większa liczba warstw, tym „głębsza” będzie sieć i tym lepsza będzie ekstrakcja cech i ogólna nauka.
Termin „głębokie uczenie się” istnieje od lat 50. XX wieku, ale wówczas podejścia były dość niepopularne. Ponieważ coraz więcej badań odbywa się w tej dziedzinie, uczenie głębokie wciąż się rozwija, a dziś dysponujemy wyrafinowanymi metodami głębokiego uczenia opartymi na sieciach neuronowych.
Niektóre z bardziej popularnych zastosowań sieci neuronowych w uczeniu głębokim obejmują wykrywanie twarzy, wykrywanie obiektów, rozpoznawanie obrazów, wykrywanie tekstu na mowę i transkrypcję oraz wiele innych. Ale tylko drapiemy powierzchnię – jest jeszcze wiele do odkrycia!
Tak więc, zanim zagłębisz się w zrozumienie głębokiego uczenia się, musimy najpierw zacząć od zrozumienia, czym jest sztuczna sieć neuronowa w sztucznej inteligencji.
Dołącz do kursów dotyczących sztucznej inteligencji online z najlepszych światowych uniwersytetów — studiów magisterskich, programów podyplomowych dla kadry kierowniczej i zaawansowanego programu certyfikacji w zakresie uczenia maszynowego i sztucznej inteligencji, aby przyspieszyć swoją karierę.
Sztuczna sieć neuronowa
SSN są inspirowane tym, jak funkcjonuje rzeczywisty ludzki mózg i stanowią podstawę głębokiego uczenia się. Systemy te pobierają dane, uczą się znajdować wzorce w danych i znajdują wyniki dla nowego zestawu podobnych danych.
To właśnie napędza głębokie uczenie — sieci neuronowe uczą się same i stają się silniejsze w automatycznym znajdowaniu wzorców, bez jakiejkolwiek interwencji człowieka. W rezultacie sieci neuronowe mogą działać jako system sortowania i etykietowania danych.
Zrozummy dogłębnie SSN, najpierw poznając perceptrony.
Poznaj nasze kursy na temat uczenia maszynowego i sztucznej inteligencji
Zaawansowana certyfikacja w zakresie uczenia maszynowego i chmury od IITM | Master of Science in Machine Learning & AI od LJMU | Executive Post Graduate Programme in Machine Learning & AI od IITB |
Zaawansowany program certyfikacji w uczeniu maszynowym i NLP z IIITB | Zaawansowany program certyfikacji w uczeniu maszynowym i uczeniu głębokim z IIITB | Zaawansowany program certyfikacji w AI dla menedżerów z IITR |
Perceptron
SSN składają się z mniejszych jednostek, podobnie jak sieci neuronowe w naszym mózgu składają się z mniejszych jednostek zwanych neuronami. Mniejsze jednostki SSN nazywane są perceptronami. Zasadniczo perceptron zawiera jedną lub więcej warstw wejściowych, odchylenie, funkcję aktywacji i końcowe wyjście.
Perceptron działa na zasadzie odbierania danych wejściowych, mnoży je przez wagę i przekazuje je dalej przez funkcję aktywacji, aby wytworzyć dane wyjściowe. Dodanie odchylenia jest ważne, aby nie wystąpił żaden problem, nawet jeśli wszystkie dane wejściowe są zerowe. Działa na następującej formule:
Y = ∑ (waga * dane wejściowe) + odchylenie
Tak więc pierwszą rzeczą, która się dzieje, są obliczenia w obrębie pojedynczego perceptronu. Tutaj suma ważona jest obliczana i przekazywana do funkcji aktywacji. Ponownie, mogą istnieć różne typy funkcji aktywacji, takie jak funkcja trygonometryczna, funkcja kroku, funkcja aktywacji itp.
Struktura sztucznej sieci neuronowej
Aby stworzyć sieć neuronową, pierwszym krokiem jest zgrupowanie różnych warstw perceptronów. W ten sposób otrzymujemy wielowarstwowy model perceptronu.
Spośród tych wielu warstw pierwsza warstwa jest warstwą wejściową. Ta warstwa bezpośrednio przyjmuje dane wejściowe. Natomiast ostatnia warstwa nazywana jest warstwą wyjściową i odpowiada za tworzenie pożądanych wyników.
Wszystkie warstwy między warstwą wejściową i wyjściową są nazywane warstwami ukrytymi. Te warstwy nie komunikują się bezpośrednio z danymi wejściowymi funkcji lub końcowymi danymi wyjściowymi. Zamiast tego neurony warstwy ukrytej z jednej warstwy są połączone z drugą warstwą różnymi kanałami.
Wyjście, które pochodzi z funkcji aktywacji, decyduje o tym, czy neuron zostanie aktywowany, czy nie. Po aktywacji neuron może przesyłać dane do kolejnych warstw za pomocą kanałów komunikacyjnych. W ten sposób wszystkie punkty danych są propagowane w całej sieci.
Ostatecznie w warstwie wyjściowej neuron z najwyższą wartością określa ostateczną moc wyjściową poprzez odpalenie. Wartość, jaką otrzymują neurony po całej propagacji, jest prawdopodobieństwem. Oznacza to, że sieć szacuje wyjście za pomocą najwyższej wartości prawdopodobieństwa na podstawie otrzymanych danych wejściowych.
Gdy otrzymamy ostateczny wynik, możemy porównać go ze znaną etykietą i odpowiednio dostosować wagę. Ten proces jest powtarzany, aż osiągniemy maksymalną dopuszczalną liczbę iteracji lub akceptowalny poziom błędu.
Porozmawiajmy teraz trochę o różnych dostępnych rodzajach sieci neuronowych.
Przeczytaj nasze popularne artykuły dotyczące uczenia maszynowego i sztucznej inteligencji
IoT: historia, teraźniejszość i przyszłość | Samouczek uczenia maszynowego: Naucz się ML | Co to jest algorytm? Proste i łatwe |
Wynagrodzenie inżyniera robotyki w Indiach: wszystkie role | Dzień z życia inżyniera uczenia maszynowego: czym się zajmują? | Czym jest IoT (Internet Rzeczy) |
Permutacja a kombinacja: różnica między permutacją a kombinacją | 7 najważniejszych trendów w sztucznej inteligencji i uczeniu maszynowym | Uczenie maszynowe z R: wszystko, co musisz wiedzieć |
Różne typy sieci neuronowych
Dzisiaj przyjrzymy się dwóm najpopularniejszym typom sieci neuronowych wykorzystywanych do głębokiego uczenia, tj. CNN i RNN.
CNN – splotowe sieci neuronowe
Zamiast pracować z prostymi macierzami 2D, CNN pracują z trójwymiarowym układem neuronów. Pierwsza warstwa nazywana jest warstwą splotową. Każdy neuron w tej warstwie splotowej jest odpowiedzialny za przetwarzanie tylko niewielkiej części informacji wejściowych. W rezultacie sieć rozumie cały obraz w małych częściach i oblicza je wielokrotnie, aby pomyślnie uzupełnić cały obraz.
Dlatego CNN są niezwykle przydatne do rozpoznawania obrazów, wykrywania obiektów i innych podobnych zadań. Inne zastosowania, w których CNN odniosły sukces, obejmują rozpoznawanie mowy, zadania widzenia komputerowego i tłumaczenie maszynowe.
RNN – rekurencyjne sieci neuronowe
RNN pojawiły się w centrum uwagi około lat 80. i wykorzystują dane szeregów czasowych lub dane sekwencyjne do tworzenia prognoz. Dzięki temu są przydatne w przypadku rozwiązań czasowych lub porządkowych, takich jak rozpoznawanie mowy, przetwarzanie języka naturalnego, tłumaczenie i inne.
Podobnie jak CNN, RNN wymagają również danych treningowych, aby się uczyć, a następnie tworzyć prognozy. Jednak to, co odróżnia RNN od CNN, to fakt, że RNN są w stanie zapamiętywać dane wyjściowe jednej warstwy i przesyłać je z powrotem do neuronów z innych warstw. W rezultacie można to traktować jako sieć sprzężenia zwrotnego, która ponownie przetwarza informacje, a nie tylko przesyłać je dalej, jak SSN.
Ograniczenia pracy z sieciami neuronowymi
Sieć neuronowa to obszar ciągłych badań i modyfikacji. Tak więc często pojawiają się pewne niedociągnięcia, które są rozwiązywane i naprawiane, aby wprowadzić wyrafinowane modyfikacje technologii. Przyjrzyjmy się niektórym ograniczeniom sieci neuronowych:
Wymaga dużej ilości danych
Sieci neuronowe pracują na ogromnej ilości danych uczących, aby prawidłowo funkcjonować. Jeśli nie masz dużych ilości danych, samouczenie się sieci będzie trudne. Co więcej, sieci neuronowe mają kilka parametrów – takich jak szybkość uczenia się, liczba neuronów na warstwę, liczba warstw ukrytych itp., które należy odpowiednio dostroić, aby zminimalizować błąd przewidywania przy jednoczesnej maksymalizacji skuteczności i szybkości przewidywania. Celem jest umożliwienie sieciom neuronowym replikacji funkcji ludzkiego mózgu, do czego potrzebuje wielu danych.
Działa głównie jako czarna skrzynka
Ponieważ często trudno jest dowiedzieć się, jak działają i są zorganizowane warstwy ukryte, sieci neuronowe są często postrzegane jako środowisko czarnej skrzynki. Tak więc, jeśli wystąpi błąd, znalezienie przyczyny błędu i naprawienie go staje się bardzo trudne i czasochłonne. Nie zapominajmy, że również staje się dość drogi. Jest to jeden z głównych powodów, dla których banki i instytucje finansowe nie używają jeszcze sieci neuronowych do prognozowania.
Rozwój jest często czasochłonny
Ponieważ sieci neuronowe uczą się same, cały proces jest często czasochłonny, a także kosztowny w porównaniu z tradycyjnymi metodami uczenia maszynowego. Sieci neuronowe są dodatkowo drogie obliczeniowo i finansowo, ponieważ wymagają dużej ilości danych uczących i mocy obliczeniowej, aby uczenie się mogło zajść.
Na zakończenie
Co więcej, ten świat szybko ewoluuje, z upływem każdego tygodnia. Jeśli z pasją chcesz dowiedzieć się więcej o głębokim uczeniu i o tym, jak sieci neuronowe mogą działać, zalecamy zapoznanie się z naszym zaawansowanym programem certyfikacji w uczeniu maszynowym i uczeniu głębokim oferowanym we współpracy z IIIT-B. Ten 8-miesięczny kurs oferuje wszystko, czego potrzebujesz, aby rozpocząć swoją karierę – od indywidualnego mentoringu, przez wsparcie branżowe, po poradnictwo zawodowe. Zapisz się już dziś!
Nie, sztuczne sieci neuronowe są ważne dla osiągnięcia głębokiego uczenia się. Istnieją różne rodzaje sztucznych sieci neuronowych. Ale dwie najczęściej stosowane to Recurrent Neural Networks i Convolutional Neural Networks. Perceptron jest najbardziej podstawową jednostką SSN.1. Czy głębokie uczenie się jest możliwe bez sieci neuronowych?
2. Jakie są rodzaje SSN?
3. Jaka jest najbardziej podstawowa jednostka sztucznej sieci neuronowej?