精华内容
下载资源
问答
  • 说完了梯度下降,我们再啦看看传播算法。传播算法中很重要一点,就是其中的向量表达。将繁复下标用矩阵的形式抹掉,这对后面运算是十分有利

    刚看完兴风作浪的姐姐们,突然觉得张雨绮有、、可爱?!
    今日推歌:(网易云自己搜)
    歌手:告五人
    歌名:跳海 Farewell in the sea
    在这里插入图片描述
    ❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤分割线

    1 深度学习隐藏层的含义

    1.1 神经元如何运转

    在实际的应用中,我们可以设置隐藏层的层数,也可以设置每层中具体的神经元,但隐藏层中的神经元到底代表了什么呢?
    神经网络从出现开始,就带着神秘与不透明,网络中的层数常常由经验获得,网络中的权重与偏置也是用梯度下降法等方法自动被发现的,我们不能对网络中的每个神经元做了什么给出一个明确的解释。但我们可以试着去理解其背后的机制。

    假设我们现在要完成一个任务,即辨别这张图片里是否有人脸:

    在这里插入图片描述
    那么我们考虑这样的一个网络。
    输入层输出层的构造是很明晰的:将图像展成像素点的形式输入进去,并采用一个S神经元表示它的输出。当S神经元的值大于某个阈值时,我们认为其中包含人脸,反之则认为不包含人脸。
    接下来我们将设计隐藏层,并为其选择和合适的偏置与权重。
    我们先忘掉神经网络的具体构造,试着将问题分解为子问题,也就是:这张图片左上部分和右上部分有眼睛的形状吗?眼睛上面有眉毛吗?两只眼睛的中下方有鼻子吗?再下方有嘴巴吗?
    当这些问题的回答是“是”或“可能是”时,我们认为这可能是一张人脸。如果前述问题有的回答为“不是”,那么我们认为这张图片可能不包含人脸。

    上面的思路其实不是一个现实的方法,但它能帮助我们建立神经网络如何运转的直观感受。理解神经网络背后运行的机制,也就是将复杂问题分解为子问题

    1.2 图解复杂问题的分解

    我们将上面说的复杂问题不断分解,来看下面这张图:

    在这里插入图片描述
    将问题分解为子问题后,子网络也可以被继续分解。我们现在考虑第一个子问题,即:左上角有一个眼睛吗?这个问题可以被分解为:
    在这里插入图片描述
    这些子问题又可以继续被分解,随着网络层数越来越多,问题传递地越来越远。最终,最后的子网络回答了只涉及若干像素点的简单问题,比如,某几个像素点是否构成某一个形状。
    至此我们设计的一个网络,可以将一个非常复杂的问题分解成单个像素层面上就能回答的简单问题。

    要注意的是:上面我们描述的过程,是问题分解的思路,在实际的网络实现中是相反的顺序。也就是离输入层像素点最近的一层,负责完成对某些像素点是否能构成一个特定形状的回答。输出层的前一个隐藏层,完成我们说的是否有五官的问题。越是后面的网络层,越是有着抽象和繁复的结构。

    深度神经网络,指的就是这样包含两层及以上隐藏层的网络结构。

    2 传播算法中的矩阵运算

    2.1 反向传播算法的核心

    接下来引入反向传播的内容叭。

    在前面我们说到了梯度下降算法的原理。但我们没有说明如何去求解代价函数CC的梯度值。
    这个问题的求解,就需要用到反向传播算法(backpropagation)。

    当我们搞懂了反向传播算法中的细节问题,我们就更能理解神经网络的的运作原理,也更能领悟怎样通过改变权重和偏置来控制网络的行为。

    简而言之:反向传播算法的核心,是对代价函数C关于任何权重或偏置的偏导数表达式。

    2.2 传播算法中的参数定义与细节图解

    首先,请记好这些定义:
    wjklw_{jk}^{l}表示从第(l1)(l-1)层的第kk个神经元到第ll层的第jj个神经元的连线上的权重;
    bjlb_{j}^{l}表示第ll层第jj个神经元的偏置值;
    ajla_{j}^{l}表示第ll层第jj个神经元的激活值。

    以下图为例:表示第2层第4个神经元到第3层第2个神经元的权重。

    在这里插入图片描述
    这里注意到下标是倒着的,但倒着是为了后面更好的进行运算。我把前后两层叫做出发层和到达层。也就是在网络的参数里,出发层在后,到达层在前。
    将前后两层的激活值写在同一个方程中:在这里插入图片描述
    注意这里的求和是在l1l-1层上进行的,即将l1l-1层上kk个神经元与各自对应的权值相乘wjklw_{jk}^{l},再将相乘的结果求和,加上这一层对下一层第jj个神经元总的偏置bjlb_{j}^{l},在代入到sigmoid函数,就可以计算得到下一层第jj个神经元的激活值。

    2.3 传播算法中的向量化表达

    上面的形式略微复杂,我们尝试用矩阵来重新写一下。

    我们将每层的权重定义为一个矩阵,可以看到上面的权重就代表第ll层的权重矩阵中的第jj行第kk列的值,是一个具体的数字。那么同理,将激活值和偏置也矩阵化,可以得到激活向量ala^{l}和偏置向量blb^{l}。上面式子里的值分别是激活向量第k个元素和偏置向量第j个元素。

    最后,我们定义对于矩阵运算的向量化的sigmoid函数,其代表将对应元素进行sigmoid运算。

    因此,上面的式子就可以表示为简洁的形式:

    在这里插入图片描述
    如此一来,就没有那么多复杂的下标干扰我们了。目前我们采用的软件大多实现了矩阵的运算。python中有一个很好用的工具numpy,它可以实现我们想要的矩阵运算。

    另外需要提及的一点是:sigmoid函数中的部分,我们将其命名为zlz^{l}。即有:zlz^{l} = wlw^{l} al1a^{l-1} +blb^{l} 。在之后我们会将其称之为第ll层神经元的带权输入。

    展开全文
  • axis=0 表示是竖轴 而A.sum(axis= 0) 表示...也就是无论是加上一个行向量或是一个列向量 最终在python代码中会自动扩展成和相加矩阵相同的形式就是对行或是列进行不断复制,得到和相加矩阵相同的形式。 ...

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    axis=0 表示的是竖轴 而A.sum(axis= 0) 表示竖轴相加 axis= 1 是表示横轴
    在这里插入图片描述也就是无论是加上一个行向量或是一个列向量 最终在python代码中会自动扩展成和相加的矩阵相同的形式就是对行或是列进行不断的复制,得到和相加的矩阵相同的形式。

    展开全文
  • 从数学习惯表达上看,它是列向量 pytorch中一维数组是以列向量为数学计算约定,而已行向量为表示形式的向量。 其他 import torch x = torch.arange(12) x_shape = x.shape x_Transposition = x.T print("x:",...

    pytorch中的一维数组,是列向量还是行向量?

    理解

    1. 从表示的结果上看是以行的形式展现的(看起来就是一行);从数学的习惯表达上看,它是列向量
    2. pytorch中的一维数组是以列向量为数学计算约定,而已行向量为表示形式的向量。

    其他

    import torch
    
    x = torch.arange(12)
    x_shape = x.shape
    x_Transposition = x.T
    
    print("x:", x)
    print("x shape:", x_shape)
    print("x Transposition:", x_Transposition)
    
    # 结果
    x: tensor([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11])
    x shape: torch.Size([12])
    x Transposition: tensor([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11])
    
    • 作用在一维张量(一维数组)上的转置操作是不起作用的。
    展开全文
  • 向量有两种表达形式,行向量和列向量,对应矩阵也有行矩阵和列矩阵。采用哪种形式和左右手系无关。 行矩阵: 三个轴向量为前三行,最后一行为位移变换 连乘时从左到右接合,左边变换先应用 变换向量时为...

    矩阵和向量的乘法顺序

    似乎经常有人被这个问题转晕。向量有两种表达形式,行向量和列向量,对应的矩阵也有行矩阵和列矩阵。采用哪种形式和左右手系无关。

    行矩阵:
        三个轴向量为前三行,最后一行为位移变换
        连乘时从左到右接合,左边的变换先应用
        变换向量时为vector * matrix
    列矩阵:
        三个轴向量为前三列,最后一列为位移变换
        连乘时从右到左接合,右边的变换先应用,注意这和*运算符的接合顺序相反
        变换向量时为matrix * vector

    DirectX采用了行矩阵,OpenGL采用了列矩阵,而基于OpenGL的OpenInventor却采用了行矩阵。图形学的书籍多使用列矩阵和列向量,或许是学术上的传统,或许是节省版面的原因;而不少图形库选择了行矩阵是因为行矩阵在现有的内存架构上效率要略高于列矩阵。另外,行矩阵的接合顺序和*运算符是一致的,这一点非常适合运算符重载。

    而四元数则不同,在数学上,四元数的乘法只有从右到左接合定义。DirectX里为了四元数也能和行矩阵的接合顺序一致,也特意颠倒了四元数的乘法顺序,使四元数也能符合*运算符的接合顺序。WPF、XNA都采用了右手系、行矩阵,然而决定让四元数恢复它的本来模式。如此,四元数必须独立看待。
     

    展开全文
  • 在NLP发展进程里面, 采用了one-hot vector的形式来表示一个句子里面词是一种方式。表示这个句子方式如下: 1、首先是创建一张词汇表(Vocabulary),然后每个词都有对应位置,假设现在我们有10000个单词。本...
  • Datawhale干货作者:芙蕖,Datawhale优秀学习者,东北石油大学为了处理语言,需要将文本信息用向量的形式表达。词向量(Word Vector)或称为词嵌入(Word Em...
  • 在机器学习中会接触到的诸如投影、降维的概念,都是在向量的基础上做的。这篇文章我们谈谈向量的各种积。 标量乘向量 标量 乘以向量 定义为: 在数学中,标量乘法是由线性代数中的向量空间定义的...
  • 在NLP领域,常识知识使用越发成为热点,因为其有希望帮助克服现有模型局限:它们仅从训练数据中学到...ConceptNet Numberbatch 是一组词向量,可以直接以向量形式表达语义。 它是ConceptNet开源项目一部分
  • 前言在 上文 中我简单概括了矩阵的基本运算,并给出了两个应用...在机器学习中会接触到的诸如投影、降维的概念,都是在向量的基础上做的。在 RnRn空间中定义的向量 V⃗ V→,可以用一个包含 n 个实数的有序集来...
  • 在Broyden凸族建立了Hesse近似矩阵关于目标函数梯度向量等内积分解矩阵校正公式,从而把由校正矩阵等内积分解矩阵确定搜索方向DFP和BFGS算法推广到Broyden凸族.
  • 向量 与Python

    千次阅读 2017-12-14 10:12:10
    前言 在 上文 中我简单概括了矩阵的基本运算,并给出了两个应用实例。...在机器学习中会接触到的诸如投影、降维的概念,都是在向量的基础上做的。 在 Rn空间中定义的向量 V⃗ ,可以用一个包含
  • 通过训练数据对该分布式表达进行训练,使得问题向量和它对应正确答案向量在低维空间关联得分(通常以点乘为形式)尽量高。 当模型训练完成后,则可根据候选答案的向量表达和问题表达的得分进行筛选,找出得分...
  • 向量有两种表达形式,行向量和列向量,对应矩阵也有行矩阵和列矩阵。采用哪种形式和左右手系无关。 行矩阵: 三个轴向量为前三行,最后一行为位移变换 连乘时从左到右接合,左边变换先应用 变换向...
  • 向量有两种表达形式,行向量和列向量,对应矩阵也有行矩阵和列矩阵。采用哪种形式和左右手系无关。 行矩阵: 三个轴向量为前三行,最后一行为位移变换 连乘时从左到右接合,左边变换先应用 变换...
  • 作为 NLP 领域一项基本任务,词向量扮演着十分重要角色,它为机器翻译,自动问答,对话系统等提供了一个较为准确单词表达形式。但是词意思是多种多样,在不同情境下会有不同意义,如何能够更准确地...
  • word2vec词向量训练及中文文本相似度计算

    万次阅读 多人点赞 2016-02-18 00:35:41
    本文是讲述如何使用word2vec的...Word2vec是Google公司在2013年开放的一款用于训练词向量的软件工具。它根据给定的语料库,通过优化后的训练模型快速有效的将一个词语表达成向量形式,其核心架构包括CBOW和Skip-gram。
  • NLP教程笔记:句向量

    2021-02-05 07:42:37
    使用深度学习的计算机在理解任何事物之前,都是将这件事物转换成一种数学的表达形式。在AI从业人员看来,AI技术,都是将这些以数字记录的数据,通过AI模型将其转化成一串数字。 我们看到的图片就是原始的数据存储在...
  • 数学基础:向量

    2017-10-26 23:47:23
    在机器学习中会接触到的诸如投影、降维的概念,都是在向量的基础上做的。 在 Rn空间中定义的向量 V⃗ ,可以用一个包含 n 个实数的有序集来表示,即 V⃗ =⎡⎣⎢⎢⎢v1v2…vn⎤⎦⎥⎥⎥,这个有序集里的每...
  • 向量模型(1)

    千次阅读 2018-08-14 09:55:59
    向量模型 one-hot Vector one-hot vector 最简单编码方式:假设我们词库总共有n个词,那我们开一个...遗憾是,这种方式下,我们向量没办法给我们任何形式的词组相似性权衡。因为你开了一个极高维度...
  • 图模型结构很像,都是采用embedding向量的形式,得到word的隐向量表达。 都采用很多相似的优化方法,比如使用Hierarchical softmax优化训练和预测中的打分速度。 不同处: 模型的输出层:word2vec的输出层,对应的...
  • python3 定义向量运算

    千次阅读 2018-05-30 11:04:00
    #定义向量的构造方法 class Vector: def __init__(self,x=0,y=0): self.x=x; self.y=y; ''' __repr__是python的内置方法,他能将一个对象用字符串的形式表达出来 %r用rper()方法处理对象 ...
  • 向量内积和基变换

    千次阅读 2018-08-23 10:48:33
    向量B模为1,则A与B内积值等于A向B所在直线投影矢量长度 其实就是将B看成是一个基。 比如说原来在(0,1),(1,0)这个基下,(2,3)。 要求在这一组基坐标,就可以直接内积 写成矩阵的形式就是: ...
  • 词嵌入word embedding详解

    千次阅读 2019-04-11 10:27:54
    词嵌入的那些事儿(一) ...在讨论词嵌入之前,先要理解词向量的表达形式,注意,这里的词向量不是指Word2Vec。关于词向量的表达,现阶段采用的主要有One hot representation和Distributed representa...
  • 词嵌入技术解析(一)

    千次阅读 2018-11-18 17:58:00
    在讨论词嵌入之前,先要理解词向量的表达形式,注意,这里的词向量不是指Word2Vec。关于词向量的表达,现阶段采用的主要有One hot representation和Distributed representation两种表现形式。 1.1 One hot ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 426
精华内容 170
关键字:

向量的表达形式