Comments (4)
from auxiliaryasr.
Why are there negative values? Shouldn't loss be positive in general?
@yl4579
from auxiliaryasr.
@hai8023 This happens when a lot of blank tokens appear in the targets for CTC loss. You need to check your labels to make sure it doesn't contain the space (
).
However, even if you don't have it, the optimal CTC loss will be negative because the blank token was added to the beginning and the end of the speech to indicate silence before and after the speech. This is intended behavior unless your audio is trimmed to have no silence at the beginning and the end of the speech. If you don't do this, the loss won't be negative, but it may not be able to recognize the silence at the beginning and the end of the speech.
Technically speaking, the padding token at the beginning and the end be <SOS>
and <EOS>
instead, but for voice conversion application, the input data is randomly sliced and does not form a sentence, so we abuse the notation and use
to represent the silence which is what it meant to be used in CTC loss.
For more explanation, please see https://discuss.pytorch.org/t/negative-ctc-loss/79548/5
from auxiliaryasr.
Thank you very much for your reply
from auxiliaryasr.
Related Issues (11)
- How much data did you use to train the model? HOT 1
- how to train for mandarin asr? HOT 8
- how to make word_index_dict.txt HOT 3
- why mel_spectrogam feature extracting using only MEL_PARAMS here? HOT 3
- get error HOT 28
- Is there anyone who has used the phonemizer? Any advice, please, on how to change the code correctly HOT 3
- Multiple GPU training and changing to librosa mel spec? HOT 2
- Why is " " used as the blank in the CTCLoss?
- Error Message: RuntimeError: Argument #4: Padding size should be less than the corresponding input dimension, but got: padding (1024, 1024) at dimension 2 of input [1, 65621, 2] HOT 3
- How to train ZH-EN duo language aligner? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from auxiliaryasr.