The Wrong Batch Size Will Ruin Your Model

Поделиться
HTML-код
  • Опубликовано: 27 окт 2024

Комментарии • 32

  • @ErlendDavidson
    @ErlendDavidson 2 года назад +23

    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

      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.

  • @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

    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.

  • @Metryk
    @Metryk 9 месяцев назад +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!

  • @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.

  • @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.

  • @lakeguy65616
    @lakeguy65616 Год назад +3

    so, what is the optimal batch size?

    • @underfitted
      @underfitted  Год назад +1

      It depends. Start with 32 and experiment from there.

    • @lakeguy65616
      @lakeguy65616 Год назад +1

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

    • @underfitted
      @underfitted  Год назад +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.

  • @Agrover112
    @Agrover112 2 года назад +2

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

  • @Darkraak
    @Darkraak 12 дней назад

    Great video man 👏

  • @axelanderson2030
    @axelanderson2030 Год назад

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

  • @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 Год назад +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.

  • @OmarBoukchana
    @OmarBoukchana Год назад

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

  • @muhammadtalmeez3276
    @muhammadtalmeez3276 Год назад

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

  • @ziquaftynny9285
    @ziquaftynny9285 Год назад

    I love your presentation style! Very energetic :)

  • @akshay0072
    @akshay0072 5 месяцев назад +1

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

    • @underfitted
      @underfitted  5 месяцев назад +1

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

  • @michaelsprinzl9045
    @michaelsprinzl9045 6 месяцев назад +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.