MATLAB - PODSTAWY SI - SZTUCZNA INTELIGENCJA

Sztuczna inteligencja, uczenie maszynowe, sztuczne sieci neuronowe.. Czy te pojęcia to synonimy czy odrębne działy nauki? Czy można zbudować AI w MATLABie? W tym wpisie postaram się uporządkować wiedzę na ten temat i odpowiedzieć na powyższe pytania.

Ostatnim razem pokazałem Wam prosty przykład wykorzystania sieci neuronowej do automatycznej klasyfikacji obiektów zarejestrowanych za pomocą kamery internetowej. Dzisiaj skupię się bardziej na stronie teoretycznej zagadnienia jakim jest sztuczna inteligencja, tak abyśmy mieli na przyszłość dobrą bazę do eksploracji tego dynamicznie rozwijającego się działu nauki. A więc po kolei…

Sztuczna inteligencja

Sztuczną inteligencję (ang. AI Artificial Intelligence) można zdefiniować na wiele różnych sposobów ale dla osób zajmujących się programowaniem oraz na potrzeby tego bloga przez sztuczną inteligencję będziemy rozumieć:

  • inteligencję, w której maszyny (twory nie biologiczne lecz zbudowane przez człowieka) wykazują zdolności poznawcze, uczą się, potrafią wnioskować i dedukować oraz samodzielne rozwiązywać problemy,
  • dział informatyki zajmujący się tworzeniem algorytmów oraz budowaniem modeli komputerowych, które cechuje inteligencja.

Mówiąc ogólnie, sztuczna inteligencja oznacza każdą aktywność, w której maszyny naśladują inteligentne zachowania i posiadają zdolność uczenia się oraz poprawiania rozwiązań. Umiejętności SI nie należy jednak porównywać do ludzkich możliwości. Maszyny działają w oparciu o stworzone przez człowieka algorytmy, modele czy sieci neuronowe i przetwarzają informacje w oparciu o język matematyki i statystyki. Funkcjonują w ramach zdefiniowanych reguł by uzyskać konkretny efekt. Człowiek tych ograniczeń jest pozbawiony.

Uczenie maszynowe

Uczenie maszynowe to podgałąź sztucznej inteligencji, która koncentruje się na uczeniu komputerów w taki sposób, aby potrafiły rozwiązywać różnorakie zadania bez konieczności ich programowania dla każdej sytuacji z osobna. Innymi słowy, podstawą uczenia maszynowego są algorytmy, które posiadają zdolność uczenia się na podstawie dostarczonych danych. Człowiek dostarcza maszynie wielu przykładów (dane wejściowe) i rozwiązań danego problemu (dane wyjściowe - rezultaty), a maszyna poprzez analizę, samokształcenie i wnioskowanie uczy się i adoptuje do danego problemu. Można rozróżnić trzy podstawowe rodzaje uczenia maszynowego.

  • nadzorowane, w którym człowiek pełni rolę instruktora, a maszyna uczy się na podstawie dostarczonych danych wejściowych oraz wyjściowych (spodziewane rezultaty)
  • nienadzorowane, w którym dostępne są jedynie dane wejściowe, a maszyna sama na ich podstawie musi „znaleźć” występujące w tych danych regularności i związki i nauczyć się podejmowania odpowiednich działań (spodziewane rezultaty),
  • uczenie ze wzmocnieniem, w którym maszyna poprzez interakcje z „otoczeniem” dąży do osiągnięcia celu (rezultatów). Sytuacje te można porównać do gry, gdzie na drodze prób i błędów maszyna poszukuje danego rozwiązania. Aby było to możliwe, za swoje działania maszyna jest nagradzana lub karana co „motywuje” ją do poszukiwania coraz lepszych wyników. Proces ten nosi znamiona sztucznej kreatywności.
Głębokie uczenie - sztuczne sieci neuronowe

Głębokie uczenie (ang. DL deep learning) to szczególny podzbiór uczenia maszynowego, w którym zamiast algorytmów wykorzystuje sztuczne sieci neuronowe (eng. ANN artificial neural network). Metoda ta jest inspirowana strukturą neuronów zlokalizowanych w ludzkim mózgu. Dzięki temu sieć uczy się z dostarczonych danych i nie wymaga programowalnych struktur czy algorytmów ustalających reguły przetwarzania danych. To jak dane przetwarzać, sieć wnioskuje na podstawie „uczenia się przez doświadczenie”.

MATLAB

W MATLABie do uczenia maszynowego przeznaczony jest Statistics and Machine Learning Toolbox, a do uczenia głębokiego Deep Learning Toolbox. Obydwa toolboxy, zawierają funkcje, dane i przykłady przeznaczone do budowania „maszyn” noszących znamiona sztucznej inteligencji. Na początek zachęcam do zapoznania się z opisem ww. toolboxów w systemie pomocy MATLABa. W kolejnych wpisach zajmę się tym tematem od strony praktycznej.

(Visited 407 times, 1 visits today)

Dodaj komentarz

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