🚨 🚨 🚨 Fix ViT parameter initialization
# What does this PR do?
This PR aims to rectify the discrepancy between the training performances of HF and Timm ViT implementations.

- Initializes torch and flax ViT dense layer weights with trunc_normal instead of normal (consistent with the TF implementation.
- Initializes cls_token and positional_embeddings with trunc_normal
- Updates DeiT copy

Partially fixes # ([19305](https://github.com/huggingface/transformers/issues/19305))


## Before submitting
- [ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
- [X ] Did you read the [contributor guideline](https://github.com/huggingface/transformers/blob/main/CONTRIBUTING.md#start-contributing-pull-requests),
      Pull Request section?
- [ X] Was this discussed/approved via a Github issue or the [forum](https://discuss.huggingface.co/)? Please add a link
      to it if that's the case.
     This issue was brought up over `[here.](https://github.com/huggingface/transformers/issues/19305)`
- [ ] Did you make sure to update the documentation with your changes? Here are the
      [documentation guidelines](https://github.com/huggingface/transformers/tree/main/docs), and
      [here are tips on formatting docstrings](https://github.com/huggingface/transformers/tree/main/docs#writing-source-documentation).
- [ ] Did you write any new necessary tests?



_The documentation is not available anymore as the PR was closed or merged._<|||||>Thanks for your PR! For such PRs, please ping both @sgugger and @amyeroberts who are better suited to do a review than I am. Thank  you!<|||||>@alaradirik I believe setting eps in layernorm to 1e-6 rather than 1e-12 is also important as mentioned in https://github.com/huggingface/transformers/issues/19305 by @rwightman<|||||>Yes, @alaradirik, but I think for newer users, or anyone new to ViT or just setting up ViT to train, it would be much better if the default was set to 1e-6 rather than 1e-12 so that they don't have to relook for bugs and most of the time the eps value will not be the first thing they look for, or worst case last thing.<|||||>Also, shouldn't Kaiming initialization be used for the nn.Conv2d rather than .normal_() initialization in the class ViTPreTrainedModel or any class that directly inherits from PretrainedModel? And the biases of the nn.Conv2d in ViT should be initialized the same way as PyTorch? (https://pytorch.org/docs/stable/_modules/torch/nn/modules/conv.html#Conv2d) @alaradirik @LysandreJik @NielsRogge @sgugger 