L2 (ridge) and L1 (lasso) regularization are both commonly used for regularization of deep neural networks, but they have different pros and cons:

L2 regularization:

Pros:

Continuously differentiable, so it preserves the convexity of the loss function and does not introduce kinks/non-smoothness. This is desirable for efficient gradient-based optimization of the weights.
Does not drive weights exactly to zero, just reduces their magnitude. This can be desirable if you want to retain all features/inputs but just reduce their influence.

Cons:

Does not explicitly reduce the number of features/weights, so may not produce sparse models/solutions.
The optimal L2 regularization hyperparameter/coefficient can be tricky to tune.

L1 regularization:

Pros:

Leads to sparse solutions/feature selection, driving weights of less important features exactly to zero. This can be useful for reducing overfitting and producing more interpretable models.
The optimal L1 regularization hyperparameter/coefficient can be easier to select since it controls the sparsity.

Cons:

Not continuously differentiable, so can introduce kinks/non-smoothness which makes optimization more challenging.
 May not be suitable if you want to retain all features but just reduce their influence.

So in summary, I would recommend:

Using L2 regularization if:

Efficient gradient-based optimization is a priority (due to continuity)
You want to retain all features but reduce influence of coefficients
Finding the right L2 regularization strength is feasible

Using L1 regularization if:

Producing sparse/interpretable models is a priority (due to inducing sparsity)
You are able to handle the potential challenges with non-differentiability in optimization
Selecting the right L1 regularization strength to achieve desired sparsity is feasible

Of course, you could also use a combination of both (L1 + L2 regularization) to get some of the benefits of both.

Hope this helps!
prompter:
Explain me l2 normalization

assistant:
In statistics and applications of statistics, normalization can have a range of meanings. In the simplest cases, normalization of ratings means adjusting values measured on different scales to a notionally common scale, often prior to averaging. In the case of L2-Normalization this adjustment is applied on the basis of the L2-Norm, which is defined as:  |x|₂ = Σ_i(x_i^2)
In this case the corresponding normalization would be defined as:
norm(x) = x/|x|₂

prompter:
When should L2 regularization be used in a deep neural network as opposed to, say, L1 regularization?

assistant:
