Czym są sztuczne sieci neuronowe i jak można je wykorzystać?

By Wrzesień 20, 2018 Badania i Rozwój, Energetyka
Sztuczna inteligencja

Istnieje szereg technologii i metodyk tworzenia sztucznej inteligencji (przykłady poniżej). Niniejszy artykuł poświęciliśmy jednej z nich – sztucznym sieciom neuronowym (SSN). Poniżej prezentujemy swoiste wprowadzenie w tematykę SSN oraz przegląd zastosowań praktycznych. Zapraszamy do lektury!

Sztuczna inteligencja

Czym jest sztuczna sieć neuronowa?

Zacznijmy od podstaw, SSN to narzędzie obliczeniowe imitujące w sposób uproszczony działanie ludzkiego mózgu (lub inaczej zbiór prostych jednostek obliczeniowych przetwarzających dane, komunikujących się ze sobą i pracujących równolegle). Czasami nazwą sztuczne sieci neuronowe określa się także dziedzinę zajmującą się konstrukcją i badaniem tego rodzaju sieci. SSN istnieją już od blisko 50 lat, a od dłuższego czasu proste sieci są wykorzystywane na przykład do rozpoznawania odręcznego pisma.

Inspiracją dla SSN była budowa naturalnych neuronów, która wygląda tak:

Sztuczna inteligencja
Dendryty
Ciało komórki
Jądro komórkowe
Otoczka mielinowa
Akson (neuryt)
Komórka Schwanna
Przewężenie Ranviera
Zakończenia aksonu
Synapsa

Sztuczny neuron funkcjonuje oczywiście na trochę innych zasadach – możemy powiedzieć, że sztuczny neuron to specyficzny obiekt (lub prosta jednostka obliczeniowa) przetwarzający sygnały i komunikujący się oraz współpracujący z innymi takimi obiektami. Najprostszą sieć neuronową, składająca się z jednego lub kilku niezależnych neuronów McCullocha-Pittsa (będących jednym z matematycznych modeli neuronu), nazywamy perceptronem.

Dlaczego w ogóle warto zainteresować się sztucznymi sieciami neuronowymi?

Sztuczne sieci neuronowe często wręcz fascynują inżynierów, między innymi dlatego, że imitują szereg, dość zadziwiających, cech ludzkiego mózgu, takich jak:

  • wysoki stopień równoległości przesyłu impulsów
  • umiejętność radzenia sobie z informacją niepełną, niespójną lub „zaszumioną”
  • małe rozmiary i zużycie energii
  • elastyczność działania – uczenie się jako umiejętność dostosowywania się do zmiennych sytuacji bez potrzeby programowania działania
  • duża odporność na uszkodzenia i obumieranie części komórek.

Powyższe cechy przekładają się z kolei na szereg zalet SSN:

  • zdolność do nauki na podstawie przykładów, tak jak człowiek uczy się na podstawie doświadczeń i powtarzania informacji
  • zdolność do uogólniania zjawisk (klasyfikacji) – np. podział uszkodzeń transformatora na typy
  • zdolność interpretacji zależności i zjawisk zawierających informacje niekompletne/z błędami, np. w zadaniu aproksymacji krzywej danej charakterystyki energii
  • równoległość przetwarzania informacji – szczególnie istotne przy przetwarzaniu informacji w czasie rzeczywistym, np. neurokomputer Mitsubishi używany do rozpoznawania mowy i przetwarzania obrazu
  • niski koszt budowy w stosunku do szybkości przetwarzania informacji – duża liczba prostych (i tanich) procesorów
  • odporność na uszkodzenie układów – dzięki dużej liczbie neuronów, po utracie części neuronów SSN nie musi działać błędnie.

Jako uzupełnienie przytoczmy jeszcze porównanie klasycznego komputera oraz tak zwanego neurokomputera (rozumianego jako kolejny krok w rozwoju SSN polegający na zrezygnowaniu z klasycznej konstrukcji komputera i zastąpienie go modelem sieci nerwowej):

Sztuczna inteligencja Sztuczna inteligencja

Przechowywanie algorytmu

Klasyczny komputer: ROM/RAM

Neurokomputer: architektura, wagi

Czas uczenia

Klasyczny komputer: krótki, zależny od algorytmu

Neurokomputer: długi, zależny od liczby elementów i połączeń

Przetwarzanie

Klasyczny komputer: szeregowe

Neurokomputer: równoległe

Obliczenia arytm.

Klasyczny komputer: efektywne

Neurokomputer: słabe

Zdolności heurystyczne

Klasyczny komputer: słabe

Neurokomputer: bardzo dobre

Rozpoznawanie obrazów

Klasyczny komputer: wolne

Neurokomputer: szybkie, bardzo dobre

Przeszukiwanie zbiorów danych

Klasyczny komputer: dopasowanie wolne, dokładne

Neurokomputer: dopasowanie szybkie, przybliżone

Kompresja/dekompresja

Klasyczny komputer: wolna, bezstratna

Neurokomputer: bardzo szybka, małostratna

Typy sieci neuronowych

Wspólną cechą sieci neuronowych jest to, że na ich strukturę składają się neurony połączone ze sobą synapsami. Z synapsami związane są wagi, czyli wartości liczbowe, których interpretacja zależy od modelu.

SSN mogą się jednak różnić pod wieloma względami, na przykład topologii (architektury) czy metody uczenia.

Różne architektury sieci neuronowych:

Sieć rekurencyjna – sieć ze sprzężeniami zwrotnymi: zmiana stanu jednego neuronu przenosi się przez masowe sprzężenie zwrotne na całą sieć wywołując stan przejściowy, kończący się określonym stanem ustalonym, na ogół innym niż poprzedni. Przykłady takich sieci to: sieć ART., BAM, sieć Hopfielda czy modyfikacja sieci Hopfielda zwana maszyną Boltzmanna.

Sieć jednokierunkowa – charakteryzuje się przeszyłem sygnałów w jednym kierunku. Szczególnym przypadkiem tego rodzaju sieci są sieci wielowarstwowe, stanowiące najpopularniejszą architekturę SSN.

Sieć komórkowa – w tego typu sieciach sprzężenia wzajemne między elementami przetwarzającymi dotyczą jedynie najbliższego sąsiedztwa. Sieci komórkowe mają dobre predyspozycje do przetwarzania w czasie rzeczywistym (zwłaszcza obrazów).

Jak sieci się uczą?

SSN mogą się uczyć na dwa sposoby:

Uczenie nadzorowane („z nauczycielem”) – w tym podejściu stosowane są zestawy uczące, dane podawane na wejście i wyjście. W czasie nauki sieć dostraja wagi tak, aby minimalizować różnice między wartością oczekiwaną a nauczoną.

Przykłady metod uczenia nadzorowanego:

Uczenie nienadzorowane („bez nauczyciela”) – tutaj sieć uczy się modyfikując swoje parametry przez analizę reakcji na nieznane wcześniej pobudzenia. W efekcie uczenia sieć dokonuje podziału na klasy/kategorie.

Poniżej przykłady reguł uczenia nienadzorowanego:

  • Reguła Hebba
  • Reguła „wygrywający bierze wszystko” (WTA).

SSN w praktyce – przykłady zastosowań

Sztuczne sieci neuronowe mają wiele zastosowań praktycznych (a w najbliższej przyszłości pojawi się zapewne wiele nowych). Zastosowania SSN można podzielić na nstępujące kategorie:

  • kojarzenie danych (klasyfikacja) – przyporządkowywanie zdarzenia do określonej klasy
  • analiza danych (wykrywanie grup) – umożliwia np. filtrację sygnałów
  • wydobywanie cech – umożliwia redukcję wymiaru danych (kompresja)
  • aproksymacja – na podstawie znajomości punktów SSN uczy się kształtu funkcji
  • predykcja
  • optymalizacja (w tym problemów kombinatorycznych)
  • układy sterujące – na podstawie podawania wzorców reakcji na określone bodźce, SSN może automatycznie interpretować sytuację i na nią reagować
  • rozpoznawanie i odtwarzanie obrazów – rozpoznawanie obrazu i przypisywanie do danej grupy, nawet przy dość dużym zniekształceniu
  • pamięć – możliwość wybiórczego pobierania w bardzo krótkim czasie.

Przechodząc już do bardziej konkretnych zastosowań sztucznych sieci neuronowych, przytoczmy kilka przykładów z bliskiej nam dziedziny, jaką jest energetyka:

  • optymalizacja nastawień przełączników zaczepów w sieciach rozdzielczych
  • optymalizacja nastaw baterii kondensatorów w sieciach rozdzielczych w czasie rzeczywistym
  • prognozowanie zapotrzebowania na moc szczytową oraz zużycia energii elektrycznej dla wybranych grup odbiorców
  • analiza wpływu czynników poza energetycznych na jakość prognoz zużycia energii
  • wspomaganie analizy zwarciowej w sieciach elektroenergetycznych
  • prognozowanie produkcji energii z farm wiatrowych (projekt 4RES)
  • diagnostyka urządzeń elektroenergetycznych: m.in.: transformatorów, turbozespołów, układów elektrowni atomowych, diagnostyka przecieków, prognozowanie uszkodzeń w turbinie wiatrowej
  • ocena bezpieczeństwa systemu (m.in. ocena na podstawie naruszenia/nienaruszenia ograniczeń, ale też występowania pokrywania/niepokrywania obciążeń).

SSN a prognozowanie produkcji z odnawialnych źródeł energii

Na zakończenie chcielibyśmy podać jeden przykład zastosowania SSN z naszej działalności badawczo-rozwojowej – projekt 4RES.

Wraz ze wzrostem udziału energetyki odnawialnej w całkowitym bilansie energetycznym coraz istotniejsze staje się prognozowanie jej produkcji w perspektywie krótkoterminowej i ultrakrótkoterminowej. Wsparciem dla operatorów OZE jest tutaj właśnie nasz autorski system 4RES, w którym do prognozowania produkcji energii użyto sztucznych sieci neuronowych (dokładnie sieci warstwowych). Działanie aplikacji w praktyce potwierdziło komercyjne wdrożenie u jednego z operatorów handlowych, gdzie uzyskano satysfakcjonujący poziom błędu prognozy – w okolicach 10%

Sztuczna inteligencja

4RES – prognozowanie produkcji z OZE