首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >一文讲述如何将预测范式引入到机器学习模型中

一文讲述如何将预测范式引入到机器学习模型中

作者头像
用户1263954
发布于 2018-06-22 04:16:14
发布于 2018-06-22 04:16:14
6030
举报
文章被收录于专栏:IT技术精选文摘IT技术精选文摘

随着人工智能的持续深入,深度学习技术在多智能体学习、推理系统和推荐系统上取得了很大进展。

对于多智能体来说,预测能力有着关键性的作用。一个训练有素的智能体已经能骗过智商正常的人类了!你可能不会相信,仅仅从一个反应系统学习90%的动作命令,它就已经可以取得这样的“成就”了。

主要思路

本文构建了一个在视觉条件下以感官信息作为输入的预测模型。由于无法准确建立感官信息的运动方程,只能通过机器学习来完成。

实现细节

构建一个上述的预测编码器本身十分简单,问题的关键在于缩放上。在构建一个系统的时候,有时可以通过将一个大的系统拆分成小块或者缩小数量来解决这个问题,而不是一次性构建一个庞大的整体。我们就应用这种想法。

我们不用构建一个大规模的预测编码器来处理大图像,而是构建许多小规模的预测编码器。工作时,每个小编码器都输入并处理一个小的片段,工作流程如下图所示:

这样我们就得到了一个“分布式”预测系统。

当然,这样仍然存在问题:虽然每个单元能够独立地进行预测了,但是它们所处理的信号有些具有全局一致性。

如何解决这一问题呢?

压缩!压缩方法就像去噪自编码器(denosing autoencoder)一样,强制每个单元只能预测,而且只能使用基本特征进行预测。

我们通过引入一个瓶颈,缩小中间层来实现压缩功能。一旦这一功能实现了,我们就能利用“压缩后”的表达信息连接到相邻单元,从而构成横向连接。工作流程如下图所示:

到目前为止,我们实现了:每个单元不光可以预测自身的输入信息,还可以预测附近单元的输入信息。由于感官数据通常具有局部性(locality)特点,这些附近单元的附加信息通常对预测是十分有用的。

需要注意的是,即使现在的系统是稀疏连接的(本地连接),只要我们添加更多的单元(其实就是以更高分辨率处理图像)就可以扩展这个系统,而且总的收敛时间将不受任何影响(假设添加的算力与添加的单元成正比)。

下图所示:

好了,现在有了较高一层单元,我们就可以发现更大规模视野的规律。我们可以不断地添加更多的层,直到剩下一个能够捕获整个场景规律的单元,尽管这个单元处理的分辨率可能不是很高。

层数增加带来单元数量的增加,每个单元都会产生预测信息,中间这些额外的预测信息可以做什么呢?

作为反馈进行回传!这样,可以帮助低一层的单元更好地进行预测,如下图所示:

到目前为止,我们就完成了一个完整的视觉预测模型的系统搭建任务。每个单元都有其清晰的目标函数,误差以分布式的方式在系统中传播,而不是以单个反向传播标签的形式,并且系统仍然具有扩展性。原理上,这就是通用的视觉预测模型——没有任何变形,只是以一种新的方式安排了联想记忆(associative memories)。

该模型的主要目标是进行预测。如果构建输入信号的内部模型,这个系统仍然可以胜任。由于其内部的循环连接,该系统可以扩展为非常复杂的模型。下面的动画显示了信息的流动过程:

好了,现在系统设计完成了,详细说明一下它到底能做什么,在这之前,关于该模型还有几个重要的东西需要强调一下:

真的有用吗?我们用实验去证明!

大量的实验证明,PVM确实在基本预测任务中发挥了巨大的作用,但它还能做别的事情吗?

一方面,推荐系统会利用预测误差给用户提供他们想要的信息,但是这是一个长期的过程。

另一方面,我们决定增加一个有监督的视觉目标跟踪任务,并在上面测试PVM的实际性能。

我们往PVM中加入一些小东西:

热图的产生过程:

总而言之:它是起作用的!详细的信息可以参考我的长篇论文。

通常通过训练这个系统,我们可以将它用于稳定的视觉目标跟踪,其效果可以打败几种最先进的目标跟踪器。

第一行从左到右为:视觉输入信息、后续几层的内部压缩后的激活信号。

第二行:连续的预测信息。第一层的视觉预测,对于第一层激活的第二层预测等等。

第三行是误差信息(实际信息与预测之间的偏差)。

第四行是有监督对象的热图(我们这个实验是对“STOP”标志敏感)。

最后一列:各种跟踪的可视化信息。

以下是针对数据集中,其它跟踪目标的实例(注意,我们从不在训练集上对系统进行评估,因为这样训练出来的系统泛化性是很差的),红色框代表人为标注的真实地面目标,黄色框是PVM的返回。总而言之,它的效果非常好,特别是它在低分辨率(96*96)的视频上仍然起作用(虽然这个分辨率对于人类来说足够理解场景中的物品了)。

结论

我们都知道,上世纪80年代提出的深度卷积神经网络是基于60年代的神经学知识发展起来的,现在还异常火热。

PVM不同于卷积神经网络,它是基于全新的大脑皮质结构和功能的一种新的算法。PVM能避免许多机器学习都会遇到的问题:比如过度拟合和梯度消失问题。它也不用使用一些繁杂的技巧:比如卷积和正则化,它会把任务当成在线信号预测的任务。

虽然PVM还不能作为感知任何事物的黑盒(还没人知道这个黑盒是否存在),但是与各种感知应用的方法来比,它还是很有竞争力的,这里就不得不提深度学习的方法了,相比来说这是最大的挑战。PVM的不同之处在于,它是由直觉进行驱动的,它将使机器人在长期内真正起作用。

目前有关PVM的应用性实验都可以在Github上找到,enjoy!https://github.com/braincorp/PVM

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-06-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 IT技术精选文摘 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
OpenHarmony(鸿蒙南向开发)——轻量系统芯片移植案例(三)
本文介绍基于芯海cst85芯片的cst85_wblink开发板移植OpenHarmony LiteOS-M轻量系统的移植案例。开发了Wi-Fi连接样例和XTS测试样例,同时实现了wifi_lite, lwip, startup, utils, xts, hdf等部件基于OpenHarmony LiteOS-M内核的适配。移植架构上采用Board和Soc分离的方案,工具链采用NewLib C库,LiteOS-M内核编译采用gn结合Kconfig图形化配置的方式。
小帅聊鸿蒙
2025/06/26
1060
OpenHarmony(鸿蒙南向开发)——轻量系统芯片移植案例(三)
OpenHarmony(鸿蒙南向开发)——轻量系统芯片移植案例(一)
本文章基于恒玄科技BES2600W芯片的欧智通 Multi-modal V200Z-R开发板 ,进行轻量带屏开发板的标准移植,开发了智能开关面板样例,同时实现了ace_engine_lite、arkui_ui_lite、aafwk_lite、appexecfwk_lite、HDF等部件基于OpenHarmony LiteOS-M内核的适配。移植架构上采用Board与SoC分离的方案,工具链Newlib C库与Musl C库可选,LiteOS-M内核编译采用gn结合Kconfig图形化配置等需求。
小帅聊鸿蒙
2025/06/26
1250
OpenHarmony(鸿蒙南向开发)——轻量系统芯片移植案例(一)
OpenHarmony(鸿蒙南向开发)——Combo解决方案之W800芯片移植案例
本方案基于OpenHarmony LiteOS-M内核,使用联盛德W800芯片的润和软件海王星系列 Neptune100开发板 ,进行开发移植。移植架构采用Board与SoC分离方案,支持通过Kconfig图形化配置编译选项,增加玄铁ck804ef架构移植,实现了HDF、XTS等子系统及组件的适配。
小帅聊鸿蒙
2025/06/27
900
OpenHarmony(鸿蒙南向开发)——轻量系统STM32F407芯片移植案例
介绍基于STM32F407IGT6芯片在拓维信息 Niobe407 开发板上移植OpenHarmony LiteOS-M轻量系统,提供交通、工业领域开发板解决方案。移植架构采用Board与SoC分离方案,使用arm gcc工具链Newlib C库,实现了lwip、littlefs、hdf等子系统及组件的适配,开发了配套应用示例代码,支持通过Kconfig图形化配置编译选项。
小帅聊鸿蒙
2025/06/27
1020
OpenHarmony(鸿蒙南向开发)——轻量系统STM32F407芯片移植案例
OpenHarmony(鸿蒙南向开发)——小型系统STM32MP1芯片移植案例
本文章基于意法半导体STM32MP157芯片的小熊派BearPi-HM Micro开发板,进行小型带屏开发板的移植,实现了ace_engine_lite、arkui_ui_lite、aafwk_lite、appexecfwk_lite、HDF等部件基于OpenHarmony LiteOS-A内核的适配。移植架构上采用Board与SoC分离的方案。
小帅聊鸿蒙
2025/06/27
1030
OpenHarmony(鸿蒙南向开发)——小型系统STM32MP1芯片移植案例
OpenHarmony 移植案例与原理 - build lite配置目录全梳理
命令行工具hb(HarmonyOS|OpenHarmony Build 编译构建系统的缩写)都很熟悉了。这是一个基于gn和ninja的构建系统,以支持OpenHarmony组件化开发为目标,提供以下基本功能:
小帅聊鸿蒙
2025/06/15
1860
OpenHarmony(鸿蒙南向开发)——轻量系统芯片移植指南(二)
安全子系统提供网络设备连接、认证鉴权等功能,依赖mbedtls实现硬件随机数以及联网功能。
小帅聊鸿蒙
2025/06/22
790
OpenHarmony编译构建系统
在官网中提到了,OpenHarmony编译子系统是以GN和Ninja构建为基座,对构建和配置粒度进行部件化抽象、对内建模块进行功能增强、对业务模块进行功能扩展的系统,该系统提供以下基本功能:
小帅聊鸿蒙
2024/08/11
3490
OpenHarmony编译构建系统
OpenHarmony 移植案例与原理 - XTS子系统之应用兼容性测试套件(2)
需要通过链接选项指定需要链接的ACTS的部件编译库文件,会使用到 --whole-archive 和 --no-whole-archive这2个ld链接选项。–whole-archive 可以把 在其后面出现的静态库包含的函数和变量输出到动态库,–no-whole-archive 则关掉这个特性。在文件vendor\goodix\gr5515_sk_xts_demo\BUILD.gn中,对ACTS的编译文件进行链接。其中⑴到⑵处的链接选项为编译出的属于ACTS的组件测试库文件。
小帅聊鸿蒙
2025/06/17
1070
OpenHarmony(鸿蒙南向开发)——小型系统芯片移植指南(一)
本文详细介绍如何将OpenHarmony小型系统的linux和LiteOS-A内核移植到新的开发板上,要求读者具有一定的嵌入式系统开发经验。建议先查看 入门指导 ,以了解OpenHarmony软件架构、目录结构、内核子系统和驱动子系统相关知识。当前小型系统已适配的开发板如下表所示:
小帅聊鸿蒙
2025/06/23
1650
【鸿蒙南向开发】基于hispark_taurus开发板示例学习OpenHarmony编译(1)
OpenHarmony开源站点提供了一个基于gn和ninja的支持OpenHarmony组件化开发的编译框架。
小帅聊鸿蒙
2025/06/09
1450
OpenHarmony(鸿蒙南向开发)——轻量系统芯片内核移植
芯片架构的移植是内核移植的基础,在OpenHarmony中芯片架构移植是可选过程,如果当前OpenHarmony已经支持对应芯片架构则不需要移植操作,在“liteos_m/arch”目录下可看到当前已经支持的架构,如表1:
小帅聊鸿蒙
2025/06/23
1140
OpenHarmony 移植案例与原理 - XTS子系统之应用兼容性测试套件(1)
本文主要通过实例分析下ACTS应用兼容性测试套件移植案例,以及移植过程中特定的操作的原理。主要讲述的是轻量系统兼容性测试。轻量系统因系统能力限制,兼容性测试在系统初始化阶段进行;并且各设备烧录工具存在差异,导致自动化工具(xDevice工具)无法实现真正的自动适配,因此认证执行方式不对合作伙伴进行限制。流程如下:
小帅聊鸿蒙
2025/06/16
890
全志XR806 OpenHarmony系统入门之Hello World演示
Harmony的编译路径主要由vendor/xradio/xr806/config.json决定
阿志小管家
2024/03/03
2350
全志XR806 OpenHarmony系统入门之Hello World演示
OpenHarmony开发——移植外设驱动子系统
外设驱动子系统提供OpenHarmony专有的外部设备操作接口。本模块提供设备操作接口有:FLASH, GPIO, I2C, PWM, UART, WATCHDOG等。
小帅聊鸿蒙
2024/08/04
3240
OpenHarmony开发——移植外设驱动子系统
OpenHarmony轻量系统开发【4】编写第一个程序、启动流程分析
开发者编写业务时,务必先在./applications/sample/wifi-iot/app路径下新建一个目录(或一套目录结构),用于存放业务源码文件。
小帅聊鸿蒙
2024/09/03
3440
OpenHarmony轻量系统开发【4】编写第一个程序、启动流程分析
OpenHarmony 移植案例与原理 - build lite编译构建过程
配置完毕产品解决方案、芯片开发板解决方案,就可以执行 hb build进行编译。但是产品解决方案代码是如何被调用编译的?
小帅聊鸿蒙
2025/06/16
1310
OpenHarmony(鸿蒙南向开发)——轻量系统芯片移植指南(三)
OpenHarmony芯片移植完成后,需要开展OpenHarmony兼容性测试以及芯片SDK功能性测试。除可获得测试认证之外,还可以在开发阶段提前发现缺陷,大幅提高代码质量。
小帅聊鸿蒙
2025/06/23
780
OpenHarmony(鸿蒙南向开发)——小型系统芯片移植指南(三)驱动移植
驱动主要包含两部分,平台驱动和器件驱动。平台驱动主要包括通常在SOC内的GPIO、I2C、SPI等;器件驱动则主要包含通常在SOC外的器件,如 LCD、TP、WLAN等
小帅聊鸿蒙
2025/06/24
1080
OpenHarmony(鸿蒙南向开发)——小型系统芯片移植指南(三)驱动移植
OpenHarmony(鸿蒙南向开发)——小型系统芯片移植指南(二)
LiteOS-A当前支持ARMv7-a指令集架构,如果三方芯片为ARMv7-a架构,可以进行内核基础适配;否则还需要先根据芯片的架构来新增内核对该芯片架构的支持,这个工作较为复杂,不在这篇文章范围内。
小帅聊鸿蒙
2025/06/24
1330
OpenHarmony(鸿蒙南向开发)——小型系统芯片移植指南(二)
推荐阅读
OpenHarmony(鸿蒙南向开发)——轻量系统芯片移植案例(三)
1060
OpenHarmony(鸿蒙南向开发)——轻量系统芯片移植案例(一)
1250
OpenHarmony(鸿蒙南向开发)——Combo解决方案之W800芯片移植案例
900
OpenHarmony(鸿蒙南向开发)——轻量系统STM32F407芯片移植案例
1020
OpenHarmony(鸿蒙南向开发)——小型系统STM32MP1芯片移植案例
1030
OpenHarmony 移植案例与原理 - build lite配置目录全梳理
1860
OpenHarmony(鸿蒙南向开发)——轻量系统芯片移植指南(二)
790
OpenHarmony编译构建系统
3490
OpenHarmony 移植案例与原理 - XTS子系统之应用兼容性测试套件(2)
1070
OpenHarmony(鸿蒙南向开发)——小型系统芯片移植指南(一)
1650
【鸿蒙南向开发】基于hispark_taurus开发板示例学习OpenHarmony编译(1)
1450
OpenHarmony(鸿蒙南向开发)——轻量系统芯片内核移植
1140
OpenHarmony 移植案例与原理 - XTS子系统之应用兼容性测试套件(1)
890
全志XR806 OpenHarmony系统入门之Hello World演示
2350
OpenHarmony开发——移植外设驱动子系统
3240
OpenHarmony轻量系统开发【4】编写第一个程序、启动流程分析
3440
OpenHarmony 移植案例与原理 - build lite编译构建过程
1310
OpenHarmony(鸿蒙南向开发)——轻量系统芯片移植指南(三)
780
OpenHarmony(鸿蒙南向开发)——小型系统芯片移植指南(三)驱动移植
1080
OpenHarmony(鸿蒙南向开发)——小型系统芯片移植指南(二)
1330
相关推荐
OpenHarmony(鸿蒙南向开发)——轻量系统芯片移植案例(三)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档