{
  "id": 275335,
  "title": "8th Place Solution(augmentation part)",
  "url": "/competitions/g2net-gravitational-wave-detection/discussion/275335",
  "author_name": "ONODERA",
  "post_date": "2021-09-30T01:20:00.804000",
  "votes": 60,
  "comment_count": 19,
  "views": 0,
  "content": "<p>I'm sharing my worked augmentation part here.</p>\n<ul>\n<li>Zebra Mixup<br>\nThis augmentation worked greatly(+0.001). We called this zebra mixup.</li>\n</ul>\n<pre><code>wave_new[:, 0:4096:2] = wave1[:, 0:4096:2]\nwave_new[:, 1:4096:2] = wave2[:, 1:4096:2]\n</code></pre>\n<ul>\n<li>Negative Flip<br>\nWorked for only negative sample</li>\n</ul>\n<pre><code>wave = wave[:, ::-1].copy()\n</code></pre>\n<ul>\n<li>Swap with Other Negative<br>\nNegative sample can be switched with other negative</li>\n</ul>\n<pre><code>if np.random.uniform() &gt; 0.5:\n    wave1[0] = wave2[0]\nif np.random.uniform() &gt; 0.5:\n    wave1[1] = wave2[1]\nif np.random.uniform() &gt; 0.5:\n    wave1[2] = wave2[2]\n</code></pre>\n<ul>\n<li>LIGO Swap<br>\nBoth LIGOs are completely same, so we can swap those.</li>\n</ul>\n<pre><code>w0 = wave1[0].copy()\nwave1[0] = wave1[1]\nwave1[1] = w0\n</code></pre>",
  "messages": [
    {
      "id": 1528815,
      "postDate": "2021-09-30T01:20:00.803Z",
      "content": "<p>I'm sharing my worked augmentation part here.</p>\n<ul>\n<li>Zebra Mixup<br>\nThis augmentation worked greatly(+0.001). We called this zebra mixup.</li>\n</ul>\n<pre><code>wave_new[:, 0:4096:2] = wave1[:, 0:4096:2]\nwave_new[:, 1:4096:2] = wave2[:, 1:4096:2]\n</code></pre>\n<ul>\n<li>Negative Flip<br>\nWorked for only negative sample</li>\n</ul>\n<pre><code>wave = wave[:, ::-1].copy()\n</code></pre>\n<ul>\n<li>Swap with Other Negative<br>\nNegative sample can be switched with other negative</li>\n</ul>\n<pre><code>if np.random.uniform() &gt; 0.5:\n    wave1[0] = wave2[0]\nif np.random.uniform() &gt; 0.5:\n    wave1[1] = wave2[1]\nif np.random.uniform() &gt; 0.5:\n    wave1[2] = wave2[2]\n</code></pre>\n<ul>\n<li>LIGO Swap<br>\nBoth LIGOs are completely same, so we can swap those.</li>\n</ul>\n<pre><code>w0 = wave1[0].copy()\nwave1[0] = wave1[1]\nwave1[1] = w0\n</code></pre>",
      "rawMarkdown": "I'm sharing my worked augmentation part here.\n\n- Zebra Mixup\nThis augmentation worked greatly(+0.001). We called this zebra mixup.\n```\nwave_new[:, 0:4096:2] = wave1[:, 0:4096:2]\nwave_new[:, 1:4096:2] = wave2[:, 1:4096:2]\n```\n- Negative Flip\nWorked for only negative sample\n```\nwave = wave[:, ::-1].copy()\n```\n- Swap with Other Negative\nNegative sample can be switched with other negative\n```\nif np.random.uniform() > 0.5:\n    wave1[0] = wave2[0]\nif np.random.uniform() > 0.5:\n    wave1[1] = wave2[1]\nif np.random.uniform() > 0.5:\n    wave1[2] = wave2[2]\n```\n- LIGO Swap\nBoth LIGOs are completely same, so we can swap those.\n```\nw0 = wave1[0].copy()\nwave1[0] = wave1[1]\nwave1[1] = w0\n```",
      "votes": 59
    },
    {
      "id": 1528898,
      "postDate": "2021-09-30T02:59:22.547Z",
      "content": "<p>oh, i used the  Malayan tapir  instead:</p>\n<pre><code>                if 1: \n                    index = torch.randperm(batch_size).cuda()\n                    wave1 = wave[index]\n\n                    for b in range(batch_size):\n                        if np.random.rand() &gt;0.5:\n                            wave[b,:,:2048] =  wave1[b,:,:2048]\n</code></pre>\n<p>i should have try more stripes</p>",
      "rawMarkdown": "oh, i used the  Malayan tapir  instead:\n\n```\n                if 1: \n                    index = torch.randperm(batch_size).cuda()\n                    wave1 = wave[index]\n\n                    for b in range(batch_size):\n                        if np.random.rand() >0.5:\n                            wave[b,:,:2048] =  wave1[b,:,:2048]\n\n\n```\n\ni should have try more stripes",
      "votes": 5
    },
    {
      "id": 1529936,
      "postDate": "2021-09-30T19:18:41.150Z",
      "content": "<p>here is the cqt of zebra augmented wave:</p>\n<p><img src=\"https://i.ibb.co/sqK17hz/zebra-aug.gif\" alt=\"https://i.ibb.co/sqK17hz/zebra-aug.gif\"></p>",
      "rawMarkdown": "here is the cqt of zebra augmented wave:\n\n![https://i.ibb.co/sqK17hz/zebra-aug.gif](https://i.ibb.co/sqK17hz/zebra-aug.gif)",
      "votes": 6,
      "replies": [
        {
          "id": 1530497,
          "postDate": "2021-10-01T07:39:33.563Z",
          "content": "<p>comparison of zebra augmentation with others<br>\nred: no augmentation at all<br>\nblue: normal argumentation<br>\ngreen: normal + zebra argumentation</p>\n<p>Note: the green curve will eventually oscillate if it is trained long enough and the model is large enough to overfit. If the current model doesn't overfits, we can try a larger model. This is Andrew Ng famous MLOps : <br>\ndata,model --&gt;more data, larger model --&gt; even more data, larger model …</p>\n<p><img src=\"https://i.ibb.co/DLj0hyH/Selection-963.png\" alt=\"https://i.ibb.co/DLj0hyH/Selection-963.png\"><br>\n<img src=\"https://i.ibb.co/XSyQ8kz/Selection-964.png\" alt=\"https://i.ibb.co/XSyQ8kz/Selection-964.png\"></p>\n<p>explanation of oscillatory oberservation  in overfitting can be found at<br>\n<a href=\"https://www.kaggle.com/c/g2net-gravitational-wave-detection/discussion/275476\" target=\"_blank\">https://www.kaggle.com/c/g2net-gravitational-wave-detection/discussion/275476</a><br>\n<a href=\"https://www.kaggle.com/c/g2net-gravitational-wave-detection/discussion/269154\" target=\"_blank\">https://www.kaggle.com/c/g2net-gravitational-wave-detection/discussion/269154</a></p>",
          "rawMarkdown": "comparison of zebra augmentation with others\nred: no augmentation at all\nblue: normal argumentation\ngreen: normal + zebra argumentation\n\nNote: the green curve will eventually oscillate if it is trained long enough and the model is large enough to overfit. If the current model doesn't overfits, we can try a larger model. This is Andrew Ng famous MLOps : \ndata,model -->more data, larger model --> even more data, larger model ...\n\n\n\n![https://i.ibb.co/DLj0hyH/Selection-963.png](https://i.ibb.co/DLj0hyH/Selection-963.png)\n![https://i.ibb.co/XSyQ8kz/Selection-964.png](https://i.ibb.co/XSyQ8kz/Selection-964.png)\n\nexplanation of oscillatory oberservation  in overfitting can be found at\nhttps://www.kaggle.com/c/g2net-gravitational-wave-detection/discussion/275476\nhttps://www.kaggle.com/c/g2net-gravitational-wave-detection/discussion/269154",
          "votes": 10
        },
        {
          "id": 1530513,
          "postDate": "2021-10-01T07:51:30.087Z",
          "content": "<p>Thank you for these plots of experiments!</p>",
          "rawMarkdown": "Thank you for these plots of experiments!",
          "votes": 1
        },
        {
          "id": 1534575,
          "postDate": "2021-10-05T04:02:34.023Z",
          "content": "<p>Thank you for the nice plots!</p>",
          "rawMarkdown": "Thank you for the nice plots!"
        }
      ]
    },
    {
      "id": 1530196,
      "postDate": "2021-10-01T02:39:11.407Z",
      "content": "<p>What is the intuition behind the Zebra Mixup? Do you mind sharing how the idea come up to you?</p>",
      "rawMarkdown": "What is the intuition behind the Zebra Mixup? Do you mind sharing how the idea come up to you?",
      "votes": 1,
      "replies": [
        {
          "id": 1530398,
          "postDate": "2021-10-01T06:26:03.267Z",
          "content": "<p>check this<br>\ngridmask data augmentation<br>\n<a href=\"https://arxiv.org/abs/2001.04086\" target=\"_blank\">https://arxiv.org/abs/2001.04086</a></p>\n<p><img src=\"https://raw.githubusercontent.com/CrazyVertigo/awesome-data-augmentation/master/assets/GridMask.png\" alt=\"https://raw.githubusercontent.com/CrazyVertigo/awesome-data-augmentation/master/assets/GridMask.png\"></p>\n<p>I am doing comparison experiments on zebra augmentation. <br>\nsee below.</p>\n<p>(the effects are like dropout … you will see training loss increases, but overfitting is prevented. you will see the validation loss changes from U-shape to L-shape)</p>\n<p>i use it as a noise generator</p>\n<pre><code>    if noise is not None and np.random.rand() &lt; 0.5: #random mix stripe\n        wave[...,::2]=noise[...,::2]\n</code></pre>",
          "rawMarkdown": "check this\ngridmask data augmentation\nhttps://arxiv.org/abs/2001.04086\n\n\n![https://raw.githubusercontent.com/CrazyVertigo/awesome-data-augmentation/master/assets/GridMask.png](https://raw.githubusercontent.com/CrazyVertigo/awesome-data-augmentation/master/assets/GridMask.png)\n\n\nI am doing comparison experiments on zebra augmentation. ~~will be ready in a few hours ... ~~\nsee below.\n\n(the effects are like dropout ... you will see training loss increases, but overfitting is prevented. you will see the validation loss changes from U-shape to L-shape)\n\n\ni use it as a noise generator\n\n```\n    if noise is not None and np.random.rand() < 0.5: #random mix stripe\n        wave[...,::2]=noise[...,::2]\n\n\n```",
          "votes": 3
        },
        {
          "id": 1530495,
          "postDate": "2021-10-01T07:38:23.790Z",
          "content": "<p><a href=\"https://www.kaggle.com/richx86\" target=\"_blank\">@richx86</a> We found this <code>wave = wave1[:, 0:4096:2]</code> got 0.80 on CV. So I just tried to mixup with it.</p>\n<p><a href=\"https://www.kaggle.com/hengck23\" target=\"_blank\">@hengck23</a> FYI, I used <code>target = max(target1, target2)</code></p>",
          "rawMarkdown": "@richx86 We found this `wave = wave1[:, 0:4096:2]` got 0.80 on CV. So I just tried to mixup with it.\n\n@hengck23 FYI, I used `target = max(target1, target2)`",
          "votes": 1
        },
        {
          "id": 1530779,
          "postDate": "2021-10-01T12:25:52.060Z",
          "content": "<p>check these as well:</p>\n<p>Improved Mixed-Example Data Augmentation<br>\n<a href=\"https://arxiv.org/abs/1805.11272\" target=\"_blank\">https://arxiv.org/abs/1805.11272</a></p>\n<p><img src=\"https://i.ibb.co/DwwLZ94/Selection-973.png\" alt=\"https://i.ibb.co/DwwLZ94/Selection-973.png\"><br>\n<img src=\"https://i.ibb.co/dWV6YvH/Selection-974.png\" alt=\"https://i.ibb.co/dWV6YvH/Selection-974.png\"></p>\n<p>I have read another paper that creates many images out of one by using, e.g.<br>\nnew image = image[:,::2]<br>\nnew image = image[:,::3]<br>\netc.</p>\n<p>i forget the name of the paper.</p>\n<p>these may be useful for self-learning</p>",
          "rawMarkdown": "check these as well:\n\nImproved Mixed-Example Data Augmentation\nhttps://arxiv.org/abs/1805.11272\n\n![https://i.ibb.co/DwwLZ94/Selection-973.png](https://i.ibb.co/DwwLZ94/Selection-973.png)\n![https://i.ibb.co/dWV6YvH/Selection-974.png](https://i.ibb.co/dWV6YvH/Selection-974.png)\n\n\nI have read another paper that creates many images out of one by using, e.g.\nnew image = image[:,::2]\nnew image = image[:,::3]\netc.\n\ni forget the name of the paper.\n\nthese may be useful for self-learning",
          "votes": 5
        },
        {
          "id": 1530826,
          "postDate": "2021-10-01T13:04:02.700Z",
          "content": "<p><a href=\"https://www.kaggle.com/richx86\" target=\"_blank\">@richx86</a> if your team did not use so much augmentation, there is a lot of room to improve with this. Please try out.</p>",
          "rawMarkdown": "@richx86 if your team did not use so much augmentation, there is a lot of room to improve with this. Please try out.",
          "votes": 1
        },
        {
          "id": 1534581,
          "postDate": "2021-10-05T04:16:22.413Z",
          "content": "<blockquote>\n  <p>We found this wave = wave1[:, 0:4096:2] got 0.80 on CV. So I just tried to mixup with it.</p>\n</blockquote>\n<p><a href=\"https://www.kaggle.com/onodera\" target=\"_blank\">@onodera</a>  I assume this methodology can be generalized to other kinds of transformations, right? </p>\n<p>I mostly work on 1D models and the augmentations are different, but we didn't think of a few augmentations here involving negative samples. Nicely done! Will definitely try later. Thanks!</p>\n<p>Do you have a rough number for the total boost from augmentation? I saw diminishing effect from augmentation. For example, we have nice boost from vflip+gaussian noise, vflip+swap01 channels, but vflip+gaussian noise+swap01 channels doesn't further improve. Is it because there are too many augmentations and the augmented data is no longer resembling the original data? Do you see this diminishing/saturation behavior for 4(or more) composed augmentations?</p>",
          "rawMarkdown": "> We found this wave = wave1[:, 0:4096:2] got 0.80 on CV. So I just tried to mixup with it.\n\n@onodera  I assume this methodology can be generalized to other kinds of transformations, right? \n\nI mostly work on 1D models and the augmentations are different, but we didn't think of a few augmentations here involving negative samples. Nicely done! Will definitely try later. Thanks!\n\nDo you have a rough number for the total boost from augmentation? I saw diminishing effect from augmentation. For example, we have nice boost from vflip+gaussian noise, vflip+swap01 channels, but vflip+gaussian noise+swap01 channels doesn't further improve. Is it because there are too many augmentations and the augmented data is no longer resembling the original data? Do you see this diminishing/saturation behavior for 4(or more) composed augmentations?",
          "votes": 1
        },
        {
          "id": 1534582,
          "postDate": "2021-10-05T04:17:14.660Z",
          "content": "<p><a href=\"https://www.kaggle.com/hengck23\" target=\"_blank\">@hengck23</a> Thanks! Your reply is very informative, as always.</p>",
          "rawMarkdown": "@hengck23 Thanks! Your reply is very informative, as always.",
          "votes": 1
        },
        {
          "id": 1536230,
          "postDate": "2021-10-06T14:38:53.033Z",
          "content": "<p><a href=\"https://www.kaggle.com/richx86\" target=\"_blank\">@richx86</a> As you can see the plot of <a href=\"https://www.kaggle.com/hengck23\" target=\"_blank\">@hengck23</a>, zebra is most powerful augmentation. I think if you use zebra, the uplift of other augmentation is very small.<br>\nRoughly,</p>\n<ul>\n<li>negative flip: 0.0003</li>\n<li>LIGO swap: 0.0005</li>\n<li>Zebra: 0.001</li>\n<li>All in one: 0.0013~</li>\n</ul>",
          "rawMarkdown": "@richx86 As you can see the plot of @hengck23, zebra is most powerful augmentation. I think if you use zebra, the uplift of other augmentation is very small.\nRoughly,\n- negative flip: 0.0003\n- LIGO swap: 0.0005\n- Zebra: 0.001\n- All in one: 0.0013~",
          "votes": 2
        },
        {
          "id": 1537971,
          "postDate": "2021-10-07T23:58:28.990Z",
          "content": "<p><a href=\"https://www.kaggle.com/onodera\" target=\"_blank\">@onodera</a> I see. Thank you very much!</p>",
          "rawMarkdown": "@onodera I see. Thank you very much!",
          "votes": 1
        }
      ]
    },
    {
      "id": 1528828,
      "postDate": "2021-09-30T01:39:08.533Z",
      "content": "<blockquote>\n  <p>Zebra Mixup</p>\n</blockquote>\n<p>LOL this is great. I wish I would have thought of doing that :-)</p>",
      "rawMarkdown": "> Zebra Mixup\n\nLOL this is great. I wish I would have thought of doing that :-)",
      "votes": 2
    },
    {
      "id": 1559910,
      "postDate": "2021-10-27T08:08:15.163Z",
      "content": "<p>Hey All,</p>\n<p>Thank you all for taking part in our competition. The participation has been overwhelmingly positive. We are currently conducting a survey to gauge the demographic and outreach achieved. Kindly spare 2min and fill in this survey <a href=\"https://forms.gle/QP9L16niPexozyhu5\" target=\"_blank\">https://forms.gle/QP9L16niPexozyhu5</a>.</p>\n<p>Thank you all,</p>\n<p>Regards,<br>\nChris</p>",
      "rawMarkdown": "Hey All,\n\nThank you all for taking part in our competition. The participation has been overwhelmingly positive. We are currently conducting a survey to gauge the demographic and outreach achieved. Kindly spare 2min and fill in this survey https://forms.gle/QP9L16niPexozyhu5.\n\nThank you all,\n\nRegards,\nChris"
    },
    {
      "id": 1528844,
      "postDate": "2021-09-30T01:59:28.337Z",
      "content": "<p>thanks for sharing, may i ask the difference of score with and w/o these augmentations?</p>",
      "rawMarkdown": "thanks for sharing, may i ask the difference of score with and w/o these augmentations?",
      "replies": [
        {
          "id": 1528873,
          "postDate": "2021-09-30T02:33:54.170Z",
          "content": "<p>It's hard to describe, because it depends on other setup. For instance zebra is most powerful augmentation, so it decreases improvement of negative flip.<br>\nThat means we have 2**4 patterns.</p>",
          "rawMarkdown": "It's hard to describe, because it depends on other setup. For instance zebra is most powerful augmentation, so it decreases improvement of negative flip.\nThat means we have 2**4 patterns.",
          "votes": 4
        }
      ]
    },
    {
      "id": 1532431,
      "postDate": "2021-10-03T01:38:21.580Z",
      "rawMarkdown": "",
      "isDeleted": true
    }
  ],
  "comments": [
    {
      "id": 1528898,
      "author_name": "hengck23",
      "author_url": "",
      "post_date": "2021-09-30T02:59:22.547000",
      "content": "<p>oh, i used the  Malayan tapir  instead:</p>\n<pre><code>                if 1: \n                    index = torch.randperm(batch_size).cuda()\n                    wave1 = wave[index]\n\n                    for b in range(batch_size):\n                        if np.random.rand() &gt;0.5:\n                            wave[b,:,:2048] =  wave1[b,:,:2048]\n</code></pre>\n<p>i should have try more stripes</p>",
      "votes": 5,
      "replies": []
    },
    {
      "id": 1529936,
      "author_name": "hengck23",
      "author_url": "",
      "post_date": "2021-09-30T19:18:41.150000",
      "content": "<p>here is the cqt of zebra augmented wave:</p>\n<p><img src=\"https://i.ibb.co/sqK17hz/zebra-aug.gif\" alt=\"https://i.ibb.co/sqK17hz/zebra-aug.gif\"></p>",
      "votes": 6,
      "replies": [
        {
          "id": 1530497,
          "author_name": "hengck23",
          "author_url": "",
          "post_date": "2021-10-01T07:39:33.563000",
          "content": "<p>comparison of zebra augmentation with others<br>\nred: no augmentation at all<br>\nblue: normal argumentation<br>\ngreen: normal + zebra argumentation</p>\n<p>Note: the green curve will eventually oscillate if it is trained long enough and the model is large enough to overfit. If the current model doesn't overfits, we can try a larger model. This is Andrew Ng famous MLOps : <br>\ndata,model --&gt;more data, larger model --&gt; even more data, larger model …</p>\n<p><img src=\"https://i.ibb.co/DLj0hyH/Selection-963.png\" alt=\"https://i.ibb.co/DLj0hyH/Selection-963.png\"><br>\n<img src=\"https://i.ibb.co/XSyQ8kz/Selection-964.png\" alt=\"https://i.ibb.co/XSyQ8kz/Selection-964.png\"></p>\n<p>explanation of oscillatory oberservation  in overfitting can be found at<br>\n<a href=\"https://www.kaggle.com/c/g2net-gravitational-wave-detection/discussion/275476\" target=\"_blank\">https://www.kaggle.com/c/g2net-gravitational-wave-detection/discussion/275476</a><br>\n<a href=\"https://www.kaggle.com/c/g2net-gravitational-wave-detection/discussion/269154\" target=\"_blank\">https://www.kaggle.com/c/g2net-gravitational-wave-detection/discussion/269154</a></p>",
          "votes": 10,
          "replies": []
        },
        {
          "id": 1530513,
          "author_name": "ONODERA",
          "author_url": "",
          "post_date": "2021-10-01T07:51:30.087000",
          "content": "<p>Thank you for these plots of experiments!</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1534575,
          "author_name": "Richard Xing",
          "author_url": "",
          "post_date": "2021-10-05T04:02:34.023000",
          "content": "<p>Thank you for the nice plots!</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 1530196,
      "author_name": "Richard Xing",
      "author_url": "",
      "post_date": "2021-10-01T02:39:11.407000",
      "content": "<p>What is the intuition behind the Zebra Mixup? Do you mind sharing how the idea come up to you?</p>",
      "votes": 1,
      "replies": [
        {
          "id": 1530398,
          "author_name": "hengck23",
          "author_url": "",
          "post_date": "2021-10-01T06:26:03.267000",
          "content": "<p>check this<br>\ngridmask data augmentation<br>\n<a href=\"https://arxiv.org/abs/2001.04086\" target=\"_blank\">https://arxiv.org/abs/2001.04086</a></p>\n<p><img src=\"https://raw.githubusercontent.com/CrazyVertigo/awesome-data-augmentation/master/assets/GridMask.png\" alt=\"https://raw.githubusercontent.com/CrazyVertigo/awesome-data-augmentation/master/assets/GridMask.png\"></p>\n<p>I am doing comparison experiments on zebra augmentation. <br>\nsee below.</p>\n<p>(the effects are like dropout … you will see training loss increases, but overfitting is prevented. you will see the validation loss changes from U-shape to L-shape)</p>\n<p>i use it as a noise generator</p>\n<pre><code>    if noise is not None and np.random.rand() &lt; 0.5: #random mix stripe\n        wave[...,::2]=noise[...,::2]\n</code></pre>",
          "votes": 3,
          "replies": []
        },
        {
          "id": 1530495,
          "author_name": "ONODERA",
          "author_url": "",
          "post_date": "2021-10-01T07:38:23.790000",
          "content": "<p><a href=\"https://www.kaggle.com/richx86\" target=\"_blank\">@richx86</a> We found this <code>wave = wave1[:, 0:4096:2]</code> got 0.80 on CV. So I just tried to mixup with it.</p>\n<p><a href=\"https://www.kaggle.com/hengck23\" target=\"_blank\">@hengck23</a> FYI, I used <code>target = max(target1, target2)</code></p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1530779,
          "author_name": "hengck23",
          "author_url": "",
          "post_date": "2021-10-01T12:25:52.060000",
          "content": "<p>check these as well:</p>\n<p>Improved Mixed-Example Data Augmentation<br>\n<a href=\"https://arxiv.org/abs/1805.11272\" target=\"_blank\">https://arxiv.org/abs/1805.11272</a></p>\n<p><img src=\"https://i.ibb.co/DwwLZ94/Selection-973.png\" alt=\"https://i.ibb.co/DwwLZ94/Selection-973.png\"><br>\n<img src=\"https://i.ibb.co/dWV6YvH/Selection-974.png\" alt=\"https://i.ibb.co/dWV6YvH/Selection-974.png\"></p>\n<p>I have read another paper that creates many images out of one by using, e.g.<br>\nnew image = image[:,::2]<br>\nnew image = image[:,::3]<br>\netc.</p>\n<p>i forget the name of the paper.</p>\n<p>these may be useful for self-learning</p>",
          "votes": 5,
          "replies": []
        },
        {
          "id": 1530826,
          "author_name": "ONODERA",
          "author_url": "",
          "post_date": "2021-10-01T13:04:02.700000",
          "content": "<p><a href=\"https://www.kaggle.com/richx86\" target=\"_blank\">@richx86</a> if your team did not use so much augmentation, there is a lot of room to improve with this. Please try out.</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1534581,
          "author_name": "Richard Xing",
          "author_url": "",
          "post_date": "2021-10-05T04:16:22.413000",
          "content": "<blockquote>\n  <p>We found this wave = wave1[:, 0:4096:2] got 0.80 on CV. So I just tried to mixup with it.</p>\n</blockquote>\n<p><a href=\"https://www.kaggle.com/onodera\" target=\"_blank\">@onodera</a>  I assume this methodology can be generalized to other kinds of transformations, right? </p>\n<p>I mostly work on 1D models and the augmentations are different, but we didn't think of a few augmentations here involving negative samples. Nicely done! Will definitely try later. Thanks!</p>\n<p>Do you have a rough number for the total boost from augmentation? I saw diminishing effect from augmentation. For example, we have nice boost from vflip+gaussian noise, vflip+swap01 channels, but vflip+gaussian noise+swap01 channels doesn't further improve. Is it because there are too many augmentations and the augmented data is no longer resembling the original data? Do you see this diminishing/saturation behavior for 4(or more) composed augmentations?</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1534582,
          "author_name": "Richard Xing",
          "author_url": "",
          "post_date": "2021-10-05T04:17:14.660000",
          "content": "<p><a href=\"https://www.kaggle.com/hengck23\" target=\"_blank\">@hengck23</a> Thanks! Your reply is very informative, as always.</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1536230,
          "author_name": "ONODERA",
          "author_url": "",
          "post_date": "2021-10-06T14:38:53.033000",
          "content": "<p><a href=\"https://www.kaggle.com/richx86\" target=\"_blank\">@richx86</a> As you can see the plot of <a href=\"https://www.kaggle.com/hengck23\" target=\"_blank\">@hengck23</a>, zebra is most powerful augmentation. I think if you use zebra, the uplift of other augmentation is very small.<br>\nRoughly,</p>\n<ul>\n<li>negative flip: 0.0003</li>\n<li>LIGO swap: 0.0005</li>\n<li>Zebra: 0.001</li>\n<li>All in one: 0.0013~</li>\n</ul>",
          "votes": 2,
          "replies": []
        },
        {
          "id": 1537971,
          "author_name": "Richard Xing",
          "author_url": "",
          "post_date": "2021-10-07T23:58:28.990000",
          "content": "<p><a href=\"https://www.kaggle.com/onodera\" target=\"_blank\">@onodera</a> I see. Thank you very much!</p>",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 1528828,
      "author_name": "عثمان",
      "author_url": "",
      "post_date": "2021-09-30T01:39:08.533000",
      "content": "<blockquote>\n  <p>Zebra Mixup</p>\n</blockquote>\n<p>LOL this is great. I wish I would have thought of doing that :-)</p>",
      "votes": 2,
      "replies": []
    },
    {
      "id": 1559910,
      "author_name": "ChristopherZerafa",
      "author_url": "",
      "post_date": "2021-10-27T08:08:15.163000",
      "content": "<p>Hey All,</p>\n<p>Thank you all for taking part in our competition. The participation has been overwhelmingly positive. We are currently conducting a survey to gauge the demographic and outreach achieved. Kindly spare 2min and fill in this survey <a href=\"https://forms.gle/QP9L16niPexozyhu5\" target=\"_blank\">https://forms.gle/QP9L16niPexozyhu5</a>.</p>\n<p>Thank you all,</p>\n<p>Regards,<br>\nChris</p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 1528844,
      "author_name": "pppxia",
      "author_url": "",
      "post_date": "2021-09-30T01:59:28.337000",
      "content": "<p>thanks for sharing, may i ask the difference of score with and w/o these augmentations?</p>",
      "votes": 0,
      "replies": [
        {
          "id": 1528873,
          "author_name": "ONODERA",
          "author_url": "",
          "post_date": "2021-09-30T02:33:54.170000",
          "content": "<p>It's hard to describe, because it depends on other setup. For instance zebra is most powerful augmentation, so it decreases improvement of negative flip.<br>\nThat means we have 2**4 patterns.</p>",
          "votes": 4,
          "replies": []
        }
      ]
    },
    {
      "id": 1532431,
      "author_name": "",
      "author_url": "",
      "post_date": "2021-10-03T01:38:21.580000",
      "content": "",
      "votes": 0,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "1528815": "I'm sharing my worked augmentation part here.\n\n- Zebra Mixup\nThis augmentation worked greatly(+0.001). We called this zebra mixup.\n```\nwave_new[:, 0:4096:2] = wave1[:, 0:4096:2]\nwave_new[:, 1:4096:2] = wave2[:, 1:4096:2]\n```\n- Negative Flip\nWorked for only negative sample\n```\nwave = wave[:, ::-1].copy()\n```\n- Swap with Other Negative\nNegative sample can be switched with other negative\n```\nif np.random.uniform() > 0.5:\n    wave1[0] = wave2[0]\nif np.random.uniform() > 0.5:\n    wave1[1] = wave2[1]\nif np.random.uniform() > 0.5:\n    wave1[2] = wave2[2]\n```\n- LIGO Swap\nBoth LIGOs are completely same, so we can swap those.\n```\nw0 = wave1[0].copy()\nwave1[0] = wave1[1]\nwave1[1] = w0\n```",
    "1528898": "oh, i used the  Malayan tapir  instead:\n\n```\n                if 1: \n                    index = torch.randperm(batch_size).cuda()\n                    wave1 = wave[index]\n\n                    for b in range(batch_size):\n                        if np.random.rand() >0.5:\n                            wave[b,:,:2048] =  wave1[b,:,:2048]\n\n\n```\n\ni should have try more stripes",
    "1529936": "here is the cqt of zebra augmented wave:\n\n![https://i.ibb.co/sqK17hz/zebra-aug.gif](https://i.ibb.co/sqK17hz/zebra-aug.gif)",
    "1530196": "What is the intuition behind the Zebra Mixup? Do you mind sharing how the idea come up to you?",
    "1528828": "> Zebra Mixup\n\nLOL this is great. I wish I would have thought of doing that :-)",
    "1559910": "Hey All,\n\nThank you all for taking part in our competition. The participation has been overwhelmingly positive. We are currently conducting a survey to gauge the demographic and outreach achieved. Kindly spare 2min and fill in this survey https://forms.gle/QP9L16niPexozyhu5.\n\nThank you all,\n\nRegards,\nChris",
    "1528844": "thanks for sharing, may i ask the difference of score with and w/o these augmentations?",
    "1532431": ""
  }
}