# Is there any way to train a neural network without using gradients?

The only algorithm I know for updation of weights of a neural network is based on gradients. The update equation can be roughly written as

$$w \leftarrow w - \nabla_{w}L$$

where $$\nabla_{w}L$$ is the gradient of loss function with respect to weights.

Are there any learning algorithms for updating weights in neural networks that does not use gradients?