精华内容
下载资源
问答
  • ACL权限

    2018-03-09 20:39:00
    一、ACL权限简介与开启 1、ACL权限简介 我们都知道一个文件默认只有 所有者,所属组,其他人三...现在隔壁老王想看,我想给一个 r-x 权限,但是原有的三个对象都明显不可能让加入,这时候就需要引入ACL权限。...

    一、ACL权限简介与开启

    1、ACL权限简介

    我们都知道一个文件默认只有 所有者,所属组,其他人三个对象,现在我有一个av文件,我可以对这个文件执行 rwx 操作,我想让我舍友可以对他有 rwx 权限,我就可以把他们放到文件所属组,除了我和我的舍友,其他人对这个文件都没有任何权限。现在隔壁老王想看,我想给他一个 r-x 权限,但是原有的三个对象都明显不可能让他加入,这时候就需要引入ACL权限。

    Linux 下用户对文件的操作权限有 r-读, w-写, x-可执行三种,而对linux 下的文件而言,用户身份分为:所有者, 所属组, 其它人, 且文件的所有者,所属组都只能是一个,所以在对文件分配用户的使用权限时,只能对这三种身份进行分配rwx 权限.Linux 主要作为服务器系统使用,用户众多.所以在实际使用场景中,这三种身份并不能很好地实现资源权限分配问题,所以就有了ACL权限. ACL 权限就是为了解决linux 下三种身份不能满足资源权限分配需求的问题的.

    setfacl  [选项]  文件目录名
    选项:         

      -m   设定ACL权限
           -x     删除指定用户,用户组的ACL权限,针对用户,用户组
           -b    删除文件所有的ACL权限,针对文件
           -d    设定默认ACL权限
           -k    删除默认ACL权限
           -R   递归设置ACL权限

    2、查看分区ACL权限是否开启

    [root@localhost ~]# dumpe2fs -h /dev/sda5

    >>> # dumpe2fs命令是查询指定分区详细文件系统信息的命令

    选项:

      -h  仅显示超级块中信息,而不是显示磁盘块组的详细信息

    3、临时开启分区ACL权限

    [root@localhost ~]# mount -o remount,acl /

    # 重新挂载根分区,并挂载加入acl权限

    4、永久开启分区ACL权限

    [root@bogon ~]# vi /etc/fstab

    # 这个配置文件不能乱改,改错一个地方系统可能就会崩溃

    [root@bogon ~]# mount -o remount  /

    # 重新挂载文件系统或重启系统,使修改生效

    二、查看与设定ACL权限

    1、查看ACL权限

    [root@bogon ~]# getfacl   文件名
    # 查看 acl 权限

    2、设定ACL权限的命令

    [root@bogon ~]# setfacl  选项  文件名

    选项:

      -m   设定ACL权限
           -x     删除指定用户,用户组的ACL权限,针对用户,用户组
           -b    删除文件所有的ACL权限,针对文件
           -d    设定默认ACL权限
           -k    删除默认ACL权限
           -R   递归设定ACL权限

    (1)给用户设定ACL权限

    操作命令:

    [root@bogon ~]# useradd cjj

    [root@bogon ~]# groupadd stu

    [root@bogon ~]# mkdir av

    [root@bogon ~]# chown cjj:stu av

    [root@bogon ~]# chmod 770 av

    [root@bogon ~]# usersdd lw

    [root@bogon ~]# setfacl -m u:lw:rx av    (u:给用户设定)

    # 给用户lw赋予r-x权限,使用 “u:用户名:权限”  格式

    看看acl的作用:

    (2)给用户组设定ACL权限

    [root@bogon ~]# groupadd tgoup2

    [root@bogon ~]# setfacl -m g:tgoup2:rx av    (u:给用户设定)

    # 为组tgoup2分配ACL权限。使用“g:组名:权限” 格式

    三、最大有效权限与删除ACL权限

    1、最大有效权限

    mask 是用来指定最大有效权限的。如果我给用户赋予了ACL权限,是需要和mask的权限“相与”擦能才能得到用户的真正权限。

    什么是相与呢?

    A B and
    r r r
    r - -
    - r -
    - - -

     

     

     

     

     

     

    lw 权限:r-x 与  mask 权限:rwx   相与的结果就是最终权限:r-x

    修改最大有效权限

    [root@bogon ~]# setfacl -m m:rx 文件名
    # 设定mask权限为 r-x 。使用 “m:权限” 格式

    注:一般情况下是不会用到mask的,特殊情况需要限定最高权限时才用。

    2、删除ACL权限

    [root@bogon ~]# setfacl -x u:用户名  文件名
    # 删除指定用户的ACL权限

    [root@bogon ~]# setfacl -x g:组名  文件名

    # 删除指定用户组的ACL权限

     

    [root@bogon ~]# setfacl -b  文件名

    # 删除文件所有的ACL权限

    四、默认ACL权限和递归ACL权限

    1、递归ACL权限

    递归是父目录在设定ACL权限时,所有的子文件和子目录也会拥有相同的ACL权限。(对已经有的文件)

    [root@bogon ~]# setfacl -m u:用户名:权限  -R  目录名

    [root@bogon home]# setfacl -m u:lw:rx -R  /home/av/

    注:容易权限溢出,因为目录可以赋予执行权限,但是目录里面的普通文件也会递归上 x 权限。

    2、默认ACL权限

    默认ACL权限的作用是如果给父目录设定了默认ACL权限,那么父目录中所有的子文件都会继承目录中的ACL权限。(对这条命令执行后建立的文件)

    [root@bogon ~]# setfacl  -m  d:u:用户名:权限  目录名

     

    转载于:https://www.cnblogs.com/chuijingjing/articles/8533493.html

    展开全文
  • Linux对文件的基本权限只针对UGO,如果我出现以下需求,这些基本权限就无法满足:我是root,我不想给任何人任何权限,但是有一天,我想只对一个人开放权限,而且不是我的组成员,我也不想把加入组成员,此时如果...

    ACL策略 acl Access Control List

    Linux对文件的基本权限只针对UGO,如果我出现以下需求,这些基本权限就无法满足:我是root,我不想给任何人任何权限,但是有一天,我想只对一个人开放权限,而且他不是我的组成员,我也不想把他加入组成员,此时如果我打开O的权限,那么就会有很多人拥有了权限,此时基本权限根本无法满足我的需求。ACL策略此时就非常有用了。

    ACL抛开对用户UGO的判断,可以实现点对点的赋予权限

    查看ACL是否启动:

    dmesg | grep -i acl

    ACL基本的设定:

    setfacl -m u:用户名:rwx 文件名

    查看一个文件是否有ACL策略:

    getfacl 文件名

    移除ACL策略:

    setfacl -k 文件名

    值得注意的是,对一个文件添加了ACL策略,那么文件的mask有可能会发生改变,会造成即使给特定的人设置了权限,也有可能不生效,此时就要对文件的mask进行修改

    mask值
    #mask值是能够赋予用户权限的最大值
    #当设定acl列表后,如果用chmod命令缩小文件的权限,那么mask值会被更改

    比如:所有人都没有权限,你只给了zhu权限,但是由于mask是—,造成zhu的特权也无法生效,此时就要修改mask为rwx即可生效。

    设定单个文件的mask:

    setfacl -m m:rwx 文件名

    如果对目录进行了ACL设定,而且希望他下面新创建的文件继续继承这个策略,可以这样设置:

    setfacl -m d:u:用户名:权限 目录名

    展开全文
  • 文章目录一:ACL访问控制1.1:ACL访问控制方式:1.2:ACL规则优先级1.3:常用的ACL列表类型1.4:最简单的ACL控制1.41:设置ACL访问规则1.42:通过黑名单限制目标网站二:Squid日志分析工具Sarg2.1:安装并配置Sarg2.2...

    一:ACL访问控制

    squid提供了强大的代理控制机制,通过合理的设置 ACL 并进行限制,可以针对很多方式来进行条件过滤,比如有以下的方式:针对源地址、目标地址、访问的URL路径、访问的时间等。

    配置ACL 的两个步骤
    1:在主配置文件中使用 acl 配置项定义需要控制的条件
    2:通过 http_access配置项对已定义的列表做 “允许” ,“拒绝” 访问的控制

    1.1:ACL访问控制方式:

    根据源地址、目标URL、文件类型等定义列表

    acl列表名称列表类型列表内容....
    

    针对已定义的acl列表进行限制

    http_access allow或deny列表名称...
    

    1.2:ACL规则优先级

    • 一个用户访问代理服务器时,Squid会顺序匹配Squid中定
      义的所有规则列表,一旦匹配成功,立即停止匹配

    • 所有规则都不匹配时,Squid会使用与最后一条相反的规则

    1.3:常用的ACL列表类型

    src →源地址
    dst→>目标地址
    port端口
    dstdomain >目标域
    time →访问时间
    maxconn 最大并发连接
    url_regex >目标URL地址
    Urlpath_regex→>整个目标URL路径
    

    1.4:最简单的ACL控制

    这边基于传统squid代理设置的!!

    详情请访问https://blog.csdn.net/weixin_47151643/article/details/108433807

    1.41:设置ACL访问规则

    //编辑squid配置文件
    [root@tom03 init.d]# vim /etc/squid.conf
    # should be allowed
    acl hostlocal src 20.0.0.20/32          //监控client客户端的主机(20.0.0.20/32)取名为hostlocal
    
    Deny requests to certain unsafe ports
    
    //下面添加
    http_access deny hostlocal       //调用hostlocal,设置拒绝访问
    #重载配置文件
    [root@tom03 init.d]# service squid reload
    
    • ACL策略设置成功,已拒绝20.0.0.20主机访问
    • 因为我们接下来还需要使用client客户端做测试,所以删除刚刚设置的ACL规则,并重启squid服务
    • 客户机先清除浏览器数据!

    mark

    我们把注释关掉

    #acl hostlocal src 20.0.0.20/32
    #http_access deny hostlocal
    

    mark

    1.42:通过黑名单限制目标网站

    [root@tom03 init.d]# vim /etc/squid.conf
    
    # should be allowed
    acl hostlocal src "/etc/squid/src.list"    //拒绝访问目录文件
    
    # Deny requests to certain unsafe ports
    http_access deny hostlocal        //调用hostlocal,设置拒绝访问
    
    
    //创建地址列表文件
    [root@tom03 init.d]# mkdir /etc/squid
    [root@tom03 init.d]# cd /etc/squid/
    [root@tom03 squid]# vim src.list
    //查看文件里添加的IP
    [root@tom03 squid]# cat src.list 
    20.0.0.20
    
    #重载服务
    [root@tom03 squid]# service squid reload
    

    进行访问测试

    mark

    mark

    二:Squid日志分析工具Sarg

    2.1:安装并配置Sarg

    [root@tom03 ~]# tar zxvf sarg-2.3.7.tar.gz -C /opt
    [root@tom03 ~]# cd /opt
    [root@tom03 opt]# cd sarg-2.3.7/
    [root@tom03 sarg-2.3.7]# yum install gd gd-devel pcre pcre-devel -y
    //安装gc库 gcc gcc-c++之前装过了
    
    [root@squid sarg-2.3.7]# mkdir /usr/local/sarg
    [root@squid sarg-2.3.7]# ./configure \		
    --prefix=/usr/local/sarg \
    --sysconfdir=/etc/sarg \	
    --enable-extraprotection
    
    #编辑安装
    [root@squid sarg-2.3.7]# make &&: make install
    

    2.2:配置sarg配置文件

    [root@tom03 sarg]# pwd
    /etc/sarg
    [root@tom03 sarg]# vim sarg.conf 
    //配置文佳的所有配置都被注释了,我们需要取消注释内容
    
    7//取消注释
    access_log /usr/local/squid/var/logs/access.log             //指定访问日志
    
    25//
    title "Squid User Access Reports"                         //网页标题
    
    120//
    output_dir /var/www/html/squid-reports                     
    
    178//
    user_ip no                           //使用用户名显示
    
    184//修改内容
    topuser_sort_field connect reverse    //top排序中有连续次数、访问字节、降序排列 升序是normal
    
    206//   修改内容
    exclude_hosts /usr/local/sarg/noreport     //不计入排序的站点列表文件
    
    257//
    overwrite_report no                     //同名日志是否哦覆盖
    
    289//
    mail_utility mailx.postfix              //发送邮件报告
    
    434//
    charset UTF-8                           //使用字符集
    
    518//
    weekdays 0-6                            //top排行的星期周期
    
    525//
    hours 0-23                               ///top排行的时间周期
    
    633// 
    www_document_root /var/www/html          //网页跟目录
    
    
    //添加不计入站文件,添加的域名将不被显示
    [root@tom03 sarg]# touch /usr/local/sarg/noreport
    //创建sarg的软链接
    [root@tom03 sarg]# ln -s /usr/local/sarg/bin/sarg /usr/local/bin/
    
    //生成报告
    [root@tom03 sarg]# sarg
    SARG: 纪录在文件: 696, reading: 100.00%
    SARG: 成功的生成报告在 /var/www/html/squid-reports/2020Sep07-2020Sep07
    
    //提示报告在这个目录
    [root@tom03 ~]# ls /var/www/html/squid-reports/
      images index.html
    
    //下载httpd服务
    [root@tom03 ~]# yum -y install httpd
    //开启服务
    [root@tom03 ~]# systemctl start httpd
    //关闭防火墙跟防护功能
    [root@tom03 ~]# systemctl stop firewalld.service
    [root@tom03 ~]# setenforce 0
    //查看端口
    [root@tom03 ~]# netstat -ntap | grep httpd
    tcp6       0      0 :::80                   :::*                    LISTEN      11516/httpd         
    

    2.3:使用client客户端访问sarg日志

    查看20.0.0.43/squid-reports

    mark

    2.31:执行周期性计划任务,每天生成报告

    [root@tom03 ~]# sarg -l /usr/local/squid/var/logs/access.log -o /var/www/html/squid-reports/ -z -d $(date -d "1 day ago" +%d/%m/%Y)-$(date +%d/%m/%Y):
    

    mark

    四:squid反向代理

    通过squid反向代理可以加速网站的访问速度,可以将不同的URL请求分发到后台不同的Web服务器上,同时互联网用户只能看到反向代理服务器的地址,加强了网站的访问安全。

    4.1:反向代理概述

    如果Squid反向代理服务器中缓存了该请求的资源,则将该请求的资源源直接返回给客户端;否则反向代理服务器将后台的WEB服务器请求资源,然后将请求的应答返回给客户,同时也将应答缓存在本地,提供给下一个请求者使用

    mark

    4.2:反向代理网站加速

    工作机制

    • 缓存网页对象,减少重复请求

    • 将互联网请求轮询或按权重分配到内网Web服务器

    • 代理用户请求,避免用户直接访问web服务器,提高安全

    mark

    五:搭建反向代理实现加速

    • 环境介绍
    名称 角色 地址
    centos-1 squid 20.0.0.43
    centos-2 web1 20.0.0.44
    centos-3 web2 20.0.0.45
    win 10 客户端 20.0.0.20:

    5.1:添加一台web2服务器

    web2下载httpd
    [root@web2 ~]# yum -y install httpd
    [root@web2 ~]# cd /var/www/html/
    [root@web2 html]# vim index.html
    //编写首页信息
    <h1>this is shuai02</h1>
    
    //编写web1首页信息
    [root@web1 html]# cd /var/www/html/
    [root@web1 html]# vim index.html 
    
    //编写首页信息
    <h1>this is shuai01</h1>
    //重启关闭防火墙
    [root@web1 html]# systemctl start httpd
    [root@web1 html]# iptables -F
    [root@web1 html]# setenforce 0
    

    mark

    mark

    5.2:设置反向代理

    #http_port 3128    //注释
    http_port 20.0.0.43:80 accel vhost vport       //监听本机80端口 
    cache_peer 20.0.0.44 parent 80 0 no-query originserver round-robin max_conn=30 weight=1 name=web1    //web1服务器最大访问30 权重1 
    cache_peer 20.0.0.45 parent 80 0 no-query originserver round-robin max_conn=30 weight=1 name=web2    //web2服务器最大访问30 
    权重为1
    cache_peer_domain web1 web2 www.shuai.com    //访问shuai.com匹配web1跟web2节点
    
    #关闭httpd服务,因为会占用80端口,后面设置代理需要用到80端口
    [root@tom03 ~]# systemctl stop httpd
    
    #重启squid服务
    [root@tom03 ~]# service squid restart
    正在关闭 squid...
    正在启动 squid...
    
    [root@tom03 ~]# netstat -ntap | grep squid
    tcp        0      0 20.0.0.43:80            0.0.0.0:*               LISTEN      12:593/(squid-1)   
    

    5.3:客户机设置域名解析和squi代理并测试

    mark

    mark

    mark

    客户机访问www.shuai.com查看是否代理成功

    mark
    mark

    展开全文
  • 整理 | 夕颜出品|AI科技大本营(ID:rgznai100)【导读】11 月 25 日,ACL Fellow官网公布了 2019 ACL Fellow 5 位入选名单,其中来自中...


    整理 | 夕颜

    出品 | AI科技大本营(ID:rgznai100)

    【导读】11 月 25 日,ACL Fellow 官网公布了 2019 ACL Fellow 5 位入选名单,其中来自中国的字节跳动人工智能实验室总监李航入选,成为 ACL 第五位华人 Fellow。

     

    评选结果:https://www.aclweb.org/portal/content/acl-fellows-2019

     

    ACL Fellow 是对 NLP 领域从业者的最高认可。据 ACL 官网信息,ACL 会士评选委员会对李航博士的评语为:         

    他对信息检索,特别是排序学习做出了基础性贡献,在深度学习和对话生成方面做出了突出贡献,并且促进了中国自然语言处理(NLP)的发展和商业化 

    值得注意的是,今年与李航一起入选的其他 5 位 ACL Fellow 还包括:

     

    Barbara Grosz:哈佛大学工程与应用科学学院自然科学家希金斯教授,曾于 2017 年在 ACL 获得终身成就奖。

     

    Graeme Hirst:多伦多大学计算机科学教授。

     

    Mirella Lapata:爱丁堡大学信息学院自然语言处理教授。

     

    Paola Merlo:日内瓦大学计算学习与计算语言学教授。

     

    Michael Strube:德国海德堡理论研究所、海德堡大学计算语言学系荣誉教授

     

    可以看到,除了 Barbara Grosz 之外,其他三位教授的专业都与计算机科学相关。

                 

                  

    第五位入选ACL Fellow的华人

    除了担任字节跳动人工智能实验室总监之外,本次入选 ACL Fellow 的李航还有很多的身份,比如北京大学、南京大学客座教授、IEEE 会士、ACM 杰出科学家、CCF 高级会员等。

     

    在机器学习领域从事三十多年,李航的研究方向仍然聚焦在信息检索、自然语言处理、统计机器学习及数据挖掘。

     

    回头来看,李航的求学、从业经历可谓精彩纷呈,这里我们来简单回顾一下:

     

    1988 年,李航从日本京都大学电气工程系毕业,1998 年获得日本东京大学计算机科学博士。他 1990 年至 2001 年就职于日本 NEC 公司中央研究所,任研究员,2001 年至 2012 年就职于微软亚洲研究院,任高级研究员与主任研究员。2012 年至 2017 年就职于华为技术有限公司诺亚方舟实验室,任首席科学家、主任。

     

    在此期间及以后,李航一直活跃在相关学术领域,曽出版过三部学术专著,并在顶级国际学 术会议和顶级国际学术期刊上发表过 120 多篇学术论文,包括 SIGIR, WWW, WSDM 等。李航参与了多项产品开发,包括 Microsoft SQL Server 2005, Microsoft Office 2007, Microsoft Live Search 2008, Microsoft Bing 2009, Bing 2010, Office 2010, Office 2012。

     

    此外,他拥有 42 项授权美国专利,还在顶级国际学术会议和顶级国际学术期刊担任大会程序委员会主席、资深委员、委员、期刊编委,包括 SIGIR、WWW 等。

     

    直到今天,他的学术和职业生涯中又多了一个闪闪发光的 title——ACL Fellow。

    据悉,自 2011 年开始评选 ACL Fellow 以来,ACL 学会共入选了 57 位会士,但包括今年入选的李航博士在内仅有 5 位华人学者。在李航之前,其余 4 位入选 ACL Fellow 的华人分别是香港科技大学吴德恺教授、新加坡国立大学黄伟道教授、谷歌高级研究科学家林德康和百度首席技术官王海峰博士。

     

    1. 2011 ACL Fellow 吴德恺,香港科技大学计算机科学与工程系教授,当选理由:

    对机器学习和反向转换文法做出的突出贡献,将句法和语义模型整合到统计机器翻译范式中。

    1. 2012 ACL Fellow 黄伟道,新加坡国立大学计算机科学系教授。黄伟道教授系德克萨斯大学奥斯汀分校博士,研究重点是自然语言处理和信息检索,精通于语义处理和语义语料库的开发。他曾获得过 SIGIR 1997 和 EMNLP 2011 最佳论文奖,并担任过 EMNLP 2008、ACL 2005 和 CoNLL 2004 大会的程序共同主席。2012 年当选为 ACL Fellow。

    2. 2013 ACL Fellow 林德康,曾任加拿大 Alberta 大学计算机教授、Google 研究院高级管理科学家、Google 搜索问答系统创始人及技术负责人,奇点机智联合创始人兼 CTO,现任谷歌担高级研究科学家。林德康作为主要发明人申请了多项美国专利,在自然语言处理及理解领域发表 90 余篇论文,被引用 14000 余次,并多次担任计算语言最高学术机构国际计算语言学协会 ACL 的领导职务。

    3. 2016 ACL Fellow 王海峰,百度 CTO,首位入选 ACL Fellow 的大陆科学家。入选理由:

    王海峰在机器翻译、自然语言处理和搜索引擎技术领域,在学术界和工业界都取得了杰出成就,对于 ACL 在亚洲的发展也做出了卓越贡献。

     

    关于新书、机器学习、学术界VS工业界,他这样看

    当然,即使是对于刚进入机器学习领域的新人,也会对李航非常熟悉,因为入门机器学习时一定不会错过一本书——《统计学习方法》,而这本被很多人亲切地称作“蓝宝书”的读物,作者正是李航。

     

    最近,李航的《统计学习方法》第二版即将发布。这一消息甫出,AI 科技大本营就对李航进行过一次采访,他就新书的内容、深度学习、人工智能洞察等话题展开了探讨,这里将这些内容再次分享给大家。

    新书再版计划,增加深度学习和强化学习

    接着,我们的话题转到了李航最近的《统计学习方法》第二版。这一次,作者在新版本中加入了无监督学习相关内容。为什么要增加这一部分内容?未来这本书还会有哪些变动?

    李航指出,无监督学习有若干个不同的定义,《统计学习方法》第二版新增的无监督学习内容主要是传统机器学习中的无监督学习,与Hinton等人最近说的深度学习中的无监督学习不尽相同。他认为无监督学习确实是深度学习未来发展的重要方向,有望让机器变得更加智能化,像人一样使用语言,比如,自然语言处理领域的BERT 之所以可以发挥巨大的威力,根本原因在于它做了很好的预训练,就是无监督学习。Hinton 所谓的无监督学习是深度学习的未来,是指类似于 BERT这样的预训练方法。从这个意义上来说,无监督学习非常重要。

    李航表示,因为这本书是在业余时间写作的,因此耗费时间较长,第一版花了七年,第二版花了六年时间。2012 年《统计学习方法》第一版出版时正值深度学习初火,当时他曾有意加入一些神经网络的内容,但是担心时间拖得太久故作罢,所以第一版只对传统机器学习中的监督学习的主要方法做了介绍。

    本来,李航计划再加上无监督学习的内容就结束本书,但是出版之后受到读者的欢迎,这使他备受鼓舞,很多人希望再加上深度学习和强化学习,可以看到全新的,沿袭本书简洁和重点突出风格的内容。所以,李航计划为这本书增加深度学习和强化学习,希望可以覆盖所有机器学习常用的方法,帮助读者更好更快地掌握机器学习技术。然而,再出新版的时间不能确定,也许要几年之后。

    李航特别指出,这本书的定位并非入门书籍,不一定适合入门者,因为虽然该书的内容都是最基本的,没有一定的统计概率知识和其他相关基础知识,学起来可能有点吃力。他希望,这本书能成为一本字典一样的书籍,让大家能够反复研读,经常使用。

    对人工智能的洞察与前瞻

    回顾人工智能的发展历史,每一个阶段都有会因为一些技术突破使得领域的发展曲线升向新的高峰,取得巨大进展。近年来,人工智能领域的的一些新技术,或者新思路,比如深度强化学习、图神经网络、通用人工智能、神经符号处理等引起了业界的瞩目,大家对这些新词汇或新技术寄予厚望,希望能让这个领域发生更多的奇迹。然而,每每被冠以“突破性”的技术,产生的影响果真的有这么大吗?李航凭借 多年的研究经验,给出了他的看法。

    ▌强化学习比监督学习更需要数据

    李航曾表示,构建一个复杂的智能系统,原理上需要从“身体“入手,让智能系统在与环境的互动中进行学习,而强化学习是实现这一目标的有效手段。深度强化学习应用到真实环境中有什么样的优势?深度强化学习在智能系统的学习过程中会起到什么样的作用?

    深度强化学习是把深度学习和强化学习结合起来,用深度学习学习强化学习模型,所以深度强化学习本质上还是强化学习。

    李航表示,当智能系统学习做一些相对简单任务时,可以使用监督学习,监督学习技术已经比较成熟和实用,但代价是要用很多标注数据。相比,强化学习可以适用于让智能系统学习做更加复杂的任务。所以,从这种意义上来说,强化学习未来很有前景。

    强化学习未来发展前景广大,但当前却面临着一个巨大的挑战,即强化学习从某种意义上比监督学习更需要大数据,数据成为当前强化学习发展的最大瓶颈。可以想象,未来5G、物联网等技术的发展会带来更多的数据,可能强化学习之后会获得更大的发展。所以,强化学习是大家都很看好的一个方向。

    ▌机器学习做不到和人一样触类旁通

    目前,统计学习是机器学习的主流,但是统计学习还做不到和人一样的触类旁通,自学知识,达到人的学习能力。统计学习在机器学习中起到什么作用?机器如何才能获得人的学习能力?

    对于机器学习和深度学习目前取得的一些成果,李航认为应理性看待,“这让大家有一种错觉,认为机器已经非常接近人,但实际上差得还很远,这是因为人类学习和机器学习具有完全不同的机制。人天然具有三个最重要的学习能力,即记忆能力、泛化能力、联想能力,在机器上实现同样的学习能力还有很多困难。特别是现在人的学习的具体机理还不是很清楚。”

    ▌人的思考机制与机器本质上不同

    那么,有没有一种方法能够让机器做到和人一样触类旁通呢?李航认为还看不到这种可能,要想机器学习做到像人类一样触类旁通非常难,做到这一点还需要漫长的时间,至于是多久,他也无法给出准确的估计。

    为什么机器无法和人一样触类旁通?这要从人的学习机制来看。一言以蔽之:人与机器的学习在本质上是完全不同的。

    李航讲到,人和动物天然具有记忆和泛化能力,这其实是在做概念的存储和抽象。比如,老鼠吃了一次让它中毒的食物,就能认识到这种食物不能吃,下次看到同样的有毒食物就不会再去碰它。也就是说,只用了一个样本就把有毒食物的特点,如颜色和气味学到了(记忆了)。在这个过程中,老鼠做了抽象,因为食物的个体都不是完全一样的,老鼠能区分哪些东西属于同类。这些能力都是老鼠生来具有的,有很充分理由相信,人也具有同样的能力。

    此外,人还具有一项重要的能力,它在人的学习或概念形成、推理、语言使用中起到最根本的作用,那就是联想。联想是什么?李航用一个简单的例子来做了说明,比如现在你看到一瓶水,你可能会联想到你昨晚也喝过这种水,或者它的生产厂家等。人的经历不同、场景不同,联想的内容也不同。人时时刻刻都会做联想,所以人的思考其实很大部分都是在找到相关的记忆。计算机做检索的过程其实也是在联想。我们产生新的概念、做创造发明、学习新知识等常常也是在做联想。即记忆的机制就是联想,发明创造的机制也是联想。

    所以,人的这种最基本的思考机制是记忆、泛化、联想→学到知识。

    但是,机器学习目前完全是基于统计,即依靠数据。李航表示,他的书之所以命名为《统计机器学习方法》,是为了强调理论和统计的重要性,因为在他的认知里,机器学习基本上约等于统计机器学习或统计学习,这也是目前业界的共识。未来也有可能出现其他的机器学习方法,但至少目前来说机器学习就是约等于统计学习。

    统计机器学习最核心的想法,就是从大量数据中找到统计规律。即使是深度学习,本质上也是统计学习,用复杂的训练神经网络,表示找到的复杂的统计规律,去做一些看似智能,但本质上和人的智能机制不同的事情。

    因此,机器学习与人类学习的本质完全不同,所以让机器达到与人一样触类旁通非常难。

    ▌图神经网络重要,但其作用不应被夸大

    近年,图神经网络(GNN)的研究火了起来。这是因为深度学习虽然进展迅猛,但是却有着无法进行推理的缺陷,而基于图的深度学习将端到端学习和归纳推理结合起来,使模型兼有表示能力和推理能力,被有些人视为未来智能技术突破的关键。

    对此,李航表示,图神经网络是很重要的技术,但其作用不应该被夸大。

    深度学习,从最基本的深度神经网络 ,发展到CNN,之后又出现了几次重大突破,如 GAN、自然语言处理领域的 BERT 等,图神经网络也属于这样的重大突破。从这个意义上来说,图神经网络,GNN是一个重要方向,也是一个大的突破口,很多人在做相关研究,包括字节跳动。

    然而,李航认为,GNN 的特点在于通常以图数据为输入,利用图上各个节点之间的关系,学习更加复杂的模式,做智能性的判断和简单推理。这种意义上它是一个强大的工具,目前在很多应用中已经得到了很好的结果,未来还有很大的发展前景,值得深入研究。但是实现智能的一些关键问题,仅靠GNN还不能解决。它是未来重要的研究方向,但并非唯一方向。

    “人类研究人工智能这么多年,苦于不知道如何把自己的知识告诉计算机,以实现人类智能,GNN并没有本质解决这个问题 ,单靠GNN实现人类智能,我认为不现实。”李航说道。

    ▌符号处理+神经处理、多模态让机器更加智能

    上面讨论了一些机器学习领域很重要的技术,但是显然每一项技术单独来看都有局限性,无法单纯依靠某种技术实现人的智能。那么问题来了,如何才能让机器变得更加智能呢?我们至少需要一些思路。

    李航认为,要实现人工智能,需要解决的一个重要问题是把符号处理与神经处理结合起来。

    他首先解释了大脑的思考机制。人类的智能有两个层面,一个层面是人的大脑,是一个包含 1000 亿神经元,1000万亿联接的复杂神经网络。这个网络每个时刻都处于不同的状态,信号在网络中传输,网络状态发生变化。人工神经网络一定程度上与人脑神经网络相似,比如两者都是在网络结构中引入一些输入,做各种变换,之后产生一些输出。现在,深度学习中是用向量、矩阵或张量进行神经表示。但是,人工神经网络比人脑简单得多。

    另外一个是意识层面,即人类做推理、理解语言、使用知识的层面,意识层面的东西大致可以用符号表示,对应着计算机的符号处理。但这方面的机制,我们并不十分清楚,脑科学和认知科学有一些假说。人脑中,意识层面的符号处理和脑层面(下意识层面)的神经处理是如何结合的还完全不清楚。

    但是,看来要推进机器使用人类语言的能力,即自然语言处理能力,可能需要神经符号处理,就是把神经处理和符号处理两者结合起来,这样才能使机器更接近人。

    另一个重要问题,多模态技术也是实现人工智能的关键技术。近年来也引起了大家广泛关注。

    李航对此表示认同,他讲道,人的智能中的模态其实并没有明确的划分,人思考时大部分情况下都是在进行一种多模态“处理”,结合了视觉、听觉、触觉、味觉等各种模态。未来,相信随着数据的增多,计算能力的增大,多模态技术将能够做到更多,有望成为AI技术的一个突破口。

    另一个重要问题是Hinton等所说的无监督学习,这里不在重复。

    通用人工智能展望

    实现通用人工智能,是人工智能领域的终极目标。李航在 2016 年的一次采访中曾预测,通用人工智能可能要 500 年才能实现,但或许永远都不可能实现。时隔三年,随着人工智能领域的进一步发展,李航的观点有改变吗?

    “我不太喜欢用强人工智能、弱人工智能、通用人工智能的说法,因为这几个概念都没有严格的定义,很多时候大家说的并不是同一个东西。但是AI领域会不断发展,机器智能的水平会不断提高,这一点是不容置疑的。当时,被记者要求一定要说个数字,就随便说需要500年才能实现通用人工智能,其实没有科学的依据。”李航说道。

    所谓的通用人工智能还是很遥远的。比如,机器很难具备常识和情感,即使是简单的常识性推理对于机器来说也是一道很难跨越的门槛,更不用说具有情感的机器。而这些都是人类智能的一部分。

    面向未来,李航预测,从功能主义的角度来说,今后有相当长一段时间,瞄着实现合理行动的机器、合理思考的机器,把符号处理和神经处理结合起来,加上无监督学习、多模态等技术,可以让系统的智能程度上升好几个台阶,但是它最核心的可能还是机器学习,未来 50年,我们仍在使用这些最基本的技术,看来这个概率最大。

    从另外的思路来看,常识推理、因果推断等也是一些重要的研究方向,希望它们能和机器学习结合起来。可以预见,合理行动、合理思考的机器会根据不同的场景需求,组合衍生出各种各样的智能系统和智能工具。

    ▌未来若干年,很有可能AI发展将会慢一些,突破会少一些

    当然,李航谈论了他对于机器学习发展的看法。他说道,就像人的智能发育是一个漫长的过程一样,机器智能的构建也需要漫长的积累。人虽然自出生的那一刻起就具备了基本的认知和感知的能力,但是后天成长中也需要漫长的学习过程,不断积累才拥有了各种知识,具备了各种能力。

    虽然李航认为机器学习的发展距离人的智能还有相当大的距离,但有几件事情是可以预见的:机器最强大能力就是计算和存储,过去 30 年,计算的速度、存储的容量、通讯的速度都提升了 100 万倍,未来 30 年、100年、500 年以后仍会飞速增长。如果我们能让机器很好地利用大数据和大算力,进行自主学习,这在将来带来革命性的变化。

    “我的感受是人工智能研究其实需要长时间的积累,2012 年到 2018 年这段时间有很大的突破, 大家的期待特别高,以为今后一直会同样高歌猛进。然而事实并不是这样,大部分研究实际上都是需要不断积累,缓慢进步,不断发展的。包括深度学习大师 Yoshua Bengio 最近也在说,人工智能技术研究需要长期积累,我对他这句话的解读是,人工智能的发展也是有高峰和低谷的,我们不会永远处于高峰。未来若干年,概率最大的可能性是,人工智能相对前几年发展会缓慢一些,新的突破会少一些,但是还是会不断进步。未来还有更多有挑战性的问题,需要大家不断克服,持续积累,对于 AI,我们要有一个正确的期待。”

     

    (*本文为AI科技大本营整理文章,转载请微信联系 1092722531)

    精彩推荐

    开幕倒计时7天|2019 中国大数据技术大会(BDTC)即将震撼来袭!豪华主席阵容及百位技术专家齐聚,十余场精选专题技术和行业论坛,超强干货+技术剖析+行业实践立体解读。6.6 折票限时特惠(立减1400元)倒计时 3 天,学生票仅 599 元!

    推荐阅读

      你点的每个“在看”,我都认真当成了AI

    展开全文
  • linuxACL权限

    2020-02-18 16:27:43
    ACL权限是为了解决权限不够的情况,一般情况下只有ugo三种,但是如果需要第四种,就不够用了,这时候,引入了ACL权限,直接给这个用户添加权限,让脱离于原有的ugo三种用户之外。 在使用ACL权限之前,我们可以查看...
  • ACL拓展扩展ACL(100--199)建立扩展ACL的操作步骤:1)建表2).用表 扩展ACL(100–199) 总结扩展ACL访问列表语法: Router(config)#access-list 100 permit (IP) 大协议 源...扩展列表控制OSI七层模型的第三
  • ACL列表

    2009-03-04 19:08:09
    对于ACL列表浅谈一下我的看法。 ACL列表,只有两步:1是制定规定 2是发布规定。保安我们都知道吧,春节晚会上的吉祥三保看了吧,就是,跑题了,回来。当你想进学校的时候,第一关就是保安这关。那里有很多条目...
  • Linux acl列表

    2019-04-07 12:35:06
    使用说明:当一个文件对所有人都不可看的时候,我们又想让只对某一个人可看,那就赋予这个用户对这个文件的特权。 用法:\color{green}{用法:}用法: ##【从acl列表增加】:## getfacl file ###查看acl开启的...
  • ACL权限复习

    2017-11-09 22:13:00
    最近工作中用到了ACL权限,一时有点抓瞎,感觉什么命令都学了又什么命令都没记详细,不知道大家有没有这种感觉。身体被掏空啊~~~ ...此时有一个zhao的用户需要对/project目录有 r-x 权限,不是属主,也不在...
  • acl方向

    2011-05-19 22:24:18
    对于acl的方向问题,说句实话我也纠结了一天,看了好多别人写的文章,可是总是觉得还是要想向一下,我是做锐捷的,悲剧可是我是学思科出身的,对于锐捷的比较bt,只是支持in方向的调用,可是思科的是全部支持的啊...
  • ACL访问控制列表

    2020-08-06 16:54:52
    根据它使用的列表的列表号,按照表号的不同,将分为两类: 第一类:编号范围:2000-2999,基本ACL(标准ACL)。 区别:它是基于源IP地址进行过滤。 第二类:编号范围:3000-3999,高级ACL(扩展ACL) 区别:它...
  • linux之ACL

    2013-01-31 00:13:47
    ACL 任何一个文件的权限的权限都不可能超过mask权限 ACL权限设置主要有俩种,一是直接将挂载硬盘信息写入开机挂载,方法如下: /dev/vdc1 /mnt ext4 acl 0 0 第二种是在硬盘创建好以后,改变分区信息,tune2fs ...
  • ACL权限介绍 查看分区ACL权限是否开启 临时开启分区ACL权限 永久开启分区ACL权限 设定ACL权限 查看ACL权限 最大有效权限 删除ACL权限 递归ACL权限 ... ---这时候,有一个人叫隔壁老王,也想看访问这个
  • linux acl设置

    2012-12-17 21:01:29
    ACL 是 Access Control List 的缩写,主要的目的是在提供传统的 owner,group,others 的 read,write,execute 权限之外的细部权限设定。ACL 可以针对单一使用者,单一文件或目录来进行 r,...主要可以针对几个项目: ...
  • acl权限管理

    2012-12-17 21:40:36
    ACL 是 Access Control List 的缩写,主要的目的是在提供传统的 owner,group,others 的 read,write,execute 权限之外的细部权限设定。ACL 可以针对单一使用者,单一文件或目录来进行 r,...主要可以针对几个项目: ...
  • 华为设备的ACL

    千次阅读 2019-04-20 15:03:16
    ** 实验题目和需求 ACL(Access Control List)就是为了控制访问权限,是应用在路由器接口的指令列表。 直接给个图吧,题目写在了图中。...2.R1只许网管设备远程,所以ACL应该除了网管设备其他都应该屏...
  • cisco acl

    2009-09-25 11:00:00
    【转】...一次是没做捆绑成了环,回去就报故障过来再打倒回府再去处理,这个不是我做的,但是我参与了,我当时真没仔细了解整个网络环境,没想到是要做捆绑的;一次是模块换错了,CISCO同样波长公
  • ACL权限基本知识及操作

    万次阅读 2019-04-25 15:07:43
    当要给一个用户与文件属主、属组、其他人权限都不相同的时候使用,也就是说,这个用户对于这个文件不属于三种身份的任何一种,是属于第四种身份,那么我们就需要使用ACL权限去给赋予单独的权限。 设定ACL权限 命令...
  • 权限管理ACL权限

    2017-04-12 22:40:00
    如果有一个用户,我们希望对文件的权限不在上述三种用户权限之内,我们需要怎么做呢?再新添一个用户组,并将该用户组设为文件的用户组?不可以,一个文件只能有一个用户组,如果指定了新的用户组,之前的用户组将...

空空如也

空空如也

1 2 3 4 5 ... 12
收藏数 234
精华内容 93
关键字:

他acl