??????????

回复

发起了问题 • 0 人关注 • 0 个回复 • 258 次浏览 • 2018-03-15 14:18 • 来自相关话题

新手教程 发表了文章 • %s 个评论 • %s 次浏览 • • 来自相关话题

机器学习新手们 我这有本秘笈要不要?

zhaojing 发表了文章 • 0 个评论 • 212 次浏览 • 2017-12-08 10:46 • 来自相关话题

    看到一些非常好的机器学习备忘单,我想这对刚接触机器学习的工程师来说应该是极有帮助的。但是图片超不清晰,花费很多精力也没有找到高清原图。于是我就花了一些时间,根据这些图片复原了原图,以便能够帮助需要的人。下面这六张备忘单对我每天快速查找相应的库和函数非常有帮助。所以我就把这些备忘单打印了出来,挂在我的办公室墙上。有时候我需要一个快速参考,对我来说它可能比google搜索更快、更便捷。
矢量高清版图片下载地址:https://pan.baidu.com/s/1qX8R8Fq ,密码:6quu
1、Jupyter Notebook备忘单







2、Keras备忘单








3、Matplotlib备忘单







4、NumPy 基础备忘单








5、Pandas基础备忘单








6、Scikit-Learn备忘单
 





  查看全部
    看到一些非常好的机器学习备忘单,我想这对刚接触机器学习的工程师来说应该是极有帮助的。但是图片超不清晰,花费很多精力也没有找到高清原图。于是我就花了一些时间,根据这些图片复原了原图,以便能够帮助需要的人。下面这六张备忘单对我每天快速查找相应的库和函数非常有帮助。所以我就把这些备忘单打印了出来,挂在我的办公室墙上。有时候我需要一个快速参考,对我来说它可能比google搜索更快、更便捷。
矢量高清版图片下载地址:https://pan.baidu.com/s/1qX8R8Fq ,密码:6quu
1、Jupyter Notebook备忘单

2-7.jpg



2、Keras备忘单


3-7.jpg



3、Matplotlib备忘单


4-7.jpg


4、NumPy 基础备忘单


5-6.jpg



5、Pandas基础备忘单


6-4.jpg



6、Scikit-Learn备忘单
 

7-3.jpg

 

以计算机视觉为例,告诉你如何将AI引入你的工作

zhaojing 发表了文章 • 0 个评论 • 167 次浏览 • 2017-11-30 10:47 • 来自相关话题

    这里我先简单介绍一下计算机视觉做的事情是什么,然后再给大家引申一下,在一些业务里应用这些技术的可能性。计算机视觉的任务就是要对几种和视觉相关的媒体做一些信息处理,包括图片、视频以及深度视频。
    通过这些媒体我们得到的对象包括人脸、人体、车以及其他,这里其他对象的范围比较广泛,比如说宠物、食品、普通物体分类等等,但是它的应用范围应该远不如前三者。总结一下,比较广泛应用的有两种任务,一是结构化,二是图搜。
    结构化是指这个对象确切可描述的信息。比如一张人脸图片的结构化信息包括人的性别、年龄、表情类别,以及戴不戴眼镜、口罩、帽子等信息;人体的结构化包括人的上身下身的衣着特点等;车辆的结构化信息就比较多了,基本的有车牌、车型、年款、颜色等,另外有一些可以描述的特征信息,比如车窗内挂件、摆件,甚至是否有划痕等等,这些特征描述对于区分一些很像的车是非常有用的。
    然后是图搜,图搜的信息基础是没有结构化描述的,计算得到的是一个特征。我们常谈到的人脸识别就是典型的图搜应用,最典型的1:N人脸搜索就是以一张脸搜图库里的脸,得到和它距离很近的一些脸。人体和车也是一样,只不过人体和车辆的特征维度相对于人脸来讲少一些,这决定了人脸搜索可以在一个更大的库中发生,人体和车辆只能在相对小的库中搜索。
    对于结构化和图搜这两种任务来讲,图搜具有更广泛的应用场景,为什么呢?得到结构化信息之后,通常是作为数据库索引进行搜索,但是具体应用中很难单纯依赖结构化信息得到想找的对象。比如要找一个人,很难通过具体描述这个人是长头发、有胡须、戴眼镜或者其他可描述的细节直接找到这个人,但是如果提供一张这个人的照片,就可以在人脸库里很好地搜索到。车也是一样,我们通常通过车牌来搜索一个车,但是在真正的应用场景里,这是不一定生效的。比如一些犯罪分子在办案时往往会把车牌隐藏掉,或者干脆用一个假车牌,这时候就需要用车的特征来搜索,这样的场景下技术带来了真正可用的价值。
    首先是云服务的应用,这在公安这类机密客户那里是远远落后于商业及个人用户的。我们去年经常做这样的事情,就是把一堆服务器搬到用户的机房里,比如警方或者交管局,我们留下专人运维这个机房里的服务器,我们连接客户的视频流,利用CPU和GPU去计算前面所所说的东西,然后把结果在它的客户端体现出来,或者是推送到客户的平台中。
    但从今年开始我们有一些新的东西受到了老客户的青睐,对于类似于公安或交通这样的传统用户,他们竟然也或多或少的接受云端的方案,这在以往是不可想象的,因为他们的技术和数据是非常机密的。但是现在一些云服务提供商针对公安、银行这些具体的业务做了大量专用网络和安全上的优化工作,使得这个事可以发生。
    另一方面就是越来越多地使用了EDGE端的计算,端到端(EDGE端到CLOUD端)已经不再是什么秘密,一个很直接的结果就是降低了成本、提高了密度、以及广泛的智能化。举个例子,原来的IPC(网络摄像机)都是传视频到后端去处理,现在很多专门的车辆及人脸抓拍摄像机可以在终端设备上把我们关注的对象抓拍成图片,再把图片传到后端去处理,一方面是节省带宽,原来一个Gb的带宽只能传输几十路视频,现在只传输抓拍图片可以做到万路,更令人激动的是,假如抓拍设备部署在普通的超市、饭店这样的街头小店里,使用非常便宜和普通的家用带宽就可以满足要求。另外一个好处是后端服务器的计算成本极大降低,可能降低两个数量级这样的程度。两个数量级大家可以想象是什么样的情况,我们可以把一个应用做到非常便宜,可以从原来2G的业务逐渐做到2B的业务,再逐渐做到2C的业务。目前零售行业以及一些智能办公行业已经在尝试这样的业务方式,总结一下,就是我经常在公司和客户那里说的三个词:低成本、高密度、智能化。这是从业务上来分析计算机视觉的一些情况。
    这里边有几个事情我需要说明一下。第一个是深度视频,深度视频相关的产品我们在四年前就开始做,我不否认它的科技范儿,以及在一些场景里它不可替代的作用,但是到现在为止还是一个成本比较高的产品,所以它大都应用在类似于银行加钞、金库、监狱等支付能力非常强的客户。深度视频的作用显而易见,通过深度数据,它很容易能够计算出人的肢体行为、行动、人和环境关系等信息,而普通二维数据很难做到。这个产品目前还不具备广泛场景的扩展性,但是随着传感器技术的提高,事实上我们已经看到一些这方面的成果,它也会满足前边提到的低成本、高密度、智能化的原则。
    另一个要说明的是视频,这就是刚才讲的,逐渐会把后端视频的处理转移为前端抓拍之后在后端对图片的处理,这样降低了两个数量级的成本之后,最大范围地进行业务的推广。大家可能很奇怪,之前GPU的势头很猛,NVidia的股价在一年时间里飙升了三倍不止。但是我想说的是 NVidia工业级别的显卡价格和CPU这样的市场相比是小众和暴利的。CPU是个2C的市场,GPU也有2C的市场,但是工业级别的GPU显卡,它的市场价格是普通显卡的几倍。之所以能维持高价,是因为之前少有替代品,然而我们今天看来它的优势越来越小。
    一方面,现在有很多算法上的进展告诉我们,同样的算法在CPU上也可以高度的优化,它的成本和在GPU上可以媲美。而结合CPU服务器的稳定性和灵活性,比如分钟级别的弹性调度,它的实际成本还有一个数量级的优化空间。
    另一方面,它的竞争对手还包括ARM、FPGA、 Google的TPU芯片等这些日益成熟的专有计算芯片。这样的结果告诉我们,我们以前好像做错了,我们建立了大量的GPU集群,某个友商甚至利用它上一轮融资的千万美金建立了一个几千块GPU的私有计算集群。但是大家往后看,这可能不是特别值得,我感觉一两年内就会发生的是,首先GPU的价格会降低到非常亲民,专有计算芯片无论在服务器端还是在轻量级设备端都普及。
   人眼相机是可以应用于大广场、大范围的人脸抓拍机。另外还有抓拍服务器,对接普通的IPC,通过这个抓拍服务器可以把普通的IPC变成抓拍机一样的形态来对接系统。中间系统上下两个蓝色的数据流,下面的数据流是实时业务流,上面是像黑白名单入库之类的离线业务流。视频数据由抓拍设备转换成图片之后会经过人脸引擎进行处理,这个大规模的引擎包括人脸检测、特征提取和结构化,对于车的数据也类似地会有相应的车辆检测和结构化,然后经过存储、比对引擎和消息队列,形成我们的一套系统,后面对接应用的API池。上面还有一个从数据库对接出的离线数据分析和实时数据分析系统,它结合其他平台的业务数据,对结构化数据和比对结果进行大数据分析,并汇集到一个多维查询系统。
    每个行业都有它自己不好做的地方,AI这个细分行业里最大的特点就是数据依赖。大家可能都知道AI算法基本上都是以基于学习的算法为主,简单的讲就是通过大量的数据标注之后(Data),对一个网络(Network)的参数进行迭代优化得到一个模型(Model),业务层通过这个Model进行推理计算。我这个题目叫“如何开始一个AI业务”,当你在自己的业务上考虑这个问题的时候,你要用AI解决什么问题,首先要问自己数据够不够,第一是量够不够,第二是质量够不够,第三是数据的多样性够不够,量和质量比较好理解,下面讲一下多样性的问题,也就是跨域数据的难题。
    以人脸识别这个业务为例,有一些公共的人脸平台,可以输入一张照片和一个库,它会给出识别结果。但是据我了解,这些通用的人脸平台在具体业务上表现并令人满意。我是非常理解他们的,为什么几个友商都说自己是人脸识别第一的平台,但是在具体应用时表现不好呢,答案是它的数据并没有符合你使用的域。
    举个例子,一个做婚恋网站,它数据库里的照片都是经过化装打扮的;一个社交网站,它的人脸头像数据都是个性搞怪的;而我们的身份证照片,则是普通素颜的。这几个领域里的数据,领域内是非常好用的,但是它们相互之间的交叉联系,无论从数据获取、标注还是得到最终应用结果,都是非常困难的。我们之前在某个边疆省份做了一个业务,模式很简单,就是用人脸识别跑一个黑名单,黑名单里包括公安关注的危险分子,这个名单非常大,大概有几十万。在最开始实施现场测试的时候,我们发现结果非常不好,准确度并没有达到我们的期望。后来我们发现这个省的大多是少数民族,他们的脸跟汉族人特征差异很大,而跟西亚人或者是俄罗斯人种是更像的,而我们那时候的人脸模型,还是以汉族人为主要的样本训练得到的,所以带来了很大的困难,其根本原因还是样本数据量不足造成的。所以在我们把现场数据标注和重新训练作为项目本身的过程,很快就达到了我们期望的准确度。
    只有深入理解应用数据的域,才能够得到期望的效果。另外一种情况是希望有跨域数据的应用,比如证件照和各种现场抓拍照的跨域,就必须专门针对跨域的问题进行交叉的标注和训练,才能得到好的结果。跨域的成本往往取决于数据的来源,比如刷身份证并抓拍人脸的门禁,就可以很好的把证件照和抓拍照联系起来。
    另外一个与数据相关的就是如何在业务中结合标注。所谓标注,大家可以理解为人工智能里的“人工”。一个已经使用旧数据训练好的模型在你的领域里可能不一定适用,必须把标注的任务融入到业务里,让它成为业务的常态。做电商一定会有个呼叫中心,做AI也一定会有个标注中心支撑我们的业务,他们就会根据我们任务的指标去完成标注的任务。经过标注中心标注之后,AI模型的效果会逐渐变好。所以当你考虑这样的业务一定要同时考虑相关的人工成本,如果领域不变的话,成本可能会逐渐降低,需要标注的数据会逐渐变少,但是可能不会消失,因为时过境迁,总会有些变化的东西。
    ID,ID,ID,重要的事情说三遍,在AI业务里,我们认为能得到的最有价值的信息就是ID。我把它分成了几种层次:
    第一种就是类似于身份证这样的ID,它不一定是身份证,但一定是长效、唯一的ID,这是最有价值的,就像你在网上做什么事都有记录一样,如果我有这个ID,而以后你在现实中做什么事也都有纪录,这是很可怕的事情。
    第二种就是长ID,长ID是跨域的,跨时间、跨地点、跨来源,长ID并不能知道你是张三还是李四,但是它知道这个ID之前所有的活动。我们把能够拼接形成长ID的计算过程叫ReID,就是你很多活动我们通过算法把它们连接在一起了。
    在商场里,当你进入的时候,如果获得了你得长ID,系统虽然不知道你是谁,但是能瞬间调出你之前进入商店的行为,包括你在哪个柜台前逗留时间长,你的动线轨迹,甚至可以绑定了你的结帐信息,知道你购买的记录。对于商店的应用来讲,这些数据已经足够了,这样的一个长ID获取成本低而且规避了侵犯隐私风险,一个商场显然不可能对你的身份信息进行核实,但是它有这样的长ID,就有足够的想象空间做出一些营销上的优化。短ID,就是一个在时空上局部的ID。ID的价值从上到下是递减的,当然获取成本也是越来越小。ID的密度和分布也是非常重要的,就像网站的浏览记录,得到的ID密度越高,对用户行为了解得更透彻,这里有很多细节。包括我是只得到你在这的活动,还是说得到你非常大范围的活动。这些就是我对ID的一个分类定义。
    这里总结了一下以人脸识别或者车辆识别技术为基础的应用,本质上是ID的关系。所有我们需要得到的结果都是这几个ID的关系,车辆、模糊的车辆、清晰的车辆、人脸、人体、手机,或者没有写进来的其他的东西。
    在应用里,我们希望它们之间都有ID对应,同一类对象,比如人脸和人脸之间,进行比对之后,就知道两个人脸是不是同一个人的概率,如果是同一个人,再把两个ID合并,其他的也是一样。但是当我关注下面这样的事的时候,就不一样了。一个人开了车,然后从这个车上下来,这个时候,我作为一个人很容易知道这个车是他的车,他是司机也好,他是副驾驶也好,这个关系我知道,但是人工智能很难处理这样的事情,它需要通过一些逻辑上的分析以及一些模糊的匹配去得到这样的关系。
    我们会通过一些模糊匹配的方式以及时空关系等方式把它们匹配起来。包括人脸和人体也是一样,能看清这张脸,但是当其他任何拍这个人拍得比较小的时候,这张脸看不清楚了,我怎么知道这个人还是你,这也是一个要打通的关系。人体和手机更是这样。当我们把横向和纵向的关系都打通, ID全部的关系就通了。现在我的图中打问号的这几个地方,实际上是目前做得并不好的地方,这也是人工智能相关的应用在近几年要特别加强,也是最有机会的地方。
你的业务需要AI/CV吗?
    我接受过很多的公司来向我们咨询方案,想要他们的业务里获得AI的能力,用来帮助他们的业务进行优化和转型。在实际项目中我也接触了几个行业,我们也做了一些产品去应用于不同行业。
    大家也看到很多楼宇物业已经应用了包括人脸门禁,它不是一个新鲜的事物,刷脸然后进门或者拍一个证件对脸进行验证之后就可以进去了,证明你的人和证件是同一个。但是智能办公的要求是不一样的,它的要求是不只在门口要有这样的设备,在公司的各个角落里都要有,包括休闲区、工作区,甚至车口、门口等等,这作用是什么呢?作用就是把办公区里人的行为数据化,当然能做到这点的前提就是成本降低了。包括收费业务,有些朋友应该发现广东这边已经有了,就是当你进入高速路口时,可以刷支付宝进行收费,不用去ETC,也不用去交现金。很快它可能做到连手机的支付宝也不用刷了,它看到你的车牌,并且看到你的脸,把车牌和你的脸进行验证之后,你就直接可以开车通过了。当然之前你要通过支付宝去存一些钱,或者绑定支付宝在相应的帐户里,这样就会得到一个更快捷的通过方法。后面还有几个这样的业务目标,不扩展讲了。我觉得蛮有意思的,通过一种技术从高大上而专业到走向非常便宜而广泛的这一路上,有非常多的机会。实际上正是这样的转变,才能让一个技术真正落地,实现它的价值。
你的业务需要一个算法团队吗?
    这个问题好多人问的,就是当你的公司想做一些AI相关的业务,你需不需要自己养一个算法团队。这没有直接的答案,得具体问题具体分析,需要看是哪些方面的业务。
    首先你的业务从AI的层面上来讲,是不是一个通用的类型。比如说你希望像美图秀秀拍一个人脸之后进行美化,这个就有有可能不需要自己的AI团队,百度腾讯谷歌微软这样一些提供基础AI服务的公共资源以及像“一桶筐汤”这样的公司提供的方案,都可以是你的选择。但是当你遇到一些业务别人并没有涉及过的或者你的领域数据很独特时,可能就得养一个算法团队了。但是需要更正一下,确切的说是算法“工程”团队。算法团队是更基础的层面,但算法工程团队实际上是把现成的算法进行实践和工程化的团队,这是非常必要的。
    做一个AI的业务在研发团队里需要有这样一些角色,算法团队、软件团队、设备团队,更包括运营和售前。这些团队角色之间的关系,我简单讲一下。比如说算法团队和软件团队之间的关系,看起来很自然,算法团队提供算法,给软件团队来包装成产品。但实际上并不是这么直接,算法的结果一定是循序渐进的,开始得到的结果肯定不好。软件团队提供给用户的价值,是通过算法体现出来,但是算法还不够好的过程中,软件要当好一个背锅侠的角色,它需要通过各种手段来进行补助。算法不是万能的,软件在合适的时候巧妙的使用算法,才能实现算法最大的价值,不能美玉当砖。这些团队里,有不少故事可以讲,有机会我专门整理。 查看全部
    这里我先简单介绍一下计算机视觉做的事情是什么,然后再给大家引申一下,在一些业务里应用这些技术的可能性。计算机视觉的任务就是要对几种和视觉相关的媒体做一些信息处理,包括图片、视频以及深度视频。
    通过这些媒体我们得到的对象包括人脸、人体、车以及其他,这里其他对象的范围比较广泛,比如说宠物、食品、普通物体分类等等,但是它的应用范围应该远不如前三者。总结一下,比较广泛应用的有两种任务,一是结构化,二是图搜。
    结构化是指这个对象确切可描述的信息。比如一张人脸图片的结构化信息包括人的性别、年龄、表情类别,以及戴不戴眼镜、口罩、帽子等信息;人体的结构化包括人的上身下身的衣着特点等;车辆的结构化信息就比较多了,基本的有车牌、车型、年款、颜色等,另外有一些可以描述的特征信息,比如车窗内挂件、摆件,甚至是否有划痕等等,这些特征描述对于区分一些很像的车是非常有用的。
    然后是图搜,图搜的信息基础是没有结构化描述的,计算得到的是一个特征。我们常谈到的人脸识别就是典型的图搜应用,最典型的1:N人脸搜索就是以一张脸搜图库里的脸,得到和它距离很近的一些脸。人体和车也是一样,只不过人体和车辆的特征维度相对于人脸来讲少一些,这决定了人脸搜索可以在一个更大的库中发生,人体和车辆只能在相对小的库中搜索。
    对于结构化和图搜这两种任务来讲,图搜具有更广泛的应用场景,为什么呢?得到结构化信息之后,通常是作为数据库索引进行搜索,但是具体应用中很难单纯依赖结构化信息得到想找的对象。比如要找一个人,很难通过具体描述这个人是长头发、有胡须、戴眼镜或者其他可描述的细节直接找到这个人,但是如果提供一张这个人的照片,就可以在人脸库里很好地搜索到。车也是一样,我们通常通过车牌来搜索一个车,但是在真正的应用场景里,这是不一定生效的。比如一些犯罪分子在办案时往往会把车牌隐藏掉,或者干脆用一个假车牌,这时候就需要用车的特征来搜索,这样的场景下技术带来了真正可用的价值。
    首先是云服务的应用,这在公安这类机密客户那里是远远落后于商业及个人用户的。我们去年经常做这样的事情,就是把一堆服务器搬到用户的机房里,比如警方或者交管局,我们留下专人运维这个机房里的服务器,我们连接客户的视频流,利用CPU和GPU去计算前面所所说的东西,然后把结果在它的客户端体现出来,或者是推送到客户的平台中。
    但从今年开始我们有一些新的东西受到了老客户的青睐,对于类似于公安或交通这样的传统用户,他们竟然也或多或少的接受云端的方案,这在以往是不可想象的,因为他们的技术和数据是非常机密的。但是现在一些云服务提供商针对公安、银行这些具体的业务做了大量专用网络和安全上的优化工作,使得这个事可以发生。
    另一方面就是越来越多地使用了EDGE端的计算,端到端(EDGE端到CLOUD端)已经不再是什么秘密,一个很直接的结果就是降低了成本、提高了密度、以及广泛的智能化。举个例子,原来的IPC(网络摄像机)都是传视频到后端去处理,现在很多专门的车辆及人脸抓拍摄像机可以在终端设备上把我们关注的对象抓拍成图片,再把图片传到后端去处理,一方面是节省带宽,原来一个Gb的带宽只能传输几十路视频,现在只传输抓拍图片可以做到万路,更令人激动的是,假如抓拍设备部署在普通的超市、饭店这样的街头小店里,使用非常便宜和普通的家用带宽就可以满足要求。另外一个好处是后端服务器的计算成本极大降低,可能降低两个数量级这样的程度。两个数量级大家可以想象是什么样的情况,我们可以把一个应用做到非常便宜,可以从原来2G的业务逐渐做到2B的业务,再逐渐做到2C的业务。目前零售行业以及一些智能办公行业已经在尝试这样的业务方式,总结一下,就是我经常在公司和客户那里说的三个词:低成本、高密度、智能化。这是从业务上来分析计算机视觉的一些情况。
    这里边有几个事情我需要说明一下。第一个是深度视频,深度视频相关的产品我们在四年前就开始做,我不否认它的科技范儿,以及在一些场景里它不可替代的作用,但是到现在为止还是一个成本比较高的产品,所以它大都应用在类似于银行加钞、金库、监狱等支付能力非常强的客户。深度视频的作用显而易见,通过深度数据,它很容易能够计算出人的肢体行为、行动、人和环境关系等信息,而普通二维数据很难做到。这个产品目前还不具备广泛场景的扩展性,但是随着传感器技术的提高,事实上我们已经看到一些这方面的成果,它也会满足前边提到的低成本、高密度、智能化的原则。
    另一个要说明的是视频,这就是刚才讲的,逐渐会把后端视频的处理转移为前端抓拍之后在后端对图片的处理,这样降低了两个数量级的成本之后,最大范围地进行业务的推广。大家可能很奇怪,之前GPU的势头很猛,NVidia的股价在一年时间里飙升了三倍不止。但是我想说的是 NVidia工业级别的显卡价格和CPU这样的市场相比是小众和暴利的。CPU是个2C的市场,GPU也有2C的市场,但是工业级别的GPU显卡,它的市场价格是普通显卡的几倍。之所以能维持高价,是因为之前少有替代品,然而我们今天看来它的优势越来越小。
    一方面,现在有很多算法上的进展告诉我们,同样的算法在CPU上也可以高度的优化,它的成本和在GPU上可以媲美。而结合CPU服务器的稳定性和灵活性,比如分钟级别的弹性调度,它的实际成本还有一个数量级的优化空间。
    另一方面,它的竞争对手还包括ARM、FPGA、 Google的TPU芯片等这些日益成熟的专有计算芯片。这样的结果告诉我们,我们以前好像做错了,我们建立了大量的GPU集群,某个友商甚至利用它上一轮融资的千万美金建立了一个几千块GPU的私有计算集群。但是大家往后看,这可能不是特别值得,我感觉一两年内就会发生的是,首先GPU的价格会降低到非常亲民,专有计算芯片无论在服务器端还是在轻量级设备端都普及。
   人眼相机是可以应用于大广场、大范围的人脸抓拍机。另外还有抓拍服务器,对接普通的IPC,通过这个抓拍服务器可以把普通的IPC变成抓拍机一样的形态来对接系统。中间系统上下两个蓝色的数据流,下面的数据流是实时业务流,上面是像黑白名单入库之类的离线业务流。视频数据由抓拍设备转换成图片之后会经过人脸引擎进行处理,这个大规模的引擎包括人脸检测、特征提取和结构化,对于车的数据也类似地会有相应的车辆检测和结构化,然后经过存储、比对引擎和消息队列,形成我们的一套系统,后面对接应用的API池。上面还有一个从数据库对接出的离线数据分析和实时数据分析系统,它结合其他平台的业务数据,对结构化数据和比对结果进行大数据分析,并汇集到一个多维查询系统。
    每个行业都有它自己不好做的地方,AI这个细分行业里最大的特点就是数据依赖。大家可能都知道AI算法基本上都是以基于学习的算法为主,简单的讲就是通过大量的数据标注之后(Data),对一个网络(Network)的参数进行迭代优化得到一个模型(Model),业务层通过这个Model进行推理计算。我这个题目叫“如何开始一个AI业务”,当你在自己的业务上考虑这个问题的时候,你要用AI解决什么问题,首先要问自己数据够不够,第一是量够不够,第二是质量够不够,第三是数据的多样性够不够,量和质量比较好理解,下面讲一下多样性的问题,也就是跨域数据的难题。
    以人脸识别这个业务为例,有一些公共的人脸平台,可以输入一张照片和一个库,它会给出识别结果。但是据我了解,这些通用的人脸平台在具体业务上表现并令人满意。我是非常理解他们的,为什么几个友商都说自己是人脸识别第一的平台,但是在具体应用时表现不好呢,答案是它的数据并没有符合你使用的域。
    举个例子,一个做婚恋网站,它数据库里的照片都是经过化装打扮的;一个社交网站,它的人脸头像数据都是个性搞怪的;而我们的身份证照片,则是普通素颜的。这几个领域里的数据,领域内是非常好用的,但是它们相互之间的交叉联系,无论从数据获取、标注还是得到最终应用结果,都是非常困难的。我们之前在某个边疆省份做了一个业务,模式很简单,就是用人脸识别跑一个黑名单,黑名单里包括公安关注的危险分子,这个名单非常大,大概有几十万。在最开始实施现场测试的时候,我们发现结果非常不好,准确度并没有达到我们的期望。后来我们发现这个省的大多是少数民族,他们的脸跟汉族人特征差异很大,而跟西亚人或者是俄罗斯人种是更像的,而我们那时候的人脸模型,还是以汉族人为主要的样本训练得到的,所以带来了很大的困难,其根本原因还是样本数据量不足造成的。所以在我们把现场数据标注和重新训练作为项目本身的过程,很快就达到了我们期望的准确度。
    只有深入理解应用数据的域,才能够得到期望的效果。另外一种情况是希望有跨域数据的应用,比如证件照和各种现场抓拍照的跨域,就必须专门针对跨域的问题进行交叉的标注和训练,才能得到好的结果。跨域的成本往往取决于数据的来源,比如刷身份证并抓拍人脸的门禁,就可以很好的把证件照和抓拍照联系起来。
    另外一个与数据相关的就是如何在业务中结合标注。所谓标注,大家可以理解为人工智能里的“人工”。一个已经使用旧数据训练好的模型在你的领域里可能不一定适用,必须把标注的任务融入到业务里,让它成为业务的常态。做电商一定会有个呼叫中心,做AI也一定会有个标注中心支撑我们的业务,他们就会根据我们任务的指标去完成标注的任务。经过标注中心标注之后,AI模型的效果会逐渐变好。所以当你考虑这样的业务一定要同时考虑相关的人工成本,如果领域不变的话,成本可能会逐渐降低,需要标注的数据会逐渐变少,但是可能不会消失,因为时过境迁,总会有些变化的东西。
    ID,ID,ID,重要的事情说三遍,在AI业务里,我们认为能得到的最有价值的信息就是ID。我把它分成了几种层次:
    第一种就是类似于身份证这样的ID,它不一定是身份证,但一定是长效、唯一的ID,这是最有价值的,就像你在网上做什么事都有记录一样,如果我有这个ID,而以后你在现实中做什么事也都有纪录,这是很可怕的事情。
    第二种就是长ID,长ID是跨域的,跨时间、跨地点、跨来源,长ID并不能知道你是张三还是李四,但是它知道这个ID之前所有的活动。我们把能够拼接形成长ID的计算过程叫ReID,就是你很多活动我们通过算法把它们连接在一起了。
    在商场里,当你进入的时候,如果获得了你得长ID,系统虽然不知道你是谁,但是能瞬间调出你之前进入商店的行为,包括你在哪个柜台前逗留时间长,你的动线轨迹,甚至可以绑定了你的结帐信息,知道你购买的记录。对于商店的应用来讲,这些数据已经足够了,这样的一个长ID获取成本低而且规避了侵犯隐私风险,一个商场显然不可能对你的身份信息进行核实,但是它有这样的长ID,就有足够的想象空间做出一些营销上的优化。短ID,就是一个在时空上局部的ID。ID的价值从上到下是递减的,当然获取成本也是越来越小。ID的密度和分布也是非常重要的,就像网站的浏览记录,得到的ID密度越高,对用户行为了解得更透彻,这里有很多细节。包括我是只得到你在这的活动,还是说得到你非常大范围的活动。这些就是我对ID的一个分类定义。
    这里总结了一下以人脸识别或者车辆识别技术为基础的应用,本质上是ID的关系。所有我们需要得到的结果都是这几个ID的关系,车辆、模糊的车辆、清晰的车辆、人脸、人体、手机,或者没有写进来的其他的东西。
    在应用里,我们希望它们之间都有ID对应,同一类对象,比如人脸和人脸之间,进行比对之后,就知道两个人脸是不是同一个人的概率,如果是同一个人,再把两个ID合并,其他的也是一样。但是当我关注下面这样的事的时候,就不一样了。一个人开了车,然后从这个车上下来,这个时候,我作为一个人很容易知道这个车是他的车,他是司机也好,他是副驾驶也好,这个关系我知道,但是人工智能很难处理这样的事情,它需要通过一些逻辑上的分析以及一些模糊的匹配去得到这样的关系。
    我们会通过一些模糊匹配的方式以及时空关系等方式把它们匹配起来。包括人脸和人体也是一样,能看清这张脸,但是当其他任何拍这个人拍得比较小的时候,这张脸看不清楚了,我怎么知道这个人还是你,这也是一个要打通的关系。人体和手机更是这样。当我们把横向和纵向的关系都打通, ID全部的关系就通了。现在我的图中打问号的这几个地方,实际上是目前做得并不好的地方,这也是人工智能相关的应用在近几年要特别加强,也是最有机会的地方。
你的业务需要AI/CV吗?
    我接受过很多的公司来向我们咨询方案,想要他们的业务里获得AI的能力,用来帮助他们的业务进行优化和转型。在实际项目中我也接触了几个行业,我们也做了一些产品去应用于不同行业。
    大家也看到很多楼宇物业已经应用了包括人脸门禁,它不是一个新鲜的事物,刷脸然后进门或者拍一个证件对脸进行验证之后就可以进去了,证明你的人和证件是同一个。但是智能办公的要求是不一样的,它的要求是不只在门口要有这样的设备,在公司的各个角落里都要有,包括休闲区、工作区,甚至车口、门口等等,这作用是什么呢?作用就是把办公区里人的行为数据化,当然能做到这点的前提就是成本降低了。包括收费业务,有些朋友应该发现广东这边已经有了,就是当你进入高速路口时,可以刷支付宝进行收费,不用去ETC,也不用去交现金。很快它可能做到连手机的支付宝也不用刷了,它看到你的车牌,并且看到你的脸,把车牌和你的脸进行验证之后,你就直接可以开车通过了。当然之前你要通过支付宝去存一些钱,或者绑定支付宝在相应的帐户里,这样就会得到一个更快捷的通过方法。后面还有几个这样的业务目标,不扩展讲了。我觉得蛮有意思的,通过一种技术从高大上而专业到走向非常便宜而广泛的这一路上,有非常多的机会。实际上正是这样的转变,才能让一个技术真正落地,实现它的价值。
你的业务需要一个算法团队吗?
    这个问题好多人问的,就是当你的公司想做一些AI相关的业务,你需不需要自己养一个算法团队。这没有直接的答案,得具体问题具体分析,需要看是哪些方面的业务。
    首先你的业务从AI的层面上来讲,是不是一个通用的类型。比如说你希望像美图秀秀拍一个人脸之后进行美化,这个就有有可能不需要自己的AI团队,百度腾讯谷歌微软这样一些提供基础AI服务的公共资源以及像“一桶筐汤”这样的公司提供的方案,都可以是你的选择。但是当你遇到一些业务别人并没有涉及过的或者你的领域数据很独特时,可能就得养一个算法团队了。但是需要更正一下,确切的说是算法“工程”团队。算法团队是更基础的层面,但算法工程团队实际上是把现成的算法进行实践和工程化的团队,这是非常必要的。
    做一个AI的业务在研发团队里需要有这样一些角色,算法团队、软件团队、设备团队,更包括运营和售前。这些团队角色之间的关系,我简单讲一下。比如说算法团队和软件团队之间的关系,看起来很自然,算法团队提供算法,给软件团队来包装成产品。但实际上并不是这么直接,算法的结果一定是循序渐进的,开始得到的结果肯定不好。软件团队提供给用户的价值,是通过算法体现出来,但是算法还不够好的过程中,软件要当好一个背锅侠的角色,它需要通过各种手段来进行补助。算法不是万能的,软件在合适的时候巧妙的使用算法,才能实现算法最大的价值,不能美玉当砖。这些团队里,有不少故事可以讲,有机会我专门整理。

对于机器学习,到底该选择哪种编程语言

zhaojing 发表了文章 • 0 个评论 • 150 次浏览 • 2017-11-15 15:03 • 来自相关话题

    开发者到底应该学习哪种编程语言才能获得机器学习或数据科学这类工作呢?这是一个非常重要的问题。我们在许多论坛上都有讨论过。现在,我可以提供我自己的答案并解释原因,但我们先看一些数据。毕竟,这是机器学习者和数据科学家应该做的事情:看数据,而不是看观点。
    让我们看一些数据。我将在Indeed.com上使用趋势搜索。它可以根据时间搜寻实际工作机会中特定的条款。这表明了雇主们正在寻找拥有该技能的人才。然而,请注意,这并不是一项有效使用技能的民意调查。这种指标更能体现技能的受欢迎程度。
    话不多说,上数据。我搜索了与“机器学习”和“数据科学”一起使用的技能,搜索选项包括编程语言Java、C、C+++和JavaScript。然后还包括了Python和R,因为我们知道它在机器学习和数据科学方面很受欢迎,当然还有Scala,考虑到它与Spark的关系,再加上Julia,一些开发中认为这是“the next big thing”。运行这个查询,我们得到的数据如下:[大数据]当我们关注机器学习时,我们得到了类似的数据:[大数据]我们能从这些数据中得到什么启示呢?
    首先,我们看到并不是一招通吃。在这种情况下,各种机器学习编程语言都很受欢迎。
    其次,所有这些编程语言都在急剧增长,反映出在过去几年里,企业对机器学习和数据科学的关注和需求正在急速增加。
    第三,Python很明显的领导者,其次是Java,然后是R,再然后是C++。Python对Java的领先优势正在增加,而Java在R上的领先地位正在下降。必须承认,我很惊讶地看到Java名列第二;我本来是以为是R语言。
    第四,Scala的增长令人印象深刻。它在三年前几乎是不存在的,现在和这些成熟的编程语言几乎在同一个层面。当我们切换到Indeed.com上的数据的相对视图时,这更容易发现。[大数据]第五,Julia的受欢迎程度虽然不明显,但肯定有上升的趋势。Julia将成为一种流行机器学习和数据科学编程语言吗?未来会告诉你。
   如果我们忽略Scala和Julia,以便能够聚焦其他编程语言的增长,那么我们毫无疑问可以确认:Python和R的增长速度要快于通用语言。[大数据]考虑到增长率的差异,R的受欢迎程度可能很快就会超过Java。
   当我们专注于深度学习这个问题时,数据是完全不同的:[大数据]这时,Python仍然是领导者,但C++现在是第二,然后是Java,而C在第四,R只在第5。这里显然强调了高性能计算语言。Java正在快速发展。它可以很快达到第二名,就像一般的机器学习一样。R不会很快接近顶部。令我惊讶的是Lua的缺席,尽管它在一个主要的深度学习框架(orch)中使用,而Julia不存在。
    到这时,到底哪种语言才是最受欢迎的编程语言呢?答案应该很清楚了。当涉及到机器学习和数据科学工作时,Python、Java和R是最流行的技能。如果你想专注于深度学习,而不是一般的机器学习,那么,在某种程度上来说C++、C也是值得考虑的。然而,请记住,这只是看待问题的一种方式。如果你想找一份工作,或者你只是想在业余时间学习机器学习和数据科学,你可能会得到不同的答案。
    我的个人答案呢?除了有许多顶级机器学习框架的支持之外,Python对我来说很适合,因为我有计算机科学的背景。对于开发新的算法,我也会感到很舒服,因为我的大部分职业生涯都是用这种语言编程的。但这就是我,有不同背景的人可能会觉得用另一种语言更好。一个拥有有限编程技能的统计学家肯定会更喜欢R。一个强大的Java开发人员可以使用他最喜欢的语言,因为有大量的Java API的开放源代码。对于这些图表上的任何一种语言,都可以有类似的例子。
    因此,我的建议是,在花大量时间学习一门语言之前,根据自己的情况来决定选择哪种编程语言,切记千万不可跟风。 查看全部
    开发者到底应该学习哪种编程语言才能获得机器学习或数据科学这类工作呢?这是一个非常重要的问题。我们在许多论坛上都有讨论过。现在,我可以提供我自己的答案并解释原因,但我们先看一些数据。毕竟,这是机器学习者和数据科学家应该做的事情:看数据,而不是看观点。
    让我们看一些数据。我将在Indeed.com上使用趋势搜索。它可以根据时间搜寻实际工作机会中特定的条款。这表明了雇主们正在寻找拥有该技能的人才。然而,请注意,这并不是一项有效使用技能的民意调查。这种指标更能体现技能的受欢迎程度。
    话不多说,上数据。我搜索了与“机器学习”和“数据科学”一起使用的技能,搜索选项包括编程语言Java、C、C+++和JavaScript。然后还包括了Python和R,因为我们知道它在机器学习和数据科学方面很受欢迎,当然还有Scala,考虑到它与Spark的关系,再加上Julia,一些开发中认为这是“the next big thing”。运行这个查询,我们得到的数据如下:[大数据]当我们关注机器学习时,我们得到了类似的数据:[大数据]我们能从这些数据中得到什么启示呢?
    首先,我们看到并不是一招通吃。在这种情况下,各种机器学习编程语言都很受欢迎。
    其次,所有这些编程语言都在急剧增长,反映出在过去几年里,企业对机器学习和数据科学的关注和需求正在急速增加。
    第三,Python很明显的领导者,其次是Java,然后是R,再然后是C++。Python对Java的领先优势正在增加,而Java在R上的领先地位正在下降。必须承认,我很惊讶地看到Java名列第二;我本来是以为是R语言。
    第四,Scala的增长令人印象深刻。它在三年前几乎是不存在的,现在和这些成熟的编程语言几乎在同一个层面。当我们切换到Indeed.com上的数据的相对视图时,这更容易发现。[大数据]第五,Julia的受欢迎程度虽然不明显,但肯定有上升的趋势。Julia将成为一种流行机器学习和数据科学编程语言吗?未来会告诉你。
   如果我们忽略Scala和Julia,以便能够聚焦其他编程语言的增长,那么我们毫无疑问可以确认:Python和R的增长速度要快于通用语言。[大数据]考虑到增长率的差异,R的受欢迎程度可能很快就会超过Java。
   当我们专注于深度学习这个问题时,数据是完全不同的:[大数据]这时,Python仍然是领导者,但C++现在是第二,然后是Java,而C在第四,R只在第5。这里显然强调了高性能计算语言。Java正在快速发展。它可以很快达到第二名,就像一般的机器学习一样。R不会很快接近顶部。令我惊讶的是Lua的缺席,尽管它在一个主要的深度学习框架(orch)中使用,而Julia不存在。
    到这时,到底哪种语言才是最受欢迎的编程语言呢?答案应该很清楚了。当涉及到机器学习和数据科学工作时,Python、Java和R是最流行的技能。如果你想专注于深度学习,而不是一般的机器学习,那么,在某种程度上来说C++、C也是值得考虑的。然而,请记住,这只是看待问题的一种方式。如果你想找一份工作,或者你只是想在业余时间学习机器学习和数据科学,你可能会得到不同的答案。
    我的个人答案呢?除了有许多顶级机器学习框架的支持之外,Python对我来说很适合,因为我有计算机科学的背景。对于开发新的算法,我也会感到很舒服,因为我的大部分职业生涯都是用这种语言编程的。但这就是我,有不同背景的人可能会觉得用另一种语言更好。一个拥有有限编程技能的统计学家肯定会更喜欢R。一个强大的Java开发人员可以使用他最喜欢的语言,因为有大量的Java API的开放源代码。对于这些图表上的任何一种语言,都可以有类似的例子。
    因此,我的建议是,在花大量时间学习一门语言之前,根据自己的情况来决定选择哪种编程语言,切记千万不可跟风。

版权和著作权有什么区别

gaozhihui 发表了文章 • 0 个评论 • 166 次浏览 • 2017-09-27 11:11 • 来自相关话题

出版权:是指出版者对其依法出版的图书和报刊所享有的权利,权利主体包括图书出版者和报刊出版者。根据我国著作权法规定,出版权包括图书出版者对著作权人交付出版的作品在合同约定期间内享有的专有出版权和出版者对其出版的图书、报纸、杂志的版式、装帧设计享有的专有使用权。而且专有出版权不得转让。出版权是著作权的内容之一。

著作权:又称“版权”,是指作者因创作文学、艺术和科学作品而在法律规定的有效期内依法享有的一种专有权利。著作权主体是创作作品的自然人或法人,作者以外的人通过法定途径也可以取得著作权。著作权客体是具有独创性和某种客观物质表现形式的作品,但著作权法只保护作品的形式而不保护其思想内容。著作权的内容通常有狭义和广义之分。狭义的著作权是指作者依法享有的权利,包括著作人身权和著作财产权。广义的著作权还包括邻接权,主要指出版者、表演者、录音录像制品制作者和广播电视组织的权利。它具有无形性和相对的独占性和排它性。非经著作权人许可或无法律上的依据,他人不得行使该权利,否则构成侵权。

著作权与出版权是整体与部分的关系,是主从关系,它们主要联系是:同为著作权是联系作品的创作、使用而产生的权利,通常指公民个人、法人或非法人单位占有、使用和处分自己创作的作品的专有权利。而出版权仅仅是著作中诸多权利的一种。它们的主要区别是:出版权与著作权不是同一概念,出版权并不等于著作权。著作权是作者的权利,只不过在大多数情况下作者将其作品的出版权转让或许可出版者行使罢了。出版者(如出版社、报纸、期刊、广播电台、电视台等)本身并不具有出版权,只享有出版经营权或出版业务权,即专门经营他人作品的出版业务。但是,出版者可因作者或其他著作权人授权或转让而享有作者某一作品的一定期限的出版权。这就是说,因作者转让而使出版者享有了出版权。出版者出版了作者的作品,作品的著作权(包括出版权)仍是作者的权利(作者卖掉著作权除外)。因此,实际生活中,那种认为“谁出的书,著作权就是谁的”思想显然是错误的,这显然是将出版权与著作权混为一谈了。 查看全部
出版权:是指出版者对其依法出版的图书和报刊所享有的权利,权利主体包括图书出版者和报刊出版者。根据我国著作权法规定,出版权包括图书出版者对著作权人交付出版的作品在合同约定期间内享有的专有出版权和出版者对其出版的图书、报纸、杂志的版式、装帧设计享有的专有使用权。而且专有出版权不得转让。出版权是著作权的内容之一。

著作权:又称“版权”,是指作者因创作文学、艺术和科学作品而在法律规定的有效期内依法享有的一种专有权利。著作权主体是创作作品的自然人或法人,作者以外的人通过法定途径也可以取得著作权。著作权客体是具有独创性和某种客观物质表现形式的作品,但著作权法只保护作品的形式而不保护其思想内容。著作权的内容通常有狭义和广义之分。狭义的著作权是指作者依法享有的权利,包括著作人身权和著作财产权。广义的著作权还包括邻接权,主要指出版者、表演者、录音录像制品制作者和广播电视组织的权利。它具有无形性和相对的独占性和排它性。非经著作权人许可或无法律上的依据,他人不得行使该权利,否则构成侵权。

著作权与出版权是整体与部分的关系,是主从关系,它们主要联系是:同为著作权是联系作品的创作、使用而产生的权利,通常指公民个人、法人或非法人单位占有、使用和处分自己创作的作品的专有权利。而出版权仅仅是著作中诸多权利的一种。它们的主要区别是:出版权与著作权不是同一概念,出版权并不等于著作权。著作权是作者的权利,只不过在大多数情况下作者将其作品的出版权转让或许可出版者行使罢了。出版者(如出版社、报纸、期刊、广播电台、电视台等)本身并不具有出版权,只享有出版经营权或出版业务权,即专门经营他人作品的出版业务。但是,出版者可因作者或其他著作权人授权或转让而享有作者某一作品的一定期限的出版权。这就是说,因作者转让而使出版者享有了出版权。出版者出版了作者的作品,作品的著作权(包括出版权)仍是作者的权利(作者卖掉著作权除外)。因此,实际生活中,那种认为“谁出的书,著作权就是谁的”思想显然是错误的,这显然是将出版权与著作权混为一谈了。

打破男性“垄断” “程序媛”带领女性进入程序员的大门

zhaojing 发表了文章 • 2 个评论 • 179 次浏览 • 2017-09-14 19:40 • 来自相关话题

    女性能不能做程序员?当前,“程序员”一词几乎等同于“男性程序员”,而女性担任程序员则普遍被认为是特例。“程序媛”计划便是基于这种现象由儿童编程和机器人专家陈斌,发起的公益活动,主要内容是教授女性编程,提升程序员中女性的比例(现约15%),让更多的女生接触STEAM(理工科科目)教育。
    陈斌提出“程序媛”计划的初衷来自于他在编程行业20年的从业经历:“程序员圈子里女性程序员很少,如果哪个公司招到一个妹子,大家都会非常吃惊。”
    事实上,女性程序员的职业地位问题一直都备受人们关注。虽然近些年女性的职业地位有所提高,但女性在科技行业中的占比仍然较低。根据2016年谷歌员工多样性报告,2015年,女性在谷歌员工中的比例为31%,较2014年上升了一个百分点;其中女性在技术员工中的占比为21%,高于2014年时的19%。
    脸谱(Facebook )女高管谢里尔·桑德贝格(Sheryl Sandberg)曾在2010年以“为什么女性领导者那么少(Why we have too few women leaders)”为题发表演讲,并引起社交平台用户的大量转发和讨论,同时也随之产生了如Ladies Learning Code(女性学编程)、Girls Who Code(编程女孩)等编程社区。
    陈斌认为,国内缺少女性程序员的一个主要原因来自家庭对女孩的教育:“他们告诉女性你不能这样做,你最好每件事情都做对的,别干错事”。例如,女生就应该学文科,男生就应该学理科。一名参加程序媛计划的学员告诉陈斌,家人阻止她学习编程,是因为他们认为学计算机都是男人的事,“虽然我感兴趣,但是也不能去学”。
    “一旦女性跳出舒适区后,她们就会意识到以前那些大人们为她设置的条条框框,还有不自信的问题并不是想象中那样。”陈斌希望“程序媛”计划能够改善大众对于女性不适合编程工作的观点,让有兴趣学习编程的女性接触到编程知识。
    据陈斌介绍,报名“程序媛”计划的学员年龄大多在14到25岁之间,其中有许多刚从大学毕业一两年的成员,可能是大家还觉得迷茫,或者觉得还有变化的可能性。[打破男性“垄断” “程序媛”带领女性进入程序员的大门]“程序媛”计划是由陈斌发起的公益活动,主要内容是教授女性编程。
    最初,陈斌只是想开设一个在线或线下班级进行“程序媛”计划的教学,但想要学习的人数远超他的预期。他说:“现在话题阅读量已经达到1600万,既然这个事情已经这么热了,如果只是拿出很少的东西,我觉得就浪费了一次为女性平等做贡献的机会。”
    “我想干脆产品全部免费,并采用一些比较创新的教学手法。”陈斌选择通过搭建自动学习的系统来进行教学,设计一个类似于微信的对话界面,将自己想要讲授的课程与课件全部放置到目录中,学员可以按照系统既定的学习流程免费在线学习。“这种方式有些类似于微信对话,可能会让人觉得是我在讲,但实际上是一个虚拟的过程。”陈斌说,系统由他和他的团队花费20多天研发完成,并于7月3日开始测试。 查看全部
    女性能不能做程序员?当前,“程序员”一词几乎等同于“男性程序员”,而女性担任程序员则普遍被认为是特例。“程序媛”计划便是基于这种现象由儿童编程和机器人专家陈斌,发起的公益活动,主要内容是教授女性编程,提升程序员中女性的比例(现约15%),让更多的女生接触STEAM(理工科科目)教育。
    陈斌提出“程序媛”计划的初衷来自于他在编程行业20年的从业经历:“程序员圈子里女性程序员很少,如果哪个公司招到一个妹子,大家都会非常吃惊。”
    事实上,女性程序员的职业地位问题一直都备受人们关注。虽然近些年女性的职业地位有所提高,但女性在科技行业中的占比仍然较低。根据2016年谷歌员工多样性报告,2015年,女性在谷歌员工中的比例为31%,较2014年上升了一个百分点;其中女性在技术员工中的占比为21%,高于2014年时的19%。
    脸谱(Facebook )女高管谢里尔·桑德贝格(Sheryl Sandberg)曾在2010年以“为什么女性领导者那么少(Why we have too few women leaders)”为题发表演讲,并引起社交平台用户的大量转发和讨论,同时也随之产生了如Ladies Learning Code(女性学编程)、Girls Who Code(编程女孩)等编程社区。
    陈斌认为,国内缺少女性程序员的一个主要原因来自家庭对女孩的教育:“他们告诉女性你不能这样做,你最好每件事情都做对的,别干错事”。例如,女生就应该学文科,男生就应该学理科。一名参加程序媛计划的学员告诉陈斌,家人阻止她学习编程,是因为他们认为学计算机都是男人的事,“虽然我感兴趣,但是也不能去学”。
    “一旦女性跳出舒适区后,她们就会意识到以前那些大人们为她设置的条条框框,还有不自信的问题并不是想象中那样。”陈斌希望“程序媛”计划能够改善大众对于女性不适合编程工作的观点,让有兴趣学习编程的女性接触到编程知识。
    据陈斌介绍,报名“程序媛”计划的学员年龄大多在14到25岁之间,其中有许多刚从大学毕业一两年的成员,可能是大家还觉得迷茫,或者觉得还有变化的可能性。[打破男性“垄断” “程序媛”带领女性进入程序员的大门]“程序媛”计划是由陈斌发起的公益活动,主要内容是教授女性编程。
    最初,陈斌只是想开设一个在线或线下班级进行“程序媛”计划的教学,但想要学习的人数远超他的预期。他说:“现在话题阅读量已经达到1600万,既然这个事情已经这么热了,如果只是拿出很少的东西,我觉得就浪费了一次为女性平等做贡献的机会。”
    “我想干脆产品全部免费,并采用一些比较创新的教学手法。”陈斌选择通过搭建自动学习的系统来进行教学,设计一个类似于微信的对话界面,将自己想要讲授的课程与课件全部放置到目录中,学员可以按照系统既定的学习流程免费在线学习。“这种方式有些类似于微信对话,可能会让人觉得是我在讲,但实际上是一个虚拟的过程。”陈斌说,系统由他和他的团队花费20多天研发完成,并于7月3日开始测试。

每次一写公函公文就头痛,有没什么固定的格式和用词啊?

gaozhihui 回复了问题 • 2 人关注 • 3 个回复 • 309 次浏览 • 2017-09-07 09:14 • 来自相关话题

【搬运】什么是“语义”?

gaozhihui 发表了文章 • 0 个评论 • 199 次浏览 • 2017-09-06 17:16 • 来自相关话题

数据的含义就是语义(semantic)。简单的说,数据就是符号。数据本身没有任何意义,只有被赋予含义的数据才能够被使用,这时候数据就转化为了信息,而数据的含义就是语义。
语义可以简单地看作是数据所对应的现实世界中的事物所代表的概念的含义,以及这些含义之间的关系,是数据在某个领域上的解释和逻辑表示。
领域性特征
语义具有领域性特征,不属于任何领域的语义是不存在的。而语义异构则是指对同一事物在解释上所存在差异,也就体现为同一事物在不同领域中理解的不同。对于计算机科学来说,语义一般是指用户对于那些用来描述现实世界的计算机表示(即符号)的解释,也就是用户用来联系计算机表示和现实世界的途径。
语义是对数据符号的解释,而语法则是对于这些符号之间的组织规则和结构关系的定义。对于信息集成领域来说,数据往往是通过模式(对于模式不存在或者隐含的非结构化和半结构化数据,往往需要在集成前定义出它们的模式)来组织的,数据的访问也是通过作用于模式来获得的,这时语义就是指模式元素(例如类、属性、约束等等)的含义,而语法则是模式元素的结构。
 
主观特征
由于信息概念具有很强的主观特征,目前还没有一个统一和明确的解释。我们可以将信息简单的定义为被赋予了含义的数据,如果该含义(语义)能够被计算机所 “理解”(指能够通过形式化系统解释、推理并判断),那么该信息就是能够被计算机所处理的信息。关于知识的概念目前没有明确的定义,一般来说,知识为人类提供了一种能够理解的模式用来判断事物到底表示什么或者事情将会如何发展。从知识的陈述特性上来看,知识即指用来描述信息的概念、概念之间的关系,以及概念在陈述具体事实时所必须遵守的条件。从这一点看,对于信息的语义以及信息语义之间的关联关系的描述本身就是一种知识的表达,因此在许多研究中,往往将语义的描述等同于知识的描述。 查看全部
数据的含义就是语义(semantic)。简单的说,数据就是符号。数据本身没有任何意义,只有被赋予含义的数据才能够被使用,这时候数据就转化为了信息,而数据的含义就是语义。
语义可以简单地看作是数据所对应的现实世界中的事物所代表的概念的含义,以及这些含义之间的关系,是数据在某个领域上的解释和逻辑表示。
领域性特征
语义具有领域性特征,不属于任何领域的语义是不存在的。而语义异构则是指对同一事物在解释上所存在差异,也就体现为同一事物在不同领域中理解的不同。对于计算机科学来说,语义一般是指用户对于那些用来描述现实世界的计算机表示(即符号)的解释,也就是用户用来联系计算机表示和现实世界的途径。
语义是对数据符号的解释,而语法则是对于这些符号之间的组织规则和结构关系的定义。对于信息集成领域来说,数据往往是通过模式(对于模式不存在或者隐含的非结构化和半结构化数据,往往需要在集成前定义出它们的模式)来组织的,数据的访问也是通过作用于模式来获得的,这时语义就是指模式元素(例如类、属性、约束等等)的含义,而语法则是模式元素的结构。
 
主观特征
由于信息概念具有很强的主观特征,目前还没有一个统一和明确的解释。我们可以将信息简单的定义为被赋予了含义的数据,如果该含义(语义)能够被计算机所 “理解”(指能够通过形式化系统解释、推理并判断),那么该信息就是能够被计算机所处理的信息。关于知识的概念目前没有明确的定义,一般来说,知识为人类提供了一种能够理解的模式用来判断事物到底表示什么或者事情将会如何发展。从知识的陈述特性上来看,知识即指用来描述信息的概念、概念之间的关系,以及概念在陈述具体事实时所必须遵守的条件。从这一点看,对于信息的语义以及信息语义之间的关联关系的描述本身就是一种知识的表达,因此在许多研究中,往往将语义的描述等同于知识的描述。

小孩子写作文,写日记,老是错别字连篇,真的可以找出文中的错别字吗?

老杜 回复了问题 • 2 人关注 • 1 个回复 • 194 次浏览 • 2017-09-06 17:12 • 来自相关话题