{
  "id": 579376,
  "title": "unsupervised training with test Waveform?",
  "url": "/competitions/waveform-inversion/discussion/579376",
  "author_name": "",
  "post_date": "2025-05-17T02:46:52.007206600Z",
  "votes": 19,
  "comment_count": 14,
  "views": 0,
  "content": "<p>i find this method from openFWI website<br>\n<a href=\"https://smileunc.github.io/projects/upfwi\" target=\"_blank\">https://smileunc.github.io/projects/upfwi</a></p>\n<p>paper: Unsupervised Learning of Full-Waveform Inversion: Connecting CNN and Partial Differential Equation in a Loop<br>\n<a href=\"https://arxiv.org/abs/2110.07584\" target=\"_blank\">https://arxiv.org/abs/2110.07584</a></p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2F11c92eef5e7314b9c60d25ad93ea72a9%2Fframework.png?generation=1747449933434039&amp;alt=media\" alt=\"\"></p>\n<p>are we allow to train on the kaggle test data downloaded?</p>",
  "messages": [
    {
      "id": "3203615",
      "postDate": "05/17/2025 02:46:52",
      "content": "<p>i find this method from openFWI website<br>\n<a href=\"https://smileunc.github.io/projects/upfwi\" target=\"_blank\">https://smileunc.github.io/projects/upfwi</a></p>\n<p>paper: Unsupervised Learning of Full-Waveform Inversion: Connecting CNN and Partial Differential Equation in a Loop<br>\n<a href=\"https://arxiv.org/abs/2110.07584\" target=\"_blank\">https://arxiv.org/abs/2110.07584</a></p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2F11c92eef5e7314b9c60d25ad93ea72a9%2Fframework.png?generation=1747449933434039&amp;alt=media\" alt=\"\"></p>\n<p>are we allow to train on the kaggle test data downloaded?</p>",
      "rawMarkdown": "i find this method from openFWI website\nhttps://smileunc.github.io/projects/upfwi\n\npaper: Unsupervised Learning of Full-Waveform Inversion: Connecting CNN and Partial Differential Equation in a Loop\nhttps://arxiv.org/abs/2110.07584\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2F11c92eef5e7314b9c60d25ad93ea72a9%2Fframework.png?generation=1747449933434039&alt=media)\n\nare we allow to train on the kaggle test data downloaded?",
      "votes": null
    },
    {
      "id": "3203789",
      "postDate": "05/17/2025 10:00:52",
      "content": "<p>Now that we have been provided with labels, is there still any point in using unsupervised learning? Moreover, this is almost the same as directly using physical methods to invert the velocity, isn't it? After all, the organizers have mentioned that physical methods are very slow.  </p>",
      "rawMarkdown": "Now that we have been provided with labels, is there still any point in using unsupervised learning? Moreover, this is almost the same as directly using physical methods to invert the velocity, isn't it? After all, the organizers have mentioned that physical methods are very slow.",
      "votes": null
    },
    {
      "id": "3203799",
      "postDate": "05/17/2025 10:37:38",
      "content": "<p>I believe in strange methods after I see score</p>",
      "rawMarkdown": "I believe in strange methods after I see score",
      "votes": null
    },
    {
      "id": "3203963",
      "postDate": "05/17/2025 15:24:06",
      "content": "<blockquote>\n  <p>This competition challenges you to bridge the gap by combining physics and machine learning to advance FWI. Success here could transform not only subsurface energy exploration but also a wide range of applications, from medical diagnostics to non-destructive material testing—anywhere precise imaging matters.</p>\n</blockquote>\n<p>It would be slow to train a model in this fashion.   I am attempting to create some augmentation using Forward Modeling and while not a optimized bit of code its slow as heck.  </p>\n<p>It's also very slow to train ChatGPT x.x.  But the value after training is the key. </p>",
      "rawMarkdown": ">This competition challenges you to bridge the gap by combining physics and machine learning to advance FWI. Success here could transform not only subsurface energy exploration but also a wide range of applications, from medical diagnostics to non-destructive material testing—anywhere precise imaging matters.\n\nIt would be slow to train a model in this fashion.   I am attempting to create some augmentation using Forward Modeling and while not a optimized bit of code its slow as heck.  \n\nIt's also very slow to train ChatGPT x.x.  But the value after training is the key.",
      "votes": null
    },
    {
      "id": "3204172",
      "postDate": "05/17/2025 20:35:38",
      "content": "<p>The paper says: \"Notice that the ground truth of the velocity map v is not involved, and the training process is unsupervised.\"</p>\n<p>I wouldn't really call this \"unsupervised\" learning: instead of the predicted velocity map being compared to the ground truth velocity map, here, the predicted map is first transformed by the forward equation and then the result is compared to the known seismic data. So, <strong>the forward equation is acting as the \"supervisor\"</strong>. </p>\n<p>When the forward-folding is included, the seismic data are both the input features and also the prediction targets. Notice that the forward mapping has to be one-to-one so that the velocity map solution from this process is a unique.</p>",
      "rawMarkdown": "The paper says: \"Notice that the ground truth of the velocity map v is not involved, and the training process is unsupervised.\"\n\nI wouldn't really call this \"unsupervised\" learning: instead of the predicted velocity map being compared to the ground truth velocity map, here, the predicted map is first transformed by the forward equation and then the result is compared to the known seismic data. So, **the forward equation is acting as the \"supervisor\"**. \n\nWhen the forward-folding is included, the seismic data are both the input features and also the prediction targets. Notice that the forward mapping has to be one-to-one so that the velocity map solution from this process is a unique.",
      "votes": null
    },
    {
      "id": "3204395",
      "postDate": "05/18/2025 08:31:51",
      "content": "<blockquote>\n  <p>So, the forward equation is acting as the \"supervisor\".</p>\n</blockquote>\n<p>That's why some people use the phrase \"self-supervised\". Personally, I find this debate and distinction useless. t-SNE, for instance, also optimizes a loss function which stems from the data itself; hence, it could also easily be labelled self-supervised instead of unsupervised. At this point, it becomes rather arbitrary and a matter of taste what one considers unsupervised and what one considers self-supervised.</p>",
      "rawMarkdown": "> So, the forward equation is acting as the \"supervisor\".\n\nThat's why some people use the phrase \"self-supervised\". Personally, I find this debate and distinction useless. t-SNE, for instance, also optimizes a loss function which stems from the data itself; hence, it could also easily be labelled self-supervised instead of unsupervised. At this point, it becomes rather arbitrary and a matter of taste what one considers unsupervised and what one considers self-supervised.",
      "votes": null
    },
    {
      "id": "3204402",
      "postDate": "05/18/2025 08:46:45",
      "content": "<p>but i guess the most important point is that we can utilize these method to the test data(unlabeled).<br>\nso, for each test data, we can use these learning and may improve our solution.</p>",
      "rawMarkdown": "but i guess the most important point is that we can utilize these method to the test data(unlabeled).\nso, for each test data, we can use these learning and may improve our solution.",
      "votes": null
    },
    {
      "id": "3204405",
      "postDate": "05/18/2025 08:51:20",
      "content": "<p>In theory, we can have the normal supervised model to give initial solution. Then the unsupervised one to refine the solution by using the physics equation </p>",
      "rawMarkdown": "In theory, we can have the normal supervised model to give initial solution. Then the unsupervised one to refine the solution by using the physics equation",
      "votes": null
    },
    {
      "id": "3204411",
      "postDate": "05/18/2025 08:55:01",
      "content": "<p>Speed not an issue. U can always use tricks like start from low resolution etc</p>",
      "rawMarkdown": "Speed not an issue. U can always use tricks like start from low resolution etc",
      "votes": null
    },
    {
      "id": "3204430",
      "postDate": "05/18/2025 09:36:44",
      "content": "<p>You can compress produced Seis with no problem, even 1000-&gt;70 still works very well, as public notebooks show.<br>\nBut in my experience, you can't produce the Seis simulations with lower resolution.  <br>\nEven half of the original resolution already fails miserably- probably why this specific resolution was chosen. If anyone has other experience, I would like to know.</p>",
      "rawMarkdown": "You can compress produced Seis with no problem, even 1000->70 still works very well, as public notebooks show.\nBut in my experience, you can't produce the Seis simulations with lower resolution.  \nEven half of the original resolution already fails miserably- probably why this specific resolution was chosen. If anyone has other experience, I would like to know.",
      "votes": null
    },
    {
      "id": "3204433",
      "postDate": "05/18/2025 09:40:48",
      "content": "<p>There are 70 receiver locations. U can reduce this resolution </p>",
      "rawMarkdown": "There are 70 receiver locations. U can reduce this resolution",
      "votes": null
    },
    {
      "id": "3205302",
      "postDate": "05/19/2025 16:10:28",
      "content": "<p>I had the same experience. I tried to generate less timesteps (same actual time, only bigger dt) and I also failed.</p>",
      "rawMarkdown": "I had the same experience. I tried to generate less timesteps (same actual time, only bigger dt) and I also failed.",
      "votes": null
    },
    {
      "id": "3205598",
      "postDate": "05/20/2025 06:30:06",
      "content": "<p>wow, its very useful find!</p>",
      "rawMarkdown": "wow, its very useful find!",
      "votes": null
    },
    {
      "id": "3207696",
      "postDate": "05/23/2025 06:23:36",
      "content": "<p>Thanks for sharing! </p>",
      "rawMarkdown": "Thanks for sharing!",
      "votes": null
    },
    {
      "id": "3222323",
      "postDate": "06/12/2025 05:57:44",
      "content": "<p>there is probably one short cut:</p>\n<ol>\n<li>mix all openfwi train and kaggle test data</li>\n<li>pretrain : input = 4 semisc, output = remaining one</li>\n<li>finetune pretrain model</li>\n</ol>\n<p>how to juggle between 4 and 5 input is sometime you can think about, it is like MAE (masked auto enconder) to learn joint probability of p(x,y)</p>\n<p>one can also have refine model like</p>\n<pre><code>recursively\n = (t+)   alphafold  diffusion model\n</code></pre>",
      "rawMarkdown": "there is probably one short cut:\n\n1.  mix all openfwi train and kaggle test data\n2. pretrain : input = 4 semisc, output = remaining one\n3. finetune pretrain model\n\nhow to juggle between 4 and 5 input is sometime you can think about, it is like MAE (masked auto enconder) to learn joint probability of p(x,y)\n\none can also have refine model like\n```\nrecursively\nmode(y_t,x1 to x5) = y_(t+1)  #like alphafold 3 diffusion model\n\n```",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 3203789,
      "author_name": "guoooooooss",
      "author_url": "",
      "post_date": "05/17/2025 10:00:52",
      "content": "<p>Now that we have been provided with labels, is there still any point in using unsupervised learning? Moreover, this is almost the same as directly using physical methods to invert the velocity, isn't it? After all, the organizers have mentioned that physical methods are very slow.  </p>",
      "votes": null,
      "replies": [
        {
          "id": 3203963,
          "author_name": "pcjimmmy",
          "author_url": "",
          "post_date": "05/17/2025 15:24:06",
          "content": "<blockquote>\n  <p>This competition challenges you to bridge the gap by combining physics and machine learning to advance FWI. Success here could transform not only subsurface energy exploration but also a wide range of applications, from medical diagnostics to non-destructive material testing—anywhere precise imaging matters.</p>\n</blockquote>\n<p>It would be slow to train a model in this fashion.   I am attempting to create some augmentation using Forward Modeling and while not a optimized bit of code its slow as heck.  </p>\n<p>It's also very slow to train ChatGPT x.x.  But the value after training is the key. </p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 3204402,
          "author_name": "haruiig",
          "author_url": "",
          "post_date": "05/18/2025 08:46:45",
          "content": "<p>but i guess the most important point is that we can utilize these method to the test data(unlabeled).<br>\nso, for each test data, we can use these learning and may improve our solution.</p>",
          "votes": null,
          "replies": [
            {
              "id": 3204405,
              "author_name": "hengck23",
              "author_url": "",
              "post_date": "05/18/2025 08:51:20",
              "content": "<p>In theory, we can have the normal supervised model to give initial solution. Then the unsupervised one to refine the solution by using the physics equation </p>",
              "votes": null,
              "replies": []
            }
          ]
        }
      ]
    },
    {
      "id": 3203799,
      "author_name": "shlomoron",
      "author_url": "",
      "post_date": "05/17/2025 10:37:38",
      "content": "<p>I believe in strange methods after I see score</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 3204172,
      "author_name": "dan3dewey",
      "author_url": "",
      "post_date": "05/17/2025 20:35:38",
      "content": "<p>The paper says: \"Notice that the ground truth of the velocity map v is not involved, and the training process is unsupervised.\"</p>\n<p>I wouldn't really call this \"unsupervised\" learning: instead of the predicted velocity map being compared to the ground truth velocity map, here, the predicted map is first transformed by the forward equation and then the result is compared to the known seismic data. So, <strong>the forward equation is acting as the \"supervisor\"</strong>. </p>\n<p>When the forward-folding is included, the seismic data are both the input features and also the prediction targets. Notice that the forward mapping has to be one-to-one so that the velocity map solution from this process is a unique.</p>",
      "votes": null,
      "replies": [
        {
          "id": 3204395,
          "author_name": "hoffmanns",
          "author_url": "",
          "post_date": "05/18/2025 08:31:51",
          "content": "<blockquote>\n  <p>So, the forward equation is acting as the \"supervisor\".</p>\n</blockquote>\n<p>That's why some people use the phrase \"self-supervised\". Personally, I find this debate and distinction useless. t-SNE, for instance, also optimizes a loss function which stems from the data itself; hence, it could also easily be labelled self-supervised instead of unsupervised. At this point, it becomes rather arbitrary and a matter of taste what one considers unsupervised and what one considers self-supervised.</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 3204411,
      "author_name": "hengck23",
      "author_url": "",
      "post_date": "05/18/2025 08:55:01",
      "content": "<p>Speed not an issue. U can always use tricks like start from low resolution etc</p>",
      "votes": null,
      "replies": [
        {
          "id": 3204430,
          "author_name": "shlomoron",
          "author_url": "",
          "post_date": "05/18/2025 09:36:44",
          "content": "<p>You can compress produced Seis with no problem, even 1000-&gt;70 still works very well, as public notebooks show.<br>\nBut in my experience, you can't produce the Seis simulations with lower resolution.  <br>\nEven half of the original resolution already fails miserably- probably why this specific resolution was chosen. If anyone has other experience, I would like to know.</p>",
          "votes": null,
          "replies": [
            {
              "id": 3204433,
              "author_name": "hengck23",
              "author_url": "",
              "post_date": "05/18/2025 09:40:48",
              "content": "<p>There are 70 receiver locations. U can reduce this resolution </p>",
              "votes": null,
              "replies": []
            },
            {
              "id": 3205302,
              "author_name": "fpeccia",
              "author_url": "",
              "post_date": "05/19/2025 16:10:28",
              "content": "<p>I had the same experience. I tried to generate less timesteps (same actual time, only bigger dt) and I also failed.</p>",
              "votes": null,
              "replies": []
            }
          ]
        }
      ]
    },
    {
      "id": 3205598,
      "author_name": "ben4ten",
      "author_url": "",
      "post_date": "05/20/2025 06:30:06",
      "content": "<p>wow, its very useful find!</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 3207696,
      "author_name": "",
      "author_url": "",
      "post_date": "05/23/2025 06:23:36",
      "content": "<p>Thanks for sharing! </p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 3222323,
      "author_name": "hengck23",
      "author_url": "",
      "post_date": "06/12/2025 05:57:44",
      "content": "<p>there is probably one short cut:</p>\n<ol>\n<li>mix all openfwi train and kaggle test data</li>\n<li>pretrain : input = 4 semisc, output = remaining one</li>\n<li>finetune pretrain model</li>\n</ol>\n<p>how to juggle between 4 and 5 input is sometime you can think about, it is like MAE (masked auto enconder) to learn joint probability of p(x,y)</p>\n<p>one can also have refine model like</p>\n<pre><code>recursively\n = (t+)   alphafold  diffusion model\n</code></pre>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "3203615": "i find this method from openFWI website\nhttps://smileunc.github.io/projects/upfwi\n\npaper: Unsupervised Learning of Full-Waveform Inversion: Connecting CNN and Partial Differential Equation in a Loop\nhttps://arxiv.org/abs/2110.07584\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F113660%2F11c92eef5e7314b9c60d25ad93ea72a9%2Fframework.png?generation=1747449933434039&alt=media)\n\nare we allow to train on the kaggle test data downloaded?",
    "3203789": "Now that we have been provided with labels, is there still any point in using unsupervised learning? Moreover, this is almost the same as directly using physical methods to invert the velocity, isn't it? After all, the organizers have mentioned that physical methods are very slow.",
    "3203799": "I believe in strange methods after I see score",
    "3203963": ">This competition challenges you to bridge the gap by combining physics and machine learning to advance FWI. Success here could transform not only subsurface energy exploration but also a wide range of applications, from medical diagnostics to non-destructive material testing—anywhere precise imaging matters.\n\nIt would be slow to train a model in this fashion.   I am attempting to create some augmentation using Forward Modeling and while not a optimized bit of code its slow as heck.  \n\nIt's also very slow to train ChatGPT x.x.  But the value after training is the key.",
    "3204172": "The paper says: \"Notice that the ground truth of the velocity map v is not involved, and the training process is unsupervised.\"\n\nI wouldn't really call this \"unsupervised\" learning: instead of the predicted velocity map being compared to the ground truth velocity map, here, the predicted map is first transformed by the forward equation and then the result is compared to the known seismic data. So, **the forward equation is acting as the \"supervisor\"**. \n\nWhen the forward-folding is included, the seismic data are both the input features and also the prediction targets. Notice that the forward mapping has to be one-to-one so that the velocity map solution from this process is a unique.",
    "3204395": "> So, the forward equation is acting as the \"supervisor\".\n\nThat's why some people use the phrase \"self-supervised\". Personally, I find this debate and distinction useless. t-SNE, for instance, also optimizes a loss function which stems from the data itself; hence, it could also easily be labelled self-supervised instead of unsupervised. At this point, it becomes rather arbitrary and a matter of taste what one considers unsupervised and what one considers self-supervised.",
    "3204402": "but i guess the most important point is that we can utilize these method to the test data(unlabeled).\nso, for each test data, we can use these learning and may improve our solution.",
    "3204405": "In theory, we can have the normal supervised model to give initial solution. Then the unsupervised one to refine the solution by using the physics equation",
    "3204411": "Speed not an issue. U can always use tricks like start from low resolution etc",
    "3204430": "You can compress produced Seis with no problem, even 1000->70 still works very well, as public notebooks show.\nBut in my experience, you can't produce the Seis simulations with lower resolution.  \nEven half of the original resolution already fails miserably- probably why this specific resolution was chosen. If anyone has other experience, I would like to know.",
    "3204433": "There are 70 receiver locations. U can reduce this resolution",
    "3205302": "I had the same experience. I tried to generate less timesteps (same actual time, only bigger dt) and I also failed.",
    "3205598": "wow, its very useful find!",
    "3207696": "Thanks for sharing!",
    "3222323": "there is probably one short cut:\n\n1.  mix all openfwi train and kaggle test data\n2. pretrain : input = 4 semisc, output = remaining one\n3. finetune pretrain model\n\nhow to juggle between 4 and 5 input is sometime you can think about, it is like MAE (masked auto enconder) to learn joint probability of p(x,y)\n\none can also have refine model like\n```\nrecursively\nmode(y_t,x1 to x5) = y_(t+1)  #like alphafold 3 diffusion model\n\n```"
  },
  "source": "meta"
}