Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added a neural network architecture that allows the model to learn long-term dependencies #356

Closed
wants to merge 1 commit into from

Conversation

honkkis
Copy link
Contributor

@honkkis honkkis commented Jan 8, 2024

For long-term dependencies and for low-alias 96kHz training it would be great to have an option with slightly larger network and larger receptive field.

Therefore this pull request adds an architecture with "dilations": [1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024], instead of "dilations": [1, 2, 4, 8, 16, 32, 64, 128, 256, 512], as in Architecture.standard. This does not seem to create huge CPU impact at inference time.

This is useful for 96kHz training to get the same effective receptive field in real time compared to the standard architecture in 48kHz. Could be also useful for modeling long-term effects in 48kHz.

This option is automatically reflected by the GUI, while the default is still standard.

Screenshot 2024-01-08 at 22 57 31

… 1024 to give the same receptive field in 96kHz training as in standard for 48kHz.
@honkkis honkkis changed the title Added a Architecture.HD for 96kHz training that includes one more layer with dilation of 1024 to have the same receptive field as standard in 48 kHz. Added a Architecture.HD that includes one more layer with double dilation of 1024 Jan 8, 2024
@honkkis honkkis changed the title Added a Architecture.HD that includes one more layer with double dilation of 1024 Added a Architecture.HD that allows the model to learn long-term dependencies Jan 8, 2024
@honkkis honkkis changed the title Added a Architecture.HD that allows the model to learn long-term dependencies Added an neural network architecture definition that allows the model to learn long-term dependencies Jan 8, 2024
@honkkis honkkis changed the title Added an neural network architecture definition that allows the model to learn long-term dependencies Added a neural network architecture definition that allows the model to learn long-term dependencies Jan 8, 2024
@honkkis honkkis changed the title Added a neural network architecture definition that allows the model to learn long-term dependencies Added a neural network architecture that allows the model to learn long-term dependencies Jan 8, 2024
@honkkis
Copy link
Contributor Author

honkkis commented Jan 9, 2024

Quite big effect in 96kHz training of a high gain amp. Both are trained 600 epochs with the same settings except the better ESR one is using the 1024 dilation defined in the HD model in this pull request!

Screenshot 2024-01-09 at 13 53 59

@sdatkinson
Copy link
Owner

Thanks for the PR.

This is a cool idea, but I'd like to see more evidence of its usefulness before merging it in as one of the pre-configured architectures.

It's important to me to keep the list of models that users pick from as small as possible and that they all have a solid value proposition. I'd be happy to keep an eye out on this if you can demonstrate that it does something cool, but the bar for introducing it into the standardized trainer is quite high since this also would open up a second dimension for users to make a choice on (where the only one right now is CPU usage vs accuracy).

@sdatkinson sdatkinson closed this Jan 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants