1 Introduction  
2 Structure and function of SNN and SNPS  
2.1 Architecture and function of SNN  
2.2 Architecture and function of SNPS  
2.3 Comparison of SNN and SNPS models  
3 Machine learning in SNN  
3.1 Supervised learning algorithms for SNN  
3.2 Unsupervised learning algorithms for SNN  
3.3 Deep SNN  
4 Learning algorithms for SNPS  
5 Conclusion