automatic speech recognition using neural network

Hello I am trying to do the speech recognition using artificial neural network.I have extracted the mfcc features from resource management training data.I am using only 1/4 of the entire data to reduce the training time.I am using the triphone model. My input matrice has the size of 13*331930 and the output matrice is 1800 *331930.Even on just loading these matrices to matlab gives me out of memory error.Than i tried to use 1/10 of the data for training and also instead of loading them to matlab i used the matfile function from matlab to reduce the memory requirement.I even used the parallel processing toolbox to decrease the training time. i used a fitnet(20) and train() function to train my neural network.It still gives me the out of memory error.Kindly guide me as i am very new to this field.Thanks

7 Comments

What are your 13 inputs?
What are your 1800 outputs?
If you are new to the field, start with a much smaller practice problem.
Searching in ANSWERS with
neural speech
I get 27 hits.
Also try the NEWSGROUP.
Good Luck
13 inputs are mfcc features and 1800 outputs are the triphones.I have done already applied neural network on small databases like ten digit recognition.But for this large dataset i am quite confused.
1800 outputs is unreasonable. Figure out a way to reformat your problem and/or substantially reduce the output dimensionality.
18 outputs sounds much better.
How can i use the mini batches approach in matlab neural network toolbox. How can i pass blocks of total samples to train() function in the neural network.For the time being i am doing like this
net=feedforwardnet(50);
net.trainParam.lr=.01; temp=1;
for ii=1:1:10
temp=1;
for i=1:1:20
net=trainscg(net,Xj_temp(:,temp:temp+345),train_out_temp(:,temp:temp+345));
temp=temp+346;
end
end
Am i doing it right?
You have to save the 10 different nets.
can you please elaborate a little.That will be of great help.What to do of these 10 different nets.How to get one common net from these three different nets
Three? You mean ten. If your output dimensionality was orders of magnitude smaller you could create an ensemble net consisting of linear combinatins of the individual nets. However ...
Something is wrong with your perception of the problem. I have never heard of a net with a 1800-D output.
You need to reduce the dimensionality of the output.
A thorough literature search of your original problem is needed.

Sign in to comment.

Answers (0)

Categories

Find more on Deep Learning Toolbox in Help Center and File Exchange

Asked:

on 8 Dec 2014

Commented:

on 13 Dec 2014

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!