{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/a-differentiable-point-process-with-its","title":"A Differentiable Point Process with Its Application to Spiking Neural Networks","arxiv_id":"2106.00901","date":"2021-06-02","proceeding":null,"authors":["Hiroshi Kajino"],"abstract":"This paper is concerned about a learning algorithm for a probabilistic model of spiking neural networks (SNNs). Jimenez Rezende & Gerstner (2014) proposed a stochastic variational inference algorithm to train SNNs with hidden neurons. The algorithm updates the variational distribution using the score function gradient estimator, whose high variance often impedes the whole learning algorithm. This paper presents an alternative gradient estimator for SNNs based on the path-wise gradient estimator. The main technical difficulty is a lack of a general method to differentiate a realization of an arbitrary point process, which is necessary to derive the path-wise gradient estimator. We develop a differentiable point process, which is the technical highlight of this paper, and apply it to derive the path-wise gradient estimator for SNNs. We investigate the effectiveness of our gradient estimator through numerical simulation.","url_abs":"https://arxiv.org/abs/2106.00901v2","url_pdf":"https://arxiv.org/pdf/2106.00901v2.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"a-differentiable-point-process-with-its","repo_url":"https://github.com/ibm-research-tokyo/diffsnn","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"variational-inference","task_name":"Variational Inference"}],"methods":[{"method_slug":"variational-inference","method_name":"Variational Inference"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2106.00901","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2106.00901"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/ibm-research-tokyo/diffsnn","reach":null}],"summary":{"ran":2,"ran_draft_wrong":3,"ran_violates":1,"ran_fixture":1,"unverified":8},"by_repo_kind":{"official":{"samples":15,"ran":7,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"0220e47f3d014d23","entry":"ExpConcreteDistribution","repo":"ibm-research-tokyo/diffsnn","repo_kind":"official","path":"src/diffsnn/diffpopp/base.py","file_url":"https://github.com/ibm-research-tokyo/diffsnn/blob/HEAD/src/diffsnn/diffpopp/base.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"0220e47f3d014d23"}},{"code_sha256_prefix":"242e6b9a12656dd8","entry":"MarkedEventSeq","repo":"ibm-research-tokyo/diffsnn","repo_kind":"official","path":"src/diffsnn/diffpopp/base.py","file_url":"https://github.com/ibm-research-tokyo/diffsnn/blob/HEAD/src/diffsnn/diffpopp/base.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"242e6b9a12656dd8"}},{"code_sha256_prefix":"4d4f5f68f7014253","entry":"complete_logprob","repo":"ibm-research-tokyo/diffsnn","repo_kind":"official","path":"src/diffsnn/diffpopp/base.py","file_url":"https://github.com/ibm-research-tokyo/diffsnn/blob/HEAD/src/diffsnn/diffpopp/base.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"4d4f5f68f7014253"}},{"code_sha256_prefix":"899f2b8a863366e4","entry":"is_n_d_tensor","repo":"ibm-research-tokyo/diffsnn","repo_kind":"official","path":"src/diffsnn/diffpopp/base.py","file_url":"https://github.com/ibm-research-tokyo/diffsnn/blob/HEAD/src/diffsnn/diffpopp/base.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"899f2b8a863366e4"}},{"code_sha256_prefix":"05da8d6fe4e3eb67","entry":"is_onehot","repo":"ibm-research-tokyo/diffsnn","repo_kind":"official","path":"src/diffsnn/diffpopp/base.py","file_url":"https://github.com/ibm-research-tokyo/diffsnn/blob/HEAD/src/diffsnn/diffpopp/base.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"05da8d6fe4e3eb67"}},{"code_sha256_prefix":"65d648eb8cc2bf03","entry":"is_simplex","repo":"ibm-research-tokyo/diffsnn","repo_kind":"official","path":"src/diffsnn/diffpopp/base.py","file_url":"https://github.com/ibm-research-tokyo/diffsnn/blob/HEAD/src/diffsnn/diffpopp/base.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"65d648eb8cc2bf03"}},{"code_sha256_prefix":"97c36c49c9eaba81","entry":"log1mexp","repo":"ibm-research-tokyo/diffsnn","repo_kind":"official","path":"src/diffsnn/diffpopp/base.py","file_url":"https://github.com/ibm-research-tokyo/diffsnn/blob/HEAD/src/diffsnn/diffpopp/base.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"97c36c49c9eaba81"}},{"code_sha256_prefix":"9930e76c6db306e8","entry":"EventSeq","repo":"ibm-research-tokyo/diffsnn","repo_kind":"official","path":"src/diffsnn/diffpopp/base.py","file_url":"https://github.com/ibm-research-tokyo/diffsnn/blob/HEAD/src/diffsnn/diffpopp/base.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"9930e76c6db306e8"}},{"code_sha256_prefix":"8f6b01593167597c","entry":"MultivariateDiffEventSeq","repo":"ibm-research-tokyo/diffsnn","repo_kind":"official","path":"src/diffsnn/diffpopp/base.py","file_url":"https://github.com/ibm-research-tokyo/diffsnn/blob/HEAD/src/diffsnn/diffpopp/base.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"8f6b01593167597c"}},{"code_sha256_prefix":"ed7b542cca0531c8","entry":"MultivariateDifferentiablePointProcess","repo":"ibm-research-tokyo/diffsnn","repo_kind":"official","path":"src/diffsnn/diffpopp/base.py","file_url":"https://github.com/ibm-research-tokyo/diffsnn/blob/HEAD/src/diffsnn/diffpopp/base.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"ed7b542cca0531c8"}},{"code_sha256_prefix":"7dd55d37e6725680","entry":"MultivariateEventSeq","repo":"ibm-research-tokyo/diffsnn","repo_kind":"official","path":"src/diffsnn/diffpopp/base.py","file_url":"https://github.com/ibm-research-tokyo/diffsnn/blob/HEAD/src/diffsnn/diffpopp/base.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"7dd55d37e6725680"}},{"code_sha256_prefix":"d24de6fc0b46451a","entry":"MultivariateLogDiffEventSeq","repo":"ibm-research-tokyo/diffsnn","repo_kind":"official","path":"src/diffsnn/diffpopp/base.py","file_url":"https://github.com/ibm-research-tokyo/diffsnn/blob/HEAD/src/diffsnn/diffpopp/base.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"d24de6fc0b46451a"}},{"code_sha256_prefix":"eeab0723224bc86e","entry":"MultivariatePointProcess","repo":"ibm-research-tokyo/diffsnn","repo_kind":"official","path":"src/diffsnn/diffpopp/base.py","file_url":"https://github.com/ibm-research-tokyo/diffsnn/blob/HEAD/src/diffsnn/diffpopp/base.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"eeab0723224bc86e"}},{"code_sha256_prefix":"e371aef56ec9c60d","entry":"POMultivariatePointProcess","repo":"ibm-research-tokyo/diffsnn","repo_kind":"official","path":"src/diffsnn/diffpopp/base.py","file_url":"https://github.com/ibm-research-tokyo/diffsnn/blob/HEAD/src/diffsnn/diffpopp/base.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"e371aef56ec9c60d"}},{"code_sha256_prefix":"e108bedd9f3cd41c","entry":"PointProcess","repo":"ibm-research-tokyo/diffsnn","repo_kind":"official","path":"src/diffsnn/diffpopp/base.py","file_url":"https://github.com/ibm-research-tokyo/diffsnn/blob/HEAD/src/diffsnn/diffpopp/base.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"e108bedd9f3cd41c"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}