Training Deep Architectures Without End-to-End Backpropagation: A Brief Survey