The Wrong Batch Size Will Ruin Your Model

Поділитися
Вставка
  • Опубліковано 25 гру 2024

КОМЕНТАРІ • 32

  • @ErlendDavidson
    @ErlendDavidson 2 роки тому +24

    If you scale the batch size by the learning rate (i.e. lr=(batch_size/32.)*0.01) then the stochastic gradient descent looks sort of okay here.

    • @underfitted
      @underfitted  2 роки тому

      Interesting :)

    • @jasdeepsinghgrover2470
      @jasdeepsinghgrover2470 2 роки тому +2

      I completely agree ... Because the number of updates happening depend on batch size and even the size of the update. So if the learning rate is scaled according to batch size linearly the model can perform very well even with much smaller batches.

  • @Metryk
    @Metryk 11 місяців тому +2

    Hi! Maybe you can help me with this one: if I want to test an already pre-trained image classifier, how do I proceed regarding the amount of images used? The set containing test images has 100k images, I guess it wouldn't make any sense to load them all at once, so how do I proceed? Thanks!

  • @OliverHennhoefer
    @OliverHennhoefer 2 роки тому +4

    Really like the videos. However, I want to warn against the general statement that a batch size of one is not recommended. It really depends on the problem/data. So don't simply dismiss stochastic gradient descent, try it!

    • @underfitted
      @underfitted  2 роки тому +1

      I think that’s fair. I’ve never used it in any of the problems I’ve worked on, but you are right.

  • @edmundfreeman7203
    @edmundfreeman7203 2 роки тому +2

    This is the kind of thing that I hate about deep learning. A single parameter in the optimization method can completely change the results. Batches should be small but not too small. How small? That's for heuristics but will change on different data sets.

  • @lakeguy65616
    @lakeguy65616 2 роки тому +3

    so, what is the optimal batch size?

    • @underfitted
      @underfitted  2 роки тому +1

      It depends. Start with 32 and experiment from there.

    • @lakeguy65616
      @lakeguy65616 2 роки тому +1

      @@underfitted Does the amount of main memory Ram or GPU ram make a difference? (great videos!)

    • @underfitted
      @underfitted  2 роки тому +2

      It does! Your batch has to fit in memory, or it won't work. When you are working with images, for example, you'll quickly find that your batch size can't be too large if you want to fit it in the GPU's memory.

  • @ErlendDavidson
    @ErlendDavidson 2 роки тому +5

    What do you think of (artificially) adding noise to the learning rate. I feel like it used to be more popular to do that, but almost never see it these days.

    • @underfitted
      @underfitted  2 роки тому +2

      Yeah… never seen that honestly. I’ve used schedules to decrease the learning rate over time, but never read about adding noise to it.

  • @johnmoustakas8897
    @johnmoustakas8897 2 роки тому +2

    Good work, hope your channel gets more attention

    • @underfitted
      @underfitted  2 роки тому

      Thanks, John! It takes time and work but I’ll make it happen.

  • @Agrover112
    @Agrover112 2 роки тому +2

    Hey love this video! Was losing touch of the basics !

  • @OmarBoukchana
    @OmarBoukchana Рік тому

    i didnt see a helpful video like this one in the entire internet, thank you ♥

  • @Darkraak
    @Darkraak 2 місяці тому

    Great video man 👏

  • @Levy957
    @Levy957 2 роки тому +1

    Amazing!!
    Did u know why the batch size os always 32, 64, 128?

    • @underfitted
      @underfitted  2 роки тому +2

      I read somewhere about the ability to fit batches in a GPU... can't remember where exactly. That being said, I've seen experiments that show that it really doesn't matter much (if at all.)

    • @MrAleksander59
      @MrAleksander59 2 роки тому +1

      It's better for memory usage. GPU, CPU, hard drives, SSD and other in the current 2-bit logic uses memory blocks with sizes of power 2. 2^5 = 32, 2^6=64, 2^7=128 etc. You always want maximum usage of memory. For example you have array with floats, each float will take 32 bits. So, at least it divisible by 32.

  • @axelanderson2030
    @axelanderson2030 Рік тому

    If you generate a dummy dataset and set a static learning rate, then smaller batch sizes work better? wtf?

  • @ziquaftynny9285
    @ziquaftynny9285 2 роки тому

    I love your presentation style! Very energetic :)

  • @muhammadtalmeez3276
    @muhammadtalmeez3276 2 роки тому

    Your videos are amazing. Thank you so much for this great knowledge and beautiful videos.

  • @akshay0072
    @akshay0072 7 місяців тому +1

    Good content. Try improving ur way of teaching. Learning should in relaxed tone

    • @underfitted
      @underfitted  7 місяців тому +1

      Thanks! This was an old video. I’ve tried to improve in the latest few.

  • @michaelsprinzl9045
    @michaelsprinzl9045 8 місяців тому +1

    A new cat video. Cute.

  • @sarahpeterson2702
    @sarahpeterson2702 Рік тому

    the question is whether if you use a batch and reach the global minimum is your model functionally equivalent to one that didn't batch? Are the weights identical... no they aren't . if your model is generative you don't have equivalence with batch/non batch.