Fatigue modeling using neural networks: a comprehensive review