传说中的RNN到底是何方神圣?(后附作者及相关信息)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了传说中的RNN到底是何方神圣?(后附作者及相关信息)相关的知识,希望对你有一定的参考价值。
参考技术A 假设你已经知道最基本的人工神经网络模型(也就是全连接的前馈神经网络),那么希望本文可以帮助你理解RNN,也就是传说中的循环神经网络。严格来说,本文是综合了(或翻译了)网上若干最容易理解、写得最棒的文章而成的。但问题在于网上的文章龙蛇混杂,水平参差不齐。而且拙劣者远远多于(甚至已经稀释了)优秀的文章。所以本文的意义就在于令初学者免于陷入“垃圾”文章之海洋的窘境。当然,如果你觉得本文看得还不过瘾,那么详阅文末给出的各篇经典文献也是非常值得推荐的。如你所知的,一个前馈(全连接)神经网络如下图所示,由输入层、隐藏层和输出层构成。如果你想从零开始前馈神经网络,那么参考文献【1】和【2】就是最佳的教程!现在假设你已经掌握了基本的前馈神经网络,那么下面这幅图可能跟你在一般教科书上见到它时的样子稍微有点不一样,是的,它是将通常的画法逆时针旋转90度得到的。这样做的目的,主要是为了与后续的RNN图示进行无缝衔接。
如同人类的大脑一样,当我们看到(接收到)熊(的图像时),经过一系列隐藏层的逐层传递(以及其内部极其复杂的计算过程),最终在输出层上,我们得到“熊”这个结果。
但是由前馈神经网络所反映(或者完成)的过程往往是相对静态的。人类的大脑还具有处理时序数据的能力。也就是说,大脑得到的某个结果不仅跟当前的输入有关,还跟上一时刻的输出有关。
例如,我们在读一篇文章时,有这样一句话:“灰太狼悄悄地藏在喜羊羊家的门口,等待猎物自己上钩。”显然,当我们读到“猎物”一词时,你马上回反映到它具体指代的应该是喜羊羊,而等待猎物的则是灰太狼。这种程度的理解显然仅仅依靠当前的输入(例如当前的句子或者词汇)是无法实现的。上一阶段(或时刻)的输出(即对上一个句子的理解)也非常重要。
可见,From one moment to the next, our brain operates as a function: it accepts inputs from our senses (external) and our thoughts (internal) and produces outputs in the form of actions (external) and new thoughts (internal).
Our brain runs repeatedly through time. We see a bear, then think “bear”, then think “run”. Importantly, the very same function that transforms the image of a bear into the thought “bear” also transforms the thought “bear” into the thought “run”. It is a recurring function, which we can model with a recurrent neural network (RNN).
An RNN is a composition of identical feedforward neural networks, one for each moment, or step in time, which we will refer to as “RNN cells”.
In the above diagram, a chunk of neural network, A, looks at some input xt and outputs a value ht. A loop allows information to be passed from one step of the network to the next.
这里的 a chunk of NN 其实就相当于前馈神经网络中的隐藏层,也就是多层传递的NN结构。而其中的循环输入,其实向下一个状态进行输入,所以上图中其实隐含地表示需要一个延迟器。
如果你对上面这种循环“输入→输出”的结构感到困惑,如果你还在为这种自循环感到不解,其实你只要把这个结构“拉开”,便会一目了然。 A recurrent neural network can be thought of as multiple copies of the same network, each passing a message to a successor. Consider what happens if we unroll the loop:
或者
另外一种常见的图示如下(A RNN and the unfolding in time of the computation involved in its forward computation),但其实都是万变不离其宗的同一个套路.
或者表示成下面这样的按时间展开的循环神经网络:
循环神经网络可以应用到很多不同类型的机器学习任务。根据这些任务的 特点可以分为以下几种模式:
序列到类别模式:这种模式就是序列数据的分类问题。输入为序列,输出为类别。比如在文本分类中,输入数据为单词的序列,输出为该文本的类 别。
序列到序列模式:这类任务的输入和输出都为序列。具体又可以分为两种情况:
同步的序列到序列模式:这种模式就是机器学习中的序列标注(Sequence Labeling)任务,即每一时刻都有输入和输出,输入序列和输出序列的长度相同。比如词性标注(Part-of-Speech Tagging)中,每 一个单词都需要标注其对应的词性标签。
异步的序列到序列模式:这种模式也称为编码器-解码器(EncoderDecoder)模型,即输入和输出不需要有严格的对应关系,也不需要保持相同的长度。比如在机器翻译中,输入为源语言的单词序列,输出为目标语言的单词序列。
首先,我们来看下序列到类别的应用模式。假设一个样本X=x1,⋯,xT 为一个长度为 T 的序列,输出为一个类别y∈1,⋯,C。我们可以将样本X按不同时刻输入到循环神经网络中,并得到不同时刻的隐藏状态h1,⋯,hT 。我们可以将hT; 看作整个序列的最终表示(或特征),并输入给分类器g(·),
此处g(·)可以是简单的线性分类器(比如Logistic回归)或复杂的分类器(比如多层前馈神经网络)。
除了将最后时刻的隐藏状态作为序列表示(如图a)之外,我们还可以对整个序列的所有隐藏状态进行平均,并用这个平均状态来作为整个序列的表示(如图b)。
在同步的序列到序列模式中(如下图所示),输入为一个长度为 T 的序列X=x1,⋯,xT ,输出为序列Y=y1,⋯,yT 。样本X按不同时刻输入到循环神经网络中,并得到不同时刻的隐状态h1,⋯,hT 。每个时刻的隐状态 hT 代 表了当前时刻和历史的信息,并输入给分类器g(·)得到当前时刻的标签。
在异步的序列到序列模式中(如下图所示),输入为一个长度为T 的序列X=x1,⋯,xT ,输出为序列Y=y1,⋯,yM 。样本X按不同时刻输入到循环神经网络中,并得到不同时刻的隐状态h1,⋯,hT 。然后RNN cell再执行M次,此时,每个RNN Cell的输入仅为上一时刻的隐状态,对于每个时刻的隐状态 hT,t∈[T+1,T+M],并输入给分类器g(·)得到当前时刻的标签。
参考文献
【1】 左飞,R语言实战:机器学习与数据分析,电子工业出版社,第15章
【2】 Michael Nielsen,http://neuralnetworksanddeeplearning.com/
【3】 邱锡鹏,循环神经网络,《神经网络与深度学习》
【4】 DennyBritz, RecurrentNeural Networks Tutorial, Part 1 – Introduction to RNNs
【5】 Christopher Olah,UnderstandingLSTM Networks(http://colah.github.io/posts/2015-08-Understanding-LSTMs/)——这是网上写的最好的关于LSTM的通俗讲解
-----------------------------------------------------------------------------------------------------------------
原文:https://blog.csdn.net/baimafujinji/article/details/78279746
IoT边缘,你究竟是何方神圣?
摘要:IoT边缘扮演着纽带的作用,连接边缘和云,将边缘端的实时数据处理,云端的强大计算能力两者结合,创造无限的价值。
本文分享自华为云社区《IoT边缘如何实现海量IoT数据就地处理》,作者:Super.雯。
边缘这个概念出现的时间并不长,许多人对其进行过概括,范围界定和阐述各有不同,甚至有些是重复和矛盾的,今天带大家一起学习一下IoT边缘究竟是何方神圣
一、IoT边缘的概念
首先先来介绍一下边缘是什么?边缘计算是在网络边缘进行的数据处理,以减少延迟并降低对云计算和数据中心资源的需求。边缘是可以无处不在的,最常见一种,也是大家最能理解的是实际的工业业务现场,边缘计算发生在智能网关中,就在收集和处理数据的地方,在当前边缘的市场空间是非常有想象力的。咨询公司对边缘的市场空间有过预测,到2023年底,50%以上的大型企业将至少部署6个用于物联网或沉浸式体验的边缘计算应用,中国市场以工业互联网为例,预计2023年,工业制造会有72亿美金的市场空间。
华为边缘的多种形态
华为对边缘的定位主要分为三个形态:
- 边缘云:例如IEC,主要用于如互动娱乐、在线教育、媒体创作
- 边缘站点:例如IES,一般用于创新业务部署、传统业务上云、数据本地留存
- 边缘云服务:例如IoT Edge,一般用于智慧园区、智慧交通、智能制造等。
华为云IoT边缘云服务的形态
现在都在说“智能制造”、“互联网下一场是工业互联网”,”抓住数字新基建的机遇“,“工业互联网就是7大新基建之一”,这些新的概念都是与轻边缘IoT Edge分不开。
IoT边缘云服务的形态,分为云侧和边缘侧,边侧主要分为华为云IoT边缘提供了数据治理,伙伴插件和运行框架,运行框架相当于章鱼触手的躯干,用于屏蔽底层系统和硬件带来的差异,同时保证上层业务的正常运行,伙伴插件相当于触手上的吸盘,是边缘数据的入口,也是边缘的抓手,数据处理相当于触手里的小脑,对数据进行处理与流转。
二、为什么要使用插件开发
在实际生产制造,客户总会遇到难以解决的问题:
- 边缘侧需要将数据采集,但是非标的设备种类繁多,无统一标准协议,老旧的设备的数据无法采集,没有数据的支持,无法实现数字化,智能化
- 边缘侧的数据往往是上万点,毫秒级的数据量级,数据上云,对带宽和中间件的性能要求极高
- 实际生产中设备发生故障是常有的事情,工程师往往需要到设备所在地进行运维,消耗人力物力,时效性也非常低
- 数据存在壁垒,OEM也没有渠道知道EU设备的实际使用情况,对设备进行改进和提升,咱们边缘就是要解决这些客户的痛点,才有用武之地
边缘可以提供插件运行框架,借助生态的力量,让懂行业knowhow的人,跟华为云IoT一起解决这些痛点。IoT加上生态伙伴后,就可以在客户现场提供数据采集能力,把工业设备按协议采集,进一步将数据路由到指定应用,最终由应用业务闭环,这时,我们就构建了插件生态,做到了真正的万物互联。
三、如何与华为云IoT边缘进行插件集成的
华为云IoT的插件集成方案
华为云IoT提供插件的运行框架,伙伴开发的插件可以在框架下运行。希望有更多像盛原成的伙伴加入IoT的生态,在不同的领域解决不同的客户问题。
伙伴盛原成与华为云IoT的合作
盛原成是一家专注于装备行业,致力于装备行业数字化,智能化,服务化转型公司,对行业有深刻的认识,研发力量强大,研发人员比例占到80%,专注装备行业获得认可,拿到A和A+轮的投资。盛原成和华为在2016年就开始合作了,主要产品有盛云圈CMS和盛云猫SLM。这两款是盛原成主营装备行业的拳头产品,和IoT边缘集成的是盛云圈,也是我们本次合作的重点。云端盛云猫在2018年就集成了IoTDA,上了华为云的严选,这次主要打造CMS和轻边缘的集成,两个产品通过华为云IoT服务结合在一起能对设备的全生命周期进行管理。
如下图所示,CMS软件兼容多种协议和第三方数据接口,能实现底层设备的高速毫秒级的采集,数据分发和数据上云,打通云端和底层设备的数据链路具有强大的标准模块功能,智能管控生产过程(监控看板,报警,配方,关键参数,数据分析,质量管理)有了CMS的高频数据支持,SLM可以利用云端的强大的数分析能力,可以实现故障分析,预测性维护等
IoT边缘是怎么和CMS集成的
上图是盛原成插件在边缘侧与华为云IoT集成部署的数据流以及SIoT和IoT边缘集成后的架构。现场也就是边缘侧是边缘站点和现场设备,云端的是华为云IoT的中间件及上层的SAAS应用,实施人员只需要在本地的环境,用CMS的开发版本,配置好采集的点表和需要展示的标准模块,通过远程工具将工程文件导入到纳管的IoT边缘节点,在IoT边缘平台将CMS的镜像拉取部署到节点上,这样简单的3个步骤就能快速完成部署,打通整个底层设备到云端的数据链路。
SIoT和华为IoT边缘集成后,项目中常常因为系统不一致导致软件出现一些异常,特别是Windows的系统,容器化部署到IoT边缘后解决了系统环境导致软件部署实施困难的问题,利用IoT边缘可以实现一键在远端远程部署到边缘节点,高效稳定。 集成后依靠华为的IoT边缘侧强大的数据处理能力,能将底层设备的全量数据低延时的对接到云端,很大程度上保证的边云的数据同步展示,降低时延。数据打通后,可以依靠IoT边缘对节点进行高效的管控,汇集大量的设备信息,同时依靠云端强大的计算能力,将算法模型下发到边缘侧节点,对实际的生产工艺进行优化产生巨大的价值,IoT边缘扮演着纽带的作用,连接边缘和云,将边缘端的实时数据处理,云端的强大计算能力两者结合,创造无限的价值。
更多精彩分享,请观看直播视频:https://bbs.huaweicloud.com/live/DevRun_live/202108262000.html
更多学习内容,请关注IoT物联网社区
添加华为云IoT小助手微信号(hwc-iot),获取更多资讯
以上是关于传说中的RNN到底是何方神圣?(后附作者及相关信息)的主要内容,如果未能解决你的问题,请参考以下文章
token 案例,只是测试,功能并不完善(只是看看token 到底是何方神圣)
if __name__ == '__main__' 到底是何方神圣(转)
好评率超94%,aigo智能播放器M2 Pro到底是何方神圣?