a-2729781_1280

Uczenie głębokie vs uczenie maszynowe

Co to jest uczenie głębokie i czym różni się od uczenia maszynowego?

Na początku należy wyjaśnić, że oba te pojęcia, czyli Uczenie maszynowe (ang. Machine learning) oraz Uczenie Głębokie (ang. Deep Learning) wchodzą w skład tzw. Sztucznej Inteligencji – SI (ang. Artificial Inteligence – AI). Zajmuje się ona kreowaniem modeli inteligentnych zachowań i programów oraz systemów do symulowania tych zachowań. Przez Andreasa Kaplana i Michaela Haenleina jest ona definiowana jako „zdolność systemu do prawidłowego interpretowania danych pochodzących z zewnątrz, nauki na ich podstawie oraz wykorzystywania tej wiedzy, aby wykonywać określone zadania i osiągać cele poprzez elastyczne dostosowanie”. Inne praktyczne zastosowania SI to np. rozpoznawanie obrazów, rozpoznawanie pisma (OCR), sieci neuronowe czy logika rozmyta.

Uczenie maszynowe – to dziedzina SI, której głównym zainteresowaniem są algorytmy zdolne do nabywania wiedzy oraz nauki podejmowania decyzji. Jest to interdyscyplinarna nauka, kładąca nacisk na informatykę (m.in. robotykę, programowanie, bazy danych) oraz statystykę (m.in. statystyczną analizę danych) .

Stworzenie automatycznego systemu, doskonalącego się z wykorzystaniem zgromadzonych danych oraz nabywanie na tej podstawie nowej wiedzy z równoczesnym praktycznym zastosowaniem dokonań w dziedzinie sztucznej inteligencji jest głównym celem Uczenia Maszynowego. Ogólnie rzecz biorąc, wykorzystanie uczenia maszynowego ma zapewnić zwiększanie: bezawaryjności, efektywności, wydajności oraz redukcji kosztów. Realizuję się to poprzez m.in. analizę i użytkowanie olbrzymich baz danych, dostosowywanie się systemu do środowiska, poszukiwanie i analizę zależności w dużych bazach danych czy analizę, badanie i opracowywanie bardzo złożonych problemów. W praktyce mogą to być np.:

  • automatyczna nawigacja i sterowanie (odnajdywanie drogi w nieznanym środowisku, kierowanie pojazdami, statkami kosmicznymi, automatyzacja systemów w branży przemysłowej i wydobywczej),
  • oprogramowanie do rozpoznawania mowy (automatyczne tłumaczenie, rozpoznawanie mowy ludzkiej, interfejsy użytkownika sterowane głosem, automatyzacja głosem czynności domowych itp.),
  • analiza i klasyfikacja danych (rozpoznawania pisma na podstawie przykładów, rozpoznawanie chorób, ustalanie zależności funkcyjnych w danych, przewidywanie trendów na rynkach finansowych na podstawie danych mikro- i makroekonomicznych, wykrywanie przestępstw, np. prania pieniędzy).

Każda dziedzina ma swoje ograniczenia. W uczeniu maszynowym powstają następujące problemy:

  • wiarygodność i poprawność generowanych wniosków,
  • zbyt mała lub zbyt duża zależność systemu od środowiska,
  • częściowo sprzeczne lub niekompletne dane,
  • niezdefiniowanie ograniczeń dziedzinowych (w konsekwencji prowadzące do zbyt dużych uogólnień oraz błędnego wnioskowania ).

Aby ograniczyć występowanie tych problemów postuluje się, aby wiedza generowana przez systemy powinna spełniać następujące warunki:

  • powinna podlegać ocenie i kontroli człowieka, wedle przyjętych przez niego kryteriów,
  • powinna być zrozumiała dla człowieka,
  • w przypadku problemu system powinien być zdolny do udzielenia wyjaśnienia.

Uczenie głębokie jest natomiast podkategorią uczenia maszynowego. Można stwierdzić, że uczenie głębokie pozwala komputerowi myśleć samodzielnie i uczyć się, ponieważ w większości przebiega ono bez potrzeby bezpośredniego nadzoru człowieka.

Wykorzystuje ono najbardziej zaawansowane algorytmy, bazujące na kreowaniu sztucznych sieci neuronowych, mających za zadanie naśladowanie ich biologicznego pierwowzoru, czyli sieci neuronowej w mózgu.

W takiej sieci „sztuczne neurony” reprezentowane są przez informację przesyłaną dalej (głębiej) do kolejnych „sztucznych neuronów” tworzących kolejne sztuczne warstwy neuronowe połączone ze sobą węzłami.

Każda z tych sztucznych warstw neuronowych uczy się interpretować i przetwarzać fizyczne cechy obiektów, dźwięków czy obrazów dzięki reorganizacji połączeń pomiędzy węzłami, po każdym nowym doświadczeniu. W połączeniu z dużą liczbą danych zasilających taką sztuczną sieć, możliwe jest bardzo wierne odwzorowanie rzeczywistych ich odpowiedników.

Gary Marcus, psycholog i ekspert SI Uniwersytetu Nowy Jork twierdzi, iż uczenie głębokie „w rzeczywistości nie wygląda jak program komputerowy (…) w przypadku uczenia głębokiego mamy do czynienia z czymś innym, nie spotykamy się z wieloma instrukcjami, które mówią nam: Jeśli jedno jest prawdą, zrób to samo po raz kolejny ”.

Widać więc też różnicę między „zwyczajnym” programem komputerowym, którego kod opiera się na logicznych i restrykcyjnych krokach.

Uczenie głębokie może stać się podstawą do odwzorowania wydarzeń czy emocji opisanych w tekście, ma też za zadanie udoskonalenie przetwarzania naturalnego języka, rozpoznawania głosu czy wizji komputerowej a nawet przewidywania możliwych ludzkich zachowań w przyszłości.

Na koniec przedstawione zostały główne różnice między uczeniem głębokim a uczeniem maszynowym:

 

Cecha Uczenie głębokie Uczenie maszynowe
Dane mniejsze zbiory danych duże zbiory danych
Wymagania sprzętowe CPU CPU, zalecane dodatkowo GPU
Czas uczenia Krótki Dłuższy

 

 

https://roboforum.pl/artykul/co-to-jest-deep-learning

https://www.crazynauka.pl/glebokie-uczenie-maszynowe-czyli-jak-nicolas-cage-zostal-mistrzem-yoda/

https://pl.wikipedia.org/wiki/Uczenie_maszynowe

 

Autorem artykułu jest Paweł Bogdanowicz z zespołu PDAserwis.