我是靠谱客的博主 稳重小丸子,最近开发中收集的这篇文章主要介绍[知乎作答]·神经网络对于输入的维度不一致的处理[知乎作答]·神经网络对于输入的维度不一致的处理,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

[知乎作答]·神经网络对于输入的维度不一致的处理

本文内容选自笔者在知乎上的一个作答,总结下来作为神经网络对于输入的维度不一致的处理教程。。

1.问题描述

 

神经网络中,如果每次输入的维度不一致应该怎么处理?

神经网络中,如果每次输入的维度不一致应该怎么处理?假设一队人,有时候这队人有三个(3个输入神经元),有时候这堆人有四个(四个输入)。

 

2.笔者作答 

 

由于一般网络对输入尺寸有固定的要求。这是为什么呢?因为网络的机构和参数决定了需要固定。这是一个在深度学习开发很常遇到的问题。

解决方法有两个途径:

一是从数据进行操作,数据对齐,这个其实在图片识别上面很常见,就是把图片resize成目标大小。(ImageNet上常用224x224)。但是这种处理不适用于一维的序列,例如语音和心电图等。针对一维数据需要开发人员自定义方法,最简单的就是制定一个合适的长度,超出部分截取,不足部分填充(填充方式也需要好好选择,最简单方式是补充零,常见的还有复制方法)

二是从网络结构处理,其实需要真正固定参数的都是全连接网络,CNN和RNN采用了层间共享参数的设置,参考这里《[深度思考]·为什么CNN是同步(并行)而RNN是异步(串行)的呢?》https://blog.csdn.net/xiaosongshine/article/details/88825575。可以处理不同长度输入,只是输出长度受输入长度控制。其实只需要把输出给处理一下变为固定长度然后再送去全连接中。有什么操作可以完成这个需求呢?全局池化和图像金字塔可以实现。

最后谈谈各自方法优缺点,方法一对齐数据,可能会损失特征,但是可以batch训练,实现起来简单。方法二自适应网络,实现起来有些复杂,batch训练也有些麻烦,目前笔者实现的只能设置batch_size为1。

 

 

最后

以上就是稳重小丸子为你收集整理的[知乎作答]·神经网络对于输入的维度不一致的处理[知乎作答]·神经网络对于输入的维度不一致的处理的全部内容,希望文章能够帮你解决[知乎作答]·神经网络对于输入的维度不一致的处理[知乎作答]·神经网络对于输入的维度不一致的处理所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部