降维,可以用下面这张图来很简单的描述,就是将不同的、复杂的多种树都抽象成最简单的树的描述,也就是我们不关心这棵树长什么样子有什么特别的特征,我们只需要降维,知道它是一棵树即可。维度下降实际上就是找到一个function,使得输入x得到输出z,而输出z的维度要比输入x的维度小。具体有几种方面,下面就先将PCA(主成分分析)PCAPCA认为,function实际上可以看成一个矩阵,即:\[z=Wx\]可以通过一个向量与矩阵的运算来描述这件事。那么当前假设x为二维向量,而要求降到一维的向量z,而w的范数等于1,则可以看成z就是x在w上的投影不同方向的w会导致投影出来的z不一样,因此我们的目标是找到一
降维,可以用下面这张图来很简单的描述,就是将不同的、复杂的多种树都抽象成最简单的树的描述,也就是我们不关心这棵树长什么样子有什么特别的特征,我们只需要降维,知道它是一棵树即可。维度下降实际上就是找到一个function,使得输入x得到输出z,而输出z的维度要比输入x的维度小。具体有几种方面,下面就先将PCA(主成分分析)PCAPCA认为,function实际上可以看成一个矩阵,即:\[z=Wx\]可以通过一个向量与矩阵的运算来描述这件事。那么当前假设x为二维向量,而要求降到一维的向量z,而w的范数等于1,则可以看成z就是x在w上的投影不同方向的w会导致投影出来的z不一样,因此我们的目标是找到一
如何判断导数值为零的点的类型当发现训练数据集误差不再下降的时候,不是只有卡在局部最小值的情况,还有另外一种情况是处于鞍点,鞍点位置处虽然其导函数为零,但是其既不是局部最大值也不是局部最小值,如图:因此,我们把局部最小值和鞍点这种点统称为驻点(criticalpoint),但这两种情况是截然不同的,因为如果是局部最小值那么周围都是比该点更大的loos,但是鞍点不一样,周围可能会有更小的loss,因此要认识到如何分辨这两种点。判断导数为0的点是鞍点还是极值点首先需要了解一下泰勒展开式,假设我们在\(\theta=\theta^{`}\)处进行二阶泰勒展开(忽略冗余项),即:\[L(\theta)\
如何判断导数值为零的点的类型当发现训练数据集误差不再下降的时候,不是只有卡在局部最小值的情况,还有另外一种情况是处于鞍点,鞍点位置处虽然其导函数为零,但是其既不是局部最大值也不是局部最小值,如图:因此,我们把局部最小值和鞍点这种点统称为驻点(criticalpoint),但这两种情况是截然不同的,因为如果是局部最小值那么周围都是比该点更大的loos,但是鞍点不一样,周围可能会有更小的loss,因此要认识到如何分辨这两种点。判断导数为0的点是鞍点还是极值点首先需要了解一下泰勒展开式,假设我们在\(\theta=\theta^{`}\)处进行二阶泰勒展开(忽略冗余项),即:\[L(\theta)\
1、What在自编码器中,有两个神经网络,分别为Encoder和Decoder,其任务分别是:Encoder:将读入的原始数据(图像、文字等)转换为一个向量Decoder:将上述的向量还原成原始数据的形式而目标是希望还原出来的结果能够与原始数据尽可能的接近。其中的向量可称为Embedaing、Representation、Code。而它的主要用处就是将原始数据(高维、复杂)经过Encoder后得到的向量(经过处理,低纬度)作为下游任务的输入。2、Why因为例如图像这种原始数据它的变化是有限的(不可能每一个像素点都是完全随机的,这不是我们可能看到的图片),因此如果AutoEncoder能够找到它
1、What在自编码器中,有两个神经网络,分别为Encoder和Decoder,其任务分别是:Encoder:将读入的原始数据(图像、文字等)转换为一个向量Decoder:将上述的向量还原成原始数据的形式而目标是希望还原出来的结果能够与原始数据尽可能的接近。其中的向量可称为Embedaing、Representation、Code。而它的主要用处就是将原始数据(高维、复杂)经过Encoder后得到的向量(经过处理,低纬度)作为下游任务的输入。2、Why因为例如图像这种原始数据它的变化是有限的(不可能每一个像素点都是完全随机的,这不是我们可能看到的图片),因此如果AutoEncoder能够找到它
假设我们当前要做一个人工智能客服系统,那该系统就需要对用户输入的话语进行辨认,例如用户输入:IwanttoarriveTaipeionNovember2nd那么该系统就能够辨认出来Taipei是目的地,而后面是时间。那么我们可以用一个简单的前向网络来实现这个事情,输出为这个单词属于哪个含义的概率。但这会存在问题,例如输入以下:IwanttoleaveTaipeionNovember2nd同样输入都是Taipei,但是第一个句子是作为目的地,第二个句子是作为出发地,那么普通的前向网络是无法对同一个输出做出不同的输出的。因此就希望此时使用的网络能够具有一定的记忆性,即在看到Taipei之前因为已经
假设我们当前要做一个人工智能客服系统,那该系统就需要对用户输入的话语进行辨认,例如用户输入:IwanttoarriveTaipeionNovember2nd那么该系统就能够辨认出来Taipei是目的地,而后面是时间。那么我们可以用一个简单的前向网络来实现这个事情,输出为这个单词属于哪个含义的概率。但这会存在问题,例如输入以下:IwanttoleaveTaipeionNovember2nd同样输入都是Taipei,但是第一个句子是作为目的地,第二个句子是作为出发地,那么普通的前向网络是无法对同一个输出做出不同的输出的。因此就希望此时使用的网络能够具有一定的记忆性,即在看到Taipei之前因为已经
1、BERT简介首先需要介绍什么是自监督学习。我们知道监督学习是有明确的样本和对应的标签,将样本丢进去模型训练并且将训练结果将标签进行比较来修正模型,如下图:而自监督学习就是没有标签也要自己创建监督学习的条件,即当前只有样本x但是没有标签\(\hat{y}\),那具体的做法就是将样本x分成两部分\(x\prime\)和\(x\prime\prime\),其中一部分作为输入模型的样本,另一部分来作为标签:如果觉得很抽象也没关系,请继续往下阅读将会逐渐清晰这个定义。1.1、BERT的maskingBERT的架构可以简单地看成跟Transformer中的Encoder的架构是相同的(可以参考我这篇文
1、BERT简介首先需要介绍什么是自监督学习。我们知道监督学习是有明确的样本和对应的标签,将样本丢进去模型训练并且将训练结果将标签进行比较来修正模型,如下图:而自监督学习就是没有标签也要自己创建监督学习的条件,即当前只有样本x但是没有标签\(\hat{y}\),那具体的做法就是将样本x分成两部分\(x\prime\)和\(x\prime\prime\),其中一部分作为输入模型的样本,另一部分来作为标签:如果觉得很抽象也没关系,请继续往下阅读将会逐渐清晰这个定义。1.1、BERT的maskingBERT的架构可以简单地看成跟Transformer中的Encoder的架构是相同的(可以参考我这篇文