Przenikanie się sztucznej inteligencji i uczenia maszynowego: współczesne wykorzystanie i perspektywy

12 września 2023

W dzisiejszych czasach trudno powiedzieć, że nie słyszało się o pojęciach dotyczących sztucznej inteligencji (ang. Artificial Intelligence – AI). Korzystając ze środków masowego przekazu codziennie napotykamy stwierdzenie: sztuczna inteligencja wspiera, zastosowano sztuczną inteligencję, wykorzystujemy sztuczną inteligencję, itd. Trochę rzadziej pojawia się określenie uczenia maszynowego (ang. Machine Learning – ML) – natomiast oba te terminy – mechanizmy za nimi stojące, są ze sobą mocno związane i współpracują ze sobą często w czasie rzeczywistym. To umożliwia doskonalić aplikacje, wprowadzać automatyzację procesów, wykrywać anomalie w obszarach, gdzie zastosowanie standardowego algorytmu dla trudnych do opisu i często niekompletnych danych nie pozwalałoby pozyskiwać odpowiednio dobrych wyników działania aplikacji.

Poniżej przedstawione są główne informacje na temat przenikania się tych dwóch terminów, tj. sztuczna inteligencja oraz uczenie maszynowe.

Sztuczna inteligencja potrafi z powodzeniem rozpoznawać obrazy, dźwięki. Co więcej, z powodzeniem potrafi tworzyć nowe przykłady obiektów, które nigdy i nigdzie wcześniej się nie pojawiły. Za pomocą uczenia maszynowego również  możliwie jest  tworzenie dzieł. Wówczas model wykorzystuje do tego celu analizy danych i konkretne wyniki badań, schematy działania (czyli uczenie modelu na podstawie przykładów). Nie każdy wynik działania sztucznej inteligencji musi korzystać z modeli uczenia maszynowego.

Uczenie maszynowe (ang. Machine Learning – ML) a sztuczna inteligencja (ang. Artificial Intelligence – AI)

Uczenie maszynowe i jego technologie, czyli uczenie głębokie oraz sieci neuronowe, są podzbiorami sztucznej inteligencji. Sztuczna inteligencja przetwarza dane i jej celem jest, na podstawie zebranych danych, podejmowanie decyzji. AI bardzo często wykorzystuje w tym procesie algorytmy uczenia maszynowego, dzięki czemu może rozwijać swoje możliwości – swego rodzaju „inteligencję” bez konieczności dodatkowego ręcznego programowania. Zatem sztuczna inteligencja jest nadrzędna wobec wszystkich podzbiorów uczenia maszynowego. Pierwszy podzbiór stanowi uczenie maszynowe, kolejny to uczenie głębokie, a wewnątrz nich wykorzystywane są sieci neuronowe.

Zapytaj o rozwiązanie AI 4FACTORY dla Twojej firmy

Jak działa uczenie maszynowe?

Już w latach 40-stych XX-tego wieku pojawiały się pierwsze uniwersalne, elektroniczne, programowalne komputery czyli maszyny, które rozumiały komendy tworzone przez człowieka. Wtedy pojawiły się pierwsze, jeszcze dość proste algorytmy – algorytmy komputerowe, a więc listy komend, za pomocą których komunikowano się z komputerem. Przez wiele lat mieliśmy do czynienia ze stopniową ewolucją w przestrzeni komputerów i coraz to bardziej zaawansowanych algorytmów (programów komputerowych).

Natomiast od 2018 roku w przestrzeni programów komputerowych obserwujemy nie ewolucję, jak do tej pory, tylko rewolucję – bowiem programy komputerowe (różne algorytmy) osiągnęły niezwykłą potęgę – umiejętność uczenia się na podstawie danych i za jej pomocą rozwiązywania postawionych przed nimi zadań.

Zasadnicza rewolucyjność tych „nowych” algorytmów – programów uczących się należy rozpatrywać w kontekście bazowych – dotychczas projektowanych programów komputerowych. „Zwykłe” programy komputerowe bazują na metodzie eksperckiej (nazywanych wiedzą lub umiejętnością ekspercką), logika ich działania polega na tym, że program ekspercki jest zbudowany na zasadach, algorytmach, od początku do końca opracowanych na bazie wiedzy eksperckiej,  wypracowanej wprost przez grupę osób opisujących dane zagadnienie, rozwiązujących postawiony przed nimi problem. Kolejne wersje rozwiązań wymyślonych, opracowywanych przez człowieka są tłumaczone na język komputerowy (algorytm). Powstaje wówczas program będący odzwierciedleniem ludzkiej wiedzy – wiedzy eksperckiej (podobnie jak algorytm matematyczny). Takie programy bazują na rozwiązaniu zadanych problemów w sposób tak kompletny i szeroki jak zostały  zaprojektowane przez eksperta – konsultanta biznesowego czy programistę. Tym samym takie programy umożliwiają pełne wyjaśnienie zasady uzyskania wyniku, bowiem posiadają swego rodzaju opracowany schemat dojścia do wyniku. Niestety jest wiele ograniczeń algorytmów zbudowanych metodą ekspercką. Jednym z nich jest wymóg ciągłej aktualizacji programu o kolejne poziomy wiedzy ekspertów – zdobywania i pogłębiania informacji oraz manualne rozbudowywanie rozwiązania. Inny ograniczeniem jest niepewność, niepełność i niedokładność pozyskanej wiedzy oraz trudność adaptacji modelu do dynamicznie zmieniających się warunków otoczenia. Przy tak dynamicznie zmieniających się warunkach otoczenia z jakimi mamy obecnie do czynienia, ograniczenia tej metody są coraz bardziej odczuwalne, a to z kolei przekłada się na rozwijanie koncepcji tworzenia algorytmów inną metodą – metodą tak zwanego uczenia się – uczenia się na podstawie eksploracji zestawu danych. Już w latach 50-tych użyto terminów uczenia maszynowego oraz samouczące się komputery. Przy wykorzystaniu tej metody pisania programu komputerowego – również powstanie algorytm, ale nieco inny, działający inaczej. Proces tworzenia takiego algorytmu polega na „pokazywaniu” algorytmowi udanych realizacji (poprawnych wzorców i zachowań) i na tej podstawie algorytm uczy się jak tworzyć kolejne rozwiązania – oczywiście jest to definicja bardzo ogólna. Jest bardzo dużo szczegółowych sposobów pisania tego typu programów, niemniej jednak wszystkie te sposoby charakteryzują się tym, że programista nie proponuje programowi gotowego- określonego sposobu rozwiązania zadania, a pozwala algorytmowi wypracować rozwiązanie samodzielnie,  poprzez prowadzone ciągłe analizy w czasie, stosowanie metody prób i błędów, wykorzystanie predykcji. Wszystko po to, by uzyskać jak najlepszy wynik działania. Takie podejście daje nieograniczone możliwości zastosowania tego typu algorytmów w przeróżnych dziedzinach życia.

Innymi słowy uczenie maszynowe polega na technologicznym zapamiętywaniu odpowiednich wzorców i zachowań, które algorytm wcześniej miał okazję “zobaczyć”.  Algorytm uczenia maszynowego dokonuje selekcji danych bazując na wypracowanych schematach rozwiązań – poprawność działania takiego algorytmu zależy od jakości jego wytrenowania, a ta od ilości powtórzeń i odpowiednio wielkich baz danych (ang. Big Data), na których program dokonuje analiz. Uczenie maszynowe pozwala algorytmom – maszynom zdobywać doświadczenie i uczyć się bez, jak do tej pory, ciągłej ingerencji człowieka – czyli bez konieczności bezpośredniego programowania.

Algorytmy uczenia maszynowego: nadzorowane i nienadzorowane

Procesy uczenia maszynowego można podzielić na dwie metody: uczenie nadzorowane (ang. supervised learning) – ten rodzaj metody uczenia stosuje się wówczas, kiedy możliwa jest weryfikacja wyniku rozwiązania opracowanego przez algorytm (jest wzorzec rozwiązania bazowego). Program wraz z danymi wejściowymi ma podane oczekiwane wyniki – określane mianem cech czy etykiet. Dodatkowo dane wprowadzane do bibliotek, na których algorytm jest trenowany, również są w pewnym stopniu kontrolowane (posiadają ramy-normy i są odsiane na podstawie przewidzianego przez autora filtra). Maszyny korzystające z tego typu modelu rozwiązując zadania wykorzystują przy tym dostępne klucze- analogiczne przykłady rozwiązań.

Druga metoda to : uczenie nienadzorowane (ang. unsupervised learning) – w tej metodzie nie znamy dokładnego, a nawet przybliżonego rozwiązania wyniku, a wprowadzane dane do bibliotek, na których trenowany jest algorytm nie są specjalnie filtrowane – grupowane dane nie są wcześniej oznakowane – etykietowane. Algorytmy uczenia nienadzorowanego odkrywają w danych ukryte wzorce/cechy. Głównym celem uczenia bez nadzoru jest przygotowanie bazowej struktury lub rozkładu danych, aby dowiedzieć się więcej o tych danych, zidentyfikować wzorce i zawarte w nich relacje. Biblioteki danych wykorzystywane podczas uczenia maszynowego to najczęściej takie zbiory, które są tak duże, że trudno byłoby oznaczyć je przez pracę ludzi.

Obie metody uczenia maszynowego, oparte na danych, dokonują olbrzymiej ilości analiz i budują rozwiązania opierając się na rozbudowanych bazach, co przekłada się na otrzymywanie zadowalających wyników ich pracy. Algorytmy oparte o metody uczenia maszynowego i sztucznych sieciach neuronowych, umożliwiają identyfikować wzorce lub dokonywać rozwiązywanie zadań na podstawie wcześniej niewidocznego zestawu takich ilości danych.

Uczenie maszynowe a sztuczne sieci neuronowe

Proces uczenia algorytmu wykorzystuje sztuczne sieci neuronowe. Sieci neuronowe służą do przetwarzania informacji, w którym sposób działania wzorowany jest na funkcjonowaniu biologicznego systemu nerwowego. Swoistą cechą sieci neuronowych jest zdolność, jak wcześniej zostało to ujęte, do uczenia się. Uczenie odbywa się na bazie przykładów i możliwości uogólniania pozyskanej wiedzy. Taka sztuczna sieć neuronowa jest zbudowana z bardzo dużej ilości połączonych jednostek elementarnych (neuronów), które analizują dane. Sieć powiązań między tymi jednostkami-neuronami, połączona jest za pomocą parametrów z wagami. W procesie uczenia wagi przyjmują odpowiednie-oczekiwane wartości. Uczenie odpowiada za odpowiednią typologię połączeń i w zakresie tych typologii warunkowane jest wówczas działanie sieci.  Sprawność procesu uczenia sieci neuronowej w głównej mierze polega na jak najszybszym ustalaniu wartości dla tych wag połączeń – ten proces odbywa się w sposób iteracyjny do znalezienia najlepszego rozwiązania dla danego zadania algorytmicznego. Algorytmy wykorzystujące sztuczne sieci neuronowe radzą sobie z bazami, w których występują braki i nieciągłości w danych – tym samym proces ich uczenia potrafi być odporny na różnego rodzaju zakłócenia.

Zapytaj o rozwiązanie AI 4FACTORY dla Twojej firmy

Uczenie głębokie (ang. Deep Learning – DL) i wielowarstwowe sieci neuronowe

Głębokie uczenie maszynowe polega na wykorzystywaniu wielu warstw sieci neuronowych. Algorytm uruchamia wiele poziomów sieci neuronowej i w miarę postępów działania uzyskuje coraz bardziej dokładny wynik – zaczyna od ogółu do szczegółu, coraz bardziej zawężając wynik (wynik jest coraz dokładniejszy). Uczenie głębokie przebiega bez bezpośredniego nadzoru człowieka, algorytm umożliwia maszynie “myśleć” samodzielnie. Metody uczenia głębokiego korzystają z najbardziej rozbudowanych algorytmów, których sieci neuronowe starają się odzwierciedlić biologiczny pierwowzór sieci neuronowej mózgu.

W uczeniu głębokim proces eksploracji danych przechodzi przez kolejne powiązania sieci neuronowej – coraz dalej (głębiej) do kolejnych neuronów – „sztucznych neuronów”, budując kolejne, coraz głębsze warstwy połączeń. Wszystkie warstwy sztucznej sieci neuronowej połączone są węzłami i w każdym kolejnym doświadczeniu uczą się czytać – rozumieć cechy danych, dzięki czemu są w stanie odtwarzać całe obiekty w bardzo rzeczywisty sposób.

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. Dane przechodzą przez kolejne warstwy przetwarzania w takich sieciach neuronów, dlatego właśnie nazywamy je “głębokimi”.

G. Marcus, ekspert AI z Uniwersytetu w Nowym Jorku, wskazuje, że uczenie głębokie „w rzeczywistości nie wygląda jak program komputerowy (…) mamy tutaj już do czynienia z inteligencją (…)”.

Jak już wcześniej podkreślono, uczenie maszynowe koncentruje się w głównej mierze na analizowaniu dużej ilości zbiorów danych i znajdowaniu odpowiednich cech – oczywistym zatem jest to, że do tego procesu potrzebne są bardzo duże moce obliczeniowe komputerów i olbrzymiej pojemności bazy danych. Obecne technologie komputerowe umożliwiają tego typu operacje obliczeniowe, a cyfryzacja danych i wiedzy determinuje rozwój licznych i potężnych bibliotek o jawnym kodzie źródłowym. Zgromadzone w bibliotekach dane podczas używania algorytmów uczenia maszynowego są przetwarzane w czasie rzeczywistym, co przekłada się na uzyskanie odpowiedzi na zadane pytanie w krótkim czasie.

Uczenie maszynowe wykorzystujące sieci neuronowe znajduje zastosowanie w programach służących np. do rozpoznawania obrazów, analizie danych dźwiękowych, analizie danych medycznych, prognozowaniu trendów rynkowych, sterowania autonomicznymi robotami czy do ostrzegania samobieżnych aut.

Szeroki wachlarz możliwości zastosowania tego typu algorytmów jest praktycznie nieograniczony. Coraz częściej rozwiązania wspierające się sztuczną inteligencją oraz możliwością uczenia się, są implementowane w obszarze firm produkcyjnych.

Sztuczna inteligencja oraz uczenie maszynowe doskonale wpisuje się w takie obszary jak:

  • planowanie produkcji ,
  • kontrola jakości,
  • utrzymanie ruchu,
  • optymalizacja procesów technologicznych,
  • prognozowanie popytu,
  • analiza danych produkcyjnych,
  • automatyzacja linii produkcyjnych.

Zastosowanie uczenia maszynowego i innych algorytmów sztucznej inteligencji AI 4FACTORY

Firma DSR już od dłuższego czasu inwestuje w nowoczesne technologie, bazujące na sztucznej inteligencji i uczeniu maszynowym, implementując w swoje rozwiązania tego typu algorytmy. Poniżej kilka rozwijanych obecnie rozwiązań DSR 4FACTORY, które będą mogły wkrótce korzystać z elementów sztucznej inteligencji AI 4FACTORY, w tym również z algorytmów uczenia maszynowego:

1. Planowanie produkcji APS 4FACTORY – algorytmy sztucznej inteligencji projektowane w rozwiązaniu APS 4FACTORY będą pomagać w przygotowaniu planu produkcji poprzez analizę danych historycznych i prognozowanie popytu. Dzięki temu firma produkcyjna może dostosować się do dynamicznie zmieniających się warunków na rynku i zapewnić odpowiedni poziom obsługi zamówień klienta, bazując na historii współpracy i dostępności zapasów.

2. Kontrola jakości QMS 4FACTORY – rozwiązanie będzie mogło identyfikować i opisywać wady, defekty w produkowanych wyrobach, co pozwala na szybsze reagowanie i minimalizację błędów popełnianych podczas realizacji produkcji. System zbierając dane kontroli jakości podczas produkcji danych wyrobów umożliwi inżynierom przeprowadzanie analizy wyników badań, a docelowo stanie się narzędziem, bazą wiedzy, na podstawie której można projektować odpowiednie dostrojenia np. parametrów maszyn czy technologii produkcji tak, by podczas kolejnych transz produkcyjnych ilości defektów wyrobu gotowego była jak najmniejsza.

3. Utrzymanie ruchu EAM 4FACTORY – sztuczna inteligencja może pomóc w prewencyjnym podejściu do obszaru utrzymaniu ruchu zaplecza maszynowego poprzez przewidywanie awarii. Maszyny są podłączone do systemu IOT 4FACTORY, dzięki temu możliwe jest zbieranie informacji dotyczących anomalii w charakterystyce pracy maszyny. Dane zbierane są przez przyrządy badające, np. drgania kluczowych elementów maszyn i poddawane późniejszym analizom. Przy wykorzystaniu odpowiednich algorytmów uczenia maszynowego na podstawie zebranych danych, system będzie m.in. potrafił przewidzieć termin wymaganego przeglądu, czy orientacyjny czas wymiany wadliwego elementu na nowy. Posiadając odpowiednie informacje system może zostać wykorzystany do przewidzenia terminów przeglądów kluczowych maszyn, przewidzieć i zaplanować wymaganą przerwę produkcyjną, zamówić niezbędne części i zaplanować przeprowadzenie prac naprawczych/konserwacyjnych.

4. Optymalizacja procesów produkcyjnych – SFC 4FACTORY. Dzięki możliwości zbierania danych w czasie rzeczywistym bezpośrednio z hali produkcyjnej, system SFC 4FACTORY umożliwia na bieżąco reagować menadżerom średniego szczebla na wszelkiego rodzaju nieprawidłowości w procesie produkcyjnym, zarejestrowane przez operatorów maszyn. Tym samym można dokonywać w czasie rzeczywistym odpowiednich działań prewencyjnych minimalizujących pojawiające się problemy. Długofalowe zbieranie danych pochodzących bezpośrednio z hali produkcyjnego na temat produkcji wyrobów i zastosowanie uczenia maszynowego umożliwi łatwiejszą optymalizację procesów produkcyjnych i przyczyni się do znaczącej minimalizacji strat przekładając to na redukcję kosztów wynikających np. z błędnych założeń, m.in. co do czasów produkcyjnych (czasów technologicznych).

5. Możliwość sprawnego integrowania danych pochodzących z różnego rodzaju systemów jest możliwe  poprzez zastosowanie ESB 4FACTORY – czyli swoistej szyny danych. ESB 4FACTORY pozwala na zbudowanie interfejsów pomiędzy różnymi systemami IT, które są wykorzystywane w firmach produkcyjnych. Integrowanie rozwiązań umożliwia pełne wykorzystanie potencjału zbieranych danych, a odpowiednio zmapowane dane mogą być docelowo wykorzystane w systemach nadrzędnych, jak np. ERP 4FACTORY, przyczyniając się do optymalizacji czasu i minimalizując ewentualne błędy, pojawiające się przy ręcznym wprowadzaniu danych z jednego systemu do drugiego. ESB 4FACTORY pozwala integrować ze sobą różne systemy informatyczne firmy w sposób transparentny, elastyczny, a co najważniejsze, zunifikowany, minimalizując wiele rozproszonych, trudnych w zarządzaniu powiązań między systemami.

6. System a właściwie gra edukacyjna 4FACTORY MANAGER – pozwala na zasymulowanie całej przestrzeni produkcji oraz technologii wytwarzania wyrobu gotowego jeszcze dużo wcześniej niż wbicie szpadla i wykopanie fundamentów dla przyszłej hali produkcyjnej. Dzięki przygotowaniu odpowiedniego modelu przestrzeni produkcyjnej w rozwiązaniu 4FACTORY MANAGER i uruchomienie symulacji produkcji, możliwe jest wyszukiwanie oraz przewidzenie ewentualnych wąskich gardeł procesu i jeszcze na etapie projektowania obszaru produkcji dokonanie odpowiednich zmian w założeniach np. do nowej technologii, maszyny, linii czy nawet hali produkcyjnej. Alternatywnym wykorzystaniem możliwości systemu 4FACTORY MANAGER jest funkcjonalność umożliwiająca przeszkolenie nowych pracowników produkcyjnych i operatorów maszyn na podstawie przygotowanego w systemie modelu linii, bez konieczności wprowadzania potencjalnych pracowników w fizyczną przestrzeń produkcji, oszczędzając przy tym czas oraz koszty szkoleń standardowych.

Podsumowując – elementy uczenia maszynowego oraz sztucznej inteligencji wykorzystywane w rozwiązaniach informatycznych DSR 4FACTORY na co dzień wspierają zarządzanie w firmach produkcyjnych z różnych branż. Im szybciej nastąpi proces implementacji tego typu rozwiązań w fabryce, tym szybciej dadzą one możliwość elastycznego reagowania na coraz to bardziej dynamiczne zmiany na rynku. Postępu nie da się zatrzymać, a firmy, które będą pierwsze i wykorzystają dostępny potencjał informatyczny będą mogły zbudować odpowiednie bariery konkurencyjności. Niestety nadal wiele firm produkcyjnych decyduje się na zakup nowych maszyny, linii produkcyjnych, pomijając przy tym konieczność wcześniejszego lub równoległego wprowadzenia firmy na odpowiedni poziom cyfryzacji procesu produkcji, przez co potencjał nowoczesnych maszyn nie jest efektywnie wykorzystywany.

Autor:

Kamil Mostowy

Project Manager DSR S.A.

Zapytaj o rozwiązanie AI 4FACTORY dla Twojej firmy

 

Przeczytaj również:

Jak optymalizować fabrykę dzięki predictive maintenance?

Metoda SMED – jak skrócić czas przezbrojeń maszyn i urządzeń przy nowych wyzwaniach?

Pięć głównych sposobów na optymalizację procesów produkcyjnych

Transformacja cyfrowa przedsiębiorstw produkcyjnych – klucz do rozwoju i konkurencyjności