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

您所在的位置:网站首页 数组长度不确定怎么办 [知乎作答]·神经网络对于输入的维度不一致的处理

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

2024-06-29 12:00| 来源: 网络整理| 查看: 265

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

解决方法有两个途径:

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

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

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



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3