分类
机器学习及应用

一文看懂循环神经网络基本原理

RNN是循环神经网络的缩写,并且也是循环网络结构中的一种,我们通常使用这种网络模型来处理序列型的数据。语音识别处理的就是一个典型的有时间顺序的序列数据,自然语言文本也是。在一个普通的DNN网络中,层与层之间是全连接的,而每层中的神经元节点之间不存在任何连接,这样的一种普通DNN网络结构难以解决很多问题。以语音识别为例,不同时刻t的语音包含的字,在推理计算时,需要根据上下文来确定应该输出为什么字符,而且结果应当跟具体所在时刻t无关,否则会出现不同时间说相同的字会产生不同的识别输出的问题。

    循环网络就解决了这个问题,这有点类似于隐马尔可夫模型,对于每一时刻的输入,所产生的输出值,不仅仅依赖于当前时刻t,还依赖于前N个时刻的输出值。这主要是通过在每一个循环层单元中,添加了一个记忆单元实现的。

分类
机器学习及应用

卷积神经网络相关计算总结,都在这了

卷积神经网络是模式识别分类常用的网络结构之一,在大规模的图像识别等方面有着很大的优势。本文将总结卷积层、反卷积层、感受野、权重参数数量等卷积神经网络相关的原理和计算过程。

分类
机器学习及应用

[翻译]生成对抗网络

本文为论文 Generative Adversarial Nets 的翻译文

论文原文链接: https://arxiv.org/abs/1406.2661

Ian J. Goodfellow, Jean Pouget-Abadie, Mehdi Mirza, Bing Xu, David Warde-Farley,

Sherjil Ozair, Aaron Courville, Yoshua Bengio§

Departement d’informatique et de recherche op´ erationnelle´

Universite de Montr´ eal´

Montreal, QC H3C 3J7´

分类
机器学习及应用

如何解决神经网络训练时loss不下降的问题

当我们训练一个神经网络模型的时候,我们经常会遇到这样的一个头疼的问题,那就是,神经网络模型的loss值不下降,以致我们无法训练,或者无法得到一个效果较好的模型。导致训练时loss不下降的原因有很多,而且,更普遍的来说,loss不下降一般分为三种,即:训练集上loss不下降,验证集上loss不下降,和测试集上loss不下降。这里,首先默认各位都能理解过拟合和欠拟合的概念,如果有不清楚的可以参考下面的一些文章。

分类
机器学习及应用

神经网络: 正向传播与反向传播

在进行深层神经网络的计算过程中,现在主流框架(比如TensorFlow、Pytorch、MXNet等)提供了自动求导函数,极大地简化了深度学习模型训练算法的实现。但求导,又称反向传播(back-propagation),是Deep Learning中的一个重要概念,所以在这一篇文章中主要用数学和计算图两个方式来描述正向传播和反向传播。我们将使用一个带有L2范数正则化的单隐藏层感知机为例解释正向传播和反向传播。

分类
机器学习及应用

机器学习:神经网络模型样例

神经网络有着强大的函数表示能力,只要它具有合适的层数。神经网络可以拟合任何线性或者非线性的函数,而且可以通过学习或者自身一系列所需的参数。我们都知道,神经网络的输入层输入的是数据的原始特征,经过中间隐藏层一系列的近似于“黑盒”的计算,其中每一层都是利用前一层的特征进行计算得到新的特征,最终我们在输出层可以得到对应的结果。我们可以用几个简单例子来更好的理解神经网络的一些工作原理。

分类
机器学习及应用

机器学习:神经网络模型

不论是线性回归还是对数几率回归,都有一个缺点,那就是,当特征太多的时候,计算量会变得非常的大。假如我们有100个特征,如果仅仅考虑多项式函数中两两组合的二次交叉项的时候,那么我们会得到组合数C2100 的数量,即4950个二次交叉项,这对于一般的统计回归来说徐要计算的特征数太多了。我们需要一种既简单又强大的模型,神经网络(Neutral Network)就是这样。神经网络是一种模仿生物神经网络(动物的中枢神经系统,特别是大脑)的结构和功能的数学模型或计算模型,用于对函数进行估计或近似[参考资料1]。其实,简单来说,神经网络就是一个分层的有向图,每一层的节点称为一个神经元。