Samouczek dotyczący głębokiego uczenia: Sztuczna inteligencja przy użyciu głębokiego uczenia



Ten blog poświęcony samouczkowi do uczenia głębokiego pomoże ci zrozumieć wszystko o uczeniu się głębokim i jego związku z uczeniem maszynowym i sztuczną inteligencją.

Będąc ważnym podzbiorem uczenia maszynowego, popyt na odnotował ogromny wzrost, szczególnie wśród osób zainteresowanych odblokowaniem nieograniczonych możliwości sztucznej inteligencji.Zainspirowana rosnącą popularnością Deep Learning, pomyślałem o stworzeniu serii blogów, które nauczą Cię o tym nowym trendzie w dziedzinie sztucznej inteligencji i pomogą Ci zrozumieć, o co w tym wszystkim chodzi. To pierwszy z wielu blogów z serii pod nazwą - Samouczek głębokiego uczenia .

Samouczek Deep Learning

W tym blogu z samouczkiem dotyczącym głębokiego uczenia się przeprowadzę Cię przez następujące kwestie, które posłużą jako podstawy dla nadchodzących blogów:





co to jest anakonda dla pythona
  • Co pozwoliło zaistnieć Deep Learning
  • Co to jest uczenie głębokie i jak to działa?

Możesz przejść przez to nagranie samouczka Deep Learning, w którym nasz instruktor szczegółowo wyjaśnił tematy z przykładami, które pomogą Ci lepiej zrozumieć tę koncepcję.

Samouczek dotyczący głębokiego uczenia | Sieci neuronowe uczenia głębokiego | Edureka

Zastosowania sztucznej inteligencji i głębokiego uczenia się

Teraz pomyśl o tym, zamiast wykonywać całą swoją pracę, masz maszynę, która dokończy ją za Ciebie lub może zrobić coś, o czym myślałeś, że w ogóle nie jest możliwe. Na przykład:



Przewidywanie przyszłości - samouczek Deep Learning - Edureka

Przewidując przyszłość: Może nam pomóc w przewidywaniu trzęsień ziemi, tsunami itp. Z wyprzedzeniem, dzięki czemu można podjąć środki zapobiegawcze, aby uratować wiele istnień ludzkich przed wpadnięciem w szpony klęsk żywiołowych.

Chat-boty: Wszyscy z was słyszeliby o Siri, wirtualnym asystencie Apple sterowanym głosem. Uwierz mi, z pomocą Deep Learning ta wirtualna pomoc staje się coraz mądrzejsza z dnia na dzień. W rzeczywistości Siri może dostosować się do użytkownika i zapewnić lepszą spersonalizowaną pomoc.
Samochody autonomiczne: Wyobraź sobie, jakie byłoby to niewiarygodne dla osób niepełnosprawnych fizycznie i starszych, którym trudno jest samodzielnie prowadzić samochód. Poza tym uratuje miliony niewinnych ludzi, którzy każdego roku spotykają się z wypadkami drogowymi z powodu błędu ludzkiego.

Okulista Google AI: To ostatnia inicjatywa podjęta przez Google, w ramach której współpracują z indyjskim łańcuchem pielęgnacji oczu, aby opracować oprogramowanie AI, które może badać skany siatkówki i identyfikować stan zwany retinopatią cukrzycową, który może powodować ślepotę.

AI Music Composer: Cóż, kto pomyślał, że możemy mieć kompozytora muzyki AI korzystającego z Deep Learning. Dlatego nie zdziwiłbym się, słysząc, że kolejna najlepsza muzyka jest podawana przez maszynę.
Maszyna do czytania snów: To jedna z moich ulubionych, maszyna, która może uchwycić Twoje sny w formie wideo lub czegoś podobnego. Przy tak wielu nierealistycznych zastosowaniach sztucznej inteligencji i głębokiego uczenia się, które widzieliśmy do tej pory, nie zdziwiło mnie, gdy dowiedziałem się, że kilka lat temu próbowano tego w Japonii na trzech obiektach testowych i byli w stanie osiągnąć dokładność bliską 60%. To jest coś niewiarygodnego, ale prawdziwego.


Jestem prawie pewien, że niektóre z tych rzeczywistych zastosowań sztucznej inteligencji i głębokiego uczenia wywołałyby gęsią skórkę. W porządku, to stanowi podstawę dla Ciebie, a teraz jesteśmy gotowi, aby przejść dalej w tym samouczku Deep Learning i zrozumieć, czym jest sztuczna inteligencja.



Co to jest sztuczna inteligencja?

Sztuczna inteligencja to nic innego jak zdolność maszyny do naśladowania inteligentnego ludzkiego zachowania. Sztuczną inteligencję osiąga się naśladując ludzki mózg, rozumiejąc, jak myśli, jak się uczy, decyduje i pracuje, próbując rozwiązać problem.

Na przykład: Maszyna do gry w szachy lub oprogramowanie aktywowane głosem, które pomaga w różnych rzeczach w telefonie iPhone lub system rozpoznawania tablic rejestracyjnych, który rejestruje tablicę rejestracyjną przekraczającego prędkość samochodu i przetwarza go w celu wyodrębnienia numeru rejestracyjnego i zidentyfikowania właściciela samochodu . Wcześniej nie było to łatwe do wdrożenia Głęboka nauka . Przyjrzyjmy się teraz różnym podzbiorom sztucznej inteligencji.

Podzbiory sztucznej inteligencji

Do tej pory wiele słyszałeś o sztucznej inteligencji, uczeniu maszynowym i uczeniu głębokim. Czy znasz jednak związek między nimi wszystkimi trzema? Zasadniczo, uczenie głębokie to poddziedzina uczenia maszynowego, a uczenie maszynowe to podkategoria sztucznej inteligencji, jak pokazano na poniższym obrazku:

Kiedy patrzymy na coś takiego AlphaGo , jest często przedstawiany jako duży sukces głębokiego uczenia się, ale w rzeczywistości jest to połączenie pomysłów z kilku różnych dziedzin sztucznej inteligencji i uczenia maszynowego. W rzeczywistości byłbyś zaskoczony, gdybyś usłyszał, że idea głębokich sieci neuronowych nie jest nowa, ale sięga lat pięćdziesiątych XX wieku. Jednak wdrożenie go w praktyce stało się możliwe ze względu na dostępne obecnie wysokiej klasy zasoby.

Przechodząc dalej w tym blogu z samouczkiem dotyczącym głębokiego uczenia się, przyjrzyjmy się samouczeniu maszynowemu wraz z jego ograniczeniami.

Co to jest uczenie maszynowe?

Uczenie maszynowe to podzbiór sztucznej inteligencji, który zapewnia komputerom możliwość uczenia się bez konieczności bezpośredniego programowania. W uczeniu maszynowym nie musimy jawnie definiować wszystkich kroków ani warunków, jak każda inna aplikacja programistyczna. Wręcz przeciwnie, maszyna jest szkolona na zbiorze danych szkoleniowych, wystarczająco dużym, aby stworzyć model, który pomaga maszynie podejmować decyzje na podstawie uczenia się.

Na przykład: Chcemy określić gatunek kwiatu na podstawie jego długości płatka i działki (liści kwiatu) za pomocą uczenia maszynowego. W takim razie jak to zrobimy?

Wprowadzimy do naszej maszyny zestaw danych kwiatowych, który zawiera różne cechy różnych kwiatów wraz z ich odpowiednimi gatunkami, jak widać na powyższym obrazku. Korzystając z tego zestawu danych wejściowych, maszyna utworzy i wytrenuje model, który można wykorzystać do sklasyfikowania kwiatów w różnych kategoriach.
Gdy nasz model zostanie wytrenowany, przekażemy zestaw cech jako dane wejściowe do modelu.
Wreszcie nasz model wyświetli gatunek kwiatu obecnego w nowym zestawie danych wejściowych. Ten proces uczenia maszyny do tworzenia modelu i używania go do podejmowania decyzji nazywa się Nauczanie maszynowe . Jednak ten proces ma pewne ograniczenia.

Ograniczenia uczenia maszynowego

Uczenie maszynowe nie jest w stanie obsłużyć danych wielowymiarowych, w przypadku których dane wejściowe i wyjściowe są dość duże. Obsługa i przetwarzanie tego typu danych staje się bardzo złożone i wyczerpuje zasoby. Nazywa się to Przekleństwo wymiarowości . Aby zrozumieć to w prostszy sposób, rozważmy następujący obraz:

Rozważ linię o długości 100 jardów i gdzieś na niej upuściłeś monetę. Teraz możesz znaleźć monetę po prostu chodząc po linie. Ta właśnie linia jest jednostką jednowymiarową.
Następnie pomyśl, że masz kwadrat o boku 100 jardów każdy, jak pokazano na powyższym obrazku, i ponownie upuściłeś monetę gdzieś pomiędzy. Teraz jest całkiem oczywiste, że znalezienie monety w tym kwadracie zajmie ci więcej czasu niż w poprzednim scenariuszu. Ten kwadrat jest dwuwymiarową jednostką.
Zróbmy krok do przodu, biorąc pod uwagę sześcian o boku 100 jardów każdy, a gdzieś pomiędzy nimi upuściłeś monetę. Teraz jeszcze trudniej jest znaleźć monetę tym razem. Ta kostka jest trójwymiarową istotą.

W związku z tym można zaobserwować, że złożoność rośnie wraz ze wzrostem wymiarów.W rzeczywistości dane wielowymiarowe, o których mówiliśmy, mają tysiące wymiarów, co czyni je bardzo złożonymi w obsłudze i przetwarzaniu. Dane o dużych wymiarach można łatwo znaleźć w przypadkach użycia, takich jak przetwarzanie obrazu, NLP, tłumaczenie obrazu itp.

Uczenie maszynowe nie było w stanie rozwiązać tych przypadków użycia, dlatego z pomocą przyszło uczenie głębokie. Głębokie uczenie jest w stanie obsługiwać dane wielowymiarowe, a także skutecznie skupia się na właściwych funkcjach. Ten proces nazywa się wyodrębnianiem cech. Przejdźmy teraz do tego samouczka Deep Learning i zrozummy, jak działa uczenie głębokie.

Jak działa Deep Learning?

Próbując przeprojektować ludzki mózg, uczenie głębokie bada podstawową jednostkę mózgu zwaną komórką mózgową lub neuronem. Zainspirowany neuronem opracowano sztuczny neuron lub perceptron. Teraz zrozummy funkcjonalność neuronów biologicznych i sposób naśladowania tej funkcji w perceptronie lub sztucznym neuronie:

  • Jeśli skupimy się na strukturze biologicznego neuronu, to ma on dendryty, które są wykorzystywane do odbioru bodźców. Te dane wejściowe są sumowane w ciele komórki i za pomocą aksonu są przekazywane do następnego biologicznego neuronu, jak pokazano na powyższym obrazku.

    jak stworzyć tablicę obiektów w java
  • Podobnie, perceptron otrzymuje wiele danych wejściowych, stosuje różne transformacje i funkcje oraz zapewnia wyjście.

  • Ponieważ wiemy, że nasz mózg składa się z wielu połączonych neuronów zwanych siecią neuronową, możemy również mieć sieć sztucznych neuronów zwanych perceptronami, tworząc głęboką sieć neuronową. Przejdźmy więc dalej w tym samouczku Deep Learning, aby zrozumieć, jak wygląda sieć neuronowa Deep.

Samouczek Deep Learning: Co to jest Deep Learning?

  • Każda sieć neuronowa Deep będzie składać się z trzech typów warstw:
    • Warstwa wejściowa
    • Ukryta warstwa
    • Warstwa wyjściowa
Na powyższym schemacie pierwsza warstwa jest warstwą wejściową, która odbiera wszystkie dane wejściowe, a ostatnia warstwa jest warstwą wyjściową, która zapewnia żądane wyjście.
Wszystkie warstwy pomiędzy tymi warstwami nazywane są warstwami ukrytymi. Dzięki dostępnym obecnie zasobom wysokiej jakości może być n wielu ukrytych warstw.
Liczba ukrytych warstw i liczba perceptronów w każdej warstwie będzie całkowicie zależeć od przypadku użycia, który próbujesz rozwiązać.

Teraz, gdy masz już obraz głębokich sieci neuronowych, przejdźmy dalej w tym samouczku głębokiego uczenia się, aby uzyskać ogólny obraz tego, jak Deep Neural Networks rozwiązują problem rozpoznawania obrazu.

Zastosowanie w uczeniu głębokim - przypadek

Chcemy wykonać rozpoznawanie obrazu za pomocą Deep Networks:

if instrukcja w kwerendzie sql
Tutaj przekazujemy dane o dużych wymiarach do warstwy wejściowej. Aby dopasować wymiarowość danych wejściowych, warstwa wejściowa będzie zawierała wiele podwarstw perceptronów, tak aby mogła zużywać całość danych wejściowych.
Dane wyjściowe otrzymane z warstwy wejściowej będą zawierały wzory i będą w stanie zidentyfikować tylko krawędzie obrazów na podstawie poziomów kontrastu.
Ten wynik zostanie przekazany do Ukrytej warstwy 1, gdzie będzie mógł zidentyfikować różne cechy twarzy, takie jak oczy, nos, uszy itp.
Teraz zostanie to wprowadzone do ukrytej warstwy 2, gdzie będzie w stanie uformować całe ściany. Następnie dane wyjściowe warstwy 2 są przesyłane do warstwy wyjściowej.
Na koniec warstwa wyjściowa dokonuje klasyfikacji na podstawie wyniku uzyskanego z poprzedniej i przewiduje nazwę.

Pozwólcie, że zadam wam pytanie, co się stanie, jeśli brakuje którejkolwiek z tych warstw lub sieć neuronowa nie jest wystarczająco głęboka? To proste, nie będziemy w stanie dokładnie zidentyfikować obrazów. To jest właśnie powód, dla którego te przypadki użycia nie miały rozwiązania przez te wszystkie lata przed Deep Learning. Aby posunąć się dalej, spróbujemy zastosować głębokie sieci w zestawie danych MNIST.

  • Zestaw danych Mnist składa się z 60 000 próbek szkoleniowych i 10 000 próbek testowych odręcznych obrazów cyfrowych. Tutaj zadaniem jest wytrenowanie modelu, który będzie w stanie dokładnie zidentyfikować cyfrę obecną na obrazie.

  • Aby rozwiązać ten przypadek użycia, zostanie utworzona sieć Deep z wieloma ukrytymi warstwami, aby przetworzyć wszystkie 60 000 obrazów piksel po pikselu, a na koniec otrzymamy warstwę wyjściową.
  • Warstwa wyjściowa będzie tablicą o indeksach od 0 do 9, gdzie każdy indeks odpowiada odpowiedniej cyfrze. Indeks 0 zawiera prawdopodobieństwo, że 0 będzie cyfrą obecną na obrazie wejściowym.
  • Podobnie, indeks 2, który ma wartość 0,1, w rzeczywistości reprezentuje prawdopodobieństwo, że cyfra 2 będzie obecna na obrazie wejściowym. Tak więc, jeśli widzimy, że najwyższe prawdopodobieństwo w tej tablicy wynosi 0,8, co jest obecne pod indeksem 7 tablicy. Stąd liczba obecna na obrazie to 7.

Wniosek

Więc chłopaki, chodziło o głębokie uczenie się w pigułce. W tym samouczku dotyczącym uczenia głębokiego widzieliśmy różne zastosowania uczenia głębokiego i zrozumieliśmy jego związek ze sztuczną inteligencją i uczeniem maszynowym. Następnie zrozumieliśmy, w jaki sposób możemy wykorzystać podstawowe elementy budulcowe perceptronu lub sztucznego neuronu do tworzenia głębokich sieci neuronowych, które mogą wykonywać złożone zadania, takie jak. W końcu przeszliśmy przez jeden z przypadków zastosowania głębokiego uczenia się, w którym przeprowadziliśmy rozpoznawanie obrazu za pomocą głębokich sieci neuronowych i zrozumieliśmy wszystkie kroki, które mają miejsce za sceną. Teraz na kolejnym blogu z tej serii samouczków dotyczących uczenia głębokiego dowiemy się, jak zaimplementować perceptron przy użyciu TensorFlow, który jest biblioteką opartą na Pythonie do głębokiego uczenia się.

Teraz, gdy wiesz już o uczeniu głębokim, zapoznaj się z autorstwa Edureka, zaufanej firmy zajmującej się edukacją online, z siecią ponad 250 000 zadowolonych uczniów rozsianych po całym świecie. Szkolenie Edureka Deep Learning with TensorFlow Certification Training pomaga uczniom stać się ekspertami w zakresie szkolenia i optymalizacji podstawowych i konwolucyjnych sieci neuronowych z wykorzystaniem projektów i zadań w czasie rzeczywistym, wraz z takimi koncepcjami, jak funkcja SoftMax, Auto-encoder Neural Networks, Restricted Boltzmann Machine (RBM).

Masz do nas pytanie? Wspomnij o tym w sekcji komentarzy, a my skontaktujemy się z Tobą.