Closed khawar-islam closed 10 months ago
Hi, Khawar, thank you for your contact. It is because Figure 3 is just one example of IPMix. Since t= 3, IPMix will randomly choose three operations from augmentations list. In this example, it chooses posterize, translate_x, and equalize. However, it can also select mirror, invert, and shear_x or any other operations from augmentations. (you can also set t=4, 5,...) Please note this randomness is important and can improve the diversity of generated images to improve robustness. If you have any troubles in understanding this diversity and randomness, I strongly recommend you read some papers about this topic. Some of the most impressive papers is below. I believe these works can help you to get some insights and develop your own works. Good luck.
[1].Cubuk, Ekin Dogus et al. “AutoAugment: Learning Augmentation Strategies From Data.” 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR) (2019): 113-123. [2]. Cubuk, Ekin Dogus et al. “Randaugment: Practical automated data augmentation with a reduced search space.” 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops (CVPRW) (2019): 3008-3017. [3]. Hendrycks, Dan et al. “AugMix: A Simple Data Processing Method to Improve Robustness and Uncertainty.” ArXiv abs/1912.02781 (2019): n. pag. [4]. Wang, Haotao et al. “AugMax: Adversarial Composition of Random Augmentations for Robust Training.” Neural Information Processing Systems (2021).
Thank you very much, I understand your concept and I saved your suggested paper.
Hello @hzlsaber,
I hope this message finds you well. I'm reaching out to seek some clarification regarding the implementation of augmentation methods in IPMix as illustrated in your paper, specifically related to Figure 3.
In the figure, it is shown that IPMix applies the
posterize
,translate-x
, andequalize
augmentations, followed by a combination of w1 and w2. However, I noticed a different thing maybe i am confused to understand in the implementation within thecifar.py
script. The code snippet:uses
np.random.choice(aug_list)
to randomly select an augmentation, which seems to deviate from the specific augmentations(posterize, translate_x, and equalize)
mentioned in the figure.Furthermore, the augmentation list in the script includes a broader range of operations:
Could you please provide some insight into why there is this variation between the paper's depiction and the actual implementation? Understanding the reasoning behind this choice would greatly enhance my comprehension of the paper's methodologies.
Thank you for your time and consideration in addressing this query.