Symbolic

符号主义对深度学习的意义浅谈

南楼画角 提交于 2020-08-12 11:52:36
符号主义人工智能经历过古典时期的专家系统阶段, 中期的知识图谱阶段, 和近期深度学习和符号主义的再次联姻。 那么一个很重要的问题是符号主义为什么会复兴,它对当下的机器学习又有何意义? 参考阅读: Reconciling deep learning with symbolic artificial intelligence: representing objects and relations ​ www.sciencedirect.com 首先, 当下的深度学习有三个最主要的问题,很低的数据使用效率, 泛化能力, 可解释性,都可以从符号主义得到极大帮助。 这一点也不难理解, 所谓符号,多数指我们语言中那些经常被使用的抽象概念,这些概念再不同的任务和环境中被广泛使用组成新的概念,比如红色,圆形等,如果能够在不同任务中学习到这些最基本的元素, 那么无疑将极大的改善数据使用效率和泛化能力。同时, 从视频,声音等信息中提取出的这种符号,几乎一定是和我们的自然语言有所对应,和我们的认知概念有所对应,因此,提取这些符号将极大助力模型的可解释性。从这两个角度看, 符号的确可以解决深度学习的几个根本问题。 更加重要的是,符号的使用和我们的推理认知能力极为相关,这也是为什么在第一代的人工智能时代人们如此重视符号, 因为它是逻辑思维的载体,有了符号我们可以在符号基础上罗列各种运算,进行关系预测和推理等

Linux安装和基础命令

大兔子大兔子 提交于 2020-08-11 14:47:52
Linux安装 linux总结: 1.安装系统 (1)VMWare (2)CentOS安装 (3)VMTools安装 运行完 ./vmware-install.pl 一路回车 2.网络配置 查看ip地址和网关 在虚拟机左上角有一个编辑,编辑里面有一个虚拟网络编辑器,点开找到一个VMnet8点击,在中间位置有一个NAT设置点击,里面就能查看网关了 查看自己的ip地址:ifconfig 试着ping一下自己的ip地址,看看能不能ping,比如ping个baidu:ping baidu.com 修改动态ip地址 vim /etc/sysconfig/network-scripts/ifcfg-eth0进入页面,把前两个修改一下,后面四个添加上去 #系统启动的时候网络接口是否有效(yes/no) ONBOOT=yes IP的配置方法[none|static|bootp|dhcp](引导时不使用协议|静态分配IP|BOOTP协议|DHCP协议) BOOTPROTO=static #IP地址 IPADDR=192.168.1.100 #网关 GATEWAY=192.168.1.2 #域名解析器 DNS1=114.114.114.114 DNS2=8.8.8.8 配置完之后执行 service network restart 命令 如果报错就 reboot 重启虚拟机 Linux 3

JVM详解之:类的加载链接和初始化

给你一囗甜甜゛ 提交于 2020-08-11 08:24:40
文章目录 简介 加载 运行时常量池 类加载器 链接 验证 准备 解析 初始化 总结 简介 有了java class文件之后,为了让class文件转换成为JVM可以真正运行的结构,需要经历加载,链接和初始化的过程。 这三个过程是怎么工作的呢?在本文中你将会找到答案。 加载 JVM可以分为三大部分,五大空间和三大引擎,要讲起来也不是特别复杂,先看下面的总体的JVM架构图。 从上面的图中,我们可以看到JVM中有三大部分,分别是类加载系统,运行时数据区域和Execution Engine。 加载就是根据特定名称查找类或者接口的二进制表示,并根据此二进制表示来创建类和接口的过程。 运行时常量池 我们知道JVM中有一个方法区的区域,在JDK8中,方法区的实现叫做元空间。这个元空间是存放在本地内存中的。 方法区中存放着每个class对应的运行时常量池。 当类或者接口创建的时候,就会通过class文件中定义的常量池来构建运行时常量池。 运行时常量池中有两种类型,分别是symbolic references符号引用和static constants静态常量。 其中静态常量不需要后续解析,而符号引用需要进一步进行解析处理。 静态常量分为两个部分:String常量和数字常量。 String常量是对String对象的引用,是从class中的CONSTANT_String_info结构体构建的。

JVM详解之:类的加载链接和初始化

主宰稳场 提交于 2020-08-11 00:19:11
简介 有了java class文件之后,为了让class文件转换成为JVM可以真正运行的结构,需要经历加载,链接和初始化的过程。 这三个过程是怎么工作的呢?在本文中你将会找到答案。 加载 JVM可以分为三大部分,五大空间和三大引擎,要讲起来也不是特别复杂,先看下面的总体的JVM架构图。 从上面的图中,我们可以看到JVM中有三大部分,分别是类加载系统,运行时数据区域和Execution Engine。 加载就是根据特定名称查找类或者接口的二进制表示,并根据此二进制表示来创建类和接口的过程。 运行时常量池 我们知道JVM中有一个方法区的区域,在JDK8中,方法区的实现叫做元空间。这个元空间是存放在本地内存中的。 方法区中存放着每个class对应的运行时常量池。 当类或者接口创建的时候,就会通过class文件中定义的常量池来构建运行时常量池。 运行时常量池中有两种类型,分别是symbolic references符号引用和static constants静态常量。 其中静态常量不需要后续解析,而符号引用需要进一步进行解析处理。 静态常量分为两个部分:String常量和数字常量。 String常量是对String对象的引用,是从class中的CONSTANT_String_info结构体构建的。 数字常量是从class文件中的CONSTANT_Integer_info, CONSTANT

win10下使用mklink命令给C盘软件搬家

隐身守侯 提交于 2020-08-11 00:10:35
在windows下,大多数软件会默认安装在C盘,即使小心翼翼地点开“自定义”->“安装路径”,然后把软件安装到其他盘,还是会有很多软件用到的数据文件被塞到C盘,虽然可以到注册表修改软件默认安装路径以及数据存储路径,然而emmm...并没有多大用处,C盘还是会被塞满。 我C盘是SanDisk的SSD,虽然128G不算少,但是我分了十多G给PrimoCache做缓存,然后又装了很多很多的软件,C盘被塞得满满当当的,这时候需要把C盘上一些文件搬到其他盘。然而C盘大都是软件会用到的数据文件,直接Ctrl+X,Ctrl+V的话会出现很多问题,那么可不可以在搬家后给原来的路径搞个“代理”,把路径指向文件的实际地址?如下图所示: 接下来我们就试验下吧,先试着用快捷方式来实现搬家: 我这里把迅雷安装路径下整个文件夹剪切出来,然后在原来路径下放个快捷方式,然后双击桌面上的迅雷快捷方式,成功启动,并没有啥不妥,接下来换个方式: 把迅雷中的resources文件夹剪切出来,然后把快捷方式放进去,然后启动迅雷,emmm。。迅雷打不开了。 为什么会出现这样的问题,很简单,第一次操作是把迅雷整个文件夹剪切出来的,这个文件夹包含了迅雷运行的所需要的所有文件,第二次操作时,迅雷的程序找不到resources里面的文件,所以就运行不起来了,那为什么把快捷方式放这里没有用呢。 其实是因为快捷方式本质是个.ink文件

mysql配置文件不生效以及配置同步复制报错“The server is not configured as slave”解决办法

南楼画角 提交于 2020-08-10 07:12:33
今晚给2台mysql数据库配置主从同步,因为驾轻就熟,所以很快就配置到最后一步了,谁知道执行最后一个命令“slave start”时给我来了个报错“ERROR 1200 (HY000): The server is not configured as slave; fix in config file or with CHANGE MASTER TO”。 我就纳闷了,我明明配置了的,为什么说我没配置呢? 首先环境大致是这样的: MYSQL MASTER:192.168.182.149 MYSQL SLAVE:192.168.182.150 排查开始: -----------------先还原配置过程---------------------- 1、182.149上的配置: 1)在my.cnf添加了以下内容(加粗) [ root@YMngSrv01 doc ] # cat /etc/my.cnf [mysqld] event_scheduler=1 innodb_rollback_on_timeout=1 innodb_lock_wait_timeout=600 max_connections=350 log-bin=mysql-bin binlog-format='ROW' datadir=/var/lib/mysql socket=/var/lib/mysql/mysql

JVM详解之:运行时常量池

会有一股神秘感。 提交于 2020-08-09 17:26:35
简介 JVM在运行的时候会对class文件进行加载,链接和初始化的过程。class文件中定义的常量池在JVM加载之后会发生什么神奇的变化呢?快来看一看吧。 class文件中的常量池 之前我们在讲class文件的结构时,提到了每个class文件都有一个常量池,常量池中存了些什么东西呢? 字符串常量,类和接口名字,字段名,和其他一些在class中引用的常量。 运行时常量池 但是只有class文件中的常量池肯定是不够的,因为我们需要在JVM中运行起来。 这时候就需要一个运行时常量池,为JVM的运行服务。 运行时常量池和class文件的常量池是一一对应的,它就是class文件的常量池来构建的。 运行时常量池中有两种类型,分别是symbolic references符号引用和static constants静态常量。 其中静态常量不需要后续解析,而符号引用需要进一步进行解析处理。 什么是静态常量,什么是符号引用呢? 我们举个直观的例子。 String site="www.flydean.com" 上面的字符串"www.flydean.com"可以看做是一个静态常量,因为它是不会变化的,是什么样的就展示什么样的。 而上面的字符串的名字“site”就是符号引用,需要在运行期间进行解析,为什么呢? 因为site的值是可以变化的,我们不能在第一时间确定其真正的值,需要在动态运行中进行解析。

哈工大、哈工程被禁用工科神器MATLAB,美国实体名单影响深入校园

十年热恋 提交于 2020-08-08 22:53:59
  机器之心报道    参与:泽南、杜伟       一个商业数学软件居然也能被美国人禁用。   哈工大、哈工程的老师和学生们最近无法使用 MATLAB 了,这一消息迅速成为了人们关注的热点。   近日,在知乎等社交网络上,有哈工大学生表示收到了正版软件取消激活的通知,而在与 MATLAB 开发公司 MathWorks 交涉之后,人们得知因为美国政府实体名单的原因,相关授权已被中止。      在询问了 MathWorks 美国客服之后,有人获得了这样的回复:无法恢复服务。   我们也得知了哈工大学生使用正版 MATLAB 近几天遭遇的情况:6 月 6 号人们在使用 MATLAB 时突然跳出反激活通知,此时点击反激活还能使用。但到了 6 月 7 号启动 MATLAB 时又显示授权许可无效,网页无法登录哈工大域名的账户,重置密码后邮件显示:      然后有人咨询了 MathWorks 和哈工大校内负责技术支持的老师,收到如下回复:         这是一件令人无语的事。该学生表示,作为已付费的正版软件,未来也许还有希望有限使用。但 MATLAB 被封禁也可能只是一个开始,更多来自美国的软件可能都会碰到这种情况。   哈工大、哈工程最近的遭遇,和去年华为被美国列入「实体名单」时有些相似。由于美国的制裁措施,自去年 5 月至今华为手机一直不能使用谷歌服务框架等一系列软件服务。  

“符号数学”终于向“神经网络”屈服:AI 学会数学证明了?

你。 提交于 2020-08-08 14:01:04
云栖号资讯:【 点击查看更多行业资讯 】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 神译局是36氪旗下编译团队,关注科技、商业、职场、生活等领域,重点介绍国外的新技术、新观点、新风向。 编者按:众所周知,人工智能有两大流派。一是符号主义,另一个是联结主义。符号主义擅长逻辑演绎;联结主义擅长归纳总结,典型代表是机器学习。通常来说,演绎推理这种事情不是联结主义的菜。不过最近Facebook的一个AI小组却在这件事情上取得进展:让神经网络用语言翻译的原理去解微积分方程。这算是新突破吗?Stephen Ornes介绍了他们的成果,原文发表在quantamagazine.org上,标题是:Symbolic Mathematics Finally Yields to Neural Networks 划重点 大家把神经网络看作是AI的灵丹妙药,能够解决可以重述为模式识别问题的技术难题 困难的符号数学问题一直是神经网络的弱点 Facebook人工智能研究小组工作的计算机科学家,公开了第一个成功用神经网络解决符号数学问题的方案 他们将数学表达式转换为树状结构,然后训练网络在符号当中找到有关解的线索 这种方法可以充当数学家的助手,通过识别已知猜想中的模式为一个之前存在的问题提供帮助 更加令人兴奋的是,这种神经网络有可能帮助揭开神经网络本身黑匣子的秘密 通过将符号数学转换为树状结构

Android ION内存分配【转】

丶灬走出姿态 提交于 2020-08-07 21:06:01
转自: https://www.cnblogs.com/willhua/p/10029280.html The Android ION memory allocator 英文原文 ION heaps ION设计的目标 为了避免内存碎片化,或者为一些有着特殊内存需求的硬件,比如GPUs、display controller以及camera等,在系统启动的时候,会为他们预留一些memory pools,这些memory pools就由 ION 来管理。通过 ION 就可以在硬件以及user space之间实现 zero-copy 的内存share。 ION的实现 ION 通过 ION heaps 来展示presents它对应的memory pools。不同的Android硬件可能会要求不同的 ION heaps 实现,默认的 ION 驱动会提供如下三种不同的 ION heaps 实现: ION_HEAP_TYPE_SYSTEM: memory allocated via vmalloc_user() ION_HEAP_TYPE_SYSTEM_CONTIG: memory allocated via kzalloc . ION_HEAP_TYPE_CARVEOUT: carveout memory is physically contiguous and set aside at