Group Normalization (Paper Explained)

  Рет қаралды 31,844

Yannic Kilcher

Yannic Kilcher

Күн бұрын

Пікірлер
@hillosand
@hillosand 3 жыл бұрын
Thanks for the video! Note: normalizing *isn't* making the data more Gaussian, it's just transforming it to have mean of 0 and SD of 1. Gaussian data is often normalized and represented in this way too, but the normalization doesn't make your data any more Gaussian. Normalization does not change the inherent distributional shape of the data, just the mean and SD. For example, if your data was right-tailed in one dimension, it would remain right-tailed (and non-gaussian looking), it would just have a mean and SD of 0 and 1, respectively.
@yes-vy6bn
@yes-vy6bn 2 жыл бұрын
yeah it's really called standardization which comes from the equation to convert a normal distribution to a standard normal distribution
@bluel1ng
@bluel1ng 4 жыл бұрын
Nice explanation of BN at the beginning! Glad you kept it simple and did not use mythical "internal covariate shift" terminology. ;-)
@Тима-щ2ю
@Тима-щ2ю 6 ай бұрын
it is so true about mythical "internal covariate shift" terminology))
@rbain16
@rbain16 4 жыл бұрын
Thank gosh you mentioned the other way of thinking about batch norm @ 13:00. I thought I'd misunderstood batch norm the whole time. Like always, top notch content :)
@mkamp
@mkamp 4 жыл бұрын
Thanks for taking the time to walk us through this so slowly. Much appreciated.
@bimds1661
@bimds1661 4 жыл бұрын
The visualization/explanation of batch norm was really helpful to understand how it works in a CNN! Thanks :)
@IBMua
@IBMua 4 жыл бұрын
Definitely one of the best NN explanation videos I've seen.
@vandanaschannel4000
@vandanaschannel4000 3 жыл бұрын
Thanks man. Perfect illustration to understand the difference between batch norm and layer norm.
@MiroslawHorbal
@MiroslawHorbal 4 жыл бұрын
Thanks for the videos. You do a great job of going over the details of papers and summarizing the key points.
@reginaphalange2563
@reginaphalange2563 4 жыл бұрын
"I usually don't believe the experiments that you see in single paper." LOL
@fahdciwan8709
@fahdciwan8709 4 жыл бұрын
Thanks a lot Yannic!! keep the videos coming
@johnkilbride3436
@johnkilbride3436 4 жыл бұрын
Well, I know what I’m adding to my model later. Thank you for the clear explanation.
@YannicKilcher
@YannicKilcher 4 жыл бұрын
Also add weight standardization
@andreasv9472
@andreasv9472 4 жыл бұрын
@@YannicKilcher que?
@grayleafmorgo
@grayleafmorgo 2 жыл бұрын
good review Yannic it helps me a lot to faster understanding the papers
@indraneilpaul1309
@indraneilpaul1309 3 жыл бұрын
It seems that the method is motivated by the fact that their might be a few correlated or similar channels but there is no effort to figure out which channels should be grouped together before normalizing them together. I'm surprised that this effect has been replicated across multiple efforts as you mention.
@makgaiduk
@makgaiduk 11 ай бұрын
How does GroupNorm compare with the modern version of BatchNorm with running momentums? Sounds like momentums should fix the problem of small batch sizes on their own
@eelcohoogendoorn8044
@eelcohoogendoorn8044 4 жыл бұрын
What I dont quite get here, looking at the paper and the pytorch implementation, is that the batch axis remains unused. As far as making the point that you can get enough samples to compute meaningfull statistics without aggregating over the batch at all, its an interesting experiment. But it does show a tradeoff. If you have a batch thats bigger than 1, wouldn't you at least want to have the option to compute your statistics over the batch as well? Seem intuitively like that would bring you closer to the optimal big-batch-statistics behavior. Am I missing something here?
@YannicKilcher
@YannicKilcher 4 жыл бұрын
You could consider that. but there are other factors, like with batch norm, you have to track moving averages for test time, and also if you use distributed training, you run into synchronization problems.
@DerUltraGamerr
@DerUltraGamerr 4 жыл бұрын
Speaking about normalization, I was wondering about the intuition of LayerNorm in Transformer models. Usually it is applied after the concatenation and projection of the multiheaded self-attention output but wouldn't it make sense to apply it to each head separately to get more fine-grained normalization statistics?
@YannicKilcher
@YannicKilcher 4 жыл бұрын
There's always a tradeoff. what you're suggesting would also introduce more variance
@erictian8075
@erictian8075 4 жыл бұрын
Great video! Thanks! "But did you really do the experiment?"
@dimitrisspiridonidis3284
@dimitrisspiridonidis3284 2 жыл бұрын
i love your paper reviews
@carlosnacher3593
@carlosnacher3593 Жыл бұрын
Thank you so much! This explanation is literally what I needed 🙏🏽🤝🏽
@naru909
@naru909 3 жыл бұрын
This is gold. Thank you!
@Konstantin-qk6hv
@Konstantin-qk6hv 2 жыл бұрын
Great explanation. Love your videos!
@AlterMachKeinAuge
@AlterMachKeinAuge 11 ай бұрын
Awesome content. Thanks!
@saeidshamsaliei2536
@saeidshamsaliei2536 3 жыл бұрын
Thanks a lot Yannic
@proreduction
@proreduction 3 жыл бұрын
To be sure I am understanding everything correctly: If you are training a fully connected NN (MLP) with only 1 channel, then Layer Norm = Instance Norm = Group Norm, correct?
@moonryu2806
@moonryu2806 4 жыл бұрын
15:13 you said you calculate the mean of 3 channel but the picture looks like have 6 different channel. is picture does not represent the 3 channel?
@YannicKilcher
@YannicKilcher 4 жыл бұрын
In Layer norm, all 6 channels are averaged, in group norm just the 3
@anynamecanbeuse
@anynamecanbeuse 4 жыл бұрын
I don't understand clearly. It seems Group norm just group some sequenced channels together, then how can you say they are just the same type of features?
@YannicKilcher
@YannicKilcher 4 жыл бұрын
The network will make them related by you imposing it.
@bright1402
@bright1402 4 жыл бұрын
Great explanation! Thank you~
@Erosis
@Erosis 4 жыл бұрын
I'm not convinced. I think they're going to have to include more of those groupnorm "experiments" :) 24:06
@nachiketa9245
@nachiketa9245 3 жыл бұрын
Amazing explanation.
@ekstrapolatoraproksymujacy412
@ekstrapolatoraproksymujacy412 4 жыл бұрын
isn't this simplified version of normalization used in AlexNet from 2012?
@YannicKilcher
@YannicKilcher 4 жыл бұрын
maybe. all these things look kinda similar, but if an element is repeated often, the precise implementation matters
@dermitdembrot3091
@dermitdembrot3091 4 жыл бұрын
I usually even go with batch size of 1 when processing videos 😉 (with my brain)
@Chr0nalis
@Chr0nalis 4 жыл бұрын
Hmm yeah but what about non-conv networks?. Doesn't really make sense to group features from a specific layer for non-structured data imo.
@rahuldeora5815
@rahuldeora5815 4 жыл бұрын
Nice one! Enjoyed it. Can you do Stand-Alone Self-Attention in Vision Models, it has huge potential impact ?
@seankernitsman6055
@seankernitsman6055 4 жыл бұрын
+1 for the self-attention paper by J. Cheng, L. Dong and M. Lapata. Thanks for the video(:
@julian390
@julian390 4 жыл бұрын
Shouldn't Batchnorm allow us to drop the bias term? It seems reasonable in my head but I couldn't find anything on it. Am I missing something?
@YannicKilcher
@YannicKilcher 4 жыл бұрын
It allows you to drop the bias term of the convolutional/dense layers, yes
@tropopyte6473
@tropopyte6473 4 жыл бұрын
​@@YannicKilcher Depends if you apply BN pre or post activation, doesn't it? Yes, it seems to be common practice to use BN pre activation, where you can drop the bias, but in my head it just makes much more sense to apply BN post activation. Especially if the argument is "i want unit gaussian like inputs to my layer". Using ReLU after BN will cut off half of my zero centered gaussian distribution, causing it to be neither zero centered, nor have a standard deviation of one, nor look much like a gaussian distribution. ...if my understanding of it is correct...
@julian390
@julian390 4 жыл бұрын
Ah that makes a lot of sense, thank you :) This Channel is amazing!
@guyindisguise
@guyindisguise 4 жыл бұрын
@@tropopyte6473 I was wondering the same thing, did you find an answer to that question?
@CppExpedition
@CppExpedition 3 жыл бұрын
As always, great place to start reading! 🙃
@JackofSome
@JackofSome 4 жыл бұрын
7 minutes in and I'm thinking "is this paper about aggregating statistics around normalization and then using those for each batch". Let's see if I was correct. Edit 1: doesn't seem like it Edit 2: neh, I'm wrong Edit 3: I like my idea better
@YannicKilcher
@YannicKilcher 4 жыл бұрын
Wouldn't that be batch norm that's always in eval mode?
@ManishChoudhary-hy5ey
@ManishChoudhary-hy5ey 4 жыл бұрын
Nice explained
@-mwolf
@-mwolf Жыл бұрын
Thank you
@evgeniinikitin8843
@evgeniinikitin8843 4 жыл бұрын
great video! I disagree about the uselessness of the group norm experiment though. batchnorm is not the only possible reason of performance degradation in the small batch size mode, so it's a perfectly viable experiment
@Ronschk
@Ronschk 4 жыл бұрын
Thanks for the nice explanation! As it goes into a similar direction, do you know about network deconvolution? Was presented at ICLR this year and looks very interesting: arxiv.org/pdf/1905.11926.pdf
@oneman7094
@oneman7094 4 жыл бұрын
Question. Do you read papers with sunglasses on? Almost in every video that we see your face you have sunglasses and I am always wandering while watching...
@YannicKilcher
@YannicKilcher 4 жыл бұрын
Sure 😁
@GenerativeDiffusionModel_AI_ML
@GenerativeDiffusionModel_AI_ML 4 жыл бұрын
@@YannicKilcher Wearing sunglasses helps understanding the paper!!!
@YannicKilcher
@YannicKilcher 4 жыл бұрын
@@GenerativeDiffusionModel_AI_ML Yea the white paper is just too bright :D
@herp_derpingson
@herp_derpingson 4 жыл бұрын
How is group norm reducing internal covariance shift? It is agnostic to the batch moments.
@YannicKilcher
@YannicKilcher 4 жыл бұрын
It's probably not. It doesn't appear to matter. What appears to matter is that you normalize somehow.
@herp_derpingson
@herp_derpingson 4 жыл бұрын
@@YannicKilcher Dark magic :O
@hieuza
@hieuza 4 жыл бұрын
24:07 they reduce the learning rate by 10x at 30, 60, 90 epochs -- that's why the error reduce. Why is it funny?
@JackofSome
@JackofSome 4 жыл бұрын
That's not what he's laughing about. The full battery of experiments done on group norm at that point are kind of unnecessary as they really just needed to show the 2ims/batch case.
@eco24t
@eco24t 4 жыл бұрын
The point isn't that they decreased the learning rate. The point is that the group norm performance shouldn't be affected by the batch size, but they tested multiple batch sizes anyway, possibly at the request of a reviewer.
Renormalization: Why Bigger is Simpler
16:37
Broken Symmetries
Рет қаралды 23 М.
Хаги Ваги говорит разными голосами
0:22
Фани Хани
Рет қаралды 2,2 МЛН
Непосредственно Каха: сумка
0:53
К-Media
Рет қаралды 12 МЛН
Group Normalization
16:24
European Computer Vision Association
Рет қаралды 4,7 М.
Batch normalization | What it is and how to implement it
13:51
AssemblyAI
Рет қаралды 67 М.
Linformer: Self-Attention with Linear Complexity (Paper Explained)
50:24
Layer Normalization - EXPLAINED (in Transformer Neural Networks)
13:34
Neural Architecture Search without Training (Paper Explained)
35:06
Yannic Kilcher
Рет қаралды 28 М.
Batch Normalization in neural networks - EXPLAINED!
17:00
CodeEmporium
Рет қаралды 5 М.
Хаги Ваги говорит разными голосами
0:22
Фани Хани
Рет қаралды 2,2 МЛН