An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale (Paper Explained)

  Рет қаралды 350,417

Yannic Kilcher

Yannic Kilcher

Күн бұрын

Пікірлер: 362
@nicdemai
@nicdemai 11 ай бұрын
I watched this video at the beginning of my ML Masters journey 2 years ago and it all felt like a foreign language. Today I'm watching it again and I’m proud to say that I understand a lot of the things discussed. Whoever is reading this, keep grinding!
@jonassvenningsen8986
@jonassvenningsen8986 11 ай бұрын
I just had the exact same experience.
@MDNQ-ud1ty
@MDNQ-ud1ty 10 ай бұрын
Welcome to the Matrix. Smith will visit you shortly with your medal.
@chutiyfakey
@chutiyfakey 10 ай бұрын
I just started my masters and am feeling the same you felt. Hope it gets easier
@marcosrodriguez2496
@marcosrodriguez2496 3 жыл бұрын
Holy cow, these videos are so valuable. This view that Transformers are generalization of MLPs, while CNNs and LSTMs are specializations of it is brilliant. Thank you.
@dimy931
@dimy931 4 жыл бұрын
Transformers still have inductive biases ( no, I am not talking about the residual connections ). Like for example the softmaxes used to determine similarities between the elements or the fact that we still use multiple layers which still talks about hierarchical structure of sorts. But they have weaker bias in the sense that their biases look much more abstract at the world. A CNN bias says this is how images looks like. Transformers say this is how you can describe how a large set of unique stuff interact. And before CNNs, Wavelet transformers were saying this is how edges in an image look like. The biases are still there they have just become much more abstract as we learned that we can learn anything if we applied the right training tricks and datasets. That said residual connections are very abstract concept and for that I do not think we are touching them for a while. They essentially say look at the big picture first and give me your decision, then look again but this time closer and try revising your decision. That is a very efficient computational model we as human beings employ on daily basis. So are transformers by the way.
@Samarpanrai94
@Samarpanrai94 3 жыл бұрын
Are biases always a bad thing?
@dennismertens990
@dennismertens990 3 жыл бұрын
@@Samarpanrai94 I don't think they are, but inductive bias is intrinsic to machine learning. It's presumably present in animals as well.
@sheggle
@sheggle 3 жыл бұрын
@@Samarpanrai94 depends on where you work, if you are developing these models in the real world, biases can be amazing if they're correct. In an application you want to help a model as much as possible. The idea is, that if you have enough data, these biases will be present in the dataset and a learnt bias is better than an assumed one. That's why research pushes for that front. In the limited data regime though, no, they're definitely not necessarily bad
@galileo3431
@galileo3431 2 жыл бұрын
I really love your intuition on the residual connections!
@erfanmiahi9462
@erfanmiahi9462 4 жыл бұрын
Even the number of TPUs that they have used is enough to guess where this paper comes from.
@spsharan2000
@spsharan2000 4 жыл бұрын
Lol yeah xD
@jugsma6676
@jugsma6676 4 жыл бұрын
haha, yea
@notgabby604
@notgabby604 4 жыл бұрын
Too much is set in stone too soon. Generally very poor scientific method in deep learning. You don't even need GPUs for large scale deep learning with distributed simple evolution training algorithms like Comtinuous Gray Code Optimization. With say 256 raspberry pi 4s you get 1024 CPU cores for $15000 and 4.5 KWH. With a training set of 1 million inages each core gets less than 1000 each which it need to return a cost for, for each sparse mutation list. The main metric is DRAM memory bandwidth per unit hardware cost. This is especially the case with Fast Transform fixed-filter-bank neural networks.
@lethanh1122
@lethanh1122 3 жыл бұрын
It must be from Faceboogle
@zihaozheng4159
@zihaozheng4159 3 жыл бұрын
haha, then I think this paper break the rule of double blind review
@devlogs1785
@devlogs1785 3 жыл бұрын
You have a talent of making a complicated idea simple ans digestable yet keeping its technical fundamentals understandable.
@pladselsker8340
@pladselsker8340 Жыл бұрын
I'm slowly starting to grasp more and more what the heck is going on in these videos!! I've been watching your paper reviews for some time now, and I think this is the first time I actually get everything you're saying in a video. That feeling is great. Thank you for your work!
@xxlvulkann6743
@xxlvulkann6743 4 ай бұрын
Same way I learned! Who needs universities anyways! lol
@googleyoutubechannel8554
@googleyoutubechannel8554 2 жыл бұрын
This was the best video on transformers I've seen on YT, still in 2022. I think Yannic may be one of the only people that is actually able to productively reason about the core dynamics, effectiveness and utility of ML model designs.
@CristianGarcia
@CristianGarcia 4 жыл бұрын
The Transformer architecture is a nice example of Sutton's "Bitter Lesson".
@Gannicus99
@Gannicus99 4 жыл бұрын
The "bitter lesson" bases success on increased compute, which was made possible entirely by more space and energy efficient hardware. Computes success comes from miniaturization, not the other way around. The irony :)
@sebastiangarciaacosta5468
@sebastiangarciaacosta5468 4 жыл бұрын
¡Hey! Saludos desde Cali, admiro tu trabajo en la comunidad Machine Learning Colombia.
@conduit242
@conduit242 3 жыл бұрын
It all comes back to kNN
@ceevaaaaa
@ceevaaaaa 3 жыл бұрын
This is so helpful for an undergrad like me. Yannic explains topics in easy understandable terms. Thank you. Love from INDIA.
@lucha6262
@lucha6262 4 жыл бұрын
I love the insights you give into the concepts presented in the paper. I very much like the last 2-3 minutes ranking NN architectures by bias
@sfarmapietre
@sfarmapietre 4 жыл бұрын
Double blind review as it is currently done is based on a purely voluntary work done by reviewers, ACs, etc and is based on the mutual trust that i) reviewers respect the idea of double blind that is necessary to reduce the bias of paper evaluations, as well as ii) authors write their papers in an anonymous way. There are of course exceptions when this is broken, intentional or unintentional, but it would be very hard and resource expensive for any conference to impose 100% accuracy of this process.
@TL-fe9si
@TL-fe9si 4 жыл бұрын
The comments about the biases of these different type of architecture really helps me gain better understanding of these things, thank you!
@johntanchongmin
@johntanchongmin 2 жыл бұрын
At first I thought you were very happy with the double blind review process, but I soon found out that you weren't. You have encouraged me to arxiv my work and continue to work hard to do what I think is important, rather than wait for top journals/conferences to accept. Thank you.
@moctardiallo2608
@moctardiallo2608 3 жыл бұрын
It has been difficult for me to understand the transformer until you mentioned "sets" at 7:06 halleluah. small vocabulary precision can make a huge change!
@herp_derpingson
@herp_derpingson 4 жыл бұрын
As humans when we think of attention in vision. It is not that our eyes shut down when we are not paying attention to our surroundings. Our eyes keep running object detection/motion detection tasks with dedicated neurons. It is just the higher order functions decide not to pay attention to that already processed information and use that bandwidth on something else. 19:30 Attention is a generalization of convolutions. 10:50 I think this is equivalent to running the image through a 16x16x3x16 conv filter with stride 16. (i.e. it takes a 256x256x3 tensor and gives a 16x16x16 tensor). Then pass it through a few layers of 16x16x16x16 conv with stride 0. (i.e. a conv block which takes a 16x16x16 tensor and spits out a 16x16x16 tensor). Then a dense at the end for classification. MHA is equivalent to a full nxn conv. 20:40 A 16x16 conv2d could do the same. Seriously though. I dont see the benefit of double blind in non-medical papers.
@raunaquepatra3966
@raunaquepatra3966 4 жыл бұрын
I think it's mentioned somewhere the 256x256 image is downscaled to 64x64 due to limits on their budget :D And I think they are using a stride 8 in the 16x16 patches(the figure with the positional encoding show 7x7)
@YannicKilcher
@YannicKilcher 4 жыл бұрын
yep the comparisons with convolutions are really nice!
@Kram1032
@Kram1032 4 жыл бұрын
I wonder what would be more general than a transformer. Maybe something like: - dynamic #convergence iterations (currently transformers do only a single projection step between layers) - dynamic #layers - which layers to skip to (potentially giving something like type determination where you can feed in data and if it is text it gets routed through one set of layers, if it is images, it gets routed another way or something like that) - what amounts to wider-label attention, like, not only care about what the current and next layer of this specific neuron output/is looking for, but also their same-layer neighbours, or their equivalents from earlier/later neighbours. Not sure if that makes sense, but basically just give the soft routing mechanism more inputs to arrive at its decisions.
@Kram1032
@Kram1032 4 жыл бұрын
lol didn't mean to put hashtags like that. That was supposed to mean "number of"
@LeetOneGames
@LeetOneGames 4 жыл бұрын
The main problem with all of these ideas is the back propagating gradient descent, how should it be able to train the parameters using the loss without a bidirectional relationship between the layers? Sure, I am not saying it is impossible - there might be ways to temporarily store the ”routing” data but that would be memory consuming. All calculations needs an equivalent reverse or else you are lost regarding what weights to adjust in what direction to close in on your target output, unless you come up with a totally new concept of how to train your NN.
@Kram1032
@Kram1032 4 жыл бұрын
@@LeetOneGames I mean yeah, definitely. And that's part of the reason *transformers* are so resource hungry as well, isn't it? I was just thinking about how to make this even more flexible, making use of even more patterns. Really what I'm describing here, if all of those were implemented together, would amount to deciding what specific neural network to use based on current internal state and input. It's like having one full brain not just per task but literally per input. It'd be the ultimate form of meta-learning, I think. And probably not something that'd ever become feasible at scale.
@LeetOneGames
@LeetOneGames 4 жыл бұрын
Kram1032 Yeah, perhaps I misunderstood your ideas. But transformers, when it comes to memory consuming, is all about storing weigths, it’s not storing temporary states for all connections in all layers during iteration (train or when sampling). When one layer is done basically all it keeps in memory is the output of that layer. Same goes for back propagating, it only keeps the gradient temporary in memory between layers. So it has no memory of what happened in one particular layer on forward when the gradient comes back and the weights is trained. The model needs to know what to do with the weights by using the gradient only, it cannot hold everything in memory what happened there for the current input and the current iteration. Any layer skips or arbitrary adjustment between nodes on the same layer must be possible to reverse engineer during back propagating using the gradient only. Well, not sure if my bad wordings here is helpful, sorry if my explainations is just confusing.
@Kram1032
@Kram1032 4 жыл бұрын
@@LeetOneGames I mean, yeah. All I was trying to accomplish here is to further generalize Transformers. I make no claims about any of these actually being good or remotely accomplishable ideas. (I think there's *some* success with the dynamic number of layers stuff in some settings at least. Not quite *truly* dynamic, but some architectures can stop evaluating early when they are "sure enough". Maybe transformers could be done that way too.)
@DamianReloaded
@DamianReloaded 4 жыл бұрын
Getting rid of back propagation altogether could be a "next thing". Maybe by randomly approximating the weights, maybe using some sort of very-fast-very-parallel-hardware that would update all weights at once with random values. And maybe afterwards make this process be learnable somehow :/ (maybe learnable as in disconnecting neurons that are not needed) Maybe also having a generative neural network synthesizing datasets from a small amount of samples, so that if the model sees an input that was not in the dataset, it may have "dreamed" about it during training and be more robust.
@gman21xx
@gman21xx 4 жыл бұрын
The bogo sort approach to NNs
@DamianReloaded
@DamianReloaded 4 жыл бұрын
@@gman21xx if the hardware was built to work like this it could be very fast and very low energy. And in principle it is "guarantied" to converge _at some point_ from now to infinity XD
@ptuls79
@ptuls79 4 жыл бұрын
This paper might be onto something openreview.net/forum?id=PdauS7wZBfC
@luckyshadowtux
@luckyshadowtux 4 жыл бұрын
@@ptuls79 a review of that once it is published would be very cool. Would be interesting to apply to tranformers
@wwtapsable
@wwtapsable Жыл бұрын
@@gman21xx just look at the best case scenario, O(1), it is obviously the best alg for the job.
@IgorAherne
@IgorAherne 4 жыл бұрын
Yannic, I absolutely love your reviews :D so energetic! thanks for your work man
@jahcane3711
@jahcane3711 4 жыл бұрын
I appreciate the jests :D great to have you pumping out videos again. Thanks for another banger :)
@MrAstor69
@MrAstor69 3 жыл бұрын
Excellent explanation for visual transformers. The only thing that can be concluded is that most large companies will offer their large models as a service through the API. It is simply very difficult to train such a large model with small capacities.
@JohnSmith-he5xg
@JohnSmith-he5xg Жыл бұрын
The discussion (and insight) that we've introduced these biases to simplify the Model's job and make up for inadequate training data, but in doing so have limited overall performance is incredible.
@BrandonFurtwangler
@BrandonFurtwangler 4 жыл бұрын
I wonder if the initial “down sample” to a low resolution image could be avoided (without insane compute) using a transformer of transformers. One spatial one temporal. The inner transformer (spatial) would be just like this paper on a downsampled image, but instead of downsampling the whole image you downsample a window (still to a fixed low res size). You then do this on N windows to form a sequence (sort of like your eye temporally moving around focusing on parts of the image), and transform that.
@SuperArjun11
@SuperArjun11 4 жыл бұрын
fuck it. I have nothing better to do, I'll try this out
@nineteenfortyeight
@nineteenfortyeight 4 жыл бұрын
@@SuperArjun11 do let us know
@Daweim0
@Daweim0 3 жыл бұрын
@@SuperArjun11 It's been 10 months, how did it turn out?
@thiswasme5452
@thiswasme5452 3 жыл бұрын
@@SuperArjun11 PLz respond .. did you try
@SuperArjun11
@SuperArjun11 3 жыл бұрын
@@thiswasme5452 in a very sad turn of events, I got out of academia and into corporate before any of this was realised. Apologies, y'all 😭
@AladdinPersson
@AladdinPersson 3 жыл бұрын
Never got into your videos before but your perspective is super interesting, thanks for making these videos :) I think your perspective on how we bias the models and how you view transformers to be the most general even more so than MLPs) was insightful and something I had to reflect on
@talha_anwar
@talha_anwar 3 жыл бұрын
no update on your channel
@Zantorc
@Zantorc 4 жыл бұрын
'Double blind' - but only in one eye!
@wagbagsag
@wagbagsag 4 жыл бұрын
Not sure if I buy your argument that transformers are somehow more general and less biased than MLPs. They implement the prior of repeated computation and spatial invariance. In addition to those priors, i think the real reason transformers win over MLPs is because we given them a multiplication operation in representation space (attention). MLPs only get to perform addition of their hidden representations
@ralf2202
@ralf2202 3 жыл бұрын
If the MLP is big enough, it will always win. That's the universal approximator theorem.
@jakobgelszinnis673
@jakobgelszinnis673 4 жыл бұрын
22:46 I think, that while you use the terms inductive bias and inducive prior interchangeably in this passage - you rather describe an indictive BIAS than an inductive prior. The difference would be, that an inductive prior will set a starting point until your model gets informed by your data, while the inductive BIAS inevitability limits the space of possible model-solutions. Both occur together, like the case when you bias your DL-model through its architecture while giving it a prior initialization of parameters. Have I misunderstood something? Either way: I love your videos, thanks!
@YannicKilcher
@YannicKilcher 4 жыл бұрын
Thanks for the clarifications!
@kuan-chunlee9611
@kuan-chunlee9611 4 жыл бұрын
I like the idea to see transformer as a general version of mlp with even less inductive bias. very insightful
@stefanvasilev8948
@stefanvasilev8948 2 жыл бұрын
This video and especially the explanation about inductive biases are pure gold!
@crpCph
@crpCph Жыл бұрын
It's impressive that you predicted that residual connections are going down next. I've seen multiple papers where people start improving on their complexity
@rohitgavirni3400
@rohitgavirni3400 4 жыл бұрын
"Look, we know you can learn anything from data" - Yannic to MLP.
@suleymanemirakin
@suleymanemirakin Жыл бұрын
I want to read papers but reading paper is hard and costs so much time your videos are so fast and clear thank you my friend
@omarsilva924
@omarsilva924 4 жыл бұрын
Great video. I love your intro about the anonymous paper. Thank you for sharing. Well done!
@rq3068
@rq3068 2 жыл бұрын
This is an awesome explanation. We can learn everything from data if we have an infinite amount of data, and we can have never have infinite amount of data, we must introduce inductive bias or strong priors and try to learn the universe from limited samples.
@yujiachen5732
@yujiachen5732 3 жыл бұрын
Great video. Have a quick question though, when you mention the difference between MLP and transformer, you said transformers compute w onnthe fly12:02. Doesn't w in transformer also fixed?
@innastainvas4705
@innastainvas4705 3 жыл бұрын
in MLP x_i ^{l+1} = \sum_j w_{ij} x_j^{l}, where w_{ij} are fixed don't depend on concrete input, if you try to make comparison of using attention matrix elements in this context then x_i^{l} are vectors and coefficients depend on {kq} (key, query) that change depend on the input (are defined on the fly)
@thusi87
@thusi87 4 жыл бұрын
Great explanation, But I'm still confused about 1 thing. Tried reading the paper but didn't really click still. Question is regarding "extra learnable [class] embedding". Can someone give some examples as to what the input is to this embedding is? Is the input going to be the same special token (*) for all input samples or is the class label going to be added here? (The latter seems not very sensible), but whats the point of having an learnable embedding if the input is always static?
@YannicKilcher
@YannicKilcher 3 жыл бұрын
yes exactly, it's the same token always
@victorrielly4588
@victorrielly4588 4 жыл бұрын
I figured it out! Google must have submitted that article.
@wege8409
@wege8409 3 ай бұрын
no, it must have been published by Q*!!
@LouisChiaki
@LouisChiaki 4 жыл бұрын
Even famous group of authors can be identified easily in open review, it probably still benefits less known authors.
@ilkero1067
@ilkero1067 4 жыл бұрын
It is disappointing how the presenter takes 5 minutes or so to mock the concept but does not seem to understand how this may help a small researcher from an underdeveloped part of the world. Also more steps can easily be implemented to improve the anonymity. There is nothing to mock here.
@diogeneslantern18
@diogeneslantern18 2 жыл бұрын
@@ilkero1067 hear hear. It came across as extremely facetious
@MaheshDhoni
@MaheshDhoni 3 жыл бұрын
Could you explain a little more about how Transformers are a generalized version of MLPs? Aren't the weights of MLPs also found on the fly?
@utkarshkumarsingh5961
@utkarshkumarsingh5961 3 жыл бұрын
I'm not too sure about this, correct me if I'm wrong here: In MLPs, there isn't a choice to attend to a node from the previous layer just that the weight decides how strong the attention is. Transformers can choose to skip a node they don't want to pay attention to altogether.
@binjianxin7830
@binjianxin7830 4 жыл бұрын
Having a bias but a small variance while making use of the Markov property at the same time might be the closest to human intelligence for learning the real world model. Is this what the Temporal Difference Learning discloses?
@JesusPerez-rp1it
@JesusPerez-rp1it 2 жыл бұрын
The generalization/specialization discussion was extremely helpful. Amazing content
@kotakviraj4016
@kotakviraj4016 3 ай бұрын
I am enrolled in a masters course in AI and i have to read lot of research papers like these as new ones come out and this channel has the best simplest paper explanation videos out there. Also i completely disregarded all the hints about the authors of the paper i dont know who wrote it. 🤫
@ikboljonsobirov
@ikboljonsobirov 3 жыл бұрын
The whisper part in Experimental Results got me real good )))
@brainxyz
@brainxyz 4 жыл бұрын
I think transformers are more general simply because they take into account the lateral connections between the neurons. This is what self-attention does in principle. The human brain has lateral connections among the neurons too.
@ankitaharwal5886
@ankitaharwal5886 3 жыл бұрын
What's means by lateral connection ?
@grafzhl
@grafzhl 4 жыл бұрын
Yannick is at his best when he goes hard with the shade :>
@nineteenfortyeight
@nineteenfortyeight 4 жыл бұрын
Does the fact that I can't read your username mean I'm a robot? :(
@grafzhl
@grafzhl 4 жыл бұрын
@@nineteenfortyeight Not even, any self-respecting model trained on MNIST would be able to 😌
@nineteenfortyeight
@nineteenfortyeight 4 жыл бұрын
Please tell captcha
@AbeDillon
@AbeDillon 4 жыл бұрын
I don't think skip-connections are as biased as you claim. The visual intuition is: you might recognize an alligator by the texture of its skin combined with higher order features like the ensemble of shapes that make up its body. But the intuition can be generalized beyond just the visual domain. Sometimes a combination of low-level and high-level features is more informative than just high-level features on their own. If your language model is reading some Eminem lyrics and it outputs only high-level features like the subject-matter, sentiment analysis, theme, etc. It might classify it as Country Western if it abstracts away the low-level features like syllables and rhyme.
@Kerrosene
@Kerrosene 4 жыл бұрын
Nice review...especially the sections after 21:00.
@AbeDillon
@AbeDillon 4 жыл бұрын
Wouldn't the most general learning system be a fully connected graph with something like an FIR filter for each connection instead of weights?
@YannicKilcher
@YannicKilcher 4 жыл бұрын
true
@hareshindrajit
@hareshindrajit 4 жыл бұрын
Hello Yannic , in 25:38 , you tell that the connections in a transformer are calculated on the fly. Aren't the connections in an MLP also calculated on the fly? Also , can you tell me how long is one tpu-v3 day ? Thanks in advance.
@theomorales5040
@theomorales5040 4 жыл бұрын
No, the connections in an MLP are the learned weights: they are learned during training and then remain frozen during inference.
@hareshindrajit
@hareshindrajit 4 жыл бұрын
@@theomorales5040 Thank you for replying. Now I'm clear about this
@hareshindrajit
@hareshindrajit 4 жыл бұрын
@@theomorales5040 Any idea how much long is one tpuv3-day?
@theomorales5040
@theomorales5040 4 жыл бұрын
@@hareshindrajit Precisely 1 day using 1 TPUv3.
@hareshindrajit
@hareshindrajit 4 жыл бұрын
@@theomorales5040 Okay. That makes sense 👍
@tusov8899
@tusov8899 3 жыл бұрын
Amazing explanation especially about the comparison between transformer, mlp and cnn. Thank you so much!
@mailoisback
@mailoisback 3 жыл бұрын
At 08:00 you saying that there are N^2 connections. Isn't it "n choose 2", C(N, 2) = N!/(2*(N-2)!) ?
@arvind31459
@arvind31459 4 жыл бұрын
Authors: Let's be anonymous and make the readers go nuts. Kilcher: 🤭
@Sam-ne9ns
@Sam-ne9ns 4 жыл бұрын
anonymity is required for papers currently under peer-review.
@simleek
@simleek 4 жыл бұрын
So... how does this compare to adding 'zoom'/'pan' functions, adding xyz+self embeddings, and letting a transformer tell a single 16x16 fully connected layer where to look? Did I beat google?
@deniz.7200
@deniz.7200 10 ай бұрын
Hi, in the video you claim that you can not get the relation objects far away with CNN (in 21st minute). But when we put fully connected layers after flattened the CNN layers we should be getting all combinations of those features regardless how far they are, am I wrong?
@nicolasdufour315
@nicolasdufour315 4 жыл бұрын
Hey, what's the app you use to anotate your papers? Thank you!
@arvind31459
@arvind31459 4 жыл бұрын
He uses OneNote
@RaviAnnaswamy
@RaviAnnaswamy 4 жыл бұрын
In Videos you can search for a video he has where explains all tools and process he uses. here i have linked for your easy reference two of his very generous sharing: Yannic’s How to read research papers kzbin.info/www/bejne/i6bQlWWwhLStbJI Yannic’s How I make my videos kzbin.info/www/bejne/fmSlmZ-Xo5Wge5I
@RaviAnnaswamy
@RaviAnnaswamy 4 жыл бұрын
Yannic’s How to read research papers kzbin.info/www/bejne/i6bQlWWwhLStbJI Yannic’s How I make my videos kzbin.info/www/bejne/fmSlmZ-Xo5Wge5I
@batuannguyen8061
@batuannguyen8061 3 жыл бұрын
Thank you for your sharing, it's very useful and interesting! But I have an issue about it. My issue is, with the constant number of patches, why don't we use the naive positional encoding (0/n, 1/n, 2/n, ..., n/n)? I think if we use it, the distance between 2 different patches will not be effected by n, because n is the constant.
@florianhonicke5448
@florianhonicke5448 4 жыл бұрын
Thank you so much for the video! It's a pleasure as always. Should we just stop ai research for 20 years and than train a Transformer net without skip connections on quantum computers with yottabytes of image data? Would save a lot of work 😜
@YannicKilcher
@YannicKilcher 4 жыл бұрын
You win machine learning!
@sumitsp01
@sumitsp01 Жыл бұрын
How do we ensure that learnable parameters of each head is different from each other? It might happen, all the heads end up learning same thing
@levtunik997
@levtunik997 3 жыл бұрын
Can you elaborate more on how a transformer can learn the filters that are learnt in CNN's? The transformer which is used for words has the Value-Key-Query which are multiplied to output the importance between each word to another, and each word has an embedding which encloses different aspects of that word (time tense, male/female, etc'...). How from the actions i described the transformer calculates a kernel/filter?
@timmyt1293
@timmyt1293 2 жыл бұрын
The key is the kernel.
@commiekaza
@commiekaza 2 жыл бұрын
Yannic! your channel is awesome, thank you for covering so many interesting things in a nice digestable way! Stay cool
@umangagarwal2576
@umangagarwal2576 10 күн бұрын
I have been implementing this for the past few weeks. The computation and performance trade offs for transformer based architectures vs CNN based architectures is crazy. The transformer needs 100x more data and compute to achieve comparable results to a CNN based model with much lesser data and compute.
@CODEMENTAL
@CODEMENTAL 3 жыл бұрын
Great video Yannic, explaining transformers. You were on the money about who the anonymous authors were. No surprise there. I found your video because of another paper from Google, in this case, DeepMind that also uses transformers, but in this case applied to 3D meshes. The name of the paper is Polygen: An Autoregressive Generative Model of 3D Meshes. I will be looking forward to see you reviewing this paper, if you ever do. Is it the case that we are facing a transformer revolution in deep learning?
@TheAIEpiphany
@TheAIEpiphany 4 жыл бұрын
27:28 "There can be something even more general than the transformer" - Yes and that something is called a GNN! Check out this blog Yannic: thegradient.pub/transformers-are-graph-neural-networks/ And thanks for the video! I saw the paper the same day that Karpathy tweeted it. Edit: forgot you made this one back in the day when GNNs were not as popular.
@JeruLuke
@JeruLuke 3 жыл бұрын
You have a great channel too
@jacobdichter5871
@jacobdichter5871 Жыл бұрын
Video starts at 5:22
@patrickjdarrow
@patrickjdarrow 4 жыл бұрын
24:18 "Bias -- in the statistical sense". I see someone has learned from Yann's twitter feud 😬
@gamerrr007
@gamerrr007 3 жыл бұрын
Now what about the attention of the pixels in the same patch between eachother?
@TheAIEpiphany
@TheAIEpiphany 4 жыл бұрын
Nice explanation, thanks! For me it was even super obvious just mentioning Kolesnikov so many times, you only do that if you're Kolesnikov and you're building off of that work! It's obviously not anonymous.
@rbain16
@rbain16 4 жыл бұрын
2D slices of high-dimensional loss landscapes show that skip connections make the landscape much smoother/convex. My intuition is that they will remain, but who knows?! :)
@ennardzhao1871
@ennardzhao1871 4 жыл бұрын
do you guys think that this method so similar to the NON LOCAL
@annawoodard6457
@annawoodard6457 2 жыл бұрын
Your insights really helped me understand this paper. Thank you!
@DeadsupraEE3
@DeadsupraEE3 4 жыл бұрын
"we know this, you know this" me: nods head as a C+ student in my ML course
@_tnk_
@_tnk_ 4 жыл бұрын
Good point about convolution being an inductive bias
@ФёдорМихайлович-в8х
@ФёдорМихайлович-в8х 3 жыл бұрын
I really enjoying your humor! Totally random, absolutely not related to all between papers similarities comment.
@udaylunawat2163
@udaylunawat2163 4 жыл бұрын
What're the pre-requisites to understand transformers?
@YannicKilcher
@YannicKilcher 4 жыл бұрын
nothing really
@Chesstiger2612
@Chesstiger2612 4 жыл бұрын
What does this mean for cases with little data though? Are conv NNs and LSTM still good because of their inductive priors? Or could you create even better inductive priors using information from other datasets? Let's say you want to classify cats and dogs, you could infer from images of houses, streets, cars, and so on that there is a general theme of spatial correlation (like conv NNs assume), and maybe even do better than that at generating an inductive prior.
@YannicKilcher
@YannicKilcher 4 жыл бұрын
I think especially in the low data regime, models with inductive priors will always remain useful. Like 95% of real world ML problems are solved by linear regression.
@annabae713
@annabae713 Жыл бұрын
Great great video! As a PhD student, thank you for making this valuable video
@deiviuds
@deiviuds 4 жыл бұрын
An unrelated question but... What program is this that you are using to view and have this side references? I need a tool like this!
@YannicKilcher
@YannicKilcher 4 жыл бұрын
OneNote, it's just a copy paste on the side.
@LucaRuzzola
@LucaRuzzola 3 жыл бұрын
Is there a paper that tries to apply attention to which layers should skip forward? Like attention for densenets but not necessarily with the cnn part
@LucaRuzzola
@LucaRuzzola 3 жыл бұрын
Btw great video as always, thanks for all your work
@huonglarne
@huonglarne 2 жыл бұрын
I love your take on the matter. Very eye-opening
@alachance2010
@alachance2010 4 жыл бұрын
MLP bias/prior is the connections themselves. Very Interesting. So the most general system would have the entire architecture and structure be computed on the fly.
@bryce-bryce
@bryce-bryce 2 жыл бұрын
Awesome, I have been wondering a while ago if the network that a network performs at each layer is not "too static". In a normal CNN the operations are completely defined by the programmer und only the weights are learned. But maybe the operations themselves can be learned as well. Seems like Transformers are going a bit in that direction if I understood everything correctly.
@alisharifi5520
@alisharifi5520 3 жыл бұрын
very interesting and informative explanation, and also a very well complement of my own understanding, thanks.
@weiyu4073
@weiyu4073 4 жыл бұрын
Wait a min. Isn't image patch+linear projection equivalent to doing convolution filters?
@jielei8545
@jielei8545 4 жыл бұрын
There seems to be no overlap between two neighboring patches here as in standard Conv filters in ResNet (kernel size > stride).
@weiyu4073
@weiyu4073 4 жыл бұрын
@@jielei8545 Yep. Also, this means you only need to downsampling once. But I think this paper is still a little overclaiming about replacing convolutions.
@jielei8545
@jielei8545 4 жыл бұрын
@@weiyu4073 Agreed! It would be nicer if they could at lease mention this somewhere in the paper.
@RohitKumarSingh25
@RohitKumarSingh25 4 жыл бұрын
Hi Yannick, I love your videos because you always ask a lot of questions and not just read the paper. If I understood correctly, when you say, transformers are more general because other than feed forward connection, we have self-attention where we calculate the node/neuron values each time before feed-forward. Could you please elaborate a little why this is more general than MLP? Shouldn't MLPs be able to figure this out because of their complete connection given enough data and self-attention is another inductive bias in a way?
@BROHAMMER_OK
@BROHAMMER_OK 4 жыл бұрын
The thing with traditional fully-connected layers is that the weights are fixed by position. For example, if you swap 2 words in a sentence, the output vector of any given layer will change (FCs are not invariant to permutations) This could make sense in some cases, where the order of those 2 words affect the meaning of the sentence, but in other cases the order should not matter, thats what the attention layer is learning. Of course, you could train a MLP with a lot of combinations like you said, but that would use many more parameters, and I believe that in practice you just can't match the transformer's performance.
@Myvoetisseer
@Myvoetisseer 4 жыл бұрын
Hey Yannic. You ever seen this paper arxiv.org/pdf/2004.02016v4.pdf ? The topic is pretty niche (meeting summarization) so I understand that it didn't make a huge splash. However the model they use I find interesting. They essentially take a transformer but apply a convolutional philosophy to it, by which I mean multiple layers, each abstracting the previous a little more. In this case they had two encoders, one which operates on word-level (same as normal transformer encoder) but then they have another encoder which takes in the output of the previous. Thus they have an encoder which operates at word level, feeding each sentence into another encoder which operates at sentence level. Both of these feed into a decoder. I personally believe this might be the future of transformers. Early layers encoding a large amount of input to more abstract and condensed information, then feeding that into more encoders. Have you seen other research doing this also? What do you think of this?
@YannicKilcher
@YannicKilcher 4 жыл бұрын
this is interesting, thanks. these things can often work well on specific datasets, but sadly, most problems are just solved with simpler architectures and more data nowadays
@tekudiv
@tekudiv 4 жыл бұрын
Awesome video explanation 👍
@stanislawcronberg3271
@stanislawcronberg3271 Жыл бұрын
Great video, thank you for showing the bigger picture
@autripat
@autripat 3 жыл бұрын
skip to 5:08 for start of explanation
@moustafa_shomer
@moustafa_shomer 4 жыл бұрын
great video please keep on reading papers and explaining them!
@MANDLO
@MANDLO 4 жыл бұрын
Good explanation. Disagree with the opinion on residual connections being an inductive bias. Without residual connection, a layer might not be able to learn an identical mapping because of non linear transformations in the layers.
@ueihgnurt
@ueihgnurt Жыл бұрын
18:14 When you're destiny to be an ASMR artist but your parents want you to do science
@Xiineet
@Xiineet 4 жыл бұрын
18:14 so fun :D
@lucidraisin
@lucidraisin 4 жыл бұрын
I'd be open to an ASMR paper review from Yannic lol
@rbain16
@rbain16 4 жыл бұрын
@@lucidraisin I came down to the comments just to say this! Haha!
@IntuitMachine
@IntuitMachine 4 жыл бұрын
Excellent video summary! Can you explain why you think Transformers is a 'more general' architecture? It seems to me that it has more 'inductive biases', but would that not imply less general? What is it about transformers that make it more general than MLP?
@YannicKilcher
@YannicKilcher 4 жыл бұрын
the re-computation of weights at every forward pass
@javiervargas6323
@javiervargas6323 4 жыл бұрын
Liked in just the first 3 minutes for the laughs on your very accurate jokes. Then I saw the entire video, I would have liked it anyway ;) thanks great work
@rahulallam65
@rahulallam65 2 жыл бұрын
The actual explanation starts at 5:30
@waterflarz
@waterflarz 4 жыл бұрын
Aren't we also adding a similar bias to CNNs by feeding in image patches to the transformer? This still forces a relationship between neighboring pixels.
@YannicKilcher
@YannicKilcher 4 жыл бұрын
yes, but here we can do long range dependencies in 1 layer
@chrismartinis8924
@chrismartinis8924 3 жыл бұрын
Very well presented ... thank you for putting in the effort.
@Jacob-jc6hj
@Jacob-jc6hj 3 жыл бұрын
Which program are you using to annotate your papers?
@scottmiller2591
@scottmiller2591 4 жыл бұрын
I'm naming my next network NiT-L/16.
@arjunpukale3310
@arjunpukale3310 4 жыл бұрын
Can we use bert for video classification? If yess then please share some resources
@MANDLO
@MANDLO 4 жыл бұрын
Bert is a transformer model trained on texts. There will be architectures similar to this paper for videos in future
@amirhamidi7013
@amirhamidi7013 3 жыл бұрын
I wanna ask you, How can I use transformers, for matching tasks?( distinguishing an image of object like a person among a group of person)
@YannicKilcher
@YannicKilcher 3 жыл бұрын
with the right loss, yes
@amirhamidi7013
@amirhamidi7013 3 жыл бұрын
Can you suggest me some of the losses that suitable for tracking issues?
1% vs 100% #beatbox #tiktok
01:10
BeatboxJCOP
Рет қаралды 67 МЛН
REAL or FAKE? #beatbox #tiktok
01:03
BeatboxJCOP
Рет қаралды 18 МЛН
VIP ACCESS
00:47
Natan por Aí
Рет қаралды 30 МЛН
Transformers (how LLMs work) explained visually | DL5
27:14
3Blue1Brown
Рет қаралды 4,1 МЛН
Vision Transformer Basics
30:49
Samuel Albanie
Рет қаралды 33 М.
Visualizing transformers and attention | Talk for TNG Big Tech Day '24
57:45
Vision Transformer for Image Classification
14:47
Shusen Wang
Рет қаралды 123 М.
Attention in transformers, visually explained | DL6
26:10
3Blue1Brown
Рет қаралды 1,9 МЛН
Why Does Diffusion Work Better than Auto-Regression?
20:18
Algorithmic Simplicity
Рет қаралды 400 М.
DETR: End-to-End Object Detection with Transformers (Paper Explained)
40:57
OpenAI CLIP: ConnectingText and Images (Paper Explained)
48:07
Yannic Kilcher
Рет қаралды 139 М.
Kolmogorov-Arnold Networks (KANs): Redefining Neural Nets? | MLBBQ | Theodore LaGrow
50:25
1% vs 100% #beatbox #tiktok
01:10
BeatboxJCOP
Рет қаралды 67 МЛН