Shared MLP的作用是什么

Shared MLP的作用是什么MLP是多层感知机的简写,在三维点云处理网络中经常能看到一层SharedMLP.MLP的结构可以简单看成:Output=Input×Weights+biases其中:Input:N×C1Weights:C1×C2biases:C2×1Output:N×C2Input一共N行,每行C1个Feature,MLP能够实现将C1维转换为C2维。这C2维中每一维都整合了原来全部C1维的信…

大家好,又见面了,我是你们的朋友全栈君。

MLP是多层感知机的缩写,在三维点云处理网络中经常能看到一层Shared MLP,下面是我关于其作用的分析。
先从感知机的一层说起,其结构如下。
Output=f(Input×Weights+biases)
其中:
Input:N×C1
Weights:C1×C2
biases:N×1×C2
Output:N×C2
f(·):激活函数,逐元素映射
在这里插入图片描述

注:

  • 有些地方Input维度是C1×N,这个问题不大,Input和Weights乘的时候调换一下位置,后面的矩阵各自转置就好。
  • N指的是样本数量,感知器模型与N值无关,因为从输入到输出每一个样本的处理过程是完全一样的。
  • 激活函数的作用是在输出与输入之间引入非线性因素。

在这里插入图片描述
Input 的每行有C1个Feature,感知机的一层能够实现将C1维转换为C2维(对应输入层和第1层的C1、C2个神经元)。这C2维中每一维都整合了原来全部C1维的信息,但这C2维中不同维度利用这些信息的侧重点不同。换一个形象的说法,相当于把原来整行的信息揉成一团,再揉了C2次,得到C2个不同形状的团,成为C2个新的特征。也就是说,MLP可以实现特征转换,信息重组。再者,由于激活函数会放大一些值,抑制一些值,因此MLP可以实现特征提取

以上说的是MLP的功能,而所谓shared mlp,只是在点云处理网络中的一个说法。强调对点云中的每一个点都采取相同的特征转换。
我们对PointNet中的shared mlp和mlp进行对比。
在这里插入图片描述
由于点云中的每一个点不是独立的,因此不应看作独立的样本。在shared mlp中,输入为包含多点的点云,我们对每一个点乘以相同的权重,这就叫做shared weights。而在mlp中,输入为单个向量,因此不需要共享权重。

我查看了PointNet的网络源码,参考了这位博主的解析:点云处理网络中的Shared MLP


下面对其源码中shared mlp 的实现进行解析。证明其与前面介绍的MLP本质上相同。
在这里插入图片描述
PointNet使用二维卷积网络来实现Shared MLP。左上图为PointNet中第一个Shared MLP模块示意图。

网络首先将点云看成一幅Nx3的单通道图片输入,然后通过1x3x1的卷积核将这幅点云的宽度变为1。通过定义卷积核的数量,可以任意定义该层输出的通道数。对应到右侧的神经元结构图,就是将3个输入神经元的信息整合后传到下层神经元的过程,64个神经元对应64个卷积核。

再往后,只需要使用 1x1xOutputChannel 的卷积核,就可以对点云特征进行任意维度的转换。所需的参数数量,都是InputChannel×OutputChannel,其作用都是特征提取。

结论

Shared MLP 是点云处理网络中的一种说法,强调对点云中的每一个点都采取相同的操作。其本质上与普通MLP没什么不同,其在网络中的作用即为MLP的作用:特征转换、特征提取。
——————————————————

以上为2021/03/27更新

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/151707.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 2021 idea 激活码_通用破解码

    2021 idea 激活码_通用破解码,https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • SSDP服务_upnp 端口映射

    SSDP服务_upnp 端口映射SSDP简单服务发现协议,是应用层协议,是构成UPnP(通用即插即用)技术的核心协议之一。它为网络客户端(networkclient)提供了一种发现网络服务(networkservices)的机制,采用基于通知和发现路由的多播方式实现。SSDP多播地址:239.255.255.250:1900(IPv4),FF0x::C(IPv6)两种类型的SSDP请求消息会通过SSDP多播地址发送:1….

    2022年10月10日
  • 【Redis】Redis4.0、5.0、6.0版本特性整理「建议收藏」

    【Redis】Redis4.0、5.0、6.0版本特性整理「建议收藏」文章目录Redis版本特性Redis4模块系统PSYNC2.0缓存驱逐策略优化LazyFree交换数据库混合持久化内存命令兼容NAT和DockerActiveDefrag其他Redis5Stream类型新的Redis模块API集群管理器更改Lua改进RDB格式变化动态HZZPOPMIN&ZPOPMAX命令CLIENT新增命令其他Redis6多线程IOSSL支持ACL支持RESP3客户端缓存集群代理Disquemodule其他Redis版本特性Redis4模块系统​ R

  • linux服务器安装pycharm_服务器

    linux服务器安装pycharm_服务器文章目录一、前言二、PyCharm远程连接服务器1.在你的项目里配置SSH,放到服务器上去跑2.设置本地更改代码保存后即上传到服务器3.在pycharm中打开远程服务器的终端参考链接一、前言如果你想使用pycharm的远程SSH功能在服务器上跑代码,记得一定要下载专业版(社区版不支持SSH)。二、PyCharm远程连接服务器1.在你的项目里配置SSH,放到服务器上去跑(1)你要去你的项目设置里面,配置SSH连接,这样才能将你的项目和SSH连接关联起来,

  • 奔图打印机显示未连接_奔图打印机常见故障及解决方法

    奔图打印机显示未连接_奔图打印机常见故障及解决方法奔图打印机常见故障及解决方法如何应对打印机卡纸?卡纸是激光打印机用户最常遇到的问题,造成卡纸的原因有很多,那么如何能够避免卡纸或降低卡纸的机率呢,我们需要注意以下几个方面:Ÿ尽量不要二次用纸,因为打印过一次的纸经过加热会造成纸张柔韧性下降,更加易断易碎容易造成卡纸。Ÿ使用平整的纸张,褶皱或折角的纸更容易卡在机器内部造成卡纸。Ÿ使用质量较好的纸张,一些质量不好的复印纸容易产生大量的纸屑长时间使…

  • C 单向链表排序_单向链表排序java

    C 单向链表排序_单向链表排序java链表排序链表排序的两种方式一、交换结点的数据域二、断开链表,重新形成方法示例链表排序的两种方式一、交换结点的数据域有很多种方法,比如冒泡排序,选择排序等其他排序方法structNode*link_sort(structNode*head){ intvalue; structNode*p=head; structNode*q=NULL; while(p) { q=p->next; while(q) { if(p->data&g

    2022年10月11日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号