分类
未分类

Docker 的底层原理,了解它只需要 5分钟~

一位同学曾给我打比方:宿主机就好比一间大房子,docker 把它成了N个小隔断。在这些小隔断之间,有独立的卫生间、小床、电视…

麻雀虽小,五脏俱全,这个比喻非常的贴切。Linux 提供了非常全面的隔离机制,使得每个小隔间互不影响。即使隔壁小间满室春光,我的小房间一样的冷清,对我毫无影响。

Docker 能实现这些功能,依赖于 chroot、namespace、cgroup 等三种老技术。我们本篇文章,就先聊一下 namespace 方面的东西。毕竟隔离是容器的第一要素。

Linux 的内核,提供了多达8种类型的 Namespace。在这些独立的 Namespace 中,资源互不影响,隔离措施做的非常好。

1. 8种类型

我们先来看一下,Linux都支持哪些Namespace。可以通过 unshare 命令来观察到这些细节。在终端执行 man unshare,将会出现这些 Namespace 的介绍。

  1. Mount(mnt) 隔离挂载点

  2. Process ID (pid) 隔离进程 ID

  3. Network (net) 隔离网络设备,端口号等

  4. Interprocess Communication (ipc) 隔离 System V IPC 和 POSIX message queues

  5. UTS Namespace(uts) 隔离主机名和域名

  6. User Namespace (user) 隔离用户和用户组

另外,Linux 在 4.6 版本,5.6 版本,分别加入了 cgroups 和 Time 两种隔离类型,加起来就有8种。
  1. Control group (cgroup) Namespace 隔离 Cgroups 根目录 (4.6版本加入)
  2. Time Namespace 隔离系统时间 (5.6版本加入)

2. 1个例子

通过unshare命令,可以快速建立一些隔离的例子,我们拿最简单直观的pid namespace来看一下它的效果。
众所周知,Linux 进程号为1的,叫做systemd进程。但在 Docker 中,我们通过执行ps命令,却只能看到非常少的进程列表。

执行下面的命令,进入隔离环境,并将 bash 作为根进程:

unshare --pid --fork --mount-proc /bin/bash
效果如图所示。可以看到,我们的 bash,已经成为了1号进程,而宿主机和其他隔离环境的进程信息,在这里是不可见的。

先在隔离环境中,执行sleep 1000。再开一个终端,在宿主机上执行pstree,我们将会看到这个隔离环境的进行信息。

接下来,在宿主机上,把 sleep 对应进程的命名空间信息,和宿主机的命名空间信息作一下对比。可以看到,它们的pid namespace,对应的数值是不同的。

下面给出其他 namespace 的实验性命令,你可以实际操作一下。

3. 试验一下

unshare --mount --fork /bin/bash

创建mount namespace,并在每个不同的环境中,使用不同的挂载目录。

unshare --uts --fork /bin/bash

uts 可以用来隔离主机名称,允许每个 namespace 拥有一个独立的主机名,你可以通过hostname命令进行修改。

unshare --ipc --fork /bin/bash
IPC Namespace 主要是用来隔离进程间通信的。Linux 的进程间通信,有管道、信号、报文、共享内存、信号量、套接口等方式。使用了 IPC 命名空间,意味着跨 Namespace 的这些通信方式将全部失效!不过,这也正是我们所希望的到的。
unshare --user -r /bin/bash
用户命名空间,就非常好理解了。我们可以在一个 Namespace 中建立 xjjdog 账号,也可以在另外一个 Namespace 中建立 xjjdog 账号,而且它们是相互不影响的。
unshare --net --fork /bin/bash
net namespace,这个就非常有用了。它可以用来隔离网络设备、IP 地址和端口等信息。

End

可以看到,通过各种 Namespace,Linux 能够对各种资源进行精细化的隔离。Docker本身也是一个新瓶装旧酒的玩具。Docker 的创新之处,在于它加入了一个中央仓库,并封装了很多易用的命令。

你可能会发现,到目前为止,我们并没有对 Cpu和内存的资源使用进行隔离,也没有对应的 Namespace 来解决这些问题。

资源限制的功能,是使用Cgroups进行限额配置来完成的,和Namespace没什么关系。我们将在后面的文章,介绍 Cgroups 这项技术。

最后,附上 Docker 的一张生命周期图。来源(http://docker-saigon.github.io/post/Docker-Internals/ )。有需要的同学可以加我的好友获取。

Docker 发展到现在,应用工具链已经非常成熟了,很多同学已经驾轻就熟,如果你对容器技术非常感兴趣,不如多看一下最底层的原理。这样,不管是谷歌推自己的容器,还是继续使用 docker,都能快速把它掌握。
来源:本文转自公众号小姐姐味道(xjjdog),点击查看原文
近期好文:

一文理解 Kubernetes 的存储系统机制

“高效运维”公众号诚邀广大技术人员投稿,

投稿邮箱:jiachen@greatops.net,或添加联系人微信:greatops1118.
点个“在看”,一年不宕机
分类
未分类

10 个 GitHub 上超火和超好看的管理后台模版,后台管理项目有着落了

Web 开发中几乎的平台都需要一个后台管理,但是从零开发一套管理后台模版并不容易,幸运的是有很多开源免费的管理后台模版可以给开发者使用。

那么有哪些优秀的开源免费的管理后台模版呢?

我在 GitHub 上收集了一些优秀的管理后台模版,而且是还在不断更新和维护的项目,并总结得出 Top 10。

1. vue-Element-Admin

vue-element-admin 是一个后台前端解决方案,它基于 vue 和 element-ui实现。

它使用了最新的前端技术栈,内置了 i18n 国际化解决方案,动态路由,权限验证,提炼了典型的业务模型,提供了丰富的功能组件,它可以帮助你快速搭建企业级中后台产品原型。

同时配套了系列教程文章,如何从零构建后一个完整的后台项目。

  • 手摸手,带你用 vue 撸后台 系列一(基础篇)
  • 手摸手,带你用 vue 撸后台 系列二(登录权限篇)
  • 手摸手,带你用 vue 撸后台 系列三 (实战篇)
  • 手摸手,带你用 vue 撸后台 系列四(vueAdmin 一个极简的后台基础模板)
  • 手摸手,带你用 vue 撸后台 系列五(v4.0新版本)
  • 手摸手,带你封装一个 vue component
  • 手摸手,带你优雅的使用 icon
  • 手摸手,带你用合理的姿势使用 webpack4(上)
  • 手摸手,带你用合理的姿势使用 webpack4(下)

该项目还在一直维护中。

而且也是配有使用文档的,很不错。

Github Star 数 62.2K, Github 地址:

https://github.com/PanJiaChen/vue-element-admin

2. iview-admin

iView Admin 是基于 Vue.js,搭配使用 iView UI 组件库形成的一套后台集成解决方案,由 TalkingData 前端可视化团队部分成员开发维护。

iView Admin 遵守 iView 设计和开发约定,风格统一,设计考究,并且更多功能在不停开发中。

不过该项目已经一年多没有更新维护了,估计是在等出了配合 Vue3 相关的 iView UI 库再更新了吧。

而且也是配有使用文档的,很不错。

Github Star 数 15.3K,Github 地址:

https://github.com/iview/iview-admin

3. vue-admin-template

这是一个极简的 vue admin 管理后台。它只包含了 Element UI & axios & iconfont & permission control & lint,这些搭建后台必要的东西。

目前版本为 v4.0+ 基于 vue-cli 进行构建,若你想使用旧版本,可以切换分支到 tag/3.11.0,它不依赖 vue-cli

极简版,就是 vue-Element-Admin 的简化版,功能简单一点,方便快速开发用的。

而且也是配有使用文档的,很不错。

Github Star 数 12K,Github 地址:

https://github.com/PanJiaChen/vue-admin-template

4. ant-design-pro

开箱即用的中台前端 / 设计解决方案。

Ant Design Pro 是基于 Ant Design 和 umi 的封装的一整套企业级中后台前端/设计解决方案,致力于在设计规范和基础组件的基础上,继续向上构建,提炼出典型模板/业务组件/配套设计资源,进一步提升企业级中后台产品设计研发过程中的『用户』和『设计者』的体验。

随着『设计者』的不断反馈,我们将持续迭代,逐步沉淀和总结出更多设计模式和相应的代码实现,阐述中后台产品模板/组件/业务场景的最佳实践,也十分期待你的参与和共建。

Ant Design Pro 在力求提供开箱即用的开发体验,为此我们提供完整的脚手架,涉及国际化,权限,mock,数据流,网络请求等各个方面。

为这些中后台中常见的方案提供了最佳实践来减少学习和开发成本。

而且也是配有使用文档的,很不错。

Github Star 数 27.2K,Github 地址:

https://github.com/ant-design/ant-design-pro

5. ngx-admin

基于Angular 10+ 的可定制管理仪表板模,还拥有 6 个惊人的视觉主题。

Github Star 数 21.7K,Github 地址:

https://github.com/akveo/ngx-admin

6. vue-admin-beautiful

vue-admin-beautiful 是一款基于 vue+element-ui 的绝佳的中后台前端开发管理框架(基于 vue/cli 4 最新版,同时支持电脑,手机,平板)。

vue-admin-beautiful-pro 拥有四种布局(画廊布局、综合布局、纵向布局、横向布局)四种主题(默认、海洋之心、绿茵草场,荣耀典藏),共计 16 布局主题种组合,满足所有项目场景。

已支持常规 bug 自动修复,前端代码自动规范,代码一键生成等众多功能,可以在完全不依赖后台的情况下独立开发完成项目,以及接口自动模拟生成,支持 JAVA、PHP、NODE、.NET、Django 等常用所有后台对接,甚至完全放弃 JAVA 等常规后端开发,内置 node 服务支持直接操作数据库进行增删改查,支持当前流行的 unicloud、serverless 云开发。

该项目还在不断更新和维护中,不错。

https://github.com/chuzhixin/vue-admin-beautiful

7. vuestic-admin

这是一个免费与美妙 Vue.js 管理模板,包括 38 以上个定制用户界面组件。

响应布局 | 图表(Charts.js) | 进度表 | 表格 | 选辑 | 日期选择器 | 复选框和单选框 | 静态表与数据表 | medium editor | 平滑设计字体 | 按钮 | 塌缩 | 颜色选择器 | 时间线 | 土司通知 | 工具提示 | 弹窗 | 图标 | 自旋体 | 模式 | 文件上传 | 厚切薯条通知 | 树 | 卡片 | 等级 | 滑动器 | 聊天系统 | 地图(Google, Yandex, Leaflet, amMap) | 登录/注册页模板 | 404页模板 | i18n

Github Star 数 7.6K,Github 地址:

https://github.com/epicmaxco/vuestic-admin

8. antd-admin

一套优秀的中后台前端解决方案。

特性

  • 国际化,源码中抽离翻译字段,按需加载语言包
  • 动态权限,不同权限对应不同菜单
  • 优雅美观,Ant Design 设计体系
  • Mock 数据,本地数据调试

而且也是配有使用文档的,很不错。

https://github.com/zuiidea/antd-admin

9. eladmin

一个简单且易上手的 Spring boot 后台管理框架

技术栈

使用 SpringBoot、Jpa、Security、Redis、Vue 等前后端前沿技术开发。

模块化

后端采用按功能分模块开发方式,提升开发,测试效率。

高效率

项目简单可配,内置代码生成器,配置好表信息就能一键生成前后端代码。

分离式

前后端完全分离,前端基于 Vue,后端基于 Spring boot。

响应式

支持电脑、平板、手机等所有主流设备访问。

易用性

几乎可用于所有 Web 项目的开发,如 OA、Cms,网址后台管理等。

前后端都有,还是挺不错的。

https://github.com/elunez/eladmin

10. AdminLTE

AdminLTE 是一个完全响应的管理模板。基于 Bootstrap 4.5 框架以及 JS / jQuery 插件。

高度可定制且易于使用。适合从小型移动设备到大型台式机的多种屏幕分辨率。

AdminLTE 的所有 JS,SCSS 和 HTML 文件均经过精心编码,并带有清晰的注释。SCSS 已用于提高代码的可定制性。

ui 风格也不偏向于外国吧,比较简结。

好的地方是还一直在更新和维护,最大的不足就是还依赖于 jQuery 这个旧时代的产物,唉。

Github Star 数 36.8K 也非常高 , Github 地址:

https://github.com/almasaeed2010/AdminLTE




分类
未分类

马斯克脑机接口下一步:让大猩猩用脑电波玩视频游戏,今年人体试验!



  新智元报道  

来源:外媒

编辑:小匀、LQ

【新智元导读】火星计划怎么样了?脑机接口进展又如何?语出惊人的马斯克又来了,近期采访中他又放下狠话:五年半内登火星,还透露说,Neuralink想要造出一只通灵的猴子能打电脑游戏。


人类还有多久能登陆火星?
 
十年?百年?
 
马斯克表示,没那么长!
 
近期,这位疯狂的企业家做客一档电台节目,大谈当下的几大热点,信息量很大,所谈内容都站在现在与未来的焦点。
 
他还透露自己的近期计划,其中包括公布脑机接口进展和他那雄心勃勃的火星计划
 
采访音频戳:https://www.youtube.com/watch?v=wF2TrKF6HEY
 

2026年登火星


NASA的Artemis计划2033年左右登陆火星,而马斯克的SpaceX 2026年就可以实现登陆火星。
 
不仅5年半内登火星,往返火星和地球之间的时间也大大缩短——一个月,而此前天文学家预测的是6个月。
 
据马斯克介绍,接下来5年里,SpaceX将会致力于开发人类往返太阳系里第三、第四块「石头」所需的技术。
 
 
虽然还有几项重大技术需要实现突破,但马斯克表示5年的时间也已经足够做好准备。
 
马斯克还表示,SpaceX需要完善可重复使用的火箭,将成本降到最低。如果能做到这一点,地球和火星之间的飞行可以每两年进行一次
 
马斯克表示,人类是生命的媒介,即使地球上发生了灾难——人为的或是自然的——看化石就可以知道此前发生过的物种灭绝,我们都有义务确保地球上的生物继续生存下去
 
如果能够在火星实现推进剂生产食品生产和发电,那么人类就可以在火星建立自给自足的城市,实现行星间穿行,这是实现人类意识长期存在所要做的最重要的事情之一。
 

玩电脑游戏的猩猩


昨天,马斯克发推帮自家公司Neuralink招人,访谈中他也提到了最近Neuralink的工作。
 
 
继脑机接口之后,马斯克想要造出一只通灵的猴子能打电脑游戏
 
Neuralink在寻找将传感器植入动物大脑,使动物之间可以产生互动,据马斯克介绍,Neuralink已经成功将无线传感器植入一只猩猩的大脑
 
据了解,植入大脑的传感器很小,并不会伤害动物
 
接下来,马斯克想让Neuralink在另一只猩猩的大脑中植入芯片,然后让这两只猩猩互动,主要是精神层面的互动。
 
马斯克想通过芯片植入让这两只猩猩的大脑能够玩模拟乒乓球游戏Pong.
 
 
「我们正在试图弄清楚的一件事是,是否可以让猩猩们在精神上互相打乒乓球 …… 那会很酷的。」
 
电影中有不少赋能大猩猩的桥段,但这似乎都不是一个好主意,虽然马斯克的想法是让大猩猩玩电脑游戏,并不会统治世界,但这也引起一些人的担心,只希望实验对象中没有叫「凯撒」的猩猩。
 
 

一字万金的男人


上周五,马斯克改了自己的推特简介,新简介只有一个词:Bitcoin.


还发了一条推文:回顾过去,这是不可避免的

推文发出后,比特币的价格迅速上涨,达到了37,803美元的峰值,在略微下跌之前,涨幅超过了17% . 目前 BTC 的价格为36,965美元



而上周,金融市场上最轰轰烈烈的是GameStop事件,Reddit网站上的散户大军「抱团」,靠着一只股票——GameStop,一家苦苦挣扎的视频游戏零售商,接连打败了多家大型投资机构。

在接受Clubhouse采访时,马斯克表示,我来晚了,但我支持比特币

然后他又转向了狗狗币,这个加密货币因为首富「突如其来」的关注上涨了3倍,周四达到了历史新高。


但马斯克觉得狗狗币很滑稽,他开玩笑说:「可以说,最有趣的结果,最具讽刺意味的结果是狗狗币将成为未来地球的货币」

在马斯克发表评论后,加密货币追踪软件 CoinDesk 立即显示狗狗币的价格有小幅下跌

马斯克代表一种未来


这是典型的马斯克意识流,时长约90分钟。谈话的节奏很激烈,也有一丝混乱,但当马斯克讲话时,人们似乎愿意倾听,因为你永远不知道事情的结局会怎样。
 
马斯克是除了名的精力旺盛,大脑总是充满了想法,精神从来没有休息过。
 
身体可以休息,想法永不止步。
 
某种意义上来说,马斯克的某些观点很哲学,代表着一种对未来的看法。
 
例如,他不止一次提到,他坚信世界只是「矩阵模拟」!人们也能进入大脑矢量空间。
 
时间要从2018年说起,那时马斯克参加了由喜剧演员Joe Rogan主持的The Joe Rogan Experience节目中,他比较全面的阐述了他自己的价值观,他坚信「我们活在模拟(simulation)中」
 
 
我们知道,这是一种很前卫的想发,但马斯克对此有更为古老的理论解释:宇宙已经存在了138亿年,而人类出现在地球上的历史才不到一万年,所以这段时间足够其他文明兴起。
 
马斯克根据的是宇宙历法,这是一种将宇宙年表可视化的方法,将宇宙目前的年龄138亿年缩放为一年,以帮助直观地进行科学评估。
 
在这个可视化中,大爆炸发生在1月1日午夜的开始,而现在的时刻映射到12月31日午夜前的结束在这个比例下,每秒有437.5年,每小时有175.5万年,每天有3780万年。
 
宇宙历的图形视图,包括一年的月份、十二月的天数和最后一分钟(来源:wikipedia)
 
这个概念被卡尔-萨根在他的《伊甸园之龙》(1977年)一书中和他的电视连续剧《宇宙》(Cosmos)中普及开来。

萨根继续用表面积来扩展比较,他解释说,如果把宇宙历法按比例放大到一个足球场的大小,那么「所有的人类历史将占据一个手掌大小的区域」
 
 
因此,马斯克相信,更古老的文明很有可能是我们的造物主,并将现实生活比作是过去数十年间游戏的进步。
 
这不是马斯克第一次分享这个想法,早在2016年的Recode’s annual Code Conference上,他就说过:
 
「鉴于我们明显处于与现实无法区分的游戏的轨道上,并且这些游戏可以在任何机顶盒或PC以及其它任何东西上播放,而且可能存在数十亿台这样的计算机或设备,那么我们在基础现实中的概率只有数十亿分之一。」
 
「40年前,我们有Pong,就是两个矩形和一个点。这就是游戏的开始。40年后,我们有了3D模拟,以及几百万人的在线游戏。而技术仍在发展,我们很快就会拥有VR和AR世界。」
 
 
虽然可以想象我们所有人都可能实际生活在一个巨大且先进的计算机游戏中,但物理学家们的确被这样的想法所吸引,并且从理论上讲,它至少可以算是一种可能性。
 
 
最近,他又谈及了他坚信不疑的「矩阵模拟假设」,他从压缩(降维)角度对机器学习进行有趣的物理学类比,认为物理模拟宇宙,最终你就会有感知能力
 
「神经网络主要是从现实中获取大量信息,很多来自无源光学方面,并创建矢量空间,本质上将大量光子压缩成矢量空间。」近日,他又在一组视频里谈到了这个问题。
 
人们是否能够进入大脑的矢量空间呢?
 
马斯克认为,「可以。」

他提到,运用压缩的类比方法,我们是可以进入大脑的矢量空间的。

大脑过滤很多信息,只留下相关的部分,这只是原始信息很小的一部分,但却可以根据矢量空间的决策做决定。

这实际上就是大规模的压缩与解压缩过程,就像物理学公式一样,因为公式就是对现实生活的压缩算法。
 
他还说到,如果我们对宇宙进行一个物理学意义上的模拟,就需要大规模的计算,如果有足够的时间,就会产生知觉。
 
这也并非空谈,著名的德雷克方程就可以作为理论依据,支持马斯克的想法。
 
德雷克公式又称「绿岸公式」,是用来推算银河系及可观测宇宙能与我们进行无线电通信的高智能文明数目。

由美国天文学家德雷克于1960年代在绿岸镇提出。通过估计我们银河系中可能存在的其他智慧文明的数量,计算出我们在宇宙中并不孤单的可能性。
 
 
不过,德雷克方程虽然简单,但却无法求解

该方程还有很多不确定项,比如发展出智慧生命的行星的比例;还有一些可能我们永远都不会知道,比如在被发现之前自我毁灭的比例。
 
看来马斯克并非只有金钱头脑,他的知识水平和思考维度也是非常广的。
 
最后不得不提一句,这次马斯克是在一款名为Clubhouse 的音频社交产品上进行的,很多知名风投、企业家和文娱界明星也入驻了这里,全是高质量用户,就像国内的知乎一样。

 



参考链接:

https://www.cnet.com/news/elon-musk-talks-mars-monkey-brain-implants-and-bitcoin-in-clubhouse-interview/
https://comicbook.com/irl/news/elon-musk-says-humans-on-mars-by-2026/



分类
未分类

斯坦福新书《决策算法》发布,全文400多页PDF免费下载!



  新智元报道 

来源:外媒

编辑:keyu

【新智元导读】最近,斯坦福大学发布了一则新书《决策算法》,该书主要阐述了不确定性决策的算法,面向的是高年级本科生、研究生和专业人员,全书PDF资源都可免费下载哦!


最近,斯坦福大学发布了一部新书:《决策算法》( Algorithms for Decision Making),该书主要由Mykel J.Kochenderfer教授编撰


Mykel J.Kochenderfer教授带领的斯坦福智能系统实验室(SISL)实验室,每年在计算机领域各大顶级会议和期刊上收获颇丰,仅在2021年这一个月里,实验室已经有9篇论文于AAAI2021,AAMAS2021,AIAA Journal等顶级会议和期刊上发表。

 

在这里简单介绍下,斯坦福智能系统实验室(SISL)的研究主要是关于用于设计鲁棒决策系统的先进算法和分析方法

 

其中,实验室特别感兴趣的细分领域有:系统的空中交通管制,无人驾驶飞机和其他需要在不确定动态环境下,在保持安全和效率的同时,需要做决策的航空航天应用。

 

SISL主要集中在对高效的计算方法的研究上,重点关注如何从高维、概率的问题中推导出最优的策略决策。


图:SISL成员合照


这本新书《决策算法》主要介绍了在不确定情况下的最优决策算法

 

该书涵盖了与决策相关的各种主题,介绍了问题中隐含的数学公式以及解决它们的算法。此外,本书中添加了许多举例和练习题,来传达各种方法下蕴含的直觉。



此书是为高年级本科生和研究生以及专业人员准备的。要学习这本书的内容,阅读者需要有一定的数学功底,并接触过多变量微积分,线性代数,和概率的概念

 

这本教科书的基础是算法,并都用Julia编程语言实现。除此之外,附录中还提供了一些复习材料。

 

从这本书受益最大的学科有数学、统计学、计算机科学、航空航天、电气工程和运筹学。


先对本书的部分章节进行详解:


第一章:概率推理


主要讲述了概率推理(Probabilistic Reasoning),主要包括以下小节:

 

  • 表示(Representation)
  • 推理(Inference)
  • 参数学习(Parameter Learning)
  • 结构学习(Structure Learning)
  • 简单决策(Simple Decisions)
 
从讨论如何用概率分布表示不确定性开始,作者将讨论如何构建模型,如何使用模型进行推断,以及如何从数据中学习模型的参数和结构


之后,作者介绍了效用理论的基础,并展示了它是如何在不确定性下形成理性决策的。效用理论可以被纳入概率图形模型,形成所谓的决策网络。该章节将重点放在单步决策上,对连续决策问题的讨论将留到本书的下一部分。
 

第二章:序列问题


书的第二章主要讲述了序列问题(Seqential Problems),主要包括以下小节:
  • 确切解决方法(Exact Solution Methods)
  • 近似值函数(Approximate Value Functions)
  • 在线规划(Online Planning)
  • 策略搜索(Policy Search)
  • 策略梯度估计(Policy Gradient Estimation)
  • 策略梯度优化(Policy Gradient Optimization)
  • Actor-Critic算法(Actor-Critic Methods)
  • 策略验证(Policy Validation)
 
此前的章节都假设在某个时刻所需要做的是单一的决定,但许多重要的问题需要我们做出一系列的决定。
 
在此情况下,最大期望效用原则仍然适用,但是在序列环境下的最优决策需要对未来的序列操作和观察进行推理。
 
这本书的这一章节将讨论随机环境中的顺序决策问题。作者将在模型已知和环境完全可观察的假设下,关注顺序决策问题的一般公式。在之后的章节中,作者将会放松这两个假设。


本章的讨论将从引入序列决策问题的标准数学模型——马尔可夫决策过程开始,主要讨论了几种求精确解的方法、离线和在线近似解决方法的集合,以及一种涉及直接搜索参数化决策策略空间的方法。
 

第三章:模型不确定性


主要讲述了模型不确定性(Model Uncertainty),主要包括以下小节:
  • 探索和利用(Exploration and Exploitation)
  • 基于模型的方法(Model-Based Methods)
  • 脱离模型的方法(Model-Free Methods)
  • 模仿学习(Imitation Learning)
 
在讨论顺序决策问题时,本书假设转移模型和报酬模型是已知的。然而,在许多问题中,这些模型并不是完全已知的,而且代理必须通过经验学会进一步的操作。
 
通过观察状态转换奖励形式的行为结果,代理选择能够最大化其长期奖励积累的行为,解决这种存在模型不确定性的问题是强化学习领域的主题,也是本书这一部分的重点。

在该章中,作者讨论了解决模型不确定性的几个挑战:


首先,代理必须谨慎地掌握探索环境和利用基于经验的知识的平衡

第二,奖励可能是在重要决定做出很久之后才得到的,所以较晚的奖励必须分配给较早的决定。

第三,代理必须从有限的经验中进行概括。对此,作者回顾了解决这些挑战的理论和一些关键的算法。
 

第四章:状态不确定性

 

主要讲述了状态不确定性(State Uncertainty),主要包括以下小节:
  • 信念(Beliefs)
  • 确切信念状态规划(Exact Belif State Planning)
  • 离线信念状态规划(Offline Belief State Planning)
  • 在线信念状态规划(Online Belif State Planning)
  • 控制器抽象(Controller Abstractions)
 
前几章包括了过渡函数中的不确定性,包括结果状态和模型中的不确定性。在本章中,作者将不确定性扩展到状态领域


第19章展示了如何根据过去的观察和行动序列更新信念的分布。第20章概述了优化策略的精确方法。

第21章回顾了各种离线逼近方法,它们在处理更大的问题时比精确的方法有更好的伸缩性。

第22章扩展了在线近似方法以适应部分可观测性。

第23章介绍了有限状态控制器,来表示优化策略和方法。
 

第五章:多代理系统


主要讲述了多代理系统(Multiagent Systems),主要包括以下小节:
  • 多代理推理(Multiagent Reasoning)
  • 序列问题(Squential Problems)
  • 状态不确定性(State Uncertainty)
  • 协作代理(Collaborative Agents)
 
到目前为止,本书主要是从单个代理的角度来进行决策。现在,讨论的核心概念将会扩展到涉及多个代理的问题

在多代理系统中,我们可以将其他代理模拟为潜在的盟友或对手,并随着时间的推移相应地进行调整


第24章介绍了博弈中的多代理推理,并概述了如何从简单的交互作用中计算均衡。

第25章讨论了如何为随着时间的推移而交互的多个主体设计算法,描述了偏向于理性适应而非均衡收敛的学习算法。
 
第26章表明,状态不确定性显著增加了问题的复杂性,并强调了这些领域的独有的挑战和困难。

第27章重点介绍了协作代理的各种模型和算法。
 
以上就是全书大概的介绍啦,感兴趣的小伙伴可以去探索一下,还可以下载全书哦,下面是网站链接:
https://mykel.kochenderfer.com/textbooks/




分类
未分类

冯氏集团与 IBM 签署多年混合云及 IT 服务协议,大力投资数字化转型

关注并星标「IBM中国」




冯氏集团将借助 IBM 的服务向云端迁移,实现 IT 现代化,创建灵活易用的 IT 基础架构,为其全球领先的供应链实现未来工作新模式。


2021年 1月 29日,IBM 与冯氏集团宣布签署一项长达多年的协议,以便为全球供应链领导者冯氏集团的 IT 基础架构转型提供支持。该基础架构将借助混合云实现,并由 IBM 全球信息科技服务部(Global Technology Services)提供支持。





冯氏集团致力于塑造未来的供应链,其业务遍布 40多个经济体,并涵盖整个消费品市场的全球供应链管理,包括贸易、物流、分销及零售。为推动这一愿景,冯氏集团正借助 IBM 的混合云功能整合、现代化及优化其 IT 基础架构,打造一个敏捷的“IT 即服务”(IT-as-a-Service)技术架构,助其实现长远的业务转型。


IBM 全球信息科技服务部将通过安全、开放的混合云模式,帮助冯氏集团快速把握数字经济下的机遇,转向以业务和用户为中心的灵活、可扩展且安全的 IT 运维。此举将有助于冯氏集团通过全面采用云及成本结构转型,提高其敏捷度与灵活性,从而推动业务增长。IBM 还将为冯氏集团分布于 280个办事处的 30,000名员工提供持续的 IT 支持。 


新的协议建立在 IBM 与冯氏集团的长期合作关系上。冯氏集团自 2019年起已使用 IBM IT 服务台解决方案(IBM IT Service Desk function),近期该集团旗下公司更与 IBM 签署了一项协议,利用 IBM 的应用程序管理服务(Application Management Services,简称 AMS)提升其企业资源规划能力。这家公司将利用 IBM 的 AMS 解决方案优化两套现有的企业资源规划应用程序——SAP 与 Microsoft Dynamics。该解决方案覆盖香港、欧洲和美国等地区,利用 IBM Watson 的认知和自动化能力处理简单或重复的工作,例如自动复制数据完成常规数据报告、让员工可以集中处理价值更高的工作,从而提高应用程序维护工作的效率和准确性。


冯氏集团董事总经理何百川表示:“冯氏集团计划通过供应链生态系统数字化,实现战略性转型,以适应现今不断变化的市场动态。IBM 对于这一转型计划有着充分的了解,其混合云网络和增强的基础架构服务及营运模式,提供了一个更灵活敏捷的基础架构,可以帮助我们进一步迈向塑造未来零售与供应链的愿景。我们深信,IBM 拥有足够的技术、经验、远见及技能,能帮助我们实现和优化 IT 基础架构的现代化,助力冯氏集团实现宏大的转型计划。”


IBM 大中华区信息科技服务部总经理郑军表示:“冯氏集团是全球领先的供应链策划者,拥有逾 114年的发展历史,他们对于愿景的大力投资令人振奋。数字经济为冯氏集团带来了不少机会,而通过整合 IT 资源,拥抱混合云技术,并利用 IBM 的技能与经验,冯氏集团能够更专注于核心业务。我们很荣幸能够与冯氏集团合作,并期待从现在到未来,特别是 IBM 分拆出 NewCo 基础架构服务业务后,都能一同建立富有活力的合作关系。”


关于 IBM

如需进一步了解 IBM,请访问:

www.ibm.com/news

www.ibm.com/news/cn/zh/  


关于冯氏集团

冯氏控股(1937)有限公司总部设于香港,是一家私人全资拥有的跨国集团。冯氏控股是冯氏集团的主要股东,集团的核心业务涵盖消费品市场的整个全球供应链管理,包括采购、物流、分销及零售。冯氏集团在全球逾 40个国家和地区聘用超过 30,000名员工。冯氏集团的发展历程源远流长。集团始创于 1906年,由经营出口贸易业务发展成全球供应链管理业务,集团见证了香港与珠三角地区蜕变为当今世界生产及贸易重地之一的光辉历史。今天,集团聚焦于创造未来的供应链,协助品牌和零售商在数字经济中驰骋,并在全球各地为品牌创造新机遇、开拓新产品类别和拓展新市场。


如需进一步了解了解冯氏集团,请访问:

www.funggroup.com





END


往期回顾

→ IBM 在行动,寻找 “三位一体”的未来科技! 

→ 解读最新趋势:供应链领袖企业的创新马达


点击“阅读原文”,了解更多

分类
未分类

这个机器人做脑机接口手术,马斯克的Neuralink赚足了眼球

机器之心报道

作者:杜伟、小舟

日,马斯克的脑机接口公司 Neuralink 发推公布了一则视频,介绍了近三年来公司开发的一系列产品,包括脑机接口和手术机器人,并畅聊了未来的发展前景。马斯克也发推阐述了 Neuralink 未来发展愿景,呼吁有志之士加入。


近几年,马斯克的脑机接口研究公司 Neuralink 可谓是赚足了大家的眼球。

2019 年 7 月,Neuralink 发布了其首款产品,用到了「脑后插管」的新技术。2020 年 8 月 Neuralink 又推出了一款新的产品 the Link v 0.9 版。the Link 的连接距离是 5-10 米,和蓝牙耳机差不多(事实上它的确是用蓝牙进行通信的),它可以和你的手机无线连接。同时也因为可以实时连接,所以软件也可以不断升级,逐渐增加功能。与 the Link 一同发布的还有新版的手术机器人。

2 月 1 日,Neuralink 在推特上发布了一段视频,重点介绍了这款手术机器人的发展历程以及未来应用前景。伊隆 · 马斯克也转推,指明了 Neuralink 的短期(解决大脑和脊柱损失)以及长期(人体和 AI 共生)发展愿景,呼吁「有志之士」加入进来。


完整视频请戳:


下一步愿景:创建神经外科医生界面、恢复人体运动机能

Neuralink 的研究人员首先回顾了 2020 年 8 月发布的新版脑机接口产品和手术机器人。他们表示,尺寸极小的脑机接口在神经外科手术中操作起来非常困难,这就需要手术机器人发挥它的作用了。机器人可以追踪大脑活动,获取大脑的实时 3D 视图。


但是,抓取细线的相关计算机视觉任务以及移动任务遇到了极其困难的工程问题。这也是 Neuralink 手术机器人下一步实现的任务目标。研究人员表示,他们的目标是创建一个微小的神经外科医生界面,这样医生可以登入并与患者进行交流,安抚他们。

不仅如此,医生还将可以实时监控并对手术过程做出决策,这样机器人可以准确地找出患者的目标手术区域。如果能够实现的这一流程自动化,患者可以在短时间内完成诊断和手术。


最后,研究人员表示,机器人还将可以帮助患者恢复失去的运动机能等等。不过,「秀肌肉」的最后,Neuralink 的研究人员还是打了一波「求贤」广告,过去三年,Neuralink 已经从过去的 garage project 发展到了拥有实际产品。在 Neuralink 工作不仅可以继续从事机器人研究,更可以与神经外科等不同领域的专家交流合作。


科幻般的 Neuralink 机器人引网友惊叹

面对科幻般强大的 Neuralink,有人表示:「也许听起来很遥远,但这是个很好的开始」。


有人提出了建设性意见:「使用数字存储层来增强智能的能力」。


也有人提醒:「道德和人权非常重要」。


百万级文献分析,十万字深入解读
2020-2021 全球AI技术发展趋势报告

报告内容涵盖人工智能顶会趋势分析、整体技术趋势发展结论、六大细分领域(自然语言处理、计算机视觉、机器人与自动化技术、机器学习、智能基础设施、数据智能技术、前沿智能技术)技术发展趋势数据与问卷结论详解,最后附有六大技术领域5年突破事件、Synced Indicator 完整数据。

识别下方二维码,立即购买报告。

© THE END 

转载请联系本公众号获得授权

投稿或寻求报道:content@jiqizhixin.com

分类
未分类

6岁就获吉尼斯世界纪录!这届10后程序员「小鬼当家」



  新智元报道  

编辑:Q
【新智元导读】有人6岁因编程获得吉尼斯世界纪录,有人10岁在B站教编程超过百万播放量,这届的「小程序员」,有点不一样。

 

最近,来自英国北安普顿的考提利亚 · 卡塔里亚(Kautilya Katariya)最近在自己6岁346天的时候被授予了一项编程吉尼斯世界纪录,使他成为最年轻的 Python 程序员之一。
 
 
为了打破自己的世界纪录,他阅读了许多的课程材料,以帮助自己理解计算机编程和 Python 语言的概念。由于新冠肺炎的影响,考底利亚需要呆在家里,参加这些课程是他在父母的支持下能够花时间学习新技能的一种方式。
 
底利亚在2020年11月获得了 IBM 对 Python 和 AI 的5个认证。他完成了 IBM 关于 edX 的人工智能专业认证基础课程和 Python 数据科学课程。
 
 
虽然课程内容也许不是非常深入,但对于一个普通六七岁的小朋友来说,也具有很大的挑战性。
 

那些年少成名的小程序猿们


国外还有一位小程序猿Tanmay ,他从5岁开始编写代码,开始了他作为开发者的旅程。他对计算机科学的热爱使他成为了一名人工智能专家。他创建了多个应用程序,截止到现在,他已经出版了3本书。
 
 
他甚至还参加了一期TED演讲(2017年):
 

在过去的几年里,Tanmay 和他的团队一直在开发一个应用程序,可以发现一个人在线行为的异常,从而为高危青少年建立一个早期预警系统。他希望这个应用程序能帮助处于困境中的青少年在他们最需要帮助的时候得到帮助。
 
现年14岁的他更是热衷于学习和分享诸如认知与人工智能(Cognitive & AI)等主题,同时Tanmay 正在改变技术用于克服各个领域障碍的方式,主要是医疗和安全领域。他想要通过技术扩展残疾人的能力,并通过人工智能和认知系统拯救生命。
 
此外,说起中国的少年程序员,不得不提的就是在B站教编程的UP主小学生Vita君
 
这位来自上海的二年级小学生,在19年夏天开始录制小学生教你学编程系列视频,视频内容清晰、条理分明、语言通俗易懂,利用Swift Playgrounds,从零开始讲解编程基础,并对算法、函数、循环等概念进行阐述及示范。
 
从弹幕中就可以看出大家对他的「敬仰」之情:
 
 
他的「小学生教你学编程」系列,最高的播放量已经达到了223.4万!(不过不知道这百万级的播放量中,有多少真正是小学生来学的呢,会不会更多的是……)
 
 
甚至B站的清华博士up主「毕导THU」也在这期视频下留言:
 
 
更为高光的是,苹果CEO库克当年还曾为他送上了生日祝福:
 
 
在Vita爸爸的公众号中,也曾经透露了Vita君的「个人经历」
 
3岁半,开始玩一些小游戏,比如《纪念碑谷》、Shadowmatic、rop等;
 
4岁,开始接触HOOK、《数独》、《数字迷阵》等比较复杂的解谜类游戏;
 
4岁半,Vita爸爸开始给他推荐与编程相关的游戏,他的兴趣开始被激发,渐渐开始学习编程;
 
5岁半,Vita君的爸爸开始引导他写代码,从Swift语言开始;
 
一年级,具备了独立编写代码的能力;
 
二年级,参加了上海市青少年算法竞赛,在400多位入围的参赛选手中,他是唯一一位二年级的小学生。
 
而他最新的B站简介写的是:10后/三年级小学生/数学和编程爱好者/《最强大脑》第8季选手。
 
相信看到这的朋友们,心里只有两个字:酸了。
 

「少年程序员」现象


近年来媒体相关的报道越来越多,出名的少年程序员,绝不是只有Vita君一个人:
 
汪正扬,就读于清华附中,在2014年4月,汪正扬向360公司的库带计划提交过可能影响上百家教育网站的系统漏洞;这是360库带计划目前为止遇到的年龄最小的一位漏洞报告者。
 
Yuma Soerianto是2017年苹果全球开发者大会最年轻的参会者。他6岁开始学习编程,从网上在线学习编程内容,并修完了斯坦福大学的免费编程课。四年时间里,他为苹果商店开发了四款应用,目前已设计5款APP。
 
袁翊闳,四年级开始接触计算机,最早的开发平台是树莓派,遇到DuerOS后开始自学Basic、Python等编程语言。12岁时已经在DuerOS平台上开发出了三个无屏、有屏技能,包括看图猜成语等。他开发的“看图猜成语”有屏技能现已上线DuerOS平台。
 
这两年大热的「少儿编程」培训,也助推了这种现象。
 
随着程序员的高薪工作和互联网的造福神话的继续,同时伴随着某些省份将编程纳入教育和考核体系,越来越多的家长们也开始接受编程这一项课外辅导,让自己的孩子加入「少儿编程」大军之中。
 
但是我们更希望家长可以理性的对待这件事情,因为「幸存者偏差」会告诉我们一个道理:媒体的一些报道只占非常小的一个比例,成名的依旧是少数。
 

幸存者偏差指的是当取得资讯的渠道,仅来自于幸存者时,此资讯可能会与实际情况存在偏差。人们只看到经过某种筛选而产生的结果,而没有意识到筛选的过程,因此忽略了被筛选掉的关键信息。
 
编程在未来也许真的是人人必备的一项基本技能,就像Office三件套一样,但不同的职业对编程技能的需求肯定是大不相同。
 
就像某乎网友对Vita君相关的一个回答说的那样:
 
 
毕竟,兴趣才是最好的老师。

未来成为一个小众领域的分子,可能会比成为一个竞争激烈的主流领域中的分母,要好得多。
 

参考链接:
https://www.bilibili.com/video/BV137411w7Bj
https://thenextweb.com/neural/2021/01/29/the-youngest-ai-programmer-in-the-world-is-a-7-year-old-guinness-record-h


推荐阅读:
看了这款AI产品,我想重上一次小学

分类
未分类

拔网线、删「代码」,关服务器,华尔街不讲武德,围剿美国散户!



  新智元报道  

来源:reddit
编辑:Q、小匀
【新智元导读】「删库,跑路」本是码农群体的一个笑话,华尔街近日却也学会了类似的操作。不久前上演的美国散户逼空大戏,居然还有续集?

本周,全球股民都在看戏——金融市场上最荒诞、最轰轰烈烈的GameStop事件,居然来了更大的反转。

事情的起因是,Reddit网站上的散户大军开始「抱团」,对一些被机构做空的热门股进行了交易,向各大机构「开炮」。


短短几天内,美国散户就靠着一只股票——GameStop,一家苦苦挣扎的视频游戏零售商,接连打败了多家大型投资机构。

Gamestop的股价走势

ID为「DeepFxxingValue」(DFV)的Reddit网友,更是晒出了自己的账户余额,从5.3万美元,直接飙升到了近5000万美元。

本以为只是一场美股闹剧,然而更令人瞠目结舌的事情发生了。

万万没想到,华尔街居然反击了,而且做法相当简单粗暴:拔网线,删除股票代码!


其中,以Robinhood为代表的各大券商交易平台纷纷暂停暴涨股票的交易,GameStop、AMC、黑莓等暴涨股票代码也凭空消失了。

这场战火从华尔街烧到了科技圈儿,Reddit上「散户第一军团」WallStreetBets的Discord频道现在正面临着被关停。


而且看着华尔街要用「飞机大炮」对付散户的「小米步枪」,马斯克等科技圈儿人士纷纷站出来发声,就连著名国会议员AOC也发推职责「华尔街自己就是赌场老手,还好意思抱怨论坛成员。」


看来,某条街已经开始不讲武德了。


GME等股票目前在Robinhood无法交易

就在散户们凭借群众的力量让GameStop、AMC等股票直冲云霄时,一些Reddit和Twitter用户开始反映,Robinhood 对其应用程序增加了新的限制:

限制用户购买或交易流行的股票,包括 GameStop ($GME)、 AMC ($AMC)、黑莓($BB)、 Bed Bath & Beyond ($BBBY)、诺基亚($NOK)等等。用户仍将被允许结清现有头寸,但无法购买更多股票。


Robinhood的官方Twitter称,市场「最近的波动」是做出这一举措的背后原因。


但Robinhood并不是唯一一家停止接受 GameStop 和 AMC 新交易的公司。Interactive brokers(盈透证券)、Charles Schwab和 TD Ameritrade 等券商也限制了 GameStop 和 AMC 的交易,理由是交易活动空前活跃。(挣钱多还有错?)

不过当前,Robinhood仍然是最受美国散户欢迎的炒股平台。


说到Robinhood的创始人Vladimir Tenev,他也是一个神奇的人类。

Robinhood CEO

他曾在斯坦福大学获得了数学学位,在那里他遇到了Bhatt (Robinhood的联合创始人),之后他在加州大学洛杉矶分校攻读数学博士学位,但后来辍学与巴特一起工作。


2013年,Tenev 和 Bhatt 共同创建了 Robinhood 交易平台。

但在今天看来而饶有讽刺意味的是,Robinhood 这家公司的名字来源于它的使命:

Provide everyone with access to the financial markets, not just the wealthy.即「为每个人提供进入金融市场的渠道,而不仅仅是富人」。

Robinhood 还曾在2016年还发过一条推文:Let the people trade!


然而,现在相反的事情却发生了。不知道他本人还记不记得这句话。

而本次事件站在「C位」的GameStop是美国一家已有37年历史的老牌游戏产品零售商,主营业务是卖游戏碟片、游戏机以及周边等。


由于受到Steam平台和线上游戏的冲击,GameStop近几年来连年亏损,2020年前三季度的净销售额更是同比下降了30%,线下门店持续关闭,只能靠不断裁员和变卖资产维持生存。

GameStop本是一只濒临退市的股票,2016年其股价为28美元,后来甚至一路跌到2019年底的3美元。据说它是去年被做空得最多的股票。

就在GameStop被逼得快要退市时,一些散户开始在Reddit上鼓励大家购入该公司股票,结果就是其股价在今年实现了空前的暴涨。


逼空,逼「宫」?

因为大选与疫情,美国最近都不太安生。

不久前,川普被twitter、Facebook等社交媒体禁言,「r/DonaldTrump 」这个小组也没了,当时,有人就就事论事,称社交媒体干涉言论自由,他们的职权打倒可以随时封杀一个人的账号,即使这个人还在总统位置上。

另有消息称,谷歌在自家的app store上也删除了十万条Robinhood的负面评论:


现在类似的事情又可能在Reddit和Discord上演。


WSB小组官方推特也发声指责Robinhood:


「火星首富」马斯克前天也发推称,如果GME涨到1000美元,将会把GameStop的logo贴在下一个火箭上送入太空。


周四,马斯克在还支持了美国众议员亚历山大·奥卡西奥-科尔特斯(AOC)对Robinhood的抗议。

昨日,马斯克也再次发声:

马斯克推文称,「你不能卖不属于你的房子,你不能卖不属于你的车子,但是,你‘可以’卖不属于你的股票!?这太离谱了——做空就是一场骗局。」

更有网友表示,全新的而且是真正的「FANG」已经出现了,它们才代表着人民:


在互联网的历史上,由于社交媒体和新兴基础设施的兴起,我们已经看过了太多的「革命性」事件,但令全球沸腾的金融事件,还为数不多。

这次GameStop的事件引爆全球热点,其实利用了互联网本身非常擅长的两点:

第一,互联网真的很擅长制造新兴的「教派」,无论善恶。从美国的国会大厦围攻事件到今天的GameStop事件,都能看到一些共同点:平台放大现实。

数以千万计的人沉浸在孤注一掷里,他们热衷于通过电子设备在某个15分钟里轰轰烈烈的干一件「大事」,而哪些是安全的,哪些是不安全的,没有人能真正看得清。

第二,互联网使得获取信息和沟通的渠道民主化同样也有好有坏。当个人可以把技术的力量结合起来,通过互联网放大自身的影响力,再加上一些杠杆的使用和针对性的投放,可以产生重大的影响。GameStop的股价飙升,并不是对其公司基本面的反应,而是与关注它的人数成正比。


正如这家公司的名字一样:这场Game已经开始,却不知何时才会Stop。


推荐阅读:
看了这款AI产品,我想重上一次小学


分类
未分类

Github Star 10k,超级好用的 OCR 数据合成与半自动标注工具,强烈推荐!



一、导读
OCR方向的工程师,一定需要知道这个OCR开源项目:PaddleOCR
短短几个月,累计Star数量已超过10k
频频登上Github Trending 日榜月榜,
称它为 OCR方向目前最火的repo绝对不为过。
最近,它又带来四大新发布与升级
核心内容先睹为快:
  • 全新发布数据合成工具Style-Text: 可以批量合成大量与目标场景类似的图像,在多个场景验证,效果均提升15%以上。
  • 全新发布半自动数据标注工具PPOCRLabel: 有了它数据标注工作事半功倍,相比labelimg标注效率提升60%以上,社区小规模测试,好评如潮。
  • 多语言识别模型效果升级: 在开源测试集评估,中文、英文、韩语、法语、德语、日文识别效果均优于EasyOCR。
  • PP-OCR开发体验再升级: 支持动态图开发(训练调试更方便),静态图部署(预测效率更高),鱼与熊掌可以兼得。

二、PaddleOCR历史表现回顾
先看下PaddleOCR自去年6月开源以来,短短几个月在GitHub上的表现:
  • 6月,8.6M超轻量模型发布,GitHub Trending 全球趋势榜日榜第一
  • 8月,开源CVPR2020顶会SOTA算法,再上GitHub趋势榜单!
  • 10月,发布PP-OCR算法,开源3.5M超超轻量模型,再登Paperswithcode 趋势榜第一。


这个含金量,广大的GitHub开发者们自然懂,3.5M超超轻量模型的效果图大家直接看,绝对杠杠的。

火车票、表格、金属铭牌、翻转图片、外语都是妥妥的,3.5M的模型能达到这个识别精度,绝对是良心之作了!
传送门:
Github:https://github.com/PaddlePaddle/PaddleOCR
那么最近的12月份更新,又给大家带来哪些惊喜呢?

三、全新发布OCR数据合成工具:Style-Text
相比于传统的数据合成算法,Style-Text可以实现特殊背景下的图片风格迁移,只需要少许目标场景图像,就可以合成大量数据,效果展示如下:
1、相同背景批量数据合成

2、相同文字批量数据合成

3、图片分离前景背景

除了拉风的效果,采用这样的合成数据和真实数据一起训练,可以显著提升特殊场景的性能指标,分别以两个场景为例:

怎么样,绝对是黑科技了吧。
这项能力核心算法是基于百度和华科合作研发的文本编辑算法《Editing Text in the Wild》https://arxiv.org/abs/1908.03047
不同于常用的基于GAN的数据合成工具,Style-Text主要框架包括 ①文本前景风格迁移模块 ②背景抽取模块 ③融合模块。经过这样三步,就可以迅速实现图片文字风格迁移啦。


四、超强OCR数据标注工具:PPOCRLabel
除了数据合成,数据标注也一直是深度学习开发者关注的重点,无论是从成本还是时间上面,提高标注效率,降低标注成本太重要了。
PPOCRLabel通过内置高质量的PPOCR中英文超轻量预训练模型,可以实现OCR数据的高效标注。CPU机器运行也是完全没问题的。
话不多说,直接看PPOCRLabel效果演示:


用法也是非常的简单,标注效率提升60%-80%是妥妥的。只能说,真的太香了


五、最好的多语言模型效果
简单对比一下目前主流OCR方向开源repo的核心能力:
中英文模型性能及功能对比

其中,部分多语言模型性能及功能(F1-Score)对比(仅EasyOCR提供)

值得一提的是,目前已经有全球开发者通过PR或者issue的方式为PaddleOCR提供多语言的字典和语料,在PaddleOCR上已经完成了全球主流语言的广泛覆盖:包括中文简体、中文繁体、英文、法文、德文、韩文、日文、意大利文、西班牙文、葡萄牙文、俄罗斯文、阿拉伯文、印地文、维吾尔文、波斯文、乌尔都文、塞尔维亚文(latin)、欧西坦文、马拉地文、尼泊尔文、塞尔维亚文、保加利亚文、乌克兰文、白俄罗斯文、泰卢固文、卡纳达文、泰米尔文,也欢迎更多开发者可以参与共建

六、PP-OCR开发体验再升级
动态图和静态图是深度学习框架常用的两种模式。在动态图模式下,代码编写运行方式符合Python程序员的习惯,易于调试,但在性能方面, Python执行开销较大,与C++有一定差距。
相比动态图,静态图在部署方面更具有性能的优势。静态图程序在编译执行时,预先搭建好的神经网络可以脱离Python依赖,在C++端被重新解析执行,而且拥有整体网络结构也能进行一些网络结构的优化。
飞桨动态图中新增了动态图转静态图的功能,支持用户使用动态图编写组网代码。预测部署时,飞桨会对用户代码进行分析,自动转换为静态图网络结构,兼顾了动态图易用性和静态图部署性能两方面优势。

七、良心出品的中英文文档教程

别的不需要多说了,大家访问GitHub点过star之后自己体验吧:
https://github.com/PaddlePaddle/PaddleOCR


扫描下方二维码报名

立即加入技术交流群


本周还有两节深度技术公开课等你来参加,带你玩转PaddleOCR~~ 


官网地址:
https://www.paddlepaddle.org.cn
PaddleOCR项目地址:
GitHub: https://github.com/PaddlePaddle/PaddleOCR 
Gitee: https://gitee.com/paddlepaddle/PaddleOCR

点击阅读原文链接,参与报名
分类
未分类

基于开源技术打造DevSecOps工具链

前言

    在落地DevSecOps过程中,核心的一个部分是安全工具链,通过工具化集成将安全活动内嵌到DevOps研发运营一体化中。下面,我们来谈一下,从计划阶段的威胁建模,创建阶段的IDE安全插件,验证阶段的应用安全测试到检测阶段的威胁监控,如何利用开源的技术打造端到端安全工具链。

安全需求与设计

    计划阶段是DevSecOps的第一个阶段,包含SDL模型中的培训、需求、设计等,关注的是开发前的安全动作。安全培训及安全需求和设计,都需要安全知识库的支撑。在构建企业自身的安全知识库时,可以参考OWASPNISTMITRE CAPEC等资源,构建自身的安全威胁库、安全编码规范、安全需求库、安全设计库等。

    一般安全需求的来源有国家法律法规,如网络安全法、行业监管要求、公司自有的安全策略、业界安全实践,如OWASP
安全需求,可以参考OWASP ASVS,其定义了三级验证级别,每一级深度递增,涵盖了架构、认证、会话管理、加密、移动安全等领域,企业可以根据自身的情况作些合适的裁剪,作为安全需求的checklist

威胁建模


    系统在进行安全设计时,通用的做法是进行攻击面分析和威胁建模。威胁建模是分析应用程序安全性的一种结构化方法,通过识别威胁理解信息系统存在的安全风险,发现系统设计中存在的安全问题,制定风险消减措施,将消减措施落入系统设计中。威胁建模属于微软SDL中核心部分,微软一直是这一过程的强有力倡导者。

    那么如何做威胁建模? 主要步骤有:识别资产、绘制数据流图、威胁分析、风险评估、制定消减措施、对威胁进行优先级排序。
开源的威胁建模工具,有微软提供的威胁建模工具threat modeling toolOWASP 的桌面和web版本的威胁建模工具Threat Dragon
下面我们来看一下owasp threat dragon 该工具的主要工作流程是:绘制数据流图、进行威胁分析,制定消减措施。
通过访谈架构师及开发人员可以了解应用架构,并快速分解应用程序,进而绘制出详尽的数据流图。
绘制数据流图,是分解应用程序的一种技术,以可视方式展示数据如何在应用程序或系统中移动,以及各个组件在何处更改或存储数据。其中信任边界特指数据流中的卡点,在该点上需要对数据进行验证。信任边界是用数据流图进行威胁建模的关键。
数据流图主要由外部实体、处理过程、数据存储、数据流及信任边界组成。
    绘制完数据流图后,下一步是威胁分析。Threat dragon采用STRIDE威胁分析方法。STRIDE从攻击者角度,把威胁分成仿冒、篡改、抵赖、信息泄漏、拒绝服务及权限提升。针对数据流图中的每个元素,分析其面临的威胁,并针对威胁制定消减措施。绘制完数据流图以后,就是对数据流中的每个元素可能面临的威胁逐个进行分析,但不是每个元素的STRIDE六类威胁都要去分析,图中表格列出每类元素可能面临的威胁,比如数据流只面临“篡改”、“信息泄露”、“拒绝服务”三种威胁。
    
     如图中web应用程序,面临的一个威胁是垂直越权,即普通用户,通过访问管理者URL,或得管理员的操作权限。制定的消减措施是:进行权限控制,对于用户的每次访问请求都进行权限检查。
    对所有元素进行威胁分析后,就会获得该系统的威胁清单及消减措施。接着就是对威胁进行评级,在threat dragon威胁分析时,已经给出了威胁的评级,有高中低三级。威胁评级简单的评价方法就是看发生概率及潜在的损失。结构化的有DREAD威胁评级模型,可惜threat dragon并没有支持。
    从上面使用threat dragon的过程可以看出,威胁建模开展比较不易,需要很专业的安全人员,且会耗费较大的人力成本,往往只有大公司或者安全敏感度极高的公司会去做。
    随着威胁建模工具的发展,现在也出现了一些自动化的威胁建模工具,比如ThreatModeler
ThreatModeler具备较丰富的安全知识库,根据业务场景,给出相应的调查问卷,涵盖架构、认证、session管理、访问控制、日志等,然后根据用户调用的结果,自动化生成系统面临的威胁。
这种基于业务场景的自动化威胁建模,算是轻量级威胁建模,可以在很大程度上提高威胁建模的效率。这个工具有线上community版本,大家可以试用下。

IDE安全插件


    源代码安全扫描,通过分析应用程序的源代码来发现安全漏洞。优点是广泛支持多种语言和架构,对漏洞类型的覆盖率较高,但是存在缺点有误报率高、扫描速度慢等。源代码安全扫描的嵌入点有开发人员本地源代码安全检测、代码提交时检测、CI过程中检测等。
开发人员在编码过程中,可以采用IDE插件的方式进行本地源代码安全扫描,可以第一时间发现安全漏洞并修复,降低漏洞修复成本。对于java项目来说,可以采用安全扫描插件FindSecurityBugs,支持多种主流 IDE 环境,如Eclipse, IntelliJ, Android Studio,目前最新版本支持135种安全规则,基本也涵盖了SQL注入、XXEOWASP TOP 10主流的安全漏洞类型。上图IntelliJ的配置界面,配置较为简单,使用起来也比较方便。

SAST源代码安全扫描


    源代码安全扫描,可以使用sonarqube + findsecuritybugs插件,SonarQube开发人员一般会用来进行代码质量检测,自身也会带有一些安全规则,但不是很多。可以使用find security bugs插件,将安全规则集和代码质量规则集进行合并,这样只需要进行一次sonar扫描,就可以检测出代码质量问题和安全漏洞。
Sonarqube也非常容易与CI进行集成,只需要配置好项目的pom文件及maven配置,即可以在编译过程中通过命令maven sonar:sonar进行自动化源代码安全扫描。
最终的扫描结果会在sonar qube服务器显示,其中的vulnerabilities就是安全漏洞,开发人员可以根据修复建议,自主进行漏洞修复。

DAST黑盒安全测试


    黑盒安全测试,也就是动态应用程序安全测试,通过模拟黑客行为对应用程序进行动态攻击,分析应用程序的反应,从来确定该web应用是否存在安全漏洞。DAST优点是测试结果准确率较高,但是缺点是漏洞覆盖率低,无法有效支持API及微服务等。
    OWASP ZAP是业界较受欢迎的免费安全工具之一,是一款非常容易使用的黑盒安全测试工具,主要功能是自动检测Web应用中的安全漏洞,提供漏洞风险等级及修复建议。ZAP除了自动化扫描功能,同时也支持手动安全测试,可以提供给具备丰富经验的渗透测试人员使用。
    Sonarqube提供插件,支持将ZAP的扫描结果汇总到sonarqube上集中展示。ZAP提供丰富的restful API,可以集成到CI过程中。在CI过程中调用API进行安全扫描,获取扫描结果等。

SCA开源组件安全扫描


    我们知道,在项目开发过程中会大量使用开源组件,而调查显示,开源组件存在大量的安全隐患,导致应用也存在安全风险,因此需要对开源组件进行安全扫描。
    Dependency CheckOWASP出品的开源组件安全扫描工具,可以识别项目的依赖项并检测是否含有已知的漏洞,它的漏洞库来源是NVD国家漏洞数据库。
    Dependency Check可集成性强,支持多种集成方式,如命令行、mavenJenkinsSonarqube等,落地简单,使用方便。

容器安全扫描


    随着容器技术的兴起,越来越多的应用选择容器部署,与此同时,容器的安全性问题也受到了越来越广泛的关注。容器镜像通常是来自docker hub或阿里云等提供的第三方镜像仓库,然而相关报告显示,无论是社区镜像还是官方镜像,都存在很多高危漏洞,如果基础镜像有安全漏洞,那么容器运行存在较大的安全风险。
    ClairCoreOS发布的开源容器漏洞静态分析工具,首先对镜像layer进行特征的提取,匹配CVE漏洞库,检测是否含有安全漏洞,侧重于扫描容器中的OS和应用的CVE漏洞。
    Clair如何集成到CI过程中呢? Clair部署后作为服务端运行,提供API接口, CI过程中镜像构建完成后,调用Clair客户端采用命令行方式对镜像进行安全扫描,获得扫描结果,可以在DevOps平台可视化展示。
    Clair也支持和docker registry进行集成,比如vmwareHarbor。镜像构建完成后,推送到Harbor镜像仓库,触发Clair镜像扫描,扫描完成后,可以直接在Harbor上面查看漏洞详细信息。

MAST 移动应用安全测试


    随着业务的发展,企业或多或少都会有移动APP,移动APP同样会存在安全漏洞,因此需要进行移动应用安全检测。

    MobSF是一款自动化移动APP安全测试工具,适用于iOSAndroid,支持静态和动态分析。通过docker可以很方便的部署,使用起来也非常简单,可以直接手动上传APP进行测试。
    这是上传的一个APK静态扫描结果,有权限滥用风险、组件风险等,动态分析需要挂载模拟器进行分析。
 
    MobSF也提供了REST API接口,可以很方便集成到CI过程。APP构建完成后,调用API上传APP并扫描,然后获取扫描结果,实现CI过程自动化移动应用安全测试。

安全加固


    系统部署时,需要进行安全加固。安全配置基线可以参考CIS Benchmark
    CIS互联网安全中心是一个非盈利组织。CIS benchmark覆盖了主流操作系统、数据库和中间件等,如apachetomcatdockerk8s等。
    上图示例是Centos 7安全配置基线要求,内容很多,需要根据自身需要进行适当裁剪。加固过程可以使用脚本实现自动化,形成黄金镜像。

漏洞管理


    漏洞跟踪管理,是企业都会面临的问题。前面讲的测试工具,发现的漏洞分散在不同地方,漏洞管理起来非常麻烦。因此,需要一个集中的漏洞管理平台,对各种类型的漏洞进行汇总和跟踪。
    OWSAP DefectDojo是一款漏洞管理的开源工具,支持导入多种开源或商业安全工具的扫描结果,如ClairDependency CheckHarobrMobSFSonarqbueZap等,实现在一个平台上对项目所有漏洞的集中化管理。
    DefectDojo也支持通过API接口自动化上传安全扫描报告,无缝集成到CI中。

RASP


    在2014年的时候,Gartner引入了RASP,运行时应用自我保护。它是一种新型应用安全保护技术,将自身注入到应用程序中,与应用程序融为一体,能实时检测和阻断安全攻击,使应用程序具备自我保护能力。
    OpenRASP是百度安全推出的一款开源的应用运行时自我保护产品。可以在不依赖请求特征的情况下,准确的识别代码注入、反序列化等应用异常,很好的弥补了传统设备防护滞后的问题。

应用资产安全风险感知


    任何人都无法保护『未知』东西的安全性,因此资产管理的重要性不言而喻。可以采用开源技术实现应用资产安全风险感知,通过主动、被动等手段识别IT资产,对资产变化进行动态监控,通过漏洞扫描及漏洞情报等手段,及时发现资产的安全风险,并进行告警和处置联动,实现资产安全风险的有效管理。

    图中是实现资产安全风险感知的一个架构图,可以用kibana实现资产的可视化展示,如高危服务、高危组件等,直观的展示应用资产面向的安全风险。

威胁监控


    在企业安全运营过程中,需要面对的安全数据越来越多,如流量数据、安全防护设备与网络基础设施数据、终端数据、情报数据等,各种告警数据分散且没有打通,有限的安全人员和海量日志告警是突出矛盾,如何从海量告警数据中高效发现真实告警,也是对安全团队的极大考验。
    可以基于ELK等开源技术,实现初级的SOC平台。网络流量监控采用suricatazeek,规则采用ET开源规则库。各种日志、告警数据通过logstash采集入ES库,再通过kibana进行可视化展示。
可以使用flink实现规则引擎,实现关联分析等。通过该平台安全日志的快速检索、网络流量监控、告警监控等功能,提高安全运营的效率。

安全武器库


    前面介绍的只是少部分开源安全工具,还存在很多优秀的开源安全工具,分布在DevSecOps工具链的不同部分,如源代码安全扫描工具有PMDVCGCobra等,黑盒安全工具有Nikto,容器扫描工具有Trivy等。大家可以采用这些开源的安全工具,打造自身的DevSecOps工具链。

后记


#include "stdio.h"void main(){    printf("Hello, World!n");    printf("本文是DevSecOps联盟分享的第一篇文章,后继会带来更多的"           "SDL建设、DevSecOps、安全研发、应用安全实践等分享!n");    printf(" ^_^ ");}