
机器学习
文章平均质量分 67
平凡的兵
AI的实践者
展开
-
常用模型结构(FNN、CNN、RNN、TDNN、FSMN、Attention)
经典模型结构总结,大道至简,探寻最本质之处。可以归类为卷积,DNN、TDNN、FSMN等均可采用CNN实现。可以看作是卷积核比较大的卷积操作,第一层,卷积核16*3;第二层卷积核3*10。第一层权重数:16维特征输入*3帧视野*3个隐层节点=166。第二层权重数:3维隐层节点*10帧视野*4个输出节点=120。原创 2022-11-12 11:57:17 · 4874 阅读 · 0 评论 -
研读Speech separation is the task of separating target speech from background interference
摘要:语音分离是从带背景干扰的语音中抽取目标语音的任务。传统的,语音分离是信号处理问题的研究课题。最近的一些方法将语音分离当做有监督学习研究课题,基于训练数据获得语音、说话人和背景噪声的区分性模式。在过去十年里提出了许多有监督分离算法。特别地,近期的基于深度学习的有监督语音分离显著提升了语音分离效果。本文综述性描述最近几年基于深度学习的有监督语音分离的进展。首先,介绍语音分离的背景以及有监督分...原创 2019-11-27 14:27:05 · 463 阅读 · 0 评论 -
Encoder-Decoder模型
起源:2014年,Sutskever提出的简单Enc-Dec模型paper:Sequence to Sequence Learning with Neural Network解决sequence to sequence转换的问题,采用了编码和解码的结构其中,编码是将source sequence转化为一个context vector,解码是将该context vector转化为ta原创 2017-12-10 10:54:10 · 19451 阅读 · 0 评论 -
CNN模型压缩方案
本文主要总结近年来CNN的模型压缩方案在2016年SqueezeNet这篇文章中,作者总结模型设计三个原则–(1)使用1*1网络代替3*3网络•替换3x3的卷积kernel为1x1的卷积kernel可以让参数缩小9X为了不影响识别精度,并不是全部替换,而是一部分用3x3,一部分用1x1•如何用1x1和3x3组合替换3x3? Fire modules–(2)减原创 2017-08-12 15:08:11 · 1958 阅读 · 0 评论 -
batchnorm
先贴两个公式NCNN代码int BatchNorm::forward_inplace(Mat& bottom_top_blob) const{ // a = bias - slope * mean / sqrt(var) // b = slope / sqrt(var) // value = b * value + a int w原创 2017-12-20 22:19:18 · 531 阅读 · 0 评论 -
caffe源码 之 dropout层
本文转载自:http://blog.youkuaiyun.com/lanxueCC/article/details/53319872?locationNum=2&fps=1本文主要解析caffe源码文件/src/caffe/layers/Dropout_layer.cpp,该文件实现的功能是防止过拟合。综述 dropout层的作用是防止训练的时候过拟合。在训练的时候,传统的训练方法是每次迭转载 2017-12-21 16:20:38 · 393 阅读 · 0 评论 -
基于交叉熵准则(Cross Entropy Criteria)的神经网络训练
基于交叉熵准则(Cross Entropy Criteria)的神经网络训练1. 神经网络结构上图为一个三层神经网络结构图。输入层为特征输入,隐层激活函数使用sigmoid函数,输出层激活函数使用softmax函数。2. 目标函数DNN is trained bymaximizing the posterior probablityoverthe t原创 2015-01-17 15:07:37 · 4307 阅读 · 0 评论 -
Triplet loss
一种Hard sample mining方案,目标函数如下最小化 |anchor-positive| - |anchor - negative| + alpha选定anchor和positive后,negative的选取方式有以下五种:(0) 在环形区域,跟anchor距离最近的点(1) 在小圆内,跟anchor距离最近或者跟positive距离最近(两个配置项)(...原创 2018-09-28 15:01:13 · 743 阅读 · 0 评论 -
Attention本质剖析
1. 为什么需要attention? Why语音识别或机器翻译领域传统Encoder-Decoder方案遇到性能瓶颈。传统Encoder直接将所有输入(x1, ..,x4)编码至固定向量c,再通过decoder进行解码,该思路缺陷显而易见,每个输入没有显示的权值表示,导致每个输入的贡献相当。 ...原创 2018-10-13 13:57:02 · 1346 阅读 · 0 评论 -
fast-rcnn配置运行demo.py(Ubuntu14.04)
我(lee)在这份博客中对fast-rcnn配置运行demo.py做出相应操作说明,希望可以解决大家对fast-rcnn配置的困惑,少走弯路。注意:fast-rcnn是建立在caffe已经配置好的基础上的,如果对caffe配置不太熟的朋友可以参考一下我的博客http://blog.youkuaiyun.com/samylee/article/details/50922601好了,我们来玩玩这个fast转载 2017-08-12 14:27:51 · 304 阅读 · 0 评论 -
Caffe配置注意事项
关于Caffe的配置,有很多文章了,可以参考http://blog.youkuaiyun.com/u014696921/article/details/52156552这里主要关注以下问题:1. 外网访问不佳,常常导致软件无法成功下载解决方案:采用国内镜像参考文章 http://blog.youkuaiyun.com/testcs_dn/article/details/54374849原创 2017-08-15 22:20:52 · 356 阅读 · 0 评论 -
局部敏感哈希(Locality-Sensitive Hashing, LSH)方法介绍
局部敏感哈希(Locality-Sensitive Hashing, LSH)方法介绍本文主要介绍一种用于海量高维数据的近似最近邻快速查找技术——局部敏感哈希(Locality-Sensitive Hashing, LSH),内容包括了LSH的原理、LSH哈希函数集、以及LSH的一些参考资料。一、局部敏感哈希LSH在很多应用领域中,我们面对和需要处理的数据往转载 2017-07-06 20:05:15 · 361 阅读 · 0 评论 -
SVM的多类分类的实现
SVM本身是个二类分类器,如何实现多类分类?假设现在要实现k类分类问题,有两种方法1. 利用二类SVM将k类数据分成两类,其中类1为一类,类2至类k为另一类。继续对类2至类k数据进行二分类。持续下去,共需k-1个SVM分类器。2. 为任意两类数据设计一个二类分类器,则需k(k-1)个二类分类器。原创 2013-03-12 19:46:37 · 1164 阅读 · 0 评论 -
SVM学习
SVM的学习,首推林智仁的网站http://www.csie.ntu.edu.tw/~cjlin/libsvm工具,有各种语言写的源码,像最常用的C++和Java。里面有个A practical guide to SVM Classification文档,简单直观的介绍了SVM。至于libsvm的使用,介绍的非常仔细的网页http://ntu.csie.org/~piaip原创 2013-03-09 10:39:31 · 882 阅读 · 0 评论 -
最小二乘法和梯度下降法
最小二乘法已知要拟合曲线的方程,一般为多项式方程,需要求解各项的系数。 一般先构造cost function,然后对cost function的每个参数变量求偏导,通过解方程组获得参数值。梯度下降法 一种参数迭代更新的算法。原创 2014-12-28 11:18:16 · 544 阅读 · 0 评论 -
SVD奇异值分解简析
Full SVD 矩阵AmnA_{mn},其中m和n不一定相等,可以写成: Amn=UmmSmnVnnA_{mn}=U_{mm}S_{mn}V_{nn} UmmU_{mm}由AATAA^T的特征向量构成; VnnV_{nn}由ATAA^TA的特征向量构成;Reduced SVD 矩阵AmnA_{mn},其中m和n不一定相等,可以写成: Amn=UmkSkkVknA_{mn}=U_{mk原创 2015-08-01 15:17:43 · 1249 阅读 · 0 评论 -
训练集 验证集 测试集
有1000组数据,训练一个分类器1. 分类器无需进行模型选择1000组数据可以直接划分为 training set + test set2. 分类器涉及模型选择比如k近邻分类器对k值的选择,SVM分类器对参数个数的选择,1000组数据得划分成三份:training, validation and test sets(1)训练集 + 验证集:800组用于进行模型选原创 2013-03-08 16:58:26 · 3436 阅读 · 0 评论 -
caffe在笔记本ubuntu14.04 64位下的无GPU安装
原文地址:http://www.itnose.net/detail/6241480.htmlcaffe在笔记本ubuntu10.04 64位下的无GPU安装 笔者花了很长时间才装完,主要是cuda安装和opencv安装比较费劲,cuda找不到32位的安装包只好重装64位的ubuntu系统,opencv也是尝试了很久才解决,这里建议用2.4.9版本。其实如果没用GPU的话不转载 2015-10-03 14:00:12 · 1171 阅读 · 0 评论 -
PCA,ICA和CCA(markdown)
PCA 主成分分析 m个n维的样本数据X1,X2,...,XmX_1, X_2, ... , X_m, 均值为u 步骤: (1)标准化, Xi−uX_i - u (2)计算协方差矩阵 E{(X−E(X))(X−E(X))T}E\{(X-E(X))(X-E(X))^T\} (3)计算特征值和特征向量(单位化) (4)选择特征值最大的前k(1≤\lek≤\len)项的特征向量 (5)利用特原创 2016-02-15 15:42:41 · 7153 阅读 · 0 评论 -
Gated Recurrent Neural Networks
Gated Recurrent Neural Networks, GRU原创 2016-04-21 17:55:49 · 2441 阅读 · 0 评论 -
KLD模型自适应
原创 2016-06-29 13:52:05 · 3283 阅读 · 1 评论 -
python matplotlib绘图
import matplotlib import matplotlib.pyplot as plt import random# generate 2 dimension pointsd = 2xmax = 20num_points = 10points = [[random.randint(0,xmax) for i in xrange(d)] for j in xrange(原创 2017-07-14 16:00:08 · 291 阅读 · 0 评论 -
林智仁libsvm java代码学习笔记
拿到代码,找了一个training set,一个test set,跑了一遍。感觉svm的参数有点多,以下是需要设置的参数:(1) svm_type : svm的类型,包括C-SVC, nu-SVC, one-class SVM, epsilon-SVR, nu-SVR等(2) kernel_type: 核函数类型,包括 线性核函数,多项式和函数,RBF核函数,sigmoid核函数等原创 2013-03-09 16:40:13 · 1060 阅读 · 0 评论