AI jako kolejny krok do inteligentnej fabryki
Autor: Michał Pietrzyk / Lider zespołu technicznego w firmie Oprogramowanie Naukowo-Techniczne
Czwarta rewolucja przemysłowa nabiera coraz większego tempa i jest już obecna w każdym sektorze przemysłowym. Przemysł 4.0, bo tak jest ona nazywana, odznacza się wykorzystaniem zintegrowanych systemów informatycznych, które pozwalają na precyzyjne zarządzanie maszynerią; łatwą komunikację między urządzeniami produkcyjnymi, liniami produkcyjnymi, działami oraz firmami; wykorzystaniem zaawansowanych technik zbierania oraz analizowania danych pozwalających na zminimalizowanie błędu czynnika ludzkiego w procesach produkcyjnych. Osoby zainteresowane tą tematyką zapraszamy do udziału w konferencji „Analityka danych przemysłowych”.
Jednak wdrożenie nowych sterowników na maszyny to nie wszystko, aby zakład przemysłowy można było określić mianem inteligentnej fabryki. W tym celu konieczne jest zaimplementowanie inteligentnych technik automatyzacji pozwalających na analizę i wyciąganie wniosków na podstawie zebranych danych. Te techniki nazywane są sztuczną inteligencją.
Sztuczna inteligencja
Czym tak naprawdę jest sztuczna inteligencja? Jest to zbiór metod pozwalających na analizę danych oraz wyciąganie na ich podstawię wniosków. Wspólną cechą tych metod jest możliwość uczenia się, czyli polepszania swoich wyników na podstawie otrzymywanych danych.
Sztuczna inteligencja to zbiór ogromnej ilości metod. Najczęściej można usłyszeć o 3 określeniach, takich jak uczenie maszynowe (ang. Machine Learning), uczenie głębokie (ang. Deep Learning) oraz uczenie ze wzmocnieniem (ang. Reinforcement Learning).
Uczenie maszynowe wykorzystuje dane do utworzenia programu, który wykonuje nauczone zadanie. Jakość otrzymanego przez nas programu zależy od jakości naszych danych. Przeszkodą w poprawnym zaimplementowaniu uczenia maszynowego jest wymagana ogromna ilość danych na podstawie których model ML ma się nauczyć właściwego działania. Z odsieczą nadeszła technologia chmurowa, której rozwój umożliwił zbieranie i przechowywanie gigabajtów danych przemysłowych. Te dane są kluczowym krokiem naprzód w celu zaimplementowania sztucznej inteligencji w procesach produkcyjnych.
Uczenie głębokie jest podzbiorem uczenia maszynowego. Są to metody wykorzystujące głębokie sieci neuronowe (takie posiadające co najmniej 3 ukryte warstwy neuronów) do wykonywania danego zadania. Sieci neuronowe są modelem czarnej skrzynki, nie wiadomo co się kryje pod kolejnymi warstwami neuronów, ale są one w stanie generalizować problem z otrzymanych danych i określić dla niego rozwiązanie.
Uczenie ze wzmocnieniem, podobnie jak uczenie głębokie, jest pewnym rodzajem uczenia maszynowego. Jest to metoda dająca ogromną swobodę w zdefiniowaniu problemu oraz nie wymaga tak dużych nakładów danych, ponieważ w tym przypadku definiowany jest agent oraz jego środowisko. Agent jest modelem, który ma nauczyć się wykonywać pewne zadanie, środowisko natomiast opisuje wszystko co agenta otacza. Kluczową rolę w uczeniu agenta odgrywa nagroda, którą agent otrzymuje jeśli poprawnie wykona zadanie.
W czym może pomóc MATLAB?
Oprogramowanie MATLAB wspiera cały proces projektowania oraz wdrażania rozwiązań sztucznej inteligencji w zakładach przemysłowych. Proces taki dzieli się na 4 etapy.
Etap 1 – Wstępne przetwarzanie danych
Przed rozpoczęciem uczenia modelu AI konieczne jest dokonanie wstępnego przetwarzania danych. Zależnie od wykorzystywanego modelu sztucznej inteligencji, kroki te mogą się różnić. Zebrane dane nie zawsze posiadają odpowiednie etykiety, są zaszumione, nie posiadają odpowiedniego formatu lub rozmiaru lub po prostu punkty pomiarowe są błędne.
W MATLABie zaczytywanie oraz przetwarzanie dużej ilości danych jest możliwe dzięki obiektowi Datastore, który zawiera w sobie listę adresów do odpowiednich plików z danymi. Kluczowymi cechami tego obiektu są możliwość zdefiniowania szeregu funkcji modyfikujących zebrane dane, możliwość zaczytywania tylko pojedynczych plików z danymi, wiele obsługiwanych formatów danych jak np. obrazy, pliki tekstowe, pliki Excel, czy nawet własne formaty plików.
Wstępne przetwarzanie można również zrealizować poprzez wykorzystanie zintegrowanych aplikacji do etykietowania obrazów/sygnałów czy aplikacji do przetwarzania sygnałów, w celu odszumienia czy przefiltrowania danych, usunięcia odstających punktów pomiarowych lub automatycznego wykreślenia charakterystyk częstotliwościowych.
Etap 2 – Stworzenie i uczenie modelu
Brak wiedzy o modelach sztucznej inteligencji oraz brak umiejętności zaprogramowania takiego modelu są częstymi obawami przed wdrożeniem AI w procesy produkcyjne. MATLAB i tutaj przychodzi z pomocą oferując zaimplementowane funkcje pozwalające na tworzenie sieci neuronowych poprzez dodawanie predefiniowanych warstw lub tworzenia własnych, ekstrakcji cech z danych czy tworzenia modelu agenta i środowiska. Integracja z Python pozwala na zaimplementowanie sieci neuronowych przygotowanych w tym środowisku do MATLABa i wykorzystanie dodatkowych opcji, takich jak analiza i powtórne uczenie modelu, wizualizacja oraz debugging modelu czy wygenerowanie kodu z modelu AI.
Tak jak wspomniałem, nie każdy jest w stanie zaprogramować model AI, dlatego MATLAB oferuje gotowe aplikacje do uczenia modeli klasyfikacji oraz regresji (kategorie modeli uczenia maszynowego), aplikacje do graficznego projektowania i uczenia sieci neuronowych, czy aplikacje do projektowania i trenowania modelu uczenia ze wzmocnieniem. Jest to podejście określane mianem „low-code” lub „no-code”, pozwalające na przejście całego procesu pisząc bardzo niewiele kodu lub wcale po kod nie sięgając.
Etap 3 – Optymalizacja modelu
Przygotowany i nauczony model nie osiągnie pożądanych wyników od razu. Konieczna będzie jego optymalizacja. Optymalizacja może odbywać się pod kątem osiągów modelu, ale także pod kątem wdrożenia na maszyny. Ta pierwsza będzie wymagała dokładnego przeanalizowania wyników, a w szczególności błędnych predykcji; usprawnienia zestawu danych wykorzystywanych do uczenia poprzez np. wyprodukowanie większej ilości danych; dostrajanie hiperparametrów modelu.
Ta druga natomiast jest bardzo ważna w przypadku uczenia głębokiego, gdzie sieci neuronowe osiągają gigantyczne rozmiary, jeśli chodzi o zajmowaną pamięć. Nie są to rozwiązania gotowe do wdrożenia. W tym celu konieczne jest przeprowadzenie obcinania tej sieci neuronowej poprzez usuwanie warstw, które nie wykazują wysokiej aktywacji lub nie wpływają znacząco na końcowe predykcje modelu.
Etap 4 – Wdrożenie na docelowe systemy
Posiadając już gotowy, nauczony i zoptymalizowany model sztucznej inteligencji pozostaje tylko wdrożenie go na docelowy system, na którym ma pracować. Może to być sterownik maszyny, system wbudowany, HMI lub serwer. W każdym przypadku jednak konieczne jest wygenerowanie kodu lub aplikacji, która pozwoli model AI zaimplementować na danej maszynie. MATLAB ułatwia ten krok poprzez udostępnienie funkcji do generacji kodu C/C++, VHDL, oraz tworzenia samodzielnych aplikacji. Integracja z takimi usługami jak Docker pozwala na umieszczenie przygotowanych w MATLAB aplikacji w chmurze czy na serwerze.
Jakie korzyści daje sztuczna inteligencja?
Sztuczna inteligencja daje szerokie możliwości automatyzacji oraz optymalizacji procesów. Jest to narzędzie, które zaczyna przewyższać zdolności człowieka w analityce danych i wyciąganiu trafnych wniosków z przedstawionych faktów. Są firmy, które wykorzystały potencjał drzemiący w technikach sztucznej inteligencji i zaimplementowały je w swoich rozwiązaniach:
- Baker-Hughes wdrożył system predykcyjnego utrzymania ruchu oparty o uczenie maszynowe, który przyniósł oszczędności na poziomie $10 mln.
- GSK wykorzystało uczenie głębokie do tworzenia aplikacji pozwalających na łatwe analizowanie danych przemysłowych, nawet przez mniej doświadczony personel,
- Daihatsu opracowało model AI kategoryzujący dźwięki uderzeń silnika na poziomie doświadczonego mechanika,
- Lockheed-Marin zaoszczędził dziesiątki godzin symulacji implementując interpolację wyników z użyciem uczenia głębokiego,
- Mondi przenalizowało zbierane dane o wielkości 7GB/dzień za pomocą uczenia maszynowego , co przyniosło znaczne oszczędności – €50 000/rok.
Jeżeli chcą Państwo dowiedzieć się więcej o wykorzystaniu sztucznej inteligencji do rozwiązywania takich problemów jak detekcja defektów maszynerii przemysłowej, optymalizacja procesów produkcyjnych oraz o tworzeniu cyfrowych bliźniaków (modelu odtwarzającego rzeczywisty układ) to zapraszamy Państwa na konferencję poświęcona właśnie tej tematyce. „Analityka danych przemysłowych” to konferencja odbywająca się 24 i 25 maja br., na której podczas trzech prezentacji pokazane zostanie użycie uczenia maszynowego wraz z pełnym przepływem pracy, a także przybliżone będzie zagadnienie cyfrowych bliźniaków i tworzenia ich z użyciem AI lub projektowania opartego o zjawiska fizyczne. Ponadto, przedstawione będą możliwości integracji AI w środowisku przemysłowym. Na warsztatach odbywających się drugiego dnia konferencji, uczestnicy będą mieli możliwość nauczenia się wykorzystania uczenia maszynowego w detekcji defektów maszynerii, zarówno w podejściu programistycznym, jak i w podejściu „no-code”.
Bibliografia
Baker Hughes Develops Predictive Maintenance Software for Gas and Oil Extraction Equipment Using Data Analytics and Machine Learning – MATLAB & Simulink (mathworks.com)
GSK Uses Historical Data to Improve Manufacturing Processes and Make Better Products – MATLAB & Simulink (mathworks.com)
Daihatsu Uses AI to Classify Engine Sounds – MATLAB & Simulink (mathworks.com)
Lockheed Martin Builds Discrete-Event Models to Predict F-35 Fleet Performance – MATLAB & Simulink (mathworks.com)
Mondi Implements Statistics-Based Health Monitoring and Predictive Maintenance for Manufacturing Processes with Machine Learning – MATLAB & Simulink (mathworks.com)