Answers.Body: <p>You are going to generate the images by flipping, rotating, etc. which will happen anyways in augmentation. Augmentation can happen on the fly so you don't waste memory storing those new images, thus, you can train your network fast. You can use RandAugment or AutoAugment for augmentation.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-09-18T16:39:21.003Z
Answers.Text: Let me clarify: I can (a) generate "unique" new images, or (b) generate "augmented" new images. Which one is preferred?
Answers.UserDisplayName: Blademaster
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-09-18T17:57:43.530Z
Answers.Text: Before taking this decision, taking the embeddings of your current dataset through Resnet50 or EffNetB0, then, doing PCA for plotting in 2D, would give us an idea about the distribution of data. If you find it wide enough, then, augment, if not, generate more and perhaps improve the method of generation if you don't find enough diversity.
Answers.UserDisplayName: Abhishek Verma
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-09-18T19:09:20.700Z
Answers.Text: Thanks! That's great advice, I'll give it a try. Just one question: since I'm not doing image classification, do you think the embeddings of ResNet50 (or similar classification NNs) would be accurate enough? Thanks once again!
Answers.UserDisplayName: Blademaster
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-09-19T20:08:38.173Z
Answers.Text: Yes, they are useful since they tell you about the general properties of images. Out of ResNet and EffNetB0, go for EffNet though (it has proven to better across many-many domains). It beats the usual method of flattening the images and then performing PCA.
Answers.UserDisplayName: Abhishek Verma
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-09-18T07:59:28.873Z
Answers.LastActivityDate: 2022-09-18T08:11:48.690Z
Answers.LastEditDate: 2022-09-18T08:11:48.690Z
Answers.UserDisplayName: Abhishek Verma
Body: <p>I'm training a deep learning model to map binary images to grayscale values of the same shape. For the dataset, I can genearate one as large and diverse as I want it to be.</p>
  <p>My question is: let's say the original dataset I created contains 100k images. I can either generate another 900k unique images (so that my training set is 1M in total), or to use data augemntation on the ones I already have and somehow (flipping, rotating, etc.) generate another 900k (I know that in 2D, there's probably only 8 different types of unique images that can be generated by flipping/rotating or a combination, but that's beside the point here).</p>
  <p>Which one would you go for and why? Thank you so much!</p>
  
Tags: <neural-networks><deep-learning><convolutional-neural-networks><data-augmentation>
Title: Is data augmentation beneficial even if the dataset is large/diverse enough?
UserDisplayName: Blademaster
ThreadText: # Is data augmentation beneficial even if the dataset is large/diverse enough?
  
  (Asked by: username_0 on 2022-09-17)
  
  I'm training a deep learning model to map binary images to grayscale values of the same shape. For the dataset, I can genearate one as large and diverse as I want it to be.
  
  My question is: let's say the original dataset I created contains 100k images. I can either generate another 900k unique images (so that my training set is 1M in total), or to use data augemntation on the ones I already have and somehow (flipping, rotating, etc.) generate another 900k (I know that in 2D, there's probably only 8 different types of unique images that can be generated by flipping/rotating or a combination, but that's beside the point here).
  
  Which one would you go for and why? Thank you so much!
  
  **Tags:** neural-networks, deep-learning, convolutional-neural-networks, data-augmentation
  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_1 on 2022-09-18. Score: 2
  
  You are going to generate the images by flipping, rotating, etc. which will happen anyways in augmentation. Augmentation can happen on the fly so you don't waste memory storing those new images, thus, you can train your network fast. You can use RandAugment or AutoAugment for augmentation.
  
  > **Comments:**
  > **username_0**: Let me clarify: I can (a) generate "unique" new images, or (b) generate "augmented" new images. Which one is preferred?  
  > **username_1**: Before taking this decision, taking the embeddings of your current dataset through Resnet50 or EffNetB0, then, doing PCA for plotting in 2D, would give us an idea about the distribution of data. If you find it wide enough, then, augment, if not, generate more and perhaps improve the method of generation if you don't find enough diversity.  
  > **username_0**: Thanks! That's great advice, I'll give it a try. Just one question: since I'm not doing image classification, do you think the embeddings of ResNet50 (or similar classification NNs) would be accurate enough? Thanks once again!  
  > **username_1**: Yes, they are useful since they tell you about the general properties of images. Out of ResNet and EffNetB0, go for EffNet though (it has proven to better across many-many domains). It beats the usual method of flattening the images and then performing PCA.  
  
  ---
  
  