JavaRush /Blog Java /Random-PL /Deep Learning, sztuczna inteligencja i uczenie maszynowe ...

Deep Learning, sztuczna inteligencja i uczenie maszynowe dla manekinów: wyjaśnione na przykładzie

Opublikowano w grupie Random-PL
Chcesz błyszczeć intelektem w towarzystwie współpracowników lub zadziwić znajomych w rozmowie na aktualne tematy techniczne? Wspomnij w rozmowie o „sztucznej inteligencji” lub „uczeniu maszynowym” i gotowe. Deep Learning, sztuczna inteligencja i uczenie maszynowe dla manekinów: wyjaśnione na przykładzie - 1Termin „sztuczna inteligencja” jest obecnie powszechnie słyszalny. Programiści chcą uczyć się sztucznej inteligencji. Liderzy chcą wdrażać sztuczną inteligencję w swoich usługach. Jednak w praktyce nawet profesjonaliści nie zawsze rozumieją, czym jest „AI”. Ten artykuł ma pomóc Ci zrozumieć pojęcia „sztuczna inteligencja” i „uczenie maszynowe”. Dowiesz się także jak działa Deep Learning, czyli najpopularniejszy rodzaj uczenia maszynowego. I co ważne, instrukcja ta jest napisana dość przystępnym językiem. Matematyka nie będzie zbyt trudna do zrozumienia.

Podstawy

Pierwszym krokiem do zrozumienia, czym jest Deep Learning, jest zrozumienie różnicy pomiędzy kluczowymi terminami.
Deep Learning, sztuczna inteligencja i uczenie maszynowe dla manekinów: wyjaśnione na przykładzie - 2
Zdjęcie: Datanami

Sztuczna inteligencja kontra uczenie maszynowe

Sztuczna inteligencja (AI lub AI agnl.) to próba skopiowania ludzkiego procesu myślowego przez komputer. Kiedy badania z zakresu Sztucznej Inteligencji dopiero się rozpoczynały, naukowcy próbowali skopiować zachowanie ludzkiej inteligencji ściśle pod pewnymi warunkami, czyli wyostrzyć ją, aby rozwiązywała określone problemy. Na przykład, aby maszyna mogła grać w gry. Ustalili szereg zasad, których maszyna licząca musiała przestrzegać. Komputer miał listę możliwych działań i podejmował decyzje w oparciu o zasady i ograniczenia ustalone w fazie rozwoju.
Uczenie maszynowe (ML lub ML w języku angielskim) oznacza zdolność maszyny do uczenia się poprzez przetwarzanie dużych zbiorów informacji zamiast jasno określonych reguł.
ML pozwala komputerom na samodzielną naukę. Ten rodzaj uczenia się wykorzystuje nowoczesną technologię komputerową, która może z łatwością przetwarzać ogromne ilości danych.

Uczenie się nadzorowane a uczenie się bez nadzoru

Uczenie się nadzorowane wykorzystuje oznaczone zestawy danych, które składają się z danych wejściowych i oczekiwanych wyników. Kiedy szkolisz sztuczną inteligencję za pomocą uczenia nadzorowanego, dostarczasz dane jako dane wejściowe i określasz, jaki powinien być wynik. Jeśli wynik wygenerowany przez sztuczną inteligencję różni się od oczekiwanego, sztuczna inteligencja musi poprawić swoje obliczenia. Proces powtarza się wielokrotnie na tablicy danych, o ile sztuczna inteligencja popełnia błędy. Przykładem uczenia się nadzorowanego może być sztuczna inteligencja przewidująca pogodę. Uczy się przewidywać pogodę na podstawie danych historycznych. Dane wejściowe to ciśnienie, wilgotność i prędkość wiatru, w wyniku czego powinniśmy otrzymać temperaturę. Uczenie się bez nadzoru to zadanie polegające na szkoleniu sztucznej inteligencji przy użyciu nieustrukturyzowanych danych. Trenując sztuczną inteligencję metodą uczenia się bez nadzoru, umożliwiasz sztucznej inteligencji dokonywanie logicznej klasyfikacji danych. Przykładem sztucznej inteligencji wykorzystującej uczenie maszynowe bez nadzoru jest robot predykcyjny zachowań klientów w sklepie internetowym. Uczy się bez korzystania ze znanych wcześniej danych wejściowych i wyjściowych. Zamiast tego musi sam klasyfikować dane wejściowe. Algorytm powinien zidentyfikować i powiedzieć, jaki typ użytkowników preferuje jakie produkty.

Jak działa uczenie maszynowe

Zatem Deep Learning jest jednym z podejść do uczenia maszynowego. Pozwala przewidzieć wyniki na podstawie danych wejściowych. Aby wytrenować sztuczną inteligencję, możesz skorzystać z obu powyższych opcji: uczenia się pod nadzorem i bez nadzoru. Jak działa Deep Learning, zrozumiemy na jasnym przykładzie: załóżmy, że musimy opracować usługę przewidywania cen podróży lotniczych. Nasz algorytm będziemy uczyć metodą nadzorowaną. Chcemy, aby nasza usługa prognozowania cen podróży lotniczych przewidywała cenę na podstawie następujących danych wejściowych (dla ułatwienia prezentacji nie bierzemy pod uwagę lotu powrotnego):
  • lotnisko odlotu;
  • lotnisko przylotu;
  • planowany termin wyjazdu;
  • linia lotnicza.
Sieci neuronowe Przyjrzyjmy się mózgowi sztucznej inteligencji. Podobnie jak w przypadku żywych istot biologicznych, nasz predyktor ma neurony w swojej „głowie”. Na zdjęciu są one przedstawione w formie okręgów. Neurony są ze sobą połączone.
Deep Learning, sztuczna inteligencja i uczenie maszynowe dla manekinów: wyjaśnione na przykładzie - 3
Na obrazku neurony są połączone w trzy grupy warstw:
  • warstwa wejściowa;
  • warstwa ukryta 1 (warstwa ukryta 1) i warstwa ukryta 2 (warstwa ukryta 2);
  • warstwa wyjściowa.
Część danych trafia do warstwy wejściowej. W naszym przypadku w warstwie wejściowej mamy cztery neurony: lotnisko odlotu, lotnisko przylotu, data odlotu, linia lotnicza. Warstwa wejściowa przekazuje dane do pierwszej warstwy ukrytej. Warstwy ukryte wykonują obliczenia matematyczne na podstawie otrzymanych danych wejściowych. Jednym z głównych zagadnień przy budowie sieci neuronowych jest wybór liczby warstw ukrytych i liczby neuronów w każdej warstwie.
Słowo Deep w wyrażeniu Deep Learning wskazuje na obecność więcej niż jednej ukrytej warstwy.
Warstwa wyjściowa zwraca nam wynikową informację. W naszym przypadku oczekiwana cena lotu.
Deep Learning, sztuczna inteligencja i uczenie maszynowe dla manekinów: wyjaśnione na przykładzie - 4
Pominęliśmy dotychczas najciekawszą rzecz: jak dokładnie obliczana jest oczekiwana cena? Tutaj zaczyna się magia głębokiego uczenia się. Każdemu połączeniu między neuronami przypisana jest określona waga (współczynnik). Waga ta określa znaczenie wartości wejściowej. Początkowe wagi ustalane są losowo. Przy przewidywaniu kosztów podróży lotniczej największy wpływ na cenę ma data wylotu. Dlatego połączenia neuronu „daty wyjazdu” mają większą wagę.
Deep Learning, искусственный интеллект и машинное обучение для чайников: объяснение на примере  - 5
Do każdego neuronu przypisana jest funkcja aktywacji. Bez wiedzy matematycznej trudno zrozumieć, czym jest ta funkcja. Dokonajmy więc pewnego uproszczenia: celem funkcji aktywacji jest „standaryzacja” sygnału wyjściowego neuronu. Po przejściu zbioru danych przez wszystkie warstwy sieci neuronowej zwraca wynik poprzez warstwę wyjściową. Na razie wszystko jest jasne, prawda?

Trening sieci neuronowych

Uczenie sieci neuronowej to najtrudniejsza część głębokiego uczenia się! Dlaczego? Ponieważ potrzebujesz dużej ilości danych. Ponieważ potrzebujesz większej mocy obliczeniowej. W przypadku naszego projektu musimy znaleźć historyczne dane dotyczące biletów lotniczych. Ponadto dla wszystkich możliwych kombinacji lotnisk wylotu i przylotu, dat wylotu i różnych linii lotniczych. Potrzebujemy bardzo dużej ilości danych z cenami biletów. Musimy wprowadzić dane wejściowe z naszego zestawu na wejścia naszej sieci neuronowej i sprawdzić, czy odpowiadają one wynikom, które już mamy. Jeśli wyniki uzyskane przez sztuczną inteligencję różnią się od oczekiwanych, oznacza to, że nie została ona jeszcze wystarczająco wyszkolona. Kiedy już przepuścimy całą ilość danych przez naszą sieć neuronową, możemy zbudować funkcję, która wskaże, jak bardzo różnią się wyniki sztucznej inteligencji od rzeczywistych wyników w naszym zbiorze danych. Taka funkcja nazywana jest funkcją kosztu . W idealnym przypadku, do którego dążymy z całych sił, wartości naszej funkcji kosztu są równe zeru. Oznacza to, że wybrane przez sieć neuronową wyniki kosztowe nie różnią się od rzeczywistych kosztów biletów w naszym zbiorze danych.

Jak możemy zmniejszyć wartość funkcji kosztu?

Zmieniamy wagi połączeń między neuronami. Można to zrobić losowo, ale to podejście nie jest skuteczne. Zamiast tego zastosujemy metodę o nazwie Gradient Descent .
Zejście gradientowe to metoda, która pozwala znaleźć minimum funkcji. W naszym przypadku szukamy minimum funkcji kosztu.
Algorytm ten działa poprzez stopniowe zwiększanie wag po każdej nowej iteracji przetwarzania naszego zbioru danych. Obliczając pochodną (lub gradient) funkcji kosztu dla pewnych zbiorów wag, możemy zobaczyć, w którym kierunku leży minimum.
Deep Learning, искусственный интеллект и машинное обучение для чайников: объяснение на примере  - 6
Na zdjęciu: Masa początkowa – masa początkowa, Minimum kosztu globalnego – minimum globalne funkcji kosztu. Aby zminimalizować funkcję kosztu, musimy wielokrotnie wykonywać obliczenia na naszym zbiorze danych. Dlatego potrzebujesz dużej mocy obliczeniowej. Wagi są aktualizowane automatycznie przy użyciu metody gradientu opadania. To jest magia głębokiego uczenia się! Kiedy już przeszkolimy naszą usługę przewidywania cen lotów AI, możemy bezpiecznie używać jej do przewidywania cen w rzeczywistości.

Podsumujmy to...

  • Głębokie uczenie się wykorzystuje sieci neuronowe do symulacji inteligencji.
  • W sieci neuronowej występują trzy typy neuronów: warstwa wejściowa, warstwy ukryte i warstwa wyjściowa.
  • Każde połączenie między neuronami ma swoją wagę, która wskazuje na wagę tego sygnału wejściowego.
  • Neurony wykorzystują funkcję aktywacji w celu „standaryzacji” sygnału wyjściowego neuronu.
  • Aby wytrenować sieć neuronową, potrzebujesz dużej ilości danych.
  • Jeśli przetworzymy tablicę danych za pomocą sieci neuronowej i porównamy dane wyjściowe z danymi rzeczywistymi, otrzymamy funkcję kosztu, która pokazuje, jak bardzo sztuczna inteligencja się myli.
  • Po każdym przetworzeniu danych wagi między neuronami są dostosowywane za pomocą metody gradientu opadania, aby uzyskać redukcję funkcji kosztu.
Link do oryginału
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION