Describe the vanishing gradient problem and how modern architectures like ResNet or LSTMs mitigate it.