Connect with us

AI 101

Co to jest Głębokie Uczenie?

mm

Głębokie uczenie jest jednym z najbardziej wpływowych i najszybciej rozwijających się dziedzin w sztucznej inteligencji. Jednak uzyskanie intuicyjnego zrozumienia głębokiego uczenia może być trudne, ponieważ termin głębokie uczenie obejmuje wiele różnych algorytmów i technik. Głębokie uczenie jest również poddziedziną ogólnego uczenia maszynowego, więc ważne jest zrozumienie, co to jest uczenie maszynowe, aby zrozumieć głębokie uczenie.

Co to jest Uczenie Maszynowe?

Głębokie uczenie jest rozszerzeniem niektórych pojęć pochodzących z uczenia maszynowego, więc z tego powodu, poświęćmy chwilę, aby wyjaśnić, co to jest uczenie maszynowe.

W prostych słowach, uczenie maszynowe jest metodą umożliwiającą komputerom wykonywanie określonych zadań bez jawnego kodowania każdej linii algorytmów używanych do wykonania tych zadań. Istnieje wiele różnych algorytmów uczenia maszynowego, ale jednym z najczęściej używanych algorytmów jest wielowarstwowy perceptron. Wielowarstwowy perceptron jest również nazywany siecią neuronową i składa się z serii węzłów/neuronów połączonych ze sobą. Istnieją trzy różne warstwy w wielowarstwowym perceptronie: warstwa wejściowa, warstwa ukryta i warstwa wyjściowa.

Warstwa wejściowa pobiera dane do sieci, gdzie są one modyfikowane przez węzły w środkowej/warstwie ukrytej. Węzły w warstwie ukrytej są funkcjami matematycznymi, które mogą modyfikować dane pochodzące z warstwy wejściowej, wyodrębniając istotne wzorce z danych wejściowych. To jest sposób, w jaki sieć neuronowa „uczy się”. Sieci neuronowe otrzymują swoją nazwę od faktu, że są inspirowane strukturą i funkcją ludzkiego mózgu.

Połączenia między węzłami w sieci mają wartości nazywane wagami. Te wartości są podstawowymi założeniami dotyczącymi tego, jak dane w jednej warstwie są powiązane z danymi w następnej warstwie. Podczas szkolenia sieci wagi są dostosowywane, a celem jest to, aby wagi/założenia dotyczące danych ostatecznie zbiegły się do wartości, które dokładnie reprezentują istotne wzorce w danych.

Funkcje aktywacyjne są obecne w węzłach sieci i te funkcje aktywacyjne transformują dane w sposób nieliniowy, umożliwiając sieci nauczenie się złożonych reprezentacji danych. Funkcje aktywacyjne mnożą wartości wejściowe przez wartości wag i dodają termin biasu.

Co to jest Głębokie Uczenie?

Głębokie uczenie to termin nadawany architekturom uczenia maszynowego, które łączą wiele wielowarstwowych perceptronów, tak aby nie było tylko jednej warstwy ukrytej, ale wielu warstw ukrytych. Im „głębsza” sieć neuronowa, tym bardziej złożone wzorce może nauczyć się sieć.

Głębokie sieci warstwowe składające się z neuronów są czasem nazywane sieciami w pełni połączonymi lub warstwami w pełni połączonymi, odnosząc się do faktu, że dany neuron utrzymuje połączenie z wszystkimi neuronami wokół niego. Sieci w pełni połączone mogą być łączone z innymi funkcjami uczenia maszynowego, aby tworzyć różne architektury głębokiego uczenia.

Różne Rodzaje Głębokiego Uczenia

Istnieje wiele architektur głębokiego uczenia używanych przez badaczy i inżynierów, a każda z tych architektur ma swoje własne specjalne przypadki użycia.

Sieci Neuronowe Wielowarstwowe

Sieci neuronowe wielowarstwowe, lub CNN, są architekturą sieci neuronowej powszechnie używaną w tworzeniu systemów widzenia komputerowego. Struktura sieci neuronowych wielowarstwowych umożliwia im interpretację danych obrazowych, konwertując je w liczby, które sieć w pełni połączona może zinterpretować. Sieć CNN składa się z czterech głównych składników:

  • Warstwy wielowarstwowe
  • Warstwy podsamplingowe/poolingowe
  • Funkcje aktywacyjne
  • Warstwy w pełni połączone

Warstwy wielowarstwowe są tym, co pobiera obrazy jako dane wejściowe do sieci, analizując obrazy i pobierając wartości pikseli. Podsampling lub pooling to miejsce, w którym wartości obrazu są konwertowane/zmniejszane, aby uproszczyć reprezentację obrazu i zmniejszyć wrażliwość filtrów obrazu na szum. Funkcje aktywacyjne kontrolują, jak dane przepływają z jednej warstwy do następnej warstwy, a warstwy w pełni połączone są tym, co analizuje wartości reprezentujące obraz i uczą się wzorców zawartych w tych wartościach.

Sieci Neuronowe Rekurencyjne/LSTM

Sieci neuronowe rekurencyjne, lub RNN, są popularne w zadaniach, w których kolejność danych ma znaczenie, gdzie sieć musi nauczyć się sekwencji danych. RNN są powszechnie stosowane w problemach takich jak przetwarzanie języka naturalnego, ponieważ kolejność słów ma znaczenie przy dekodowaniu znaczenia zdania. „Rekurencyjna” część terminu Sieć Neuronowa Rekurencyjna pochodzi od faktu, że dane wyjściowe dla danego elementu w sekwencji zależą od poprzednich obliczeń, a także od bieżących obliczeń. W przeciwieństwie do innych form głębokich sieci neuronowych, RNN mają „pamięć”, a informacje obliczane w różnych krokach czasowych w sekwencji są używane do obliczania wartości końcowych.

Istnieje wiele typów RNN, w tym sieci neuronowe rekurencyjne dwukierunkowe, które biorą pod uwagę przyszłe elementy w sekwencji, oprócz poprzednich elementów, przy obliczaniu wartości elementu. Innym typem RNN jest Sieć Neuronowa z Pamięcią Krótkotrwałą, lub LSTM. Sieci LSTM są typem RNN, który może radzić sobie z długimi łańcuchami danych. Zwykłe RNN mogą paść ofiarą czegoś, co nazywa się „problemem wybuchającego gradientu”. Ten problem występuje, gdy łańcuch danych wejściowych staje się niezwykle długi, ale sieci LSTM mają techniki, aby zwalczyć ten problem.

Autowcoder

Większość architektur głębokiego uczenia wymienionych do tej pory jest stosowana w zadaniach uczenia nadzorowanego, a nie w zadaniach uczenia nienadzorowanego. Autowcoder mogą przekształcić dane nienadzorowane w format nadzorowany, umożliwiając sieciom neuronowym pracę nad tym problemem.

Autowcoder są często używane do wykrywania anomalii w zbiorach danych, co jest przykładem uczenia nienadzorowanego, ponieważ natura anomalii nie jest znana. Takie przykłady wykrywania anomalii obejmują wykrywanie oszustw dla instytucji finansowych. W tym kontekście celem autowcodera jest określenie podstawy regularnych wzorców w danych i identyfikacja anomalii lub odchyleń.

Struktura autowcodera jest często symetryczna, z warstwami ukrytymi ułożonymi w taki sposób, aby wyjście sieci przypominało dane wejściowe. Cztery typy autowcoder, które są często używane, to:

  • Autocodery regularne
  • Autocodery wielowarstwowe
  • Autocodery wielowarstwowe
  • Autocodery z regulacją

Autocodery regularne to po prostu sieci neuronowe z jedną warstwą ukrytą, podczas gdy autocodery wielowarstwowe to głębokie sieci z więcej niż jedną warstwą ukrytą. Autocodery wielowarstwowe używają warstw wielowarstwowych zamiast, lub dodatkowo do, warstw w pełni połączonych. Autocodery z regulacją używają określonego rodzaju funkcji straty, który pozwala sieci neuronowej wykonywać bardziej złożone funkcje, funkcje inne niż tylko kopiowanie danych wejściowych do danych wyjściowych.

Sieci Przeciwstawne

Sieci przeciwstawne (GAN) są w rzeczywistości wieloma głębokimi sieciami neuronowymi, a nie jedną siecią. Dwa głębokie modele są szkolone jednocześnie, a ich dane wyjściowe są podawane do drugiej sieci. Sieci są ze sobą w konflikcie, a ponieważ mają dostęp do danych wyjściowych sieci przeciwnej, obie sieci uczą się z tych danych i się poprawiają. Sieci są podstawowym grą fałszerstwa i wykrywania, gdzie model generatywny próbuje stworzyć nowe instancje, które oszukają model detekcyjny/model dyskryminacyjny. GAN stały się popularne w dziedzinie widzenia komputerowego.

Podsumowanie Głębokiego Uczenia

Głębokie uczenie rozszerza zasady sieci neuronowych, aby stworzyć zaawansowane modele, które mogą nauczyć się złożonych wzorców i uogólnić te wzorce na przyszłe zestawy danych. Sieci neuronowe wielowarstwowe są używane do interpretacji obrazów, podczas gdy RNN/LSTM są używane do interpretacji sekwencji danych. Autowcoder mogą przekształcić zadania uczenia nienadzorowanego w zadania uczenia nadzorowanego. Wreszcie, GAN są wieloma sieciami neuronowymi, które są ze sobą w konflikcie i są szczególnie przydatne do zadań widzenia komputerowego.

Blogger i programista ze specjalnościami w Machine Learning i Deep Learning tematy. Daniel liczy, że pomoże innym wykorzystać moc sztucznej inteligencji dla dobra społecznego.