{
  "id": 492460,
  "title": "20th. My models set / Images that provided the best LB",
  "url": "/competitions/hms-harmful-brain-activity-classification/discussion/492460",
  "author_name": "",
  "post_date": "2024-04-09T16:35:51.104303100Z",
  "votes": 20,
  "comment_count": 5,
  "views": 0,
  "content": "<p>One of my models that provided the best LB score (~0.25) was efficientnet 3 trained on images that consisted of the following elements:</p>\n<ol>\n<li>16 spectrograms from banana montage with 2 sec(400 time stamps) window and clipping to 0-160 of dB range.</li>\n<li>Kaggle spectrograms.</li>\n<li>Visualisation of raw eegs(adding this gave about 0.02 improvment!!).<img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F6343664%2Fe7c114b13fa506bbcc7ced308821b9b1%2FScreenshot%20from%202024-04-09%2019-21-12.png?generation=1712679944774259&amp;alt=media\"></li>\n</ol>\n<p><strong>Raw eeg models</strong>:<br>\nOther 2D models were trained on images made via  1d resnet blocks and aggresive 1d convolutions with large strides.  <br>\n1D model consisted of 1D resnet blocks with different kernel sizes + gru. <br>\nFor models trained on raw eegs, I have noticed that clipping was crucial for good convergence (-256 - 256)  as well as bandpass filter 0.5-20 Hz. Also, it was beneficial to use the same weights for each signal in encoders.</p>\n<p><strong>Augmentations that worked for me:</strong><br>\nCutMix on half signals(right in the middle cut)<br>\nAdd uniform noise to labels with higher than zero value(the range of uniform distribution depending on the number of votes, the more votes the more reliable labels we have, so less noise is allowed) </p>",
  "messages": [
    {
      "id": "2743872",
      "postDate": "04/09/2024 16:35:51",
      "content": "<p>One of my models that provided the best LB score (~0.25) was efficientnet 3 trained on images that consisted of the following elements:</p>\n<ol>\n<li>16 spectrograms from banana montage with 2 sec(400 time stamps) window and clipping to 0-160 of dB range.</li>\n<li>Kaggle spectrograms.</li>\n<li>Visualisation of raw eegs(adding this gave about 0.02 improvment!!).<img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F6343664%2Fe7c114b13fa506bbcc7ced308821b9b1%2FScreenshot%20from%202024-04-09%2019-21-12.png?generation=1712679944774259&amp;alt=media\"></li>\n</ol>\n<p><strong>Raw eeg models</strong>:<br>\nOther 2D models were trained on images made via  1d resnet blocks and aggresive 1d convolutions with large strides.  <br>\n1D model consisted of 1D resnet blocks with different kernel sizes + gru. <br>\nFor models trained on raw eegs, I have noticed that clipping was crucial for good convergence (-256 - 256)  as well as bandpass filter 0.5-20 Hz. Also, it was beneficial to use the same weights for each signal in encoders.</p>\n<p><strong>Augmentations that worked for me:</strong><br>\nCutMix on half signals(right in the middle cut)<br>\nAdd uniform noise to labels with higher than zero value(the range of uniform distribution depending on the number of votes, the more votes the more reliable labels we have, so less noise is allowed) </p>",
      "rawMarkdown": "One of my models that provided the best LB score (~0.25) was efficientnet 3 trained on images that consisted of the following elements:\n1. 16 spectrograms from banana montage with 2 sec(400 time stamps) window and clipping to 0-160 of dB range.\n2. Kaggle spectrograms.\n3. Visualisation of raw eegs(adding this gave about 0.02 improvment!!).![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F6343664%2Fe7c114b13fa506bbcc7ced308821b9b1%2FScreenshot%20from%202024-04-09%2019-21-12.png?generation=1712679944774259&alt=media)\n\n**Raw eeg models**:\nOther 2D models were trained on images made via  1d resnet blocks and aggresive 1d convolutions with large strides.  \n1D model consisted of 1D resnet blocks with different kernel sizes + gru. \nFor models trained on raw eegs, I have noticed that clipping was crucial for good convergence (-256 - 256)  as well as bandpass filter 0.5-20 Hz. Also, it was beneficial to use the same weights for each signal in encoders.\n\n**Augmentations that worked for me:**\nCutMix on half signals(right in the middle cut)\nAdd uniform noise to labels with higher than zero value(the range of uniform distribution depending on the number of votes, the more votes the more reliable labels we have, so less noise is allowed)",
      "votes": null
    },
    {
      "id": "2744089",
      "postDate": "04/09/2024 18:41:21",
      "content": "<p>Interesting, you also used raw spectrograms plots, like <a href=\"https://www.kaggle.com/cdeotte\" target=\"_blank\">@cdeotte</a> . Both of you report strong gain from it, maybe this will become popular.</p>",
      "rawMarkdown": "Interesting, you also used raw spectrograms plots, like @cdeotte . Both of you report strong gain from it, maybe this will become popular.",
      "votes": null
    },
    {
      "id": "2744102",
      "postDate": "04/09/2024 18:46:56",
      "content": "<blockquote>\n  <p>Visualisation of raw eegs(adding this gave about 0.02 improvment!!).</p>\n</blockquote>\n<p>Interesting. This also boosted my CV LB. I'm surprised that it works. Nice discovery and congratulations on your great finish!</p>",
      "rawMarkdown": ">Visualisation of raw eegs(adding this gave about 0.02 improvment!!).\n\nInteresting. This also boosted my CV LB. I'm surprised that it works. Nice discovery and congratulations on your great finish!",
      "votes": null
    },
    {
      "id": "2744164",
      "postDate": "04/09/2024 19:28:45",
      "content": "<p>I think spectrograms and visualizations of raw EEG work because they contain a highly compressed representation of data that 2D kernels can easily handle compared to processing 1d noisy signals where neseccary patterns can be stretched and hidden within long noise sequances. <br>\nSo top solutions encompass representations of the signals that are both compressed and diverse simultaneously.</p>",
      "rawMarkdown": "I think spectrograms and visualizations of raw EEG work because they contain a highly compressed representation of data that 2D kernels can easily handle compared to processing 1d noisy signals where neseccary patterns can be stretched and hidden within long noise sequances. \nSo top solutions encompass representations of the signals that are both compressed and diverse simultaneously.",
      "votes": null
    },
    {
      "id": "2744691",
      "postDate": "04/10/2024 04:24:33",
      "content": "<p>Congratulations on securing 20th place in this competition. Thanks for your comments on what made the notebook improvements. </p>",
      "rawMarkdown": "Congratulations on securing 20th place in this competition. Thanks for your comments on what made the notebook improvements.",
      "votes": null
    },
    {
      "id": "2747575",
      "postDate": "04/12/2024 01:15:08",
      "content": "<p>thanks for sharing your solutions 🥳</p>\n<p>I also have the similar insight about </p>\n<blockquote>\n  <p>16 spectrograms from banana montage with 2 sec(400 time stamps) window and clipping to 0-160 of dB range.</p>\n</blockquote>\n<p>but I never thought I can add \"Visualisation of raw eegs\"  (I really wish I could come up with ways to do that too.)</p>",
      "rawMarkdown": "thanks for sharing your solutions 🥳\n\nI also have the similar insight about \n> 16 spectrograms from banana montage with 2 sec(400 time stamps) window and clipping to 0-160 of dB range.\n\nbut I never thought I can add \"Visualisation of raw eegs\"  (I really wish I could come up with ways to do that too.)",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 2744089,
      "author_name": "cpmpml",
      "author_url": "",
      "post_date": "04/09/2024 18:41:21",
      "content": "<p>Interesting, you also used raw spectrograms plots, like <a href=\"https://www.kaggle.com/cdeotte\" target=\"_blank\">@cdeotte</a> . Both of you report strong gain from it, maybe this will become popular.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 2744102,
      "author_name": "cdeotte",
      "author_url": "",
      "post_date": "04/09/2024 18:46:56",
      "content": "<blockquote>\n  <p>Visualisation of raw eegs(adding this gave about 0.02 improvment!!).</p>\n</blockquote>\n<p>Interesting. This also boosted my CV LB. I'm surprised that it works. Nice discovery and congratulations on your great finish!</p>",
      "votes": null,
      "replies": [
        {
          "id": 2744164,
          "author_name": "nikitababich",
          "author_url": "",
          "post_date": "04/09/2024 19:28:45",
          "content": "<p>I think spectrograms and visualizations of raw EEG work because they contain a highly compressed representation of data that 2D kernels can easily handle compared to processing 1d noisy signals where neseccary patterns can be stretched and hidden within long noise sequances. <br>\nSo top solutions encompass representations of the signals that are both compressed and diverse simultaneously.</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 2744691,
      "author_name": "crsuthikshnkumar",
      "author_url": "",
      "post_date": "04/10/2024 04:24:33",
      "content": "<p>Congratulations on securing 20th place in this competition. Thanks for your comments on what made the notebook improvements. </p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 2747575,
      "author_name": "roger92",
      "author_url": "",
      "post_date": "04/12/2024 01:15:08",
      "content": "<p>thanks for sharing your solutions 🥳</p>\n<p>I also have the similar insight about </p>\n<blockquote>\n  <p>16 spectrograms from banana montage with 2 sec(400 time stamps) window and clipping to 0-160 of dB range.</p>\n</blockquote>\n<p>but I never thought I can add \"Visualisation of raw eegs\"  (I really wish I could come up with ways to do that too.)</p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "2743872": "One of my models that provided the best LB score (~0.25) was efficientnet 3 trained on images that consisted of the following elements:\n1. 16 spectrograms from banana montage with 2 sec(400 time stamps) window and clipping to 0-160 of dB range.\n2. Kaggle spectrograms.\n3. Visualisation of raw eegs(adding this gave about 0.02 improvment!!).![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F6343664%2Fe7c114b13fa506bbcc7ced308821b9b1%2FScreenshot%20from%202024-04-09%2019-21-12.png?generation=1712679944774259&alt=media)\n\n**Raw eeg models**:\nOther 2D models were trained on images made via  1d resnet blocks and aggresive 1d convolutions with large strides.  \n1D model consisted of 1D resnet blocks with different kernel sizes + gru. \nFor models trained on raw eegs, I have noticed that clipping was crucial for good convergence (-256 - 256)  as well as bandpass filter 0.5-20 Hz. Also, it was beneficial to use the same weights for each signal in encoders.\n\n**Augmentations that worked for me:**\nCutMix on half signals(right in the middle cut)\nAdd uniform noise to labels with higher than zero value(the range of uniform distribution depending on the number of votes, the more votes the more reliable labels we have, so less noise is allowed)",
    "2744089": "Interesting, you also used raw spectrograms plots, like @cdeotte . Both of you report strong gain from it, maybe this will become popular.",
    "2744102": ">Visualisation of raw eegs(adding this gave about 0.02 improvment!!).\n\nInteresting. This also boosted my CV LB. I'm surprised that it works. Nice discovery and congratulations on your great finish!",
    "2744164": "I think spectrograms and visualizations of raw EEG work because they contain a highly compressed representation of data that 2D kernels can easily handle compared to processing 1d noisy signals where neseccary patterns can be stretched and hidden within long noise sequances. \nSo top solutions encompass representations of the signals that are both compressed and diverse simultaneously.",
    "2744691": "Congratulations on securing 20th place in this competition. Thanks for your comments on what made the notebook improvements.",
    "2747575": "thanks for sharing your solutions 🥳\n\nI also have the similar insight about \n> 16 spectrograms from banana montage with 2 sec(400 time stamps) window and clipping to 0-160 of dB range.\n\nbut I never thought I can add \"Visualisation of raw eegs\"  (I really wish I could come up with ways to do that too.)"
  },
  "source": "meta"
}