Sztuczne sieci neuronowe (ANN) składają się z „neuronów” - konstruktów programistycznych, które naśladują właściwości neuronów biologicznych. Zestaw ważonych połączeń między neuronami umożliwia rozprzestrzenianie się informacji przez sieć w celu rozwiązania problemów sztucznej inteligencji, bez projektanta sieci posiadającego model prawdziwego systemu.