{"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/learning-long-term-dependencies-via-fourier","title":"Learning Long Term Dependencies via Fourier Recurrent Units","arxiv_id":"1803.06585","date":"2018-03-17","proceeding":"ICML 2018 7","authors":["Jiong Zhang","Yibo Lin","Zhao Song","Inderjit S. Dhillon"],"abstract":"It is a known fact that training recurrent neural networks for tasks that\nhave long term dependencies is challenging. One of the main reasons is the\nvanishing or exploding gradient problem, which prevents gradient information\nfrom propagating to early layers. In this paper we propose a simple recurrent\narchitecture, the Fourier Recurrent Unit (FRU), that stabilizes the gradients\nthat arise in its training while giving us stronger expressive power.\nSpecifically, FRU summarizes the hidden states $h^{(t)}$ along the temporal\ndimension with Fourier basis functions. This allows gradients to easily reach\nany layer due to FRU's residual learning structure and the global support of\ntrigonometric functions. We show that FRU has gradient lower and upper bounds\nindependent of temporal dimension. We also show the strong expressivity of\nsparse Fourier basis, from which FRU obtains its strong expressive power. Our\nexperimental study also demonstrates that with fewer parameters the proposed\narchitecture outperforms other recurrent architectures on many tasks.","url_abs":"http://arxiv.org/abs/1803.06585v1","url_pdf":"http://arxiv.org/pdf/1803.06585v1.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":"learning-long-term-dependencies-via-fourier","repo_url":"https://github.com/limbo018/FRU","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"learning-long-term-dependencies-via-fourier","repo_url":"https://github.com/Selozhd/UngatedRNN","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1803.06585","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1803.06585"}},"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/limbo018/FRU","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Selozhd/UngatedRNN","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":7},"by_repo_kind":{"official":{"samples":7,"ran":0,"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":"ea1bd8127dd59ae6","entry":"L1","repo":"limbo018/FRU","repo_kind":"official","path":"code/tflearn/tflearn/losses.py","file_url":"https://github.com/limbo018/FRU/blob/HEAD/code/tflearn/tflearn/losses.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ea1bd8127dd59ae6"}},{"code_sha256_prefix":"d022d05d74f96491","entry":"L2","repo":"limbo018/FRU","repo_kind":"official","path":"code/tflearn/tflearn/losses.py","file_url":"https://github.com/limbo018/FRU/blob/HEAD/code/tflearn/tflearn/losses.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d022d05d74f96491"}},{"code_sha256_prefix":"ce9eb5970f8c4332","entry":"get","repo":"limbo018/FRU","repo_kind":"official","path":"code/tflearn/tflearn/losses.py","file_url":"https://github.com/limbo018/FRU/blob/HEAD/code/tflearn/tflearn/losses.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ce9eb5970f8c4332"}},{"code_sha256_prefix":"2c0db7052f4bb265","entry":"get","repo":"limbo018/FRU","repo_kind":"official","path":"code/tflearn/tflearn/activations.py","file_url":"https://github.com/limbo018/FRU/blob/HEAD/code/tflearn/tflearn/activations.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"2c0db7052f4bb265"}},{"code_sha256_prefix":"3817004f5111f33c","entry":"init_graph","repo":"limbo018/FRU","repo_kind":"official","path":"code/tflearn/tflearn/config.py","file_url":"https://github.com/limbo018/FRU/blob/HEAD/code/tflearn/tflearn/config.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"3817004f5111f33c"}},{"code_sha256_prefix":"eafae13d58fd7dc4","entry":"linear","repo":"limbo018/FRU","repo_kind":"official","path":"code/tflearn/tflearn/activations.py","file_url":"https://github.com/limbo018/FRU/blob/HEAD/code/tflearn/tflearn/activations.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"eafae13d58fd7dc4"}},{"code_sha256_prefix":"7b5b30a975b938f3","entry":"tanh","repo":"limbo018/FRU","repo_kind":"official","path":"code/tflearn/tflearn/activations.py","file_url":"https://github.com/limbo018/FRU/blob/HEAD/code/tflearn/tflearn/activations.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"7b5b30a975b938f3"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}