语音合成之Char2Wav模型和SampleRNN模型

Submitted by chenrouyu on Mon, 05/07/2018 - 10:39
语音合成是指将文本转化成音频的过程,整个过程的难点可以用两个词语来形容:清晰度(Intelligibility)和自然度(Naturalness),清晰度是指合成的音频是否是干净的,是否可以被人听懂;而自然度是指合成的音频是否融合了情感上的色彩。传统的语音合成通常有两种做法,一种是合成式,另外一种是参数式,下面我们分别看它们各自的特点。

自然语言处理中的注意力机制

Submitted by chenrouyu on Mon, 05/07/2018 - 09:15
概括地说,在神经网络实现预测任务时,引入注意力机制能使训练重点集中在输入数据的相关部分,而不是无关部分。注意力是指人的心理活动指向和集中于某种事物的能力。比如说,你将很长的一句话人工从一种语言翻译到另一种语言,在任何时候,你最关注的都是当时正在翻译的词或短语,与它在句子中的位置无关。在神经网络中引入注意力机制,就让它也学会了人类这种做法。

Kaggle经验分享||CNN识别患者CT图像预测患癌的可能性

Submitted by chenrouyu on Sat, 05/05/2018 - 11:40

背景

肺癌是最常见的癌症之一,尤其在北美地区。其是男性最常见的癌症形式,其次为女性。全球每年有160万人死于肺癌,仅在美国每年就有225000肺癌新增病例。此外,肺癌也是低存活率的癌症之一,平均5年的存活率低于20%。然而,早期发现的平均概率至少是肺癌存活率的两倍。

 

The Data Science Bowl (DSB) 是Kaggle举办的年度机器学习竞赛。2017年的竞赛是该赛事的第三届比赛,该次比赛共有2000名选手,其奖金池也高达100万美元。该比赛的目标为构建一个自动化系统,其能预测患者在下一年的CT扫描诊断中是否会被诊断为肺癌。该比赛的数据集只提供了每位患者的一次CT扫描图像,并删除了患者的相关信息。

 

工具

解决方案完全使用Python高级程序设计语言,并使用了相关的开源科学计算库:

  • keras

  • theano

  • numpy

  • scipy

  • scikit-learn

Tags

让机器“观色”:真实世界的表情识别

Submitted by chenrouyu on Sat, 05/05/2018 - 10:51
自古,“观色”即是全面分析人物的重要依据。在《论语.颜渊》中更是有,“夫达也者,质直而好义,察言而观色,虑以下人。” 而在计算机视觉领域,如果能够通过识别一个人的表情以观其色,即可为场景中出现的人物提供辅助的结构化信息,这在人机交互、安防等多个领域均有广泛的应用。 因此,在学术界衍生出了表情识别这一研究方向。传统的手工设计的面部特征,易受到光照变化等影响,面临真实场景中鲁棒性不足等问题,而近年来深度学习技术的出现,为表情识别带来了斐然的进展。

为什么深度学习要使用大量数据?

Submitted by chenrouyu on Sat, 05/05/2018 - 10:24
深度学习与机器学习一个很重要的区别在于数据量的大小。就目前大量的实验和工作证明,数据量的大小直接影响深度学习的性能。我们都希望利用小的数据集、简单的算法就能取得不错的效果,但目前的事实是小数据集上使用深度学习往往容易过拟合。本文中作者阐述了几个大容量训练数据的场景来展示大数据对深度学习的重要性。

序列模型和注意力机制

Submitted by donghonglin on Thu, 05/03/2018 - 10:59

1. 基础模型

sequence to sequence 模型:

sequence to sequence 模型最为常见的就是机器翻译,假如这里我们要将法语翻译成英文:

1

对于机器翻译的序列对序列模型,如果我们拥有大量的句子语料,则可以得到一个很有效的机器翻译模型。模型的前部分使用一个编码网络来对输入的法语句子进行编码,后半部分则使用一个解码网络来生成对应的英文翻译。网络结构如下图所示:

2

序列模型 --- NLP和词嵌入

Submitted by donghonglin on Thu, 05/03/2018 - 09:30

1. 词汇表征

在前面学习的内容中,我们表征词汇是直接使用英文单词来进行表征的,但是对于计算机来说,是无法直接认识单词的。为了让计算机能够能更好地理解我们的语言,建立更好的语言模型,我们需要将词汇进行表征。下面是几种不同的词汇表征方式:

one-hot 表征:

在前面的一节课程中,已经使用过了one-hot表征的方式对模型字典中的单词进行表征,对应单词的位置用1表示,其余位置用0表示,如下图所示:

1

one-hot表征的缺点:这种方法将每个词孤立起来,使得模型对相关词的泛化能力不强。每个词向量之间的距离都一样,乘积均为0,所以无法获取词与词之间的相似性和关联性。

特征表征:词嵌入

用不同的特征来对各个词汇进行表征,相对与不同的特征,不同的单词均有不同的值。如下例所示:

微信亿级用户异常检测框架的设计与实践

Submitted by donghonglin on Sat, 04/28/2018 - 14:02
如何在大规模数据下检测异常用户一直是学术界和工业界研究的重点,而在微信安全的实际生态中,一方面,黑产作恶手段多变,为了捕捉黑产多变的恶意模式,若采用有监督的方法模型可能需要频繁更新,维护成本较高;另一方面,通过对恶意帐号进行分析,我们发现恶意用户往往呈现一定的“聚集性”特征,因此这里需要更多地依赖无监督或半监督的手段对恶意用户进行检测。然而,微信每日活跃帐号数基本在亿级别,如何在有限的计算资源下从亿级别帐号中找出可疑帐号给聚类方案的设计带来了不小的挑战,而本文则是为了解决这一问题的一个小小的尝试。

异常检测之SOS算法和

Submitted by donghonglin on Sat, 04/28/2018 - 13:25

SOS算法全称stochastic outlier selection algorithm. 该算法的作者是jeroen janssens. SOS算法是一种无监督的异常检测算法.

算法的输入:

特征矩阵(feature martrix)或者相异度矩阵(dissimilarity matrix)

算法的输出:

一个异常概率值向量(每个点对应一个).

直觉上,当一个点和其它所有点的关联度(affinity)都很小的时候,它就是一个异常点。

我们看下面这个数据集:

1