Data2vec 2.0: Highly efficient self-supervised learning for vision, speech, text
ai.facebook.com
ai.facebook.com
Edit: After reading the paper I see that they train an individual model for each modality, which means that they are not comparable. It would be interesting to see though if they could combine sound, text and images into the same training in the future.
I wonder if there was a technique to regulate the training so their higher layer will be similar despite the input are fundamentally different.
Also, just fyi, Google's alternative to Stable Diffusion/DALLE-2, Imagen is not CLIP guided. Thus being CLIP guided is not necessary for the problem.
BTW it seems that the data2vec is at its core actually just one model, only the input and output parts are different depending on the modality (text, image sound etc.) I wouldn't expect the learned representations to be similar for similar content across modalities. The point of data2vec is to use just one model with a very general self-supervised learning setup for tasks, with the different tasks hopefully benefitting from each other during training.
How does it work?
Data2Vec presents an architecture that performs well across the main benchmarks for vision, speech and text. The architecture is a variation on the transformer network with slight tweaks for each learning modality. Data2Vec 2 seems to be more a more efficient variant.
In terms of applications, data2vec gives a single reliable architecture for each approach. Whereas before you may have used a CNN for vision and a transformer for text etc.
Additionally, this research is building towards multi-modal learning where an architecture could be trained on images, text and speech to learn about a topic. (But to my knowledge there isn’t anything ground breaking in this space yet).
I think it would help if I knew of a concrete task I could use this for.
You could ask it to sing like a bird in text, and it could respond in image + sound, or just sound. This allows for better general understanding of things. Deepmind did the same with Gato: https://www.deepmind.com/publications/a-generalist-agent
Gato does this in the same embeddings IIRC, but I skimmed the paper so I could be wrong.
Data2Vec uses a “standard” transformer architecture.[1] In Data2Vec2 the transformer architecture forms the “bulk of the model weights”.[2]
The tweaks I eluded to should have more clearly referenced that each modality uses a different encoder.
[1] section 3.1 data2vec: A General Framework for Self-supervised Learning in Speech, Vision and Language. [2] section 3.2 Efficient Self-supervised Learning with Contextualized Target Representations for Vision, Speech and Language.
There's a bunch of context you kind of need for it to make sense.
I'm not convinced that each technical blog post should provide that context every time.
It can do image recognition, speech recognition or text classification (eg, is this positive or negative sentiment) using the same model architecture (trained on different data each time)
It's very competitive in each of those fields with the existing state of the art. This is interesting because usually the models for each of those fields are different.
> How does it work?
It's trained by passing sequences of data (pixels sequentially, words in order, speech as a wav file) with part of each sequence masked out. The model has to learn to correctly guess what is in that masked area.
The innovation is that it instead of predicting the masked area directly, it tries to predict what the representation of that masked area is in the Neural Network itself. That's extremely unusual (I don't think I've seen that before) and I'll need to study it more to completely understand why that explains the better performance.
It's also very fast to train.