{"id":13407890,"url":"https://github.com/Alexander-H-Liu/NPC","last_synced_at":"2025-03-14T12:31:49.467Z","repository":{"id":112527539,"uuid":"307816993","full_name":"Alexander-H-Liu/NPC","owner":"Alexander-H-Liu","description":"Non-Autoregressive Predictive Coding","archived":false,"fork":false,"pushed_at":"2020-11-03T07:54:06.000Z","size":172,"stargazers_count":50,"open_issues_count":0,"forks_count":5,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-10-30T01:43:25.302Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Alexander-H-Liu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2020-10-27T20:15:40.000Z","updated_at":"2024-08-13T03:58:22.000Z","dependencies_parsed_at":null,"dependency_job_id":"f25b5007-0d26-4034-bc98-53d427ec2871","html_url":"https://github.com/Alexander-H-Liu/NPC","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alexander-H-Liu%2FNPC","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alexander-H-Liu%2FNPC/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alexander-H-Liu%2FNPC/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alexander-H-Liu%2FNPC/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Alexander-H-Liu","download_url":"https://codeload.github.com/Alexander-H-Liu/NPC/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243578251,"owners_count":20313790,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-30T20:00:49.294Z","updated_at":"2025-03-14T12:31:49.456Z","avatar_url":"https://github.com/Alexander-H-Liu.png","language":"Python","funding_links":[],"categories":["Paper List","ASR"],"sub_categories":["Generative","2024"],"readme":"# Non-Autoregressive Predictive Coding\n\nThis repository contains the implementation of Non-Autoregressive Predictive Coding (NPC) as described in [the preprint paper](https://arxiv.org/abs/2011.00406) submitted to ICASSP 2021.\n\n\nA quick example for training NPC\n```\npython main.py --config config/self_supervised/npc_example.yml \\\n               --task self-learning\n```\n\n- For more complete examples including downstream tasks, please see [the example script](eg.sh).\n\n- For preparing data, please visit [preprocess](preprocess/).\n\n- For detailed hyperparameters setting and description, please checkout [example config file of NPC](config/self_supervised/npc_example.yml). \n\n- For all run-time options, use `-h` flag.\n\n- Implementation of [Autoregressive Predictive Coding](https://arxiv.org/abs/1910.12607) (APC, 2019, Chung *et al*.) and [Vector-Quantized APC](https://arxiv.org/abs/2005.08392) (VQ-APC, 2020, Chung *et al*.) are also available using similar training/downstream execution with example config files [here](config/self_supervised/vqapc_example.yml).\n\n## Some notes\n\n- We found the unmasked feature produced by the last ConvBlock layer a better representation. In the phone classification tasks, switching to the unmasked feature (PER 25.6%) provided a 1.6% improvement over the masked feature (PER 27.2%). Currently, this is not included in the preprint version and will be updated to the paper in the future. Please refer to [downstream examples](config/downstream) to activate this option.\n\n- APC/VQ-APC are implemented with the following modifications for improvement (for the unmodified version, please visit the official implementation of [APC](https://github.com/iamyuanchung/Autoregressive-Predictive-Coding) / [VQAPC](https://github.com/iamyuanchung/VQ-APC/tree/96230cc358b174b736b4c0e7664b3e72b304d9b0))\n\n    - Multi-group VQ available for VQ-APC, but with VQ on last layer only\n\n    - Using utterance-wised CMVN surface feature（just as NPC did)\n\n    - Using Gumbel Softmax from [official API](https://pytorch.org/docs/stable/nn.functional.html#gumbel-softmax) of pytorch\n\n- See [package requirement](requirements.txt) for toolkits used, `tensorboard` can be used to access log files in `--logdir`.\n\n\n## Contact\n\nFeel free to contact me for questions or feedbacks, my email can be found in the paper or my [personal page](https://alexander-h-liu.github.io).\n\n## Citation\n\nIf you find our work and/or this repository helpful, please do consider citing us\n\n```\n@article{liu2020nonautoregressive,\n  title   = {Non-Autoregressive Predictive Coding for Learning Speech Representations from Local Dependencies},\n  author  = {Liu, Alexander and Chung, Yu-An and Glass, James},\n  journal = {arXiv preprint arXiv:2011.00406},\n  year    = {2020}\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAlexander-H-Liu%2FNPC","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FAlexander-H-Liu%2FNPC","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAlexander-H-Liu%2FNPC/lists"}