Ogólna nazwa struktur matematycznych i ich programowych lub sprzętowych modeli, realizujących obliczenia lub przetwarzanie sygnałów poprzez rzędy elementów, zwanych sztucznymi neuronami, wykonujących pewną podstawową operację na swoim wejściu. Oryginalną inspiracją takiej struktury była budowa naturalnych neuronów oraz układów nerwowych, w szczególności mózgu.
Podstawową cechą różniącą SSN od programów realizujących algorytmiczne przetwarzanie informacji jest zdolność generalizacji czyli uogólniania wiedzy dla nowych danych nieznanych wcześniej, czyli nie prezentowanych w trakcie nauki. Określa się to także jako zdolność SSN do aproksymacji wartości funkcji wielu zmiennych w przeciwieństwie do interpolacji możliwej do otrzymania przy przetwarzaniu algorytmicznym. Można to ująć jeszcze inaczej. Np. systemy ekspertowe z reguły wymagają zgromadzenia i bieżącego dostępu do całej wiedzy na temat zagadnień, o których będą rozstrzygały. SSN wymagają natomiast jednorazowego nauczenia, przy czym wykazują one tolerancję na nieciągłości, przypadkowe zaburzenia lub wręcz braki w zbiorze uczącym. Pozwala to na zastosowanie ich tam, gdzie nie da się rozwiązać danego problemu w żaden inny, efektywny sposób.
A po ludzku:
Sztuczne sieci neuronowe to taki algorytm. W zasadzie sprytny bo może mieć np. niekompletne dane wejściowe, a i tak poda nam jakiś wynik. Działa to podobnie do mózgu, może się uczyć nowych rozwiązań, może się mylić, itd. Najlepiej to sobie wyobrazić w ten sposób, że mamy zbiór obrazków czarno-białych 32x32px, przyjmijmy, że są to odręcznie pisane literki pozyskane ze skanera. Rolą sieci neuronowej jest odczytać te literki, a przecież jedno 'T' może mieć daszek przechylony w prawo, a drugie w lewo. No i w tym cała ich magia.
Mamy jeszcze taki schemat, oto przykładowy perceptron jednokierunkowy:
Na obrazku widzimy, że podajemy mu dwie informacje i na wyjściu uzyskujemy również dwie. Analogiczne do przykładu który podałem powyżej, może to być x1 = link do obrazka, x2 = rodzaj alfabetu, a otrzymamy y1 = literka, y2 = wielka bądź mała. To zadaniem neuronów w środku jest wywnioskowanie co to za literka, mając do dyspozycji same piksele.
Oczywiście ten przykład jest wzięty z kosmosu, ale tak to jakoś wygląda. W normalnych systemach sieci neuronowych takich "układów" jest cała masa i sa połączone ze sobą na różne sposoby, jak algorytmy.
Przejdźmy zatem do przykładów!