{
  "id": 271353,
  "title": "what parameters should be used for match filtering?",
  "url": "/competitions/g2net-gravitational-wave-detection/discussion/271353",
  "author_name": "",
  "post_date": "2021-09-10T03:09:05.790594900Z",
  "votes": 11,
  "comment_count": 10,
  "views": 0,
  "content": "<p>i want to learn new methods for each kaggle competition. For this G2Net, I have already</p>\n<ul>\n<li>revisit STFT, understand and rewrite code for constant Q transform</li>\n<li>understand signal processing techniques like whitening</li>\n</ul>\n<p>now I want to move to match filtering and parameter estimation. i am no expert in gravitational waves. what are good set of parameters that I can use for my experiments in creating synthetic data that resemble the kaggle data here?</p>\n<p>i read some papers and my plan of parameters are:<br>\n<img src=\"https://i.ibb.co/bB8Mw34/Selection-819.png\" alt=\"https://i.ibb.co/bB8Mw34/Selection-819.png\"><br>\n<img src=\"https://i.ibb.co/5n2f8Hw/Selection-818.png\" alt=\"https://i.ibb.co/5n2f8Hw/Selection-818.png\"></p>\n<p>are they reasonable correct?<br>\n(or this competition has use a completely different set of parameters for obfuscation??)</p>",
  "messages": [
    {
      "id": "1508232",
      "postDate": "09/10/2021 03:09:05",
      "content": "<p>i want to learn new methods for each kaggle competition. For this G2Net, I have already</p>\n<ul>\n<li>revisit STFT, understand and rewrite code for constant Q transform</li>\n<li>understand signal processing techniques like whitening</li>\n</ul>\n<p>now I want to move to match filtering and parameter estimation. i am no expert in gravitational waves. what are good set of parameters that I can use for my experiments in creating synthetic data that resemble the kaggle data here?</p>\n<p>i read some papers and my plan of parameters are:<br>\n<img src=\"https://i.ibb.co/bB8Mw34/Selection-819.png\" alt=\"https://i.ibb.co/bB8Mw34/Selection-819.png\"><br>\n<img src=\"https://i.ibb.co/5n2f8Hw/Selection-818.png\" alt=\"https://i.ibb.co/5n2f8Hw/Selection-818.png\"></p>\n<p>are they reasonable correct?<br>\n(or this competition has use a completely different set of parameters for obfuscation??)</p>",
      "rawMarkdown": "i want to learn new methods for each kaggle competition. For this G2Net, I have already\n- revisit STFT, understand and rewrite code for constant Q transform\n- understand signal processing techniques like whitening\n\nnow I want to move to match filtering and parameter estimation. i am no expert in gravitational waves. what are good set of parameters that I can use for my experiments in creating synthetic data that resemble the kaggle data here?\n\ni read some papers and my plan of parameters are:\n![https://i.ibb.co/bB8Mw34/Selection-819.png](https://i.ibb.co/bB8Mw34/Selection-819.png)\n![https://i.ibb.co/5n2f8Hw/Selection-818.png](https://i.ibb.co/5n2f8Hw/Selection-818.png)\n\n\nare they reasonable correct?\n(or this competition has use a completely different set of parameters for obfuscation??)",
      "votes": null
    },
    {
      "id": "1508246",
      "postDate": "09/10/2021 03:28:09",
      "content": "<blockquote>\n  <p>or this competition has use a completely different set of parameters for obfuscation??</p>\n</blockquote>\n<p>This is from our host <a href=\"https://www.kaggle.com/bayeswolf\" target=\"_blank\">@bayeswolf</a>:</p>\n<blockquote>\n  <p>In other words, we have very accurate models based on Einsteins theories of General Relativity. These come in different forms but have been calibrated against incredibly costly numerical relativity simulations. So we are very confident that the signals we have simulated for this challenge are exactly the kind of signal that we will continue to detect in the future. </p>\n</blockquote>\n<p>So if you have params that are theoretically within the realm of possible values, that'll likely line up well with the competition data. Then there's also this:</p>\n<blockquote>\n  <p>We haven't explicitly tried our existing analyses on the challenge data but we will ultimately like to do so when the challenge is complete. We haven't done this blind though - we do have a good understanding of what is detectable and what isn't and the dataset was designed to be a difficult challenge.</p>\n</blockquote>",
      "rawMarkdown": "> or this competition has use a completely different set of parameters for obfuscation??\n\nThis is from our host @bayeswolf:\n\n> In other words, we have very accurate models based on Einsteins theories of General Relativity. These come in different forms but have been calibrated against incredibly costly numerical relativity simulations. So we are very confident that the signals we have simulated for this challenge are exactly the kind of signal that we will continue to detect in the future. \n\nSo if you have params that are theoretically within the realm of possible values, that'll likely line up well with the competition data. Then there's also this:\n\n> We haven't explicitly tried our existing analyses on the challenge data but we will ultimately like to do so when the challenge is complete. We haven't done this blind though - we do have a good understanding of what is detectable and what isn't and the dataset was designed to be a difficult challenge.",
      "votes": null
    },
    {
      "id": "1508393",
      "postDate": "09/10/2021 07:38:57",
      "content": "<p>this <a href=\"https://www.kaggle.com/mistag/reverse-engineering-create-clean-gw-signals\" target=\"_blank\">notebook</a> solves a similar problem</p>",
      "rawMarkdown": "this [notebook](https://www.kaggle.com/mistag/reverse-engineering-create-clean-gw-signals) solves a similar problem",
      "votes": null
    },
    {
      "id": "1508659",
      "postDate": "09/10/2021 12:33:00",
      "content": "<p>Matched-filtering Techniques and Deep Neural Networks for Gravitational Wave Astronomy<br>\n<a href=\"https://www.youtube.com/watch?v=p-wocRl9Be0\" target=\"_blank\">https://www.youtube.com/watch?v=p-wocRl9Be0</a></p>\n<p>matched filter CNN (MFCNN)<br>\n<a href=\"https://iphysresearch.github.io/-he.wang/talk/2020dec_apachemxnetday/\" target=\"_blank\">https://iphysresearch.github.io/-he.wang/talk/2020dec_apachemxnetday/</a><br>\n<a href=\"https://iphysresearch.github.io/PhDthesis_html/C6/\" target=\"_blank\">https://iphysresearch.github.io/PhDthesis_html/C6/</a><br>\n<a href=\"https://slides.com/iphysresearch/phd-defense\" target=\"_blank\">https://slides.com/iphysresearch/phd-defense</a></p>\n<p><img src=\"https://i.ibb.co/0mVvNcd/Selection-830.png\" alt=\"https://i.ibb.co/0mVvNcd/Selection-830.png\"></p>\n<p>this is king<br>\n<a href=\"https://twitter.com/Herb_hewang\" target=\"_blank\">https://twitter.com/Herb_hewang</a></p>\n<p><a href=\"https://gist.github.com/iphysresearch/a00009c1eede565090dbd29b18ae982c\" target=\"_blank\">https://gist.github.com/iphysresearch/a00009c1eede565090dbd29b18ae982c</a></p>\n<pre><code>    def onedetector_forward(self, F, data, template):\n        # Note: Not working for hybrid blocks/mx.symbol!\n        # (8, 1, 1, T*fs), (8, 1, 1, T*fs) &lt;= (8, 2, 1, T*fs)\n        data_block_nd, ts_block_nd = F.split(data = data, axis=1, num_outputs=2) \n        # assert F.shape_array(data).size_array().asscalar() == 4 # (8, 1, 1, T*fs)\n        # assert F.shape_array(self.weight).size_array().asscalar() == 4\n        batch_size = F.slice_axis(F.shape_array(ts_block_nd), axis=0, begin=0, end=1).asscalar()  # 8\n\n        # Whiten data ===========================================================\n        data_whiten = F.concatenate( [F.Convolution(data=data_block_nd[i:i+1],   # (8, 1, 1, T*fs)\n                                                     weight=ts_block_nd[i:i+1],    # (8, 1, 1, T*fs)\n                                                     no_bias=True,\n                                                     kernel=(1, self.mod),\n                                                     stride=(1,1),\n                                                     num_filter=1, \n                                                     pad=(0,self.mod -1),) for i in range(batch_size) ],\n                                    axis=0)\n        data_whiten = self.get_module(F, data_whiten, self.mod) # (8, 1, 1, T*fs)\n\n        # Whiten template =======================================================\n        template_whiten = F.Convolution(data=template,   # (8, 1, 1, T*fs)\n                             weight=ts_block_nd,  # (8, 1, 1, T*fs)\n                             no_bias=True,\n                             kernel=(1, self.mod),\n                             stride=(1,1),\n                             num_filter=batch_size, \n                             pad=(0,self.mod -1),)\n        template_whiten = self.get_module(F, template_whiten, self.kernel_size)\n        # template_whiten (8, 8, 1, T*fs)\n\n        # == Calculate the matched filter output in the time domain: ============\n        optimal = F.concatenate([ F.Convolution(data=data_whiten[i:i+1],  # (8, 8, 1, T*fs)\n                                                 weight=template_whiten[:,i:i+1],  # (8, 8, 1, T*fs)\n                                                 no_bias=True,\n                                                 kernel=(1, self.kernel_size),\n                                                 stride=(1,1),\n                                                 num_filter=self.num_filter_template, \n                                                 pad=(0, self.kernel_size -1),) for i in range(batch_size)],\n                               axis=0)\n\n        optimal = self.get_module(F, optimal, self.mod)\n        optimal_time = F.abs(optimal*2/self.fs)\n        # optimal_time (8, 8, 1, T*fs)\n</code></pre>",
      "rawMarkdown": "Matched-filtering Techniques and Deep Neural Networks for Gravitational Wave Astronomy\nhttps://www.youtube.com/watch?v=p-wocRl9Be0\n\nmatched filter CNN (MFCNN)\nhttps://iphysresearch.github.io/-he.wang/talk/2020dec_apachemxnetday/\nhttps://iphysresearch.github.io/PhDthesis_html/C6/\nhttps://slides.com/iphysresearch/phd-defense\n\n![https://i.ibb.co/0mVvNcd/Selection-830.png](https://i.ibb.co/0mVvNcd/Selection-830.png)\n\nthis is king\nhttps://twitter.com/Herb_hewang\n\nhttps://gist.github.com/iphysresearch/a00009c1eede565090dbd29b18ae982c\n```\n       \n    def onedetector_forward(self, F, data, template):\n        # Note: Not working for hybrid blocks/mx.symbol!\n        # (8, 1, 1, T*fs), (8, 1, 1, T*fs) <= (8, 2, 1, T*fs)\n        data_block_nd, ts_block_nd = F.split(data = data, axis=1, num_outputs=2) \n        # assert F.shape_array(data).size_array().asscalar() == 4 # (8, 1, 1, T*fs)\n        # assert F.shape_array(self.weight).size_array().asscalar() == 4\n        batch_size = F.slice_axis(F.shape_array(ts_block_nd), axis=0, begin=0, end=1).asscalar()  # 8\n\n        # Whiten data ===========================================================\n        data_whiten = F.concatenate( [F.Convolution(data=data_block_nd[i:i+1],   # (8, 1, 1, T*fs)\n                                                     weight=ts_block_nd[i:i+1],    # (8, 1, 1, T*fs)\n                                                     no_bias=True,\n                                                     kernel=(1, self.mod),\n                                                     stride=(1,1),\n                                                     num_filter=1, \n                                                     pad=(0,self.mod -1),) for i in range(batch_size) ],\n                                    axis=0)\n        data_whiten = self.get_module(F, data_whiten, self.mod) # (8, 1, 1, T*fs)\n\n        # Whiten template =======================================================\n        template_whiten = F.Convolution(data=template,   # (8, 1, 1, T*fs)\n                             weight=ts_block_nd,  # (8, 1, 1, T*fs)\n                             no_bias=True,\n                             kernel=(1, self.mod),\n                             stride=(1,1),\n                             num_filter=batch_size, \n                             pad=(0,self.mod -1),)\n        template_whiten = self.get_module(F, template_whiten, self.kernel_size)\n        # template_whiten (8, 8, 1, T*fs)\n\n        # == Calculate the matched filter output in the time domain: ============\n        optimal = F.concatenate([ F.Convolution(data=data_whiten[i:i+1],  # (8, 8, 1, T*fs)\n                                                 weight=template_whiten[:,i:i+1],  # (8, 8, 1, T*fs)\n                                                 no_bias=True,\n                                                 kernel=(1, self.kernel_size),\n                                                 stride=(1,1),\n                                                 num_filter=self.num_filter_template, \n                                                 pad=(0, self.kernel_size -1),) for i in range(batch_size)],\n                               axis=0)\n        \n        optimal = self.get_module(F, optimal, self.mod)\n        optimal_time = F.abs(optimal*2/self.fs)\n        # optimal_time (8, 8, 1, T*fs)\n```",
      "votes": null
    },
    {
      "id": "1508818",
      "postDate": "09/10/2021 15:28:53",
      "content": "<p>Very interesting and also kind of frightening. My notes:</p>\n<ul>\n<li>Code + slides allude 1D kernel size at head of network is 2048 (!!), however PhD defense says 64?</li>\n<li>To make compute tractable, network must be shallow</li>\n<li>Templates must be individually prepared per detector—this is easy to do given the tools at our disposal; but limits the expressiveness of the network, because instead of just iterating over, e.g. M1M2 param space, one also has to iterate over Declination, RightAscension, Polarization, etc. that have to do with the source interactions with each detector</li>\n<li>I cannot comprehend the whiten mxnet code but am very interested in this portion, <a href=\"https://www.kaggle.com/hengck23\" target=\"_blank\">@hengck23</a> any thoughts there?</li>\n<li>To your original topic question, in the thesis, it seems the lower bound on mass should be in the 2-10 solar mass region (as opposed to 35 as in the pic you posted) for BBH merger.</li>\n</ul>",
      "rawMarkdown": "Very interesting and also kind of frightening. My notes:\n\n- Code + slides allude 1D kernel size at head of network is 2048 (!!), however PhD defense says 64?\n- To make compute tractable, network must be shallow\n- Templates must be individually prepared per detector—this is easy to do given the tools at our disposal; but limits the expressiveness of the network, because instead of just iterating over, e.g. M1M2 param space, one also has to iterate over Declination, RightAscension, Polarization, etc. that have to do with the source interactions with each detector\n- I cannot comprehend the whiten mxnet code but am very interested in this portion, @hengck23 any thoughts there?\n- To your original topic question, in the thesis, it seems the lower bound on mass should be in the 2-10 solar mass region (as opposed to 35 as in the pic you posted) for BBH merger.",
      "votes": null
    },
    {
      "id": "1508961",
      "postDate": "09/10/2021 18:03:16",
      "content": "<p>i haven't read in details but will be trying this over the weekends.<br>\nI will make some pytorch code and share on the match filter part</p>\n<p>\"Templates must be individually prepared per detector\"</p>\n<p>reminds me of Implicit Neural Representations with Periodic Activation (SIREN paper)</p>",
      "rawMarkdown": "i haven't read in details but will be trying this over the weekends.\nI will make some pytorch code and share on the match filter part\n\n\"Templates must be individually prepared per detector\"\n\nreminds me of Implicit Neural Representations with Periodic Activation (SIREN paper)",
      "votes": null
    },
    {
      "id": "1509062",
      "postDate": "09/10/2021 19:31:13",
      "content": "<p>I was looking for that paper just two days ago! But couldn't remember its name. All I had recalled was a bunch of sine layers, and googling that didn't get me far, lol.</p>",
      "rawMarkdown": "I was looking for that paper just two days ago! But couldn't remember its name. All I had recalled was a bunch of sine layers, and googling that didn't get me far, lol.",
      "votes": null
    },
    {
      "id": "1509265",
      "postDate": "09/11/2021 05:09:12",
      "content": "<blockquote>\n  <p>\"Templates must be individually prepared per detector\"</p>\n</blockquote>\n<p>why the template needs to be different per detector if it's a function of stellar parameter ? </p>",
      "rawMarkdown": "> \"Templates must be individually prepared per detector\"\n\nwhy the template needs to be different per detector if it's a function of stellar parameter ?",
      "votes": null
    },
    {
      "id": "1509283",
      "postDate": "09/11/2021 05:18:02",
      "content": "<p>this is his design of the network.<br>\nbut you do not need to use the fixed templates. Also, I think template space may be represented by some low dim parameters. you network can just need to use those paramters</p>",
      "rawMarkdown": "this is his design of the network.\nbut you do not need to use the fixed templates. Also, I think template space may be represented by some low dim parameters. you network can just need to use those paramters",
      "votes": null
    },
    {
      "id": "1559695",
      "postDate": "10/27/2021 07:06:56",
      "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",
      "votes": null
    },
    {
      "id": "1559986",
      "postDate": "10/27/2021 08:52:57",
      "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",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 1508246,
      "author_name": "authman",
      "author_url": "",
      "post_date": "09/10/2021 03:28:09",
      "content": "<blockquote>\n  <p>or this competition has use a completely different set of parameters for obfuscation??</p>\n</blockquote>\n<p>This is from our host <a href=\"https://www.kaggle.com/bayeswolf\" target=\"_blank\">@bayeswolf</a>:</p>\n<blockquote>\n  <p>In other words, we have very accurate models based on Einsteins theories of General Relativity. These come in different forms but have been calibrated against incredibly costly numerical relativity simulations. So we are very confident that the signals we have simulated for this challenge are exactly the kind of signal that we will continue to detect in the future. </p>\n</blockquote>\n<p>So if you have params that are theoretically within the realm of possible values, that'll likely line up well with the competition data. Then there's also this:</p>\n<blockquote>\n  <p>We haven't explicitly tried our existing analyses on the challenge data but we will ultimately like to do so when the challenge is complete. We haven't done this blind though - we do have a good understanding of what is detectable and what isn't and the dataset was designed to be a difficult challenge.</p>\n</blockquote>",
      "votes": null,
      "replies": []
    },
    {
      "id": 1508393,
      "author_name": "sapr3s",
      "author_url": "",
      "post_date": "09/10/2021 07:38:57",
      "content": "<p>this <a href=\"https://www.kaggle.com/mistag/reverse-engineering-create-clean-gw-signals\" target=\"_blank\">notebook</a> solves a similar problem</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 1508659,
      "author_name": "hengck23",
      "author_url": "",
      "post_date": "09/10/2021 12:33:00",
      "content": "<p>Matched-filtering Techniques and Deep Neural Networks for Gravitational Wave Astronomy<br>\n<a href=\"https://www.youtube.com/watch?v=p-wocRl9Be0\" target=\"_blank\">https://www.youtube.com/watch?v=p-wocRl9Be0</a></p>\n<p>matched filter CNN (MFCNN)<br>\n<a href=\"https://iphysresearch.github.io/-he.wang/talk/2020dec_apachemxnetday/\" target=\"_blank\">https://iphysresearch.github.io/-he.wang/talk/2020dec_apachemxnetday/</a><br>\n<a href=\"https://iphysresearch.github.io/PhDthesis_html/C6/\" target=\"_blank\">https://iphysresearch.github.io/PhDthesis_html/C6/</a><br>\n<a href=\"https://slides.com/iphysresearch/phd-defense\" target=\"_blank\">https://slides.com/iphysresearch/phd-defense</a></p>\n<p><img src=\"https://i.ibb.co/0mVvNcd/Selection-830.png\" alt=\"https://i.ibb.co/0mVvNcd/Selection-830.png\"></p>\n<p>this is king<br>\n<a href=\"https://twitter.com/Herb_hewang\" target=\"_blank\">https://twitter.com/Herb_hewang</a></p>\n<p><a href=\"https://gist.github.com/iphysresearch/a00009c1eede565090dbd29b18ae982c\" target=\"_blank\">https://gist.github.com/iphysresearch/a00009c1eede565090dbd29b18ae982c</a></p>\n<pre><code>    def onedetector_forward(self, F, data, template):\n        # Note: Not working for hybrid blocks/mx.symbol!\n        # (8, 1, 1, T*fs), (8, 1, 1, T*fs) &lt;= (8, 2, 1, T*fs)\n        data_block_nd, ts_block_nd = F.split(data = data, axis=1, num_outputs=2) \n        # assert F.shape_array(data).size_array().asscalar() == 4 # (8, 1, 1, T*fs)\n        # assert F.shape_array(self.weight).size_array().asscalar() == 4\n        batch_size = F.slice_axis(F.shape_array(ts_block_nd), axis=0, begin=0, end=1).asscalar()  # 8\n\n        # Whiten data ===========================================================\n        data_whiten = F.concatenate( [F.Convolution(data=data_block_nd[i:i+1],   # (8, 1, 1, T*fs)\n                                                     weight=ts_block_nd[i:i+1],    # (8, 1, 1, T*fs)\n                                                     no_bias=True,\n                                                     kernel=(1, self.mod),\n                                                     stride=(1,1),\n                                                     num_filter=1, \n                                                     pad=(0,self.mod -1),) for i in range(batch_size) ],\n                                    axis=0)\n        data_whiten = self.get_module(F, data_whiten, self.mod) # (8, 1, 1, T*fs)\n\n        # Whiten template =======================================================\n        template_whiten = F.Convolution(data=template,   # (8, 1, 1, T*fs)\n                             weight=ts_block_nd,  # (8, 1, 1, T*fs)\n                             no_bias=True,\n                             kernel=(1, self.mod),\n                             stride=(1,1),\n                             num_filter=batch_size, \n                             pad=(0,self.mod -1),)\n        template_whiten = self.get_module(F, template_whiten, self.kernel_size)\n        # template_whiten (8, 8, 1, T*fs)\n\n        # == Calculate the matched filter output in the time domain: ============\n        optimal = F.concatenate([ F.Convolution(data=data_whiten[i:i+1],  # (8, 8, 1, T*fs)\n                                                 weight=template_whiten[:,i:i+1],  # (8, 8, 1, T*fs)\n                                                 no_bias=True,\n                                                 kernel=(1, self.kernel_size),\n                                                 stride=(1,1),\n                                                 num_filter=self.num_filter_template, \n                                                 pad=(0, self.kernel_size -1),) for i in range(batch_size)],\n                               axis=0)\n\n        optimal = self.get_module(F, optimal, self.mod)\n        optimal_time = F.abs(optimal*2/self.fs)\n        # optimal_time (8, 8, 1, T*fs)\n</code></pre>",
      "votes": null,
      "replies": [
        {
          "id": 1508818,
          "author_name": "authman",
          "author_url": "",
          "post_date": "09/10/2021 15:28:53",
          "content": "<p>Very interesting and also kind of frightening. My notes:</p>\n<ul>\n<li>Code + slides allude 1D kernel size at head of network is 2048 (!!), however PhD defense says 64?</li>\n<li>To make compute tractable, network must be shallow</li>\n<li>Templates must be individually prepared per detector—this is easy to do given the tools at our disposal; but limits the expressiveness of the network, because instead of just iterating over, e.g. M1M2 param space, one also has to iterate over Declination, RightAscension, Polarization, etc. that have to do with the source interactions with each detector</li>\n<li>I cannot comprehend the whiten mxnet code but am very interested in this portion, <a href=\"https://www.kaggle.com/hengck23\" target=\"_blank\">@hengck23</a> any thoughts there?</li>\n<li>To your original topic question, in the thesis, it seems the lower bound on mass should be in the 2-10 solar mass region (as opposed to 35 as in the pic you posted) for BBH merger.</li>\n</ul>",
          "votes": null,
          "replies": []
        },
        {
          "id": 1508961,
          "author_name": "hengck23",
          "author_url": "",
          "post_date": "09/10/2021 18:03:16",
          "content": "<p>i haven't read in details but will be trying this over the weekends.<br>\nI will make some pytorch code and share on the match filter part</p>\n<p>\"Templates must be individually prepared per detector\"</p>\n<p>reminds me of Implicit Neural Representations with Periodic Activation (SIREN paper)</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 1509062,
          "author_name": "authman",
          "author_url": "",
          "post_date": "09/10/2021 19:31:13",
          "content": "<p>I was looking for that paper just two days ago! But couldn't remember its name. All I had recalled was a bunch of sine layers, and googling that didn't get me far, lol.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 1509265,
          "author_name": "nyleve",
          "author_url": "",
          "post_date": "09/11/2021 05:09:12",
          "content": "<blockquote>\n  <p>\"Templates must be individually prepared per detector\"</p>\n</blockquote>\n<p>why the template needs to be different per detector if it's a function of stellar parameter ? </p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 1509283,
          "author_name": "hengck23",
          "author_url": "",
          "post_date": "09/11/2021 05:18:02",
          "content": "<p>this is his design of the network.<br>\nbut you do not need to use the fixed templates. Also, I think template space may be represented by some low dim parameters. you network can just need to use those paramters</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 1559695,
      "author_name": "zerafachris",
      "author_url": "",
      "post_date": "10/27/2021 07:06:56",
      "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": null,
      "replies": []
    },
    {
      "id": 1559986,
      "author_name": "zerafachris",
      "author_url": "",
      "post_date": "10/27/2021 08:52:57",
      "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": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "1508232": "i want to learn new methods for each kaggle competition. For this G2Net, I have already\n- revisit STFT, understand and rewrite code for constant Q transform\n- understand signal processing techniques like whitening\n\nnow I want to move to match filtering and parameter estimation. i am no expert in gravitational waves. what are good set of parameters that I can use for my experiments in creating synthetic data that resemble the kaggle data here?\n\ni read some papers and my plan of parameters are:\n![https://i.ibb.co/bB8Mw34/Selection-819.png](https://i.ibb.co/bB8Mw34/Selection-819.png)\n![https://i.ibb.co/5n2f8Hw/Selection-818.png](https://i.ibb.co/5n2f8Hw/Selection-818.png)\n\n\nare they reasonable correct?\n(or this competition has use a completely different set of parameters for obfuscation??)",
    "1508246": "> or this competition has use a completely different set of parameters for obfuscation??\n\nThis is from our host @bayeswolf:\n\n> In other words, we have very accurate models based on Einsteins theories of General Relativity. These come in different forms but have been calibrated against incredibly costly numerical relativity simulations. So we are very confident that the signals we have simulated for this challenge are exactly the kind of signal that we will continue to detect in the future. \n\nSo if you have params that are theoretically within the realm of possible values, that'll likely line up well with the competition data. Then there's also this:\n\n> We haven't explicitly tried our existing analyses on the challenge data but we will ultimately like to do so when the challenge is complete. We haven't done this blind though - we do have a good understanding of what is detectable and what isn't and the dataset was designed to be a difficult challenge.",
    "1508393": "this [notebook](https://www.kaggle.com/mistag/reverse-engineering-create-clean-gw-signals) solves a similar problem",
    "1508659": "Matched-filtering Techniques and Deep Neural Networks for Gravitational Wave Astronomy\nhttps://www.youtube.com/watch?v=p-wocRl9Be0\n\nmatched filter CNN (MFCNN)\nhttps://iphysresearch.github.io/-he.wang/talk/2020dec_apachemxnetday/\nhttps://iphysresearch.github.io/PhDthesis_html/C6/\nhttps://slides.com/iphysresearch/phd-defense\n\n![https://i.ibb.co/0mVvNcd/Selection-830.png](https://i.ibb.co/0mVvNcd/Selection-830.png)\n\nthis is king\nhttps://twitter.com/Herb_hewang\n\nhttps://gist.github.com/iphysresearch/a00009c1eede565090dbd29b18ae982c\n```\n       \n    def onedetector_forward(self, F, data, template):\n        # Note: Not working for hybrid blocks/mx.symbol!\n        # (8, 1, 1, T*fs), (8, 1, 1, T*fs) <= (8, 2, 1, T*fs)\n        data_block_nd, ts_block_nd = F.split(data = data, axis=1, num_outputs=2) \n        # assert F.shape_array(data).size_array().asscalar() == 4 # (8, 1, 1, T*fs)\n        # assert F.shape_array(self.weight).size_array().asscalar() == 4\n        batch_size = F.slice_axis(F.shape_array(ts_block_nd), axis=0, begin=0, end=1).asscalar()  # 8\n\n        # Whiten data ===========================================================\n        data_whiten = F.concatenate( [F.Convolution(data=data_block_nd[i:i+1],   # (8, 1, 1, T*fs)\n                                                     weight=ts_block_nd[i:i+1],    # (8, 1, 1, T*fs)\n                                                     no_bias=True,\n                                                     kernel=(1, self.mod),\n                                                     stride=(1,1),\n                                                     num_filter=1, \n                                                     pad=(0,self.mod -1),) for i in range(batch_size) ],\n                                    axis=0)\n        data_whiten = self.get_module(F, data_whiten, self.mod) # (8, 1, 1, T*fs)\n\n        # Whiten template =======================================================\n        template_whiten = F.Convolution(data=template,   # (8, 1, 1, T*fs)\n                             weight=ts_block_nd,  # (8, 1, 1, T*fs)\n                             no_bias=True,\n                             kernel=(1, self.mod),\n                             stride=(1,1),\n                             num_filter=batch_size, \n                             pad=(0,self.mod -1),)\n        template_whiten = self.get_module(F, template_whiten, self.kernel_size)\n        # template_whiten (8, 8, 1, T*fs)\n\n        # == Calculate the matched filter output in the time domain: ============\n        optimal = F.concatenate([ F.Convolution(data=data_whiten[i:i+1],  # (8, 8, 1, T*fs)\n                                                 weight=template_whiten[:,i:i+1],  # (8, 8, 1, T*fs)\n                                                 no_bias=True,\n                                                 kernel=(1, self.kernel_size),\n                                                 stride=(1,1),\n                                                 num_filter=self.num_filter_template, \n                                                 pad=(0, self.kernel_size -1),) for i in range(batch_size)],\n                               axis=0)\n        \n        optimal = self.get_module(F, optimal, self.mod)\n        optimal_time = F.abs(optimal*2/self.fs)\n        # optimal_time (8, 8, 1, T*fs)\n```",
    "1508818": "Very interesting and also kind of frightening. My notes:\n\n- Code + slides allude 1D kernel size at head of network is 2048 (!!), however PhD defense says 64?\n- To make compute tractable, network must be shallow\n- Templates must be individually prepared per detector—this is easy to do given the tools at our disposal; but limits the expressiveness of the network, because instead of just iterating over, e.g. M1M2 param space, one also has to iterate over Declination, RightAscension, Polarization, etc. that have to do with the source interactions with each detector\n- I cannot comprehend the whiten mxnet code but am very interested in this portion, @hengck23 any thoughts there?\n- To your original topic question, in the thesis, it seems the lower bound on mass should be in the 2-10 solar mass region (as opposed to 35 as in the pic you posted) for BBH merger.",
    "1508961": "i haven't read in details but will be trying this over the weekends.\nI will make some pytorch code and share on the match filter part\n\n\"Templates must be individually prepared per detector\"\n\nreminds me of Implicit Neural Representations with Periodic Activation (SIREN paper)",
    "1509062": "I was looking for that paper just two days ago! But couldn't remember its name. All I had recalled was a bunch of sine layers, and googling that didn't get me far, lol.",
    "1509265": "> \"Templates must be individually prepared per detector\"\n\nwhy the template needs to be different per detector if it's a function of stellar parameter ?",
    "1509283": "this is his design of the network.\nbut you do not need to use the fixed templates. Also, I think template space may be represented by some low dim parameters. you network can just need to use those paramters",
    "1559695": "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",
    "1559986": "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"
  },
  "source": "meta"
}