Rozwiązaniem tego problemu są systemy sztucznej inteligencji, m.in. sztuczne sieci neuronowe. Sieci neuronowe są informatycznymi odpowiednikami systemu nerwowego człowieka, zbudowanego z elementarnych komórek zwanych neuronami. Ich zadaniem jest przyjmowanie, przetwarzanie i przekazywanie informacji. Sygnały wejściowe do komórek (neuronów) są doprowadzane za pośrednictwem "złączy" zwanych synapsami. Szczególną funkcjonalnością tych "złączy" jest możliwość ich "programowania", co pozwala na odpowiednie dobranie wielkości przekazywanego impulsu, w zależności od ważności sygnału.
W informatycznym modelu systemu nerwowego (sztuczne sieci neuronowe), w zależności od skomplikowania i złożoności przetwarzanego problemu, dobiera się odpowiedni model sieci: ilość neuronów, ilość warstw, rodzaj sieci (jednokierunkowa, rekurencyjna).
W celu zróżnicowania wpływu poszczególnych złączy (synaps) na przekazywaną między neuronami informację, wprowadza się wagi - współczynniki liczbowe, które podnoszą znaczenie pewnych impulsów, obniżając wagę innych. Istotą sztucznych sieci neuronowych jest możliwość nauki - modyfikacja wag przy użyciu funkcji matematycznych. Wraz ze wzrostem ilości "pętli uczących" (epok) wzrasta skuteczność programu w wykonywaniu powierzonego mu zadania.
W rozpoznawaniu obrazu pierwsze elementy sieci (warstwa wejściowa) przyjmują wartości zależne od parametrów obrazu (np. kolor piksela). Przetwarzając tę informację poprzez kolejne neurony, w warstwie wyjściowej otrzymujemy informację o podjętej przez program decyzji - np. rozpoznanie twarzy konkretnej osoby, czy numeru rejestracyjnego samochodu.
Ponieważ sztuczne sieci neuronowe są systemami rozbudowanymi, dobrze znoszą szum i nadają się do zastosowań z dużym poziomem szumu losowego, czyli różnego rodzaju zakłóceń.
Oprogramowania oparte na sieciach neuronowych znalazło między innymi zastosowanie w:
kartografii, geografii, geologii, astronomii i meteorologi - do analizy zdjęć satelitarnych i lotniczych;medycynie - do analizy zdjęć rentgenowskich i obrazów mikroskopowych;fizyce - do polepszanie jakości obrazów z eksperymentów;biometrii - do klasyfikacji i identyfikacji na podstawie cech biologicznych;bezpieczeństwie - do analizy obiektów w prześwietlanych bagażach, reakcji tłumu i poszczególnych osób;nadzorze ruchu miejskiego i kontroli jakości produktów;rozpoznawaniu znaków i obrazów - tablice rejestracyjne, podpisy, identyfikacja osób;sterowaniu procesami na podstawie obrazu, monitorowaniu stanu osób i urządzeń, np. rozpoznawanie sytuacji awaryjnych.
Oprogramowanie oparte na sieciach neuronowych
pozwala, miedzy innymi, na analizę i ocenę zachowań tłumu