精华内容
下载资源
问答
  • 本文主要讲解了arm指令特殊意义的符号,希望对你的学习有所帮助。
  • C语言 符号的不同意义

    千次阅读 2018-03-27 22:53:22
    C语言许多符号在不同上下文环境里不同的意义,相当于被“重载”了。如下展示了一些符号的不同意义。 static 在函数内部,表示该变量值在各个调用间一直保持延续性。类似与全局变量,区别在于作用域不同...

    C语言的许多符号在不同的上下文环境里有不同的意义,相当于被“重载”了。如下展示了一些符号的不同意义。

    static

    • 在函数内部,表示该变量的值在各个调用间一直保持延续性。类似与全局变量,区别在于作用域不同。
    • 在函数外部,表示该函数或者变量只对本文件可见。

    extern

    • 用于函数定义,表示全局可见(属于冗余,因为函数名在默认情况下具有外部的链接属性,如果函数没有在调用它的转换单元中定义,编译器就会把这个调用标记为外部,让链接程序处理它)
    • 用于变量,表示它在其他地方定义(变量名和函数不同,当某个名称的定义对于当前转换单元来说是外部的,如果希望用一个名称访问当前装换单元外的变量,就必须用 extern 关键字来声明该变量,表示该名称在当前块的外部定义。之后编译器就把变量标记为具有外部链接属性,链接程序就会在名称和它引用的变量之间建立链接。如果给定块中的一个名称有 extern 声明,就不能在同一个块中定义该名称)
    • 一般而言,使用 extern 有2中方式:第一种是在 C 文件中直接声明某个其他文件中定义的函数或全局变量为 extern,从而告诉编译器这个函数或变量是在其他 C 文件中定义的;第二种是在头文件中声明某个函数或变量为 extern,然后在需要引用该函数或变量的 C 文件中包含这个头文件。第二种是比较好的方式,因为头文件只需要编写一次就可以在其他所有需要引用这些函数或变量的 C 文件中被包含,相应地如果函数定义或者变量的定义发生了变化,也只需要修改头文件一个文件就可以了,否则必须修改所有引用这些外部函数或变量的 C 文件。

    void

    • 作为函数的返回类型,表示不允许返回任何值
    • 在指针声明中,表示通用指针的类型
    • 位于参数列表中,表示没有参数

    *

    • 乘法运算符
    • 用于指针,间接引用
    • 在声明中,表示指针

    &

    • 位的 AND 操作符
    • 取地址符号

    ()

    • 在函数定义中,包围形式参数表
    • 调用一个函数
    • 改变表达式的运算次序
    • 将值转换为其他类型(强制类型转换)
    • 定义带参数的宏
    • 包围 sizeof 操作符的操作数

    其他

    • <= 小于等于运算符
    • <<= 左移复合赋值运算符
    展开全文
  • javascript符号的各种意义

    千次阅读 2013-08-03 12:59:51
    电脑的符号一共32个,在编程时,在不同的场合,会不同的意义。下面我大概说一下这些符号的作用。 /">`~!@#$%^&*()-_=+[]{}\|;:'",.?←就是这32个半角符号(全角符号会宽一些,那些是中文的符号,不能在编程里用...
    
      电脑的符号一共有32个,在编程时,在不同的场合,会有不同的意义。下面我大概说一下这些符号的作用。
    `~!@#$%^&*()-_=+[]{}\|;:'",.<>/?←就是这32个半角符号(全角符号会宽一些,那些是中文的符号,不能在编程里用),这些符号是在键盘从左至右分布。
    ` 反引号 ★编程时无特殊意义
    ~ 波浪号 ★编程时无特殊意义
    ! 感叹号 逻辑运算时,【非】的意思,即相反,如果原来是真,那么加感叹号在前面就是假,如果原来是假,那么加感叹号在前面就是真
    @ 地址号 编程时无特殊意义,通常作为电邮使用。例: ddh4@163.com
    # 井字号 css里代表十六位颜色值的前缀。例:#FF0000 即红色
    $ 美元符 正则表达式时,代表行尾或字符串(文本)尾
    % 百分符 算术运算时,求【余】数,也叫求模。例: 8%3 果:2
    ^ 插入号 正则表达式时,指行首或字符串(文本)首
    & 并且符 逻辑运算时,&& 两个并且符,代表【并】and的逻辑。一个&并且符在位运算用。
    * 快点符 算术运算时,【乘】号。例: 数一= 8*5;  果:40。
    ( 左括号 表达式的左边。也是函数定义与调用时需要用到的符号。在运算时,会优先处理括号内容。
    ) 右括号 表达式的右边。也是函数定义与调用时需要用到的符号。
    - 快点符 算术运算时,【减】号。例: 数一= 8-5;  果:3。两个减号,在变量后,代表自减。例:数一 -- 如果原来是9,自减一次就是8,再一次就是7
    _ 快点符 ★编程时无特殊意义
    = 快点符 代表【赋】值,即右边的符传给左边。如果 == 两个等于号,就是逻辑运算时,等于。=== 三个等于号就是逻辑运算时,等同(即完全相等,包括值与类型)
    + 快点符 算术运算时,【加】号。例: 数一= 2+4;  果:6。两个加号,在变量后,代表自增。例:数一 ++ 如果原来是9,自增一次就是10,再一次就是11
    [ 左中括 代表数组下标的左边。正则表达式时,代表字符类的左边
    ] 右中括 代表数组下标的右边。正则表达式时,代表字符类的右边
    { 左大括 代码块左边开始
    } 右大括 代码块右边结束
    \ 反斜杠 正则表达式时,指转【义】,指非原来的意义,或转为原来的意义。例: \d 代表数字
    | 或者符 逻辑运算时,|| 两个并且符,代表【或】and的逻辑。一个|并且符在位运算用。
    ; 快点符 每一个语句的结束,通常是在每一行的结尾要加上。但在函数定义的括号后不要加。
    : 冒号 在对象定义时,作为【键】与【值】的分隔,注意在【值】为字符串时,需要加上双引号或单引号。例:{名:"文广";性别:"男"}
    ' 单引号 用两个单引号括起来的是字符【串】,即文本。如果【串】里有单引号,可以改用双引号,可加\转义符。
    " 双引号 用两个双引号括起来的是字符【串】,即文本。如果【串】里有双引号,可以改用单引号,可加\转义符。
    , 逗号 参数分隔,变量定义分隔
    . 句号 对象的成员,成员包括属性与方法
    < 小于号 逻辑运算时,指小于。在html里代表标签开始符。例:<div>
    > 大于号 逻辑运算时,指大于。在html里代表标签结束符
    / 斜杠 算术运算时,【除】号。例: 数一= 6/3;  果:2 。如果//两个斜杠,就是行注释
    ? 问号 三元运算符的逻辑判断。例: 为男?拍一下肩膀:亲一下
    ■另外还有三个空符,分别是“ ”空格、“ ”跳格(也称为制表符)、“\r”回车。这三个符号在编程里,有时是用来分隔的,所以需要分隔时,有一个就行,多个相当于一个。空格与跳格没有区别,回车符很多时与前两种也没有区别,只有在不能换行时,你换行了才是不可以的。
    ■符号组合
    /* 块注释 */ 即可以多行
    <= 逻辑运算时,小等,即小于或等于
    >= 逻辑运算时,大等,即大于或等于


    ///

    广语言指令目录
    展开全文
  • 比较有意义英文文本和随机字母串平均符号熵 平均符号熵按照以下方法计算:选取m(m=1,2,3…)个字母作为一组,可顺序选取也可随机选取,统计字母组频率并计算概率,将每个字母组当做一个消息按照熵公式计算字母...

    比较有意义英文文本和随机字母串的平均符号熵

    平均符号熵按照以下方法计算:选取m(m=1,2,3…)个字母作为一组,可顺序选取也可随机选取,统计字母组的频率并计算概率,将每个字母组当做一个消息按照熵的公式计算字母组的熵Hm,然后输出 Hm/m

    代码:

    import math
    import re
    import random
    f = open("shakespeare.txt", "r")  # 设置文件对象
    english_str = f.read()    # 将txt文件的所有内容读入到字符串str中
    f.close()  # 将文件关闭
    english_str = re.sub('[\W\d+]', ' ', english_str).replace(' ', '').upper()  # 去掉特殊字符、数字、空格,小写转大写
    ran_str = ''.join(random.choices([chr(i) for i in range(65, 91)], k=len(english_str)))  # 生成相同长度的随机字符串
    print("*****平均符号熵*****")
    
    
    def entropy(str, m):
        length = len(str)
        print("总长度为:", length)
        parts = re.findall(r'.{%s}' % m, str)  # 每m个一组
        print(m, "个为一组,共", len(parts), "组")
        parts_dict = {}
        for each_part in parts:
            parts_dict[each_part] = parts_dict.get(each_part, 0)+1
        # print(parts_dict)
        Hm = 0
        for i in parts_dict:
            p = parts_dict[i]/len(parts)
            # print(p)
            Hm += (-1)*p*math.log(p, 2)
        print("平均符号熵:", Hm/m)
    
    
    for i in range(10):
        print("\n有意义英文文本:莎士比亚著作文本 https://storage.googleapis.com/download.tensorflow.org/data/shakespeare.txt")
        entropy(english_str, i+1)
        print("\n随机字母串")
        entropy(ran_str, i+1)
    

    运行结果:

    /usr/local/bin/python3.7 /Users/kevinluo/PycharmProjects/Python3.7/平均符号熵.py
    *****平均符号熵*****
    
    有意义英文文本:莎士比亚著作文本 https://storage.googleapis.com/download.tensorflow.org/data/shakespeare.txt
    总长度为: 851078
    1 个为一组,共 851078 组
    平均符号熵: 4.194496631708819
    
    随机字母串
    总长度为: 851078
    1 个为一组,共 851078 组
    平均符号熵: 4.700427655805006
    
    有意义英文文本:莎士比亚著作文本 https://storage.googleapis.com/download.tensorflow.org/data/shakespeare.txt
    总长度为: 851078
    2 个为一组,共 425539 组
    平均符号熵: 3.9213390549986182
    
    随机字母串
    总长度为: 851078
    2 个为一组,共 425539 组
    平均符号熵: 4.699865176410518
    
    有意义英文文本:莎士比亚著作文本 https://storage.googleapis.com/download.tensorflow.org/data/shakespeare.txt
    总长度为: 851078
    3 个为一组,共 283692 组
    平均符号熵: 3.6764782750801595
    
    随机字母串
    总长度为: 851078
    3 个为一组,共 283692 组
    平均符号熵: 4.685378356414472
    
    有意义英文文本:莎士比亚著作文本 https://storage.googleapis.com/download.tensorflow.org/data/shakespeare.txt
    总长度为: 851078
    4 个为一组,共 212769 组
    平均符号熵: 3.3924260303397085
    
    随机字母串
    总长度为: 851078
    4 个为一组,共 212769 组
    平均符号熵: 4.3184954166478695
    
    有意义英文文本:莎士比亚著作文本 https://storage.googleapis.com/download.tensorflow.org/data/shakespeare.txt
    总长度为: 851078
    5 个为一组,共 170215 组
    平均符号熵: 3.045558179829111
    
    随机字母串
    总长度为: 851078
    5 个为一组,共 170215 组
    平均符号熵: 3.4725433200922757
    
    有意义英文文本:莎士比亚著作文本 https://storage.googleapis.com/download.tensorflow.org/data/shakespeare.txt
    总长度为: 851078
    6 个为一组,共 141846 组
    平均符号熵: 2.678702080333972
    
    随机字母串
    总长度为: 851078
    6 个为一组,共 141846 组
    平均符号熵: 2.8522501081457965
    
    有意义英文文本:莎士比亚著作文本 https://storage.googleapis.com/download.tensorflow.org/data/shakespeare.txt
    总长度为: 851078
    7 个为一组,共 121582 组
    平均符号熵: 2.341412761154158
    
    随机字母串
    总长度为: 851078
    7 个为一组,共 121582 组
    平均符号熵: 2.41308144723054
    
    有意义英文文本:莎士比亚著作文本 https://storage.googleapis.com/download.tensorflow.org/data/shakespeare.txt
    总长度为: 851078
    8 个为一组,共 106384 组
    平均符号熵: 2.0566676277744897
    
    随机字母串
    总长度为: 851078
    8 个为一组,共 106384 组
    平均符号熵: 2.0873652077963123
    
    有意义英文文本:莎士比亚著作文本 https://storage.googleapis.com/download.tensorflow.org/data/shakespeare.txt
    总长度为: 851078
    9 个为一组,共 94564 组
    平均符号熵: 1.8224437146966588
    
    随机字母串
    总长度为: 851078
    9 个为一组,共 94564 组
    平均符号熵: 1.8365559379437697
    
    有意义英文文本:莎士比亚著作文本 https://storage.googleapis.com/download.tensorflow.org/data/shakespeare.txt
    总长度为: 851078
    10 个为一组,共 85107 组
    平均符号熵: 1.630936664819511
    
    随机字母串
    总长度为: 851078
    10 个为一组,共 85107 组
    平均符号熵: 1.6376990177124715
    
    Process finished with exit code 0
    

    结论:

    • 有意义英文文本的平均符号熵小于随机字母串的平均符号熵

    • 随着每组字符数的增多,平均符号熵下降

    展开全文
  • 那么一个很重要问题是符号主义为什么会复兴,它对当下机器学习又意义? 本文内容可以参考: Reconciling deep learning with symbolic artificial intelligence: representing objects and relations​...

    符号主义人工智能经历过古典时期的专家系统阶段, 中期的知识图谱阶段, 和近期深度学习和符号主义的再次联姻。 那么一个很重要的问题是符号主义为什么会复兴,它对当下的机器学习又有何意义?

    本文内容可以参考:

    Reconciling deep learning with symbolic artificial intelligence: representing objects and relations​www.sciencedirect.com图标

    首先, 当下的深度学习有三个最主要的问题,很低的数据使用效率, 泛化能力, 可解释性,都可以从符号主义得到极大帮助。 这一点也不难理解, 所谓符号,多数指我们语言中那些经常被使用的抽象概念,这些概念再不同的任务和环境中被广泛使用组成新的概念,比如红色,圆形等,如果能够在不同任务中学习到这些最基本的元素, 那么无疑将极大的改善数据使用效率和泛化能力。同时,从视频,声音等信息中提取出的这种符号,几乎一定是和我们的自然语言有所对应,和我们的认知概念有所对应,因此,提取这些符号将极大助力模型的可解释性。从这两个角度看, 符号的确可以解决深度学习的几个根本问题。

    更加重要的是,符号的使用和我们的推理认知能力极为相关,这也是为什么在第一代的人工智能时代人们如此重视符号, 因为它是逻辑思维的载体,有了符号我们可以在符号基础上罗列各种运算,进行关系预测等, 对应我们日常思维中的归纳演绎等过程。

    从某种意义上看,基于符号的人工智能模拟了人类的思维, 而深度学习则模拟了人类思维的硬件。 这两种一定应该是相通的。 然而今天看来它们却成为了独立的两个方法, 这是为什么呢?

    深度学习的本质是表征学习。 站在信息论的角度,它把一定的视觉听觉信息表示成高维向量,在经过若干次线性和非线性的变化抽调和任务信息无关的细节,压缩成为和任务最相关的信息表征。那么我们不禁要问这些留下的信息表征是否就是我们要的符号呢? 答案是no。即使经过巨大的CNN我们得到猫或狗的表征,但是从没有一个研究指出这些表征里哪些神经元包含猫的形状,哪些神经元包含猫的颜色,事实上每个细胞都或多或少的表达颜色或形状,也就是一种混合的信息表达, 从神经编码的角度看这叫分布表征(distributed representation), 或混合编码(mix selectivity),从信息表征的角度看这是Entangled representation,或者说耦合的表征。 这种特性是使得每个神经元可以高效的被利用(表征不同的特征),从而用有限的细胞数去区分更多的模式;但是也使得深度网络变得不可解释, 泛化性差, 鲁棒性差。 而人的神经网络经过进化和连续学习,既有深度学习这种混合编码特性,又有低维解耦的符号,这点是目前深度学习望尘莫及的。

    那么如何在深度学习里加入符号主义的精髓? 我理解的符号主义的核心, 一是哪些是构成这个世界的正确符号,所谓符号的提取。 二是该如何确定符号与符号间的关联,三是如何通过符号组合成不同的模型或场景表示。

    那么有什么方法可以从深度学习里提取到符合人类认知的符号系统呢?一种方法比较直接, 可以直接把深度学习的output设计成人类已知的符号比如视觉系统里的符号,颜色等,另一个方法则是引导机器具有自发发现符号的能力,类似符号的涌现。

    有关第二点, 需要在深度学习框架里加入相应的限制,这里有两个关键点,一个是低维,一个是解耦。 所谓低维, 是说这个符号不可以太多, 所谓解耦, 是说它们要尽量独立的。 低维因为可以大量复用的符号本来就没多少, 解耦因为这些符号如果是可解释的且重要的,就一定要够成一个不依赖其它符号存在的独立因子。

    深度学习的power在于可以通过学习的方法解决以前计算不能得到的目标, 比如这里的第一步,符号的提取。 这就必须要提自编码器。自编码器宛如一个信息瓶颈,通过若干层非线性变化,把高维的时空向量压缩成几个低维变量z(latent variable), 然后再通过一个类似解码器的部分还原回原先的高维时间和空间序列, 通过这个无监督的而学习过程,实现信息的压缩(z代表真实信息的编码)。 普通的自编码器能够实现这个高维到低维的转化但不一定能够解耦。而变分自编码器(VAE)就不同了, 它假定中间压缩得到的z变量要符合一个多元高斯的先验分布, 这样的分布本质就假定了z变量不同维度间的独立性,也就是不同因子的解耦,加上z的维度本身就要求低, 它极有可能就是我们所要的符号(进化生成的符号就是在信息论的角度就是最小冗余的编码)。 那么z是否可以真正学到抽象独立的符号呢? 这点从文章下图的实验中可以略知一二。 在这个图中,我们尽可能的保持其它变量不变,而只改变变分自编码器中的某个独立维度, 这时我们发现当改变变分自编码器学到的z表示的第一个维度数字大小发生变化,另一个维度则是手写数字的风格发生变化,显然数字大小和手写数字风格是人类理解数字构成的基本要素, 也就是非常具有鲁棒性的迁移特征,这样两个维度z某种程度构成书写数字的一个解耦的低维的独立因子图, 也就是这个任务的符号表示系统(联系因果学习)。

    另一个基于无监督学习得到这种低维解耦表示的方法被称为稀疏编码, 这个理论旨在直接从数据里学习到一个字典,字典里的词具有典型的重尾特性,也就是一组常用词被抽样到的概率很高, 这些重要词语对应的神经元经常发放, 而其余的不常用词语对应的神经元就很少发放,这样就用最少的能量编码了最大量的日常信息。 事实上稀疏编码的理论就是我们大脑处理信息的重要理论基石, 而稀疏编码的词典中的常用词某种意义就构成符号, 它是构建图像的核心因子,或者说对应真实世界的因。

    Sparse-Coding Variational Auto-Encoders

     

    还有一类值得关注的从深度学习里得到可解释的低维符号的方法来自RNN(LSTM),这类含时间的神经网络可以从数据里学习一个原系统的动力学模型,而动力学系统内的主要变量可能就是我们需要的符号。 我之前的论文用预训练的RNN进行导航,就是引导出这种低维的动力系统表示,这些符号可以看作支撑高维复杂系统动力学变化的一组低维因子。

    符号模仿的第二部涉及符号关系的建模:我们需要找到符号和符号之间的联系, 从而进一步释放符号主义的真正能力,进行关系建模和推理。 实现这一步的方法也可以使用简单暴力的深度学习,这里有两类框架已经极大的接近了这一目的,一个是图关系网络, 一个是基于自注意力的transformer。

    我们分别来看这两个流派:

    关系网络是图网络的一个特定表示形式,假定所有节点均有两两相互连接的网络图。 对于关系网络, 本质上我们采用的手段是学习不同符号两两相互作用的表征, 这个工作可以暴力的使用MLP来完成, 首先我们把不同符号间的关系表示成为两两一对的矩阵(全连接图), 然后我们假定存在一个巨大的MLP,只要输入两个符号的特征,就可以得到其相互关系的表征,输出相互连接。 这样的系统本质假定了关系的类型是:

    [公式]

    这种假定特别适用于那些本来相互作用的形式就近似这种两两相互作用的全连接图的系统, 比如物理方程式, 两两相互作用力的表达式正是这样的形式。

    另一类关系表达方法更加类似于自注意力网络,事实上这类网络就是各类transformer, bert, gpt等的始祖。 它得到的一个形式是:

    [公式]

    注意这里的q, k, g之间的关系是矩阵乘法,通过query :q 和 key :k 的乘积我们会得到一个两两相互关系的关联矩阵。 犹如“注意力" 的字面含义, 它的本质代表的是已知内容x, 那么我们需要关注哪些和x相关的内容, 或者可以理解为通过x在整个数据提取需要的信息 ,如果提取,是由q,k的形式得到的,这里假定了这种关系可以表示成矩阵乘法。 我们注意到本质上它和图网络是相通的,也是为什么transformer学到的其实是一个巨大的以单词为节点,以单词间的关系为边的图网络,它对一段文字的理解,也就是把文字转化为了一个单词连接图。

    从这点上看, 图网络和transformer都在描述同一个符号关系范式 , 那就是相互作用。 通过这个范式,单一符号组合成相互作用网络,从单元的特性到网络的整体属性(对应复杂系统涌现的概念)就是一个推理的过程。 比如对文章进行分类, 或者对物理系统的能量或动量进行计算,对物理系统的未来进行预测等。

    虽然以上两个方法功能强大, 但是不难看出它们的形式非常机械,表达的关系种类也是有限的。

    最后看第三点可组合性, 正是因为符号可以通过不同的关系建模组成不同的整体, 它才具有巨大的power, 也就是用少量的符号组成无限的世界, 高维的世界。 这样的组合关系可以是形式逻辑比如and, or, 也可以是计算机经典的树结构, 也可以是刚刚说的图网络。 符号间的组合关系本身事实上也是可以学习的, 比如当下一些计算机视觉的工作会强制深度网络学习这样一个可组合的表示, 然后通过图像引擎渲染, 得到一个真实的图像。 这样我们就不仅具有图像识别的能力,而是真正可以随心所欲的操控图像生成,比如把一张图像里的狗变成灰狼。

    几个值得关注的和符号高度相关的方向:

    因果推理

    Judea Pearl 的三级因果推理框架强调了因果问题需要解决关联, 干预和反事实推理三个层次的问题, 而在三级因果框架的中心,是著名的结构因果模型。 这个模型的载体正是一个符号连接的图,不同的因子对应不同的符号, 这无疑说明符号的提取就是因果推理的基础。 反过来, 因果论也给符号的提取提供理论依据, 因为符号提取的内在要求就是低维和独立。 低维保证少量符号支撑无穷事物,如果符号本身就是构成事物的因子,这点自然保证。 而独立则保证每一个符号的变化都是和其它符号的变化解耦的, 这正暗示了与之相应的独立因果假设。

    脑科学和认知框架

    认知框架试图模仿人脑处理信息和完成多任务的原理绘制一个机器处理相应任务的蓝图,并用计算机实现, 自上世纪八十年代以来, 不同的派别试图改进和实现这个蓝图, 把它从计算机变得更像脑。 认知框架本身包含感知, 行为, 记忆, 推理, 元认知等不同模块。

    事实上这类大脑模拟的核心就是一个从符号的提取,到推理, 到计划和行为的总体框架。 感知对应符号的提取, 推理对应符号间关系的求解, 计划和行为则对用利用这种符号关系图(世界模型)进行规划的能力。

    如此看, 我们对大脑和认知科学的理解可以直接放到这个符号推理的系统里辅助我们设计实现这个系统 。或者, 符号推理引擎可以看成理解我们大脑工作模式的基础。

    复杂系统

    符号的提取如果是大脑涌现的过程,那么如何从复杂系统的角度看符号是怎么产生的? 符号之间的关系又无疑构成一个复杂网络,那么如何从复杂网络的结构理论来看待符号关系建模?

    一些经典的符号推理框架实现:

    A. 有关符号本身的提取:

    1, beta -VAE: LEARNING BASIC VISUAL CONCEPTS WITH A

    CONSTRAINED VARIATIONAL FRAMEWORK

    Higgins, Irina, et al. "beta-vae: Learning basic visual concepts with a constrained variational framework." (2016).

    这篇文章利用一个改进的VAE框架, 从图像里提取出一个解耦的独立因子表示。 就是上文中VAE与符号提取内在关系的基础。

    2, Neural-Scene-Representation-and-Rendering

    Eslami, SM Ali, et al. "Neural scene representation and rendering."Science360.6394 (2018): 1204-1210.

    这篇文章旨在建设一个能够自发理解周围视觉场景的机器学习模型, 虽然模型全部使用深度学习框架, 但是得到的表征确实高度符号化的,不仅可以被拆分成可理解的因子,还可以通过代数运算简单的得到新的场景组合。 这样神奇的效果事实上仅仅靠一个以卷积网络为主的encoder结构和卷积lstm结构为主的decoder结合的一个自编码器结构就可以实现。

    3, Learning to See Physics via Visual De-animation – NIPS

    Wu, Jiajun, et al. "Learning to see physics via visual de-animation."Advances in Neural Information Processing Systems. 2017.

    这个工作是图从物理运动的视频里得到物体和相应的物理状态,然后通过传统物理引擎预测物理系统的变化。 而用到的方法依然是短平快的深度学习框架, 先图像切割得到object proposal, 再再不同物体的proposal基础上不同物体的物理参数,比如质量,摩擦力, 位置,速度一类。

    Learning to See Physics via Visual De-animation – NIPS

    4. The Neuro-Symbolic Concept Learner: Interpreting Scenes, Words, and Sentences From Natural Supervision – ICLR

    Mao, Jiayuan, et al. "The neuro-symbolic concept learner: Interpreting scenes, words, and sentences from natural supervision."arXiv preprint arXiv:1904.12584(2019).

    视觉处理和符号融合的一个里程碑式的框架, NS-CL模型可以把图像场景转化成可以执行的符号化编码, 最后在这个符号表征基础上回答问题。

    比如我们知道CNN代表的视觉网络是个黑箱, 那么如何让这个黑箱变得可解释? 我们可以让CNN网络直接把图像变成一系列可解释的符号 。 你可能觉得这不就是region proposal或图像切割? 实际不是的, 因为我们想要得到的符号可以代表一个世界的最小语言体系, 检验它的最好标准是得到的符号能否让我们复原图像。 这有点像一个自编码器的概念, 但是比自编码器要更容易解释。为了做到这点,我们可以把解码器替换成一个传统的图像生成引擎, 它本身就是基于人工设定的符号, 只有我的CNN能够输出这样的人工设定的符号, 传统解码器才能work。 这样的模型可以得到完全可解释的视觉系统, 在各种需要说明如何work的视觉系统里, 无疑会发挥大用。 具体pipeline如下图。

    以下一个例子具体说明框架的运作流程: 首先将问题转化为可以执行的程序,这里其实是抓住关键词shape of(对应一个符号提取算子) 然后感知模块提取图像里的物体,再通过符号提取算子(shape of)得到对应的向量, 这个向量对应具体某个物体的形状,然后这个向量和知识库(visual semantic space) 里的不同形状向量相比较,最终得到相似度最高的那个形状。 此处不难看到这个semantic space和人类长期记忆的关系。

     

    B 符号间关系的提取:

    上面的文章介绍了关于用深度学习用于符号提取, 并直接使用这些符号做任务的典型例子,下面介绍包含了它的下一步, 除了提取符号还需要推理符号间的关系的作品:

    1, Neural Relational Inference for Interacting Systems

    Kipf, Thomas, et al. "Neural relational inference for interacting systems."arXiv preprint arXiv:1802.04687(2018).

    通过图网络进行关系推理的框架, 可以用图网络来求解各类相互作用的符号间的关系并进行推理和预测。 该工作的核心是把自编码器和图网络融合,从而可以用无监督学习的方法求解不同符号间的关系。

    2, CLEVRER: COLLISION EVENTS FOR VIDEO REPRESENTATION AND REASONING

    这篇文章同时包含了符号的提取和关系的建模, 它试图利用一个统一的模型来回答一系列不同级别的问题。 当然既然是求全,模型的任务就比较简单, 它利用一个可以生成一系列碰撞视频的模拟器,然后从通过不同的filter从这些模拟器里提取物体和它们相关的符号组成(形状,大小, 颜色), 再在这些表示的基础上利用第一偏文章中的关系网络学习这些不同物体之间的关系, 从而做出预测。 如此, 这个模型不仅可以回答简单的描述性问题(what),还可以回答解释,预测,反事实的问题。

    Yi, Kexin, et al. "Clevrer: Collision events for video representation and reasoning."arXiv preprint arXiv:1910.01442(2019).

    3, Measuring abstract reasoning in neural networks

    Barrett, David GT, et al. "Measuring abstract reasoning in neural networks."arXiv preprint arXiv:1807.04225(2018).

    这篇文章试图用关系网络RN来解决一般性的推理问题, 有趣的是文章使用了一组人类智商测试用的任务, 并改成了可以任意生成的任务。 在这个任务里, 机器可以随机的生成一个序列的图片, 图片里的元素的数量,形状,颜色可以改变,然后机器需要推到出1图和2图是如何得到三图的,也就是一组抽象的图和图之间的relation, 使用RN对图片间关系建模的模型远好于传统深度学习CNN, LSTM等。

     

     

     

    展开全文
  • 流程图里形状符号的代表意义

    千次阅读 2017-07-31 10:58:57
    时候做件事情想要缕清思路,流程图是个不错选择,因此我们需要知道一些关于流程图符号的标准意义 1. 流程图标准符号的意义2. 推荐使用在线画图平台https://www.draw.io 因为是网页版,因此也无需关心跨平台...
  • shell特殊符号及其意义echo命令三种引号#!井号#$定义变量使用变量--$$( )和反引号\` `${ }$[ ] 与 $(())\$#、\$*、\$@、\$?、$$、等( )和{ }:== 和= echo命令 Shell echo 指令与 PHP echo 指令类似,都是...
  • 每一个符号有意义

    2009-12-03 12:16:00
    每一个符号有意义,这是最近感受到一句话。 这不明摆着吗?无非是说,所有事物都是相互联系。的确,就是这个意思,不过还有一层,一些符号集合构成了什么?因此,这里头以符号说话,只是以符号和意义这样一...
  • 在C++中定义了一个函数,但是报错:“被重新声明为不同意义的符号”一个可能的原因是没有添加命名空间using namespace std;加上就OK。但是这只是一个可能的原因,也可能其他的原因,看情况而定。...
  • tprof是一个命令行实用程序,提供了... 本文介绍了用户可以使用gensyms和dbx命令将tprof配置文件报告中的未解析地址转换为有意义的函数地址的方法。 tprof模式 tprof命令可以在以下模式下运行: 实时或在线模...
  • 今天看到 唐巧的博客发布的一片调试Icon符号意义的博客,感觉很好,现在转发出来. 你注意到了吗?在Xcode中,当你点击查看调用栈的时候,调用栈的每个方法前面都一个Icon,而且还有好几种不同的样子,如下图所示...
  • =>符号的意义

    2018-05-30 09:57:00
    一般是, 某些参数默认值时候,你需要跳过某些参数来进行调用。 下面是具体例子。 参数默认值SQL> CREATE OR REPLACE PROCEDURE HelloWorld3 (2 p_user_name VARCHAR2,3 p_val1 VARCHAR2 DEFAULT ' ...
  • CSSHACK常用符号的意义

    2019-10-02 07:40:09
    相关网址: 关于CSS2.0可以在以下网址中找到详细介绍: ... 关于CSS2.0兼容可以查看: ...特殊符号的识别能力,各个浏览器差别,正是这些差别使得CSSHack能够使浏览器识别不同CSS代码 1. * 是:IE系列...
  • 符号的意义 php函数前面加&符号的意思是函数引用返回,php函数前面加&符号有什么作用呢 Php代码 function&test() { static$b=0;//申明一个静态变量 $b=$b+1; echo$b; retu...
  • \ : 转译符号,把有意义的 符号 转换成没有意义的 字符,把没有意义的 字符 转换成有意义的 符号 \s : 匹配空白字符(空格/制表符/…) \S : 匹配非空白字符 \d : 匹配数字 \D : 匹配非数字 \w : ...
  • shell中符号的意义

    2012-09-14 15:44:49
    命令替换$(cmd)和符号`cmd`(注意这不是单引号,在美式键盘上,`是ESC下面那个键)相同之处 3.一串命令执行()和{} ()和{}都是对一串命令进行执行,但有所区别: A,()只是对一串命令重新开一个子shell...
  • 一些简单符号的意义

    2012-09-01 23:48:27
    1、“+ -”:家里白天人,晚上没人;符号倒过来,就是晚上人,白天没人; 2、“⊙”:单身或租户; 3、“...”:家庭成员三个人; 4、“√”:已进入过; 5、“☆”:目标; 6、“×”非目标
  • 电脑的符号一共32个,在编程时,在不同的场合,会不同的意义。下面我大概说一下这些符号的作用。 ~!@#$%^&*()-_=+[]{}\|;:'",.<>/?←就是这32个半角符号(全角符号会宽一些,那些是中文的符号,不能在...
  • shell中$符号的意义

    2019-04-17 11:33:40
    最后运行命令结束代码(返回值),0表示没有错误,其他表示错误 $- 使用Set命令设定Flag一览 ∗以一个单字符串显示所有向脚本传递参数列表。如&quot;* 以一个单字符串显示所有向脚本传递参数列表。如&...
  • 解析UML类图符号意义

    2019-08-13 09:53:47
    软件开发过程中经常会遇到UML建模,那么你对UML符号是否熟悉,这里向大家简单介绍一下UML类图符号,每种符号不同的意义,希望通过本节学习你对UML类图符号一定了解,下面就让我们一起来看一下UML类图...
  • 表示阻值文字符号有:R、K、M、G、T。其意义是:R表示10°欧、K表示千欧 (10立方Ω)、M表示兆欧 (10六次方Ω)、G表示干兆欧 (1O九次方Ω)、T表示兆兆欧 (1O十二次方Ω)。例如:3R3表示3.3Ω、3K3表示3.3千欧、R33...
  • DecimalFormat用法和各符号的意义

    千次阅读 2017-11-02 18:43:29
    该类设计各种功能,使其能够分析和格式化任意语言环境中数,包括对西方语言、阿拉伯语和印度语数字支持。它还支持不同类型数,包括整数 (123)、定点数 (123.4)、科学记数法表示数 (1.23E4)、百分数 (12%) ...
  • 复杂度符号意义

    2011-11-30 03:07:15
    常用的表示复杂度的符号有O、Ω、Θ和o,下面用通俗的语言解释一下这些符号的含义。 用T(n)表示一个算法输入规模为n的时候的复杂度。复杂度分析里比较两个多项式f(x)和g(x)是比较其增长速度,用专业说法就是: ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,256
精华内容 1,702
关键字:

有意义的符号