Co to jest AI?
Sztuczna inteligencja (sztuczna inteligencja) to dziedzina informatyki, w której maszyny są programowane i mają zdolność poznawczą do myślenia i naśladowania działań, takich jak ludzie i zwierzęta. Wzorcem dla sztucznej inteligencji jest ludzka inteligencja dotycząca rozumowania, mowy, uczenia się, wizji i rozwiązywania problemów, które są odległe w przyszłości.
AI ma trzy różne poziomy:
- Wąska sztuczna inteligencja: mówi się, że sztuczna inteligencja jest wąska, gdy maszyna może wykonać określone zadanie lepiej niż człowiek. Obecne badania nad sztuczną inteligencją są już dostępne
- Ogólna sztuczna inteligencja: sztuczna inteligencja osiąga stan ogólny, kiedy może wykonać dowolne zadanie intelektualne z takim samym poziomem dokładności jak człowiek
- Aktywna sztuczna inteligencja : SI jest aktywna, gdy może pokonać ludzi w wielu zadaniach
Wczesne systemy sztucznej inteligencji wykorzystywały dopasowywanie wzorców i systemy ekspertowe.
W tym samouczku nauczysz się:
- Co to jest AI?
- Co to jest ML?
- Co to jest uczenie głębokie?
- Proces uczenia maszynowego
- Proces głębokiego uczenia się
- Zautomatyzuj wyodrębnianie funkcji za pomocą DL
- Różnica między uczeniem maszynowym a uczeniem głębokim
- Kiedy używać ML lub DL?
Co to jest ML?
ML (uczenie maszynowe) to rodzaj sztucznej inteligencji, w którym komputer jest szkolony w zakresie automatyzacji zadań, które są wyczerpujące lub niemożliwe dla ludzi. Jest to najlepsze narzędzie do analizy, zrozumienia i identyfikacji wzorców w danych w oparciu o badanie algorytmów komputerowych. Uczenie maszynowe może podejmować decyzje przy minimalnej interwencji człowieka.
Porównując sztuczną inteligencję z uczeniem maszynowym, uczenie maszynowe wykorzystuje dane do zasilania algorytmu, który może zrozumieć związek między danymi wejściowymi a wyjściowymi. Gdy maszyna zakończy uczenie, może przewidzieć wartość lub klasę nowego punktu danych.
Co to jest uczenie głębokie?
Uczenie głębokie to oprogramowanie komputerowe, które naśladuje sieć neuronów w mózgu. Jest to podzbiór uczenia maszynowego i nazywany jest uczeniem głębokim, ponieważ wykorzystuje głębokie sieci neuronowe. Maszyna korzysta z różnych warstw, aby uczyć się na podstawie danych. Głębokość modelu jest reprezentowana przez liczbę warstw w modelu. Uczenie głębokie to nowy stan wiedzy w dziedzinie sztucznej inteligencji. W uczeniu głębokim faza uczenia się odbywa się za pośrednictwem sieci neuronowej. Sieć neuronowa to architektura, w której warstwy są ułożone jedna na drugiej
Proces uczenia maszynowego
Wyobraź sobie, że masz zbudować program rozpoznający obiekty. Aby wytrenować model, użyjesz klasyfikatora . Klasyfikator wykorzystuje cechy obiektu, aby spróbować zidentyfikować klasę, do której należy.
W tym przykładzie klasyfikator zostanie przeszkolony, aby wykryć, czy obraz jest:
- Rower
- Łódź
- Samochód
- Samolot
Cztery powyższe obiekty to klasa, którą klasyfikator musi rozpoznać. Aby skonstruować klasyfikator, musisz mieć pewne dane jako dane wejściowe i przypisać im etykietę. Algorytm weźmie te dane, znajdzie wzorzec, a następnie sklasyfikuje go w odpowiedniej klasie.
To zadanie nazywa się uczeniem nadzorowanym. W uczeniu nadzorowanym dane szkoleniowe przekazane do algorytmu zawierają etykietę.
Uczenie algorytmu wymaga wykonania kilku standardowych kroków:
- Zbierz dane
- Trenuj klasyfikator
- Przewidywać
Pierwszy krok jest konieczny, dobranie odpowiednich danych sprawi, że algorytm odniesie sukces lub porażkę. Dane, które wybierzesz do trenowania modelu, nazywane są cechą. W przykładzie obiektu cechami są piksele obrazów.
Każdy obraz to wiersz danych, a każdy piksel to kolumna. Jeśli obraz ma rozmiar 28 x 28, zbiór danych zawiera 784 kolumny (28 x 28). Na poniższym obrazku każdy obraz został przekształcony w wektor cech. Etykieta informuje komputer, jaki obiekt jest na obrazie.
Celem jest użycie tych danych szkoleniowych do sklasyfikowania typu obiektu. Pierwszy krok polega na utworzeniu kolumn funkcji. Następnie drugi krok polega na wybraniu algorytmu do trenowania modelu. Po zakończeniu szkolenia model przewiduje, jaki obraz odpowiada obiektowi.
Po tym modelu można łatwo przewidzieć nowe obrazy. Dla każdego nowego obrazu wprowadzonego do modelu maszyna przewiduje klasę, do której należy. Na przykład przez model przechodzi zupełnie nowy obraz bez etykiety. Dla człowieka wizualizacja obrazu jako samochodu jest banalna. Maszyna wykorzystuje swoją wcześniejszą wiedzę, aby przewidzieć, że obraz jest samochodem.
Proces głębokiego uczenia się
W uczeniu głębokim faza uczenia się odbywa się za pośrednictwem sieci neuronowej. Sieć neuronowa to architektura, w której warstwy są ułożone jedna na drugiej.
Rozważ ten sam przykład obrazu powyżej. Zestaw uczący byłby podawany do sieci neuronowej
Każde wejście trafia do neuronu i jest mnożone przez wagę. Wynik mnożenia przepływa do następnej warstwy i staje się danymi wejściowymi. Ten proces jest powtarzany dla każdej warstwy sieci. Ostatnia warstwa jest nazywana warstwą wyjściową; zapewnia rzeczywistą wartość dla zadania regresji i prawdopodobieństwo każdej klasy dla zadania klasyfikacyjnego. Sieć neuronowa wykorzystuje algorytm matematyczny do aktualizacji wag wszystkich neuronów. Sieć neuronowa jest w pełni wytrenowana, gdy wartość wag daje wynik zbliżony do rzeczywistości. Na przykład dobrze wyszkolona sieć neuronowa może rozpoznać obiekt na obrazie z większą dokładnością niż tradycyjna sieć neuronowa.
Zautomatyzuj wyodrębnianie funkcji za pomocą DL
Zestaw danych może zawierać od kilkunastu do setek funkcji. System nauczy się na podstawie znaczenia tych funkcji. Jednak nie wszystkie funkcje mają znaczenie dla algorytmu. Kluczową częścią uczenia maszynowego jest znalezienie odpowiedniego zestawu funkcji, dzięki którym system się czegoś nauczy.
Jednym ze sposobów wykonania tej części w uczeniu maszynowym jest użycie wyodrębniania funkcji. Wyodrębnianie funkcji łączy istniejące funkcje, aby utworzyć bardziej odpowiedni zestaw funkcji. Można to zrobić za pomocą PCA, T-SNE lub dowolnego innego algorytmu redukcji wymiarowości.
Na przykład, podczas przetwarzania obrazu, lekarz musi ręcznie wyodrębnić cechę obrazu, taką jak oczy, nos, usta i tak dalej. Te wyodrębnione cechy są przekazywane do modelu klasyfikacji.
Uczenie głębokie rozwiązuje ten problem, szczególnie w przypadku konwolucyjnych sieci neuronowych. Pierwsza warstwa sieci neuronowej pozna drobne szczegóły z obrazu; następne warstwy będą łączyć wcześniejszą wiedzę w celu uzyskania bardziej złożonych informacji. W konwolucyjnej sieci neuronowej ekstrakcja cech odbywa się za pomocą filtra. Sieć stosuje filtr do obrazu, aby sprawdzić, czy jest dopasowanie, tj. Kształt elementu jest identyczny z częścią obrazu. Jeśli jest dopasowanie, sieć użyje tego filtru. Dlatego proces wyodrębniania cech jest wykonywany automatycznie.
Różnica między uczeniem maszynowym a uczeniem głębokim
Poniżej znajduje się kluczowa różnica między uczeniem głębokim a uczeniem maszynowym
Nauczanie maszynowe |
Głęboka nauka |
|
Zależności danych |
Doskonałe wyniki na małym / średnim zestawie danych |
Doskonała wydajność w przypadku dużego zbioru danych |
Zależności sprzętowe |
Pracuj na niedrogiej maszynie. |
Wymaga wydajnej maszyny, najlepiej z GPU: DL wykonuje znaczną ilość mnożenia macierzy |
Inżynieria cech |
Musisz zrozumieć funkcje, które reprezentują dane |
Nie ma potrzeby rozumienia najlepszej funkcji reprezentującej dane |
Czas egzekucji |
Od kilku minut do godzin |
Do tygodni. Sieć neuronowa musi obliczyć znaczną liczbę wag |
Interpretowalność |
Niektóre algorytmy są łatwe do zinterpretowania (logistyka, drzewo decyzyjne), niektóre są prawie niemożliwe (SVM, XGBoost) |
Trudne do niemożliwego |
Kiedy używać ML lub DL?
W poniższej tabeli podsumowujemy różnice między uczeniem maszynowym a uczeniem głębokim z przykładami.
Nauczanie maszynowe | Głęboka nauka | |
Zbiór danych treningowych | Mały | Duży |
Wybierz funkcje | tak | Nie |
Liczba algorytmów | Wiele | Mało |
Czas na trening | Krótki | Długo |
Dzięki uczeniu maszynowemu potrzebujesz mniej danych do trenowania algorytmu niż uczenie głębokie. Głębokie uczenie wymaga obszernego i zróżnicowanego zestawu danych do zidentyfikowania podstawowej struktury. Poza tym uczenie maszynowe zapewnia szybciej trenowany model. Trening najbardziej zaawansowanej architektury głębokiego uczenia może zająć od kilku dni do tygodnia. Zaletą uczenia głębokiego nad uczeniem maszynowym jest jego wysoka dokładność. Nie musisz rozumieć, jakie funkcje najlepiej odzwierciedlają dane; sieć neuronowa nauczyła się wybierać krytyczne cechy. W uczeniu maszynowym musisz sam wybrać, jakie funkcje uwzględnić w modelu.
Podsumowanie
Sztuczna inteligencja nadaje maszynie zdolności poznawcze. Porównując sztuczną inteligencję z uczeniem maszynowym, wczesne systemy sztucznej inteligencji wykorzystywały dopasowywanie wzorców i systemy eksperckie.
Ideą uczenia maszynowego jest to, że maszyna może się uczyć bez interwencji człowieka. Maszyna musi znaleźć sposób, aby dowiedzieć się, jak rozwiązać zadanie, biorąc pod uwagę dane.
Uczenie głębokie to przełom w dziedzinie sztucznej inteligencji. Gdy jest wystarczająco dużo danych do treningu, uczenie głębokie daje imponujące wyniki, szczególnie w przypadku rozpoznawania obrazu i tłumaczenia tekstu. Głównym powodem jest to, że wyodrębnianie funkcji odbywa się automatycznie w różnych warstwach sieci.