摘要:其实9月份去秋招了,没想到算法题都没准备就结束了:(,后续就强迫自己刷算法题。下面是15道比较经典的算法题,闲下来会不断更新该文章。 该文章对应的GitHub仓库: "cnlinxi/algorithm_practise" 数组中重复的数字 数组中所有数字都在0~n 1的范围内,数组中某些数字是重复 阅读全文
posted @ 2019-12-15 22:32 冬色 阅读 (42) 评论 (0) 编辑
摘要:语音质量评估,就是通过人类或自动化的方法评价语音质量。在实践中,有很多主观和客观的方法评价语音质量。主观方法就是通过人类对语音进行打分,比如MOS、CMOS和ABX Test。客观方法即是通过算法评测语音质量,在实时语音通话领域,这一问题研究较多,出现了诸如如PESQ和P.563这样的有参考和无参考 阅读全文
posted @ 2019-12-15 22:20 冬色 阅读 (233) 评论 (1) 编辑
摘要:音频分类前置知识 音频 音频常常被表示为波形图,其中横轴为时间,纵轴为幅值。音频多种多样,分类中一般分为语音、音乐、噪音、静音和环境音等。 采样频率 每秒从模拟信号中采集的样本个数,基本单位为 。信号的采样频率一般遵循奈奎斯特采样定理,即采样频率必须大于被采样信号最高频率的两倍。一般而言: 为电话信 阅读全文
posted @ 2019-10-12 11:19 冬色 阅读 (226) 评论 (0) 编辑
摘要:对于语音通信而言,语音码率较低,添加适当冗余是对抗网络丢包的常见方式。冗余方式有多种,包括 ,`FEC RFC 3350 RFC 2198 RFC 5109`是添加FEC数据的RTP封装标准协议。 RTP格式(RFC 3350) 文档地址: "RTP: A Transport Protocol fo 阅读全文
posted @ 2019-10-09 11:14 冬色 阅读 (349) 评论 (0) 编辑
摘要:NetEQ使得WebRTC语音引擎能够快速且高解析度地适应不断变化的网络环境,确保了音质优美且缓冲延迟最小,其集成了自适应抖动控制以及丢包隐藏算法。 WebRTC和NetEQ概述 WebRTC WebRTC (Web Real Time Communications) 是一项实时通讯技术,它允许网络 阅读全文
posted @ 2019-10-08 19:30 冬色 阅读 (201) 评论 (0) 编辑
摘要:VoIP基本原理 VoIP是通过Internet等互联网络传递语音信息的,主要包括终端设备、网关、网守和网络管理等部分。网关负责提供IP网络和传统的 接口。 VoIP的基本原理:通过语音压缩算法对语音数据进行压缩编码处理,然后将语音数据按照 标准打包,经过 网络把数据包发送到接收端,之后将语音数据包 阅读全文
posted @ 2019-10-08 19:27 冬色 阅读 (117) 评论 (0) 编辑
摘要:,`accelerate.cc` 加速操作,对语音信号处理以实现快速播放。 类继承自父类 ,大多数功能由 实现。 从|input|中读入长度为|input_length|的样本点;输出到算法缓冲区|output|中;改动的样本点数为|length_change_samples|;当fast_acce 阅读全文
posted @ 2019-10-08 19:23 冬色 阅读 (30) 评论 (0) 编辑
摘要:声纹识别,也称说话人识别,是一种通过声音判断说话人身份的技术。声纹识别可以分为说话人辨识( )和说话人确认( )。 指将待测语音与已知集合内若干说话人比对,选取最为匹配的说话人;而 指对于一个目标身份,判断一段未知语音是否来自于这个目标身份即可。因此, 是一个1对多的判别问题,而 实际是一个1对1的 阅读全文
posted @ 2019-05-05 16:32 冬色 阅读 (480) 评论 (0) 编辑
摘要:这本是近三个月间零零散散看到的知识点,今记录于此。 韵律预测 口语句子的韵律结构是指某些词似乎自然地结合在一起,而某些词似乎有明显间隔或彼此分开。如: 包含两个语调短语,边界即是逗号处。 在第一个短语中,似乎还有更小的韵律边界,通常称为中间短语,把单词做如下分割: 从一个语调短语的开始到结尾,$F_ 阅读全文
posted @ 2019-04-13 11:46 冬色 阅读 (112) 评论 (0) 编辑
摘要:排列与组合公式 从n个不同元素中任取r个,求取法个数; 排列要求次序,组合不讲次序; 全排列:$A^n_n=n!$ 选排列:$A_n^r=\frac{n!}{(n r)!}=n(n 1)...(n r+1)$ 组合:$C_n^r=\binom{n}{r}=\frac{n!}{r!(n r)!}=\f 阅读全文
posted @ 2019-03-01 17:48 冬色 阅读 (307) 评论 (0) 编辑
摘要:分类指标 精确率和召回率:多用于二分类问题 混淆矩阵 其中,TP(True Positive, 真正):被模型预测为正例的正样本; FP(False Positive, 假正):被模型预测为正例的负样本; FN(False Negative, 假负):被模型预测为负例的正样本; TN(True Ne 阅读全文
posted @ 2019-02-21 11:27 冬色 阅读 (300) 评论 (0) 编辑
摘要:逻辑回归(Logistic Regression, LR) 逻辑回归是一种广义线性模型,通过对数概率函数,将线性函数的结果进行映射,从而将目标函数的取值空间从$( \infty ,+\infty )$映射到了$(0,1)$,从而可以处理分类问题。注意:逻辑回归是一种 分类 算法。 前置知识 对数概率 阅读全文
posted @ 2019-02-19 11:44 冬色 阅读 (857) 评论 (0) 编辑
摘要:又名: 、`tf.contrib.rnn.LSTMCell` 参见: "tf.nn.rnn_cell.LSTMCell" 输出: output:LSTM单元输出,与 的区别在于该输出又经过激活以及和一个sigmoid函数输出相乘。shape: [batch_size,num_units] new_s 阅读全文
posted @ 2019-02-15 16:47 冬色 阅读 (242) 评论 (0) 编辑
摘要:在Tensorflow、Numpy和PyTorch中都提供了使用 的api,einsum是一种能够简洁表示点积、外积、转置、矩阵 向量乘法、矩阵 矩阵乘法等运算的领域特定语言。在Tensorflow等计算框架中使用einsum,操作矩阵运算时可以免于记忆和使用特定的函数,并且使得代码简洁,高效。 如 阅读全文
posted @ 2019-01-25 15:03 冬色 阅读 (913) 评论 (0) 编辑
摘要:图像中的风格转换 风格转换是最早来源于图像领域的概念,一言以蔽之,即是:将一张图片的艺术风格应用到另外一张图片上。 " " 深度卷积网络具有良好的特征提取能力,不同层提取的特征具有不同的含义。深度卷积网络由一层层的非线性函数组成,可以视为复杂的多元线性函数,该函数完成从输入图像到输出的映射。一般而言 阅读全文
posted @ 2019-01-20 14:45 冬色 阅读 (3161) 评论 (0) 编辑
摘要:一维卷积 在tensorflow中,可以使用 实现一维卷积。 : 输入Tensor : int, 输出Tensor维度 : int/tuple or list of int, 一维卷积窗口的大小 : int/tuple or list of int, 卷积步长 : /`same` : int/tup 阅读全文
posted @ 2019-01-13 21:44 冬色 阅读 (203) 评论 (0) 编辑
摘要:展示如何将数据输入到计算图中 可以看作是相同类型“元素”的有序列表,在实际使用时,单个元素可以是向量、字符串、图片甚至是tuple或dict。 数据集对象实例化: 迭代器对象实例化: 读取结束异常:如果一个 中的元素被读取完毕,再尝试 的话,会抛出 异常,这个行为与使用队列方式读取数据是一致的。 高 阅读全文
posted @ 2018-12-02 21:51 冬色 阅读 (178) 评论 (0) 编辑
摘要:第一章 图像领域,第$i$类图片提取到的特征: $$ feature_i=\sum_jw_{i,j}x_j+b_i $$ 其中,$j$表示一张图片的第$j$个像素,$b_i$是偏置值(bias),顾名思义就是这个数据本身的一些倾向,比如如果训练获得的参数$w$大部分数字是0,那么0特征对应的bias 阅读全文
posted @ 2018-11-27 22:18 冬色 阅读 (82) 评论 (0) 编辑
摘要:简单而言,seq2seq由两个RNN组成,一个是编码器(encoder),一个是解码器(decoder).以MT为例,将源语言“我爱中国”译为“I love China”,则定义序列: $$ X=(x_0,x_1,x_2,x_3)\\ 其中,x_0=“我”,x_1=“爱”,x_2=“中”,x_3=“ 阅读全文
posted @ 2018-10-29 17:01 冬色 阅读 (259) 评论 (3) 编辑
摘要:第二章 Tensorflow主要依赖两个工具:Protocol Buffer和Bazel Protocol. Protocol Buffer是一个结构数据序列化的的工具,在Tensorflow中大部分的数据都是通过Protocol Buffer的形式储存,Bazel是谷歌开源的编译工具。 第三章 3 阅读全文
posted @ 2018-10-28 22:42 冬色 阅读 (138) 评论 (0) 编辑
摘要:论文地址: "Attention is you need" 序列编码 深度学习做NLP的方法,基本都是先将句子分词,然后每个词转化为对应的的词向量序列,每个句子都对应的是一个矩阵$X=(x_1,x_2,...,x_t)$,其中$x_i$都代表着第$i$个词向量,维度为d维,故$x\in R^{n×d 阅读全文
posted @ 2018-10-14 22:14 冬色 阅读 (611) 评论 (0) 编辑
摘要:Tacotron2 前置知识 通过时域到频域的变换,可以得到从侧面看到的 频谱 ,但是这个频谱并没有包含时域的中全部的信息,因为频谱只代表各个频率正弦波的振幅是多少,而没有提到相位。基础的正弦波$Asin(wt+\theta)$中,振幅、频率和相位缺一不可。不同相位决定了波的位置,所以对于频域分析, 阅读全文
posted @ 2018-09-10 19:25 冬色 阅读 (811) 评论 (4) 编辑
摘要:整个特征预测网络是一个带有注意力机制(attention)的seq2seq网络。 编码器 解码器(Encoder Decoder)结构 在原始的编码器 解码器结构中,编码器(encoder)输入一个序列或句子,然后将其压缩到一个 固定长度 的向量(向量也可以理解为一种形式的序列)中;解码器(deco 阅读全文
posted @ 2018-08-24 08:56 冬色 阅读 (5210) 评论 (0) 编辑
摘要:数据增强(Data augmentation) 预处理(Pre processing) 初始化(Initializations) 训练中的Tricks 激活函数(Activation functions) 正则化(Regularizations) 画图洞察数据 集成学习(Ensemble) 数据增强 阅读全文
posted @ 2018-08-16 20:46 冬色 阅读 (266) 评论 (0) 编辑
摘要:只要神经元足够,神经网络可以以任意精度逼近任意函数。为了拟合非线性函数,需要向神经网络中引入非线性变换,比如使用$sigmoid$激活函数: $$ sigmoid(x)=\frac{1}{1+e^{ x}} $$ $sigmoid(x)$可简写为$\sigma(x)$,该函数可以将实数压缩到开区间$ 阅读全文
posted @ 2018-08-15 13:00 冬色 阅读 (11887) 评论 (0) 编辑