global p global t global R % 输入神经元个数,此处是6个 global S1 % 隐层神经元个数,此处是10个 global S2 % 输出神经元个数,此处是4个 global S % 连接权值个数+阈值个数即(6*10+10*4)+(10+4) S1 = 10; p = [0.01 0.01 0.00 0.90 0.05 0.00; 0.00 0.00 0.00 0.40 0.50 0.00; 0.80 0.00 0.10 0.00 0.00 0.00; 0.00
在基于DNN-HMM的语音识别中,DNN的作用跟GMM是一样的,即它是取代GMM的,具体作用是算特征值对每个三音素状态的概率,算出来哪个最大这个特征值就对应哪个状态.只不过以前是用GMM算的,现在用DNN算了.这是典型的多分类问题,所以输出层用的激活函数是softmax,损失函数用的是cross entropy(交叉熵).不用均方差做损失函数的原因是在分类问题上它是非凸函数,不能保证全局最优解(只有凸函数才能保证全局最优解).Kaldi中也支持DNN-HMM,它还依赖于上下文(context d
最近在学习tf的神经网络算法,十多年没有学习过数学了,本来高中数学的基础,已经彻底还给数学老师了.所以我把各种函数.公式和推导当做黑盒子来用,理解他们能做到什么效果,至于他们是如何做到的,暂时不去深究,最多知道哪个公式的效果会比哪个更适合哪个场合. BP网络应该是最入门级的算法了. #用伪代码描述下大概如此 # 单层BP x = tf.placeholder(tf.float32,[None,256]) y = tf.placeholder(tf.float32,[None,10]) w = t