Home » UJ 2022/23 » Uczenie głębokie – założenia, technologie, narzędzia, możliwości, ograniczenia, zastosowania, zagrożenia.

Tagi

Wyróżnione posty

Zobacz też

Statystyki

  • 71
  • 238
  • 23 583
  • 6 652
  • 52

Uczenie głębokie – założenia, technologie, narzędzia, możliwości, ograniczenia, zastosowania, zagrożenia.

Spread the love

Deep learning, czyli uczenie głębokie to dziś w gronach informatycznych (i nie tylko) bardzo popularny temat. Jedni uważają, że zwiastuje koniec ludzkiej cywilizacji, drudzy widząc w nim wielki potencjał. Prawda jak zawsze leży gdzieś pośrodku, mimo tego, że głębokie uczenie już dziś zmienia życia każdego z nas, nie jest to technologia idealna, choć wielu chciałoby, żeby właśnie tak było.

 

ZAŁOŻENIA ORAZ TECHNOLOGIE

Czym jest uczenie głębokie? Uczenie głębokie jest podzbiorem uczenia maszynowego, opartym na sztucznych sieciach neuronowych. Sieci neuronowe wykorzystywane w uczeniu głębokim składają się 3 typów warstw. Warstw wejściowych, wyjściowych oraz warstw ukrytych. Dane wejściowe przekształcane są w informację na poziomie każdej z warstw, a informacje mogą być wykorzystane do wykonania  określonego zadania predykcyjnego. Proces własnego przetwarzania danych jest możliwy dzięki strukturze, pozwalającej na samodzielne uczenie się.

Sieci neuronowe wykorzystywane w uczeniu głębokim muszą korzystać z dużej ilości danych szkoleniowych. Jest to konsekwencją tego, iż to one same tworzą takie reprezentacje danych, które będą miały znaczący wpływ na zdolność algorytmów do rozwiązywania danych zadań. To nie człowiek, a maszyna decyduje jakie elementy kluczowe np. obrazu są istotne do jego prawidłowego zakwalifikowania, dlatego potrzebują większej ilości danych do treningu.

TECHNOLOGIA

Istotną rolę odgrywają tutaj również zależności sprzętowe. Uczenie głębokie będzie znacznie bardziej efektywne i zoptymalizowane na procesorze GPU. Wynika to z dużej liczby wykonywanych operacji mnożenie macierzy. Sam proces uczenia się trwa dłużej niż w przypadku klasycznego uczenia maszynowego. Wynika to z większej ilości warstw w przypadku sieci neuronowych wykorzystywanych w uczeniu maszynowym. Dane wyjściowe przedstawione mogą być w formie tekstu, obrazu, a nawet dźwięku.

Dla zainteresowanych więcej o sieciach neuronowych można przeczytać tutaj.

WARSTWY

Każda kolejna warstwa odwzorowuje kolejny poziom abstrakcji (krawędzie, części obiektu, grupy części). Tworzy to model hierarchiczny, w którym  bardziej ogólne koncepty generowane są w wyższych warstwach na bazie prostszych konceptów w niższych warstwach. Więcej warstw to bardziej precyzyjna kwalifikacja.

“Więcej warstw umożliwia bardziej precyzyjne wyniki, takie jak odróżnienie wrony od kruka, zamiast odróżnienia wrony od kurczaka.”

Modele uczenia się głębokie posiadają więcej niż dwie warstwy przetwarzania, które dokonują wiele transformacji od warstwy wejściowej do warstwy wyjściowej. Płytkie modele znacznie szybciej dochodzą do momentu, w którym nie są w stanie już szukać dalszego rozwiązania. Głębokie modele, z wieloma warstwami pozwalają na lepszą, bardziej poprawną kwalifikację.

NARZĘDZIA

Uczenie głębokie może korzystać z wielu typów sieci neuronowych. Oto niektóre z nich:

  • PERCEPTRON WIELOWARSTWOWYnajprostszy typ sieci neuronowe używanej w uczeniu głębokim. Informacje przesyłane są od warstwy wejściowej, poprzez sieci ukryte do warstwy wyjściowej. Każda z warstw jest połączona z warstwą przed. Warstwa wyjściowa reprezentuje wygenerowanie przewidywania.
  • Cykliczna/rekurencyjna sieć neuronowa (RNN) jest typem sieci neuronowej często wykorzystywanej w przypadku bardziej złożonych zadań np. rozpoznawanie ręcznego pisma czy języka. Działanie RNN polega na zapisywaniu danych wyjściowych warstwy, a następnie przesyłaniu
  • Splotowa sieć Neuronowa (CNN) wyróżnia się nietypową architekturą. Warstwy organizowane są w trzech wymiarach: wysokość, szerokość oraz głębokość. Neurony w jednej warstwie nie łączą się ze wszystkimi neuronami w następnej warstwie, lecz tylko z grupą neuronów znajdujących się w pewnym regionem w następnej warstwy, ucząc się lokalnych wzorców. Łączenie wszystkich neuronów z danej warstwy z wszystkimi neuronami z następnej warstwy jest technologicznie dużym wyzwaniem. Przy dzisiejszej rozdzielczości aparatów, musielibyśmy wytrenować setki miliardów parametrów, aby zbudować CNN jest inspirowana architekturą ludzkiej kory wzrokowej. Splotowe sieci neuronowe używane są głównie do rozpoznawania obrazów.

UCZENIE TRANSFEROWE

Uczenie transferowe to technika umożliwiająca skrócenia procesu trenowania głębokiej sieci neuronowej oraz zmniejszania ilości danych treningów, oraz zasobów obliczeniowych wysokiej klasy (GPU, TPU). Polega ona na stosowaniu wiedzy uzyskanej podczas rozwiązywania danego problemu za pomocą sieci neuronowej do rozwiązania pokrewnego problemu.
Pierwszy zestaw warstw zawiera funkcje niższego poziomu, natomiast końcowy zestaw warstw zawiera funkcje wyższego poziomu. Zmieniając przeznaczenie końcowych warstw przy nowym problemie, można znacznie zmniejszyć ilość czasu, danych oraz zasobów obliczeniowych używanych do wytrenowania nowego modelu np. model rozpoznający jachty, może zostać wykorzystany do stworzenia modelu rozpoznającego statki.

MACHINE LEARNING I DEEP LEARNING PORÓWNANIE

Uczenie Maszynowe Uczenie głębokie
 Liczba danych potrzebuje niewiele danych potrzebuje wiele danych
 Używany procesor procesor CPU zalecany procesor GPU
 Czas trenowania od kilku sekund do kilku godzin znacznie dłużej, w zależności od ilości warstw
 Forma danych wyjściowych zazwyczaj dane liczbowe tekst, wynik, dźwięk
 Cechowanie człowiek definiuje cechy sam definiuje cechy według przydatności

ZASTOSOWANIA

Wiele usług, z których korzystamy codziennie używa modeli głębokiego uczenia, od sklepów zaczynając na bankowości kończąc. Dzięki głębokiemu uczeniu wiele usług streamingowych lub innych platform z materiałami wideo wykorzystuje historię oglądania, godziny odwiedzania strony, średni czas pobytu i wiele innych czynników, aby jak najlepiej dostosować proponowane materiały. Te same czynniki wykorzystują reklamodawcy, żeby pokazać reklamę, która ma największą szansę na zainteresowanie użytkownika.

W medycynie głębokie uczenie może jest używane nie tylko przy analizie danych, ale również na przykład przy wczesnym wykrywaniu nowotworów tkanki skórnej. W bankowości głębokie uczenie używane jest do analizy rynku i znajdowania inwestycji, które statystycznie są najbardziej opłacalne.
Modele głębokiego uczenia używane są również do tworzenia programów przekładających mowę na pismo, skanowaniu dokumentów czy nawet rozpoznawaniu pisma ręcznego.

Poza tym głębokie uczenie jest używane w przemyśle i  wielu innych dziedzinach do szeroko rozumianej analizy wielkich ilości danych, których żaden człowiek nie byłby w stanie przeanalizować.

Poniżej wymienone zostały typy działań do których wykorzystywane są systemy uczenia głębokiego.

  • Tłumaczenie Maszynowe

Tłumaczenie maszynowe, będące tłumaczeniem jednego języka na drugi bez udziału człowieka, osiągnęły znacznie wyższy poziom dzięki zastosowaniu uczenia głębokiego. Uczenie głębokie szczególnie sprawdza się w przypadku tłumaczenia tekstów z jednego języka na drugi, tłumaczeniu mowy na pismo i identyfikowania fragmentów dźwięku w większych plikach dźwiękowych.

  • Generowanie opisów obrazu

Program korzystający z uczenia głębokiego jest w stanie najpierw rozpoznać pewne obiekty na obrazie, przypisując im pewne etykiety, a następnie przekształcić te etykiety w zdania opisowe. Aplikacje opisujące obrazy korzystają najpierw z konwolucyjnych sieci neuronowych w celu rozpoznania obiektów na obrazie, a następnie rekurencyjnej sieci neuronowej w celu przekształcenia etykiet w zdania.

  • Analiza tekstu

Algorytmy uczenia głębokiego potrafią analizować duże ilości danych tekstowych (np. raportów finansowych czy dokumentacji medycznych), a następnie tworzenie z nich raportów na podstawie i wyciąganie wniosków na podstawie odnalezionych wzorców. Uczenie głębokie może zostać wykorzystane do analizy zgodności danych dokumentów z prawem np. wykrywanie prób wyłudzenia ubezpieczenia.

  • Wykrywanie obiektów

Aplikacje korzystające z uczenia głębokiego są w stanie rozpoznawać obiekty na obrazie. Następnie klasyfikują obrazy według obiektów na nich występujących np.zdjęcia z psami, zdjęcia jedzenia, oraz według lokalizacji np. zdjęcia z gór, zdjęcia ze Sztokholmu.

  •  Rozpoznawanie określonych jednostek

Głęboka sieć neuronowa pobiera fragment tekstu jako dane wejściowe i przypisuje określone jej elementy do danej klasy. W ten sposób można sporządzić listę adresów, zawierającą rozpoznane i przypisane do swojej klasy, kody pocztowe, numery telefonu czy adresy.

Więcej o zastosowaniach modeli głębokiego uczenia można znaleźć tutaj.

ZAGROŻENIA

Popularnym dziś tematem jest bunt maszyn i powstanie super sztucznej inteligencji, która doprowadzi do końca świata. Mimo że ten scenariusz jest lekko mówiąc niezbyt prawdopodobny, istnieją pewne zagrożenia wynikające z uczenia maszynowego, w tym głębokiego uczenia.
Realnym zagrożeniem dla wielu ludzi jest całkowite przejęcie danego sektora rynku pracy przez maszyny, co skutkowałoby utratą pracy dla wielu, wielu ludzi. Zewsząd można usłyszeć
głosy, że „mojej pracy nie mogłaby wykonywać maszyna”, ale czy nie tak właśnie myślały konie po wynalezieniu silników?

Równie ważnym problemem jest powszechna stronniczość występująca w wielu modelach głębokiego uczenia. Wynika ona z nierówności w zestawie danych dostarczonych programowi. Model będzie stronniczy  co w wielu dziedzinach, na przykład wcześniej wspomnianej bankowości, może być wielkim problemem. Wyobraźmy sobie sytuację, w której algorytm bankowy odmawia pożyczki osobie dlatego, inni osobnicy o tym samym kolorze skóry, znajdujący się w dostarczonym zestawie danych, rzadziej przejawiają stabilność majątkową i rzadziej spłacają długi.
Warto jednak pamiętać, że stronniczość nie jest związana bezpośrednio z głębokim uczeniem, a jedynie z dostarczonym zestawem danych,  to właśnie w nim leży problem. Model odwzorowuje dane, dokładnie tak jak ma to robić, jednak dostarczenie danych bez stronniczości nie jest proste, bo przecież cały świat jest stronniczy.

OGRANICZENIA

Podstawowym problemem głębokiego uczenia jest generalizacja, a raczej jej brak. Programu trenowanego na pewnym zestawie danych nie można zgeneralizować na inny zestaw. Na przykład, jeśli nauczymy program rozróżniać koty od dyni poprzez dostarczenie mu milionów zdjęć kotów i dyni z informacją które to które, to ten program mimo świetnego obeznania w dyniach i kotach nie będzie w stanie rozróżnić między ogórkami a psami, bo nie był trenowany na takim zestawie danych.

Co ciekawe model może świetnie rozróżniać dynie i koty, ale w niektórych przypadkach i tak może się mylić. Na przykład w sytuacji, w której przebierzemy psa za dynie, każdy człowiek rozpozna psa, a nie dynie. Jednak nasz model najprawdopodobniej będzie stuprocentowo pewny, że na zdjęciu widać dynię.

Problemem, który warto jest mieć na uwadze, jest fakt, że żeby model głębokiego uczenia miał sens, musimy dostarczyć mu bardzo dużej ilości danych, co w niektórych przypadkach nie jest możliwe. Warto pamiętać, że dokładność modelu rośnie wraz z ilością dostarczonych danych, co oznacza, że przy niewystarczająco dużej ilości danych program może mieć duże problemy z poprawnym funkcjonowaniem.

Kolejna komplikacja wynikająca z zestawu danych pojawia się w momencie, kiedy występuje w nim nierówność. Wracając do przykładu z kotami i dyniami, jeśli w naszym zestawie danych 80% zdjęć to dynie, a tylko 20% to koty to nasz model będzie w większości oparty o dynie właśnie, co może w praktyce oznaczać, że model nie do końca rozróżnia między kotami a dyniami, a tylko jest w stanie stwierdzić, kiedy coś jest dynią, a kiedy nie.

MOŻLIWOŚCI

Naukowcy starają się stworzyć takie mechanizmy głębokiego uczenia, które będą miały możliwość uzupełniania tych luk w  sztucznej inteligencji, których nie ma w ludzkej inteligencji. Jedną z możliwości jest połączenie uczenia głębokiego z systemami symbolicznymi. Wynika to z przekonania o tym, iż manipulacja symbolami przez ludzi odpowiada za dużą część ich sukcesu poznawczego, jednocześnie będąc jednym z wyzwań systemów głębokiego uczenia się. Jednak nie wszyscy naukowcy zgadzają się tym podejściem. Część z nich twierdzi, iż odpowiedzią na luki w inteligencji systemów uczenia głębokiego jest rozwój lepszych architektur sieci neuronowych, które ostatecznie doprowadzą do wszystkich aspektów inteligencji ludzi w tym m.in. manipulacji symbolami.

Naukowcy pracują również nad rozwojem sieci neuronowych, które przypisują wewnętrzne układy odniesienia obiektom i ich częściom oraz rozpoznają obiekty na podstawie zależności geometrycznych. Istotną w tej dziedzinie technologią mogą okazać sieci kapsułowe. Sieci kapsułowe mają na celu ulepszenie sieci neuronowych, tak by te, zamiast rozpoznawać cechy na obrazach, rozpoznawały obiekty, ich właściwości fizyczne i ich hierarchiczne relacje między sobą. Sieci kapsułowe, mogą umożliwić głębokie uczenie dzięki „intuicyjnej fizyce”. “Intuicyjna fizyka” jest zdolnością pozwalającą ludziom i zwierzętom na zrozumienie trójwymiarowych środowisk.

„Nadal przed nami długa droga, aby zrozumieć, w jaki sposób sieci neuronowe mogą stać się naprawdę skuteczne. I spodziewamy się, że pojawią się radykalnie nowe pomysły ”- Geoffrey Hinton.

 

 

BIBLIOGRAFIA

https://levity.ai/blog/difference-machine-learning-deep-learning

https://sibiz.pl/uczenie-maszynowe-a-glebokie-uczenie-podobienstwa-i-roznice/

https://en.wikipedia.org/wiki/Convolutional_neural_network

https://miroslawmamczur.pl/jak-dzialaja-konwolucyjne-sieci-neuronowe-cnn/

https://www.coursera.org/lecture/uol-machine-learning-for-all/dangers-of-machine-learning-h4u75

https://www.sas.com/pl_pl/insights/analytics/deep-learning.html

https://hbr.org/2021/01/when-machine-learning-goes-off-the-rails

https://blog.keras.io/the-limitations-of-deep-learning.html

https://i0.wp.com/www.thinkmakeshareblog.com/wp-content/uploads/Pet-Costumes-_-thinkmakeshareblog-10.jpg

https://www.youtube.com/c/UnfoldDataScience

https://thenextweb.com/news/pioneers-deep-learning-future-lit-syndication


Leave a comment

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Najnowsze komentarze

  1. Ciekawe jest porównanie tradycyjnej terapii z nowymi rozwiązaniami opartymi na modelach językowych. Warto zauważyć, że mimo obiecujących wyników, istnieją ważne…