ViLT vs VIT Classifier heads question
Is there any specific reason for the classifier head on the ViLT model for tasks say ```ViltForImagesAndTextClassification```  or ```ViltForQuestionAnswering ``` has a ```LayerNorm and GELU``` and not just a Linear Input and output Layers  (Like below) whereas classifier head on the VIT for ```ViTForImageClassification``` Has only a linear layer ?

Please advice.

i.e This 
```python
# Classifier head
  self.classifier = nn.Sequential(
      nn.Linear(config.hidden_size, config.hidden_size * 2),
      nn.LayerNorm(config.hidden_size * 2),
      nn.GELU(),
      nn.Linear(config.hidden_size * 2, config.num_labels),
  )
```
and NOT this ?

```python
# Classifier head
 self.classifier = nn.Linear(config.hidden_size, config.num_labels) if config.num_labels > 0 else nn.Identity()
```


Hi, thanks for your interest in ViLT. 

That was the decision of the authors. Maybe you can ask them 😉 <|||||>Ok :-)