深度学习做回归问题,需要对数据做标准化吗?输出层是否需要激活函数?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

深度学习做回归问题,需要对数据做标准化吗?输出层是否需要激活函数?

2019-07-19 22:45:37 7137 2

1、一些 Paper 会将数据做 min-max normalization 或者 z-score normalization,然后在输出层可能会用 tanh(对应缩放到 [-1, 1])或者 sigmoid(缩放到 [0, 1])。然而有人认为做 Regression 问题,输出层不需要任何激活函数。到底哪种做法更合理呢?

2、我在复现某篇 Paper 的模型时,就发现一个问题,该模型将数据缩放到 [-1, 1],输出层用的是 tanh。然而在我的数据上,由于大部分原始数据值接近于最小值,缩放后接近于 -1,恰好是 tanh 没有梯度的区域,因此 tanh 的训练效率特别慢。如果去除输出层的激活函数,有一个奇怪的现象:
a)如果使用原始数据(不进行任何数据标准化),收敛正常;
b)如果缩放到 [-1, 1] 或者 [0, 1],很难收敛,Loss 一直在震荡;
然而我的理解,它们之间只有数量级的差异(好比最小值为 0 的原始数据统一除以最大值,就缩放成了 [0, 1]),为什么会导致这种反差现象呢?

3、如果在模型中用到 BatchNorm、LayerNorm 等,是否就必须对输入输出的数据做标准化了?

取消 提交回答
全部回答(2)
  • khachapuri
    2020-03-19 22:56:15

    需要考虑浮点数精度。

    0 0
  • 被纵养的懒猫
    2019-09-24 20:10:06

    BN是在当前层最后进行处理的,原始数据还是要经过至少一层的网络,在这一层网络中不同的数据规模和范围肯定会有影响,BN在后面会有所矫正,但是问题避免不了,所以还需要做标准化。 onvolution layer需要激活函数 pooling layer需要激活函数 normalization layer不需要激活函数 fully-connected layer需要激活函数 cost layer不需要激活函数

    答案来源于网络

    0 0
添加回答
相关问答

1

回答

软件 Bug 的数据错误检测,包含哪些检测纬度?

2022-05-10 13:07:18 67浏览量 回答数 1

1

回答

标准化回归系数是什么意思啊?

2022-04-01 17:26:46 432浏览量 回答数 1

1

回答

数据库访问技术中ODBC 是什么意思?

2022-01-18 11:00:46 315浏览量 回答数 1

1

回答

多数据模型是什么意思?

2022-01-08 08:36:44 237浏览量 回答数 1

1

回答

Zookeeper中输出可用于检测集群健康状态的变量列表该如何去做?

2021-12-07 14:22:05 96浏览量 回答数 1

1

回答

Zookeeper 中数据同步的流程是什么?

2021-12-09 14:52:44 113浏览量 回答数 1

1

回答

灰度跨端监控的数据处理过程包含哪些?

2021-03-10 16:38:45 412浏览量 回答数 1

1

回答

VS2013输入数据的对话框

2020-05-27 15:36:36 467浏览量 回答数 1

2

回答

在机器学习中,如果不是哪个数据集,AUC是否比精度更好?

2019-02-28 14:24:12 2321浏览量 回答数 2

0

回答

论坛后台出现下图的情况首页不能导入数据是什么情况

2014-07-23 17:13:26 5320浏览量 回答数 0
0
文章
1
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载