juanmc2005 / similaritylearning Goto Github PK
View Code? Open in Web Editor NEWSimilarity Learning applied to Speaker Verification and Semantic Textual Similarity
Similarity Learning applied to Speaker Verification and Semantic Textual Similarity
Cross entropy training is not stable. The EER is going up at each epoch instead of going down.
Use SpeakerModel and VoxCeleb1 to train a first speaker verification model.
Cross entropy takes priority over the rest of the losses as discussed in previous meetings.
Make sure to use EER as the validation metric.
Using the information from #8, build positive and negative pairs using a threshold, and generate triplets with them.
Just adding this issue for completeness.
Training with softmax is possible, but a few details about the clusters will need to be verified before we can expect to have decent or comparable results.
Plot the golden ratings in the dataset to understand their distribution and choose an adequate threshold
The dataset should be added with batch generation and loaders, so its access respects the same interface as MNIST.
Make sure to include the posibility to generate pairs, triplets or clusters.
Use ArcFace loss to train a speaker verification model. The SincNet softmax baseline should be used in order to reduce training time.
I want to know How to run the training code of MNIST dataset
The code needed to cluster sentences based on positive pairs and a threshold already exists.
What's needed here is to simulate the generation of clusters for different threshold values (to consider positives).
To start, consider threshold values from 0 to 5 with a step of 0.5, then plot the amount of clusters generated, total sentences kept, and mean cluster size.
A zone of interest will come out of this experience, we have to zoom there and repeat the experience in this interval, with a step of 0.1.
After that, we have to choose a good threshold to generate clusters.
Note: Sentences which don't have positive relationships will be lost from the original dataset, as we cannot infer clusters for them, unless we allow clusters of 1 sentence.
Integrate the speaker verification model (provided) into the project. Make it available through an interface similar to the MNIST model.
base.py is starting to grow in size:
Get familiar with the VoxCeleb dataset (doc provided) and integrate it into the project. Make it available through an interface similar to the already available MNIST dataset.
Code and run a triplet loss experiment for STS.
We can focus on euclidean distance for now, so we test as many functions as we can. Later we'll do experiments with cosine distance too.
Implement EER validation trials as a separate validation script to run in parallel every time a new model is saved.
Automatically save the model when it achieves best validation performance.
Determine a threshold to build positive and negative STS pairs and train a model with contrastive loss.
Validate with Spearman score (should discuss which is the best method).
Add chosen STS model (provided) to the project. Make it available through an interface similar to the MNIST model.
Run experiments for all losses using SincNet, compare and analyze results
Did you tune this hyper-parameter?
What is your intuition on its role?
Currently the trainers have more code in common than I'm confortable with. Try to make them as small as possible, without losing the needed flexibility
Calculate the number of positive and negative pairs that can be generated for STS (total and per sentence)
Not all loss functions are well documented. Explain them in detail, as it is the core of the project
Perform a significance test with the results obtained using these two methods. Still waiting on confirmation for the specific method to use for this.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.