请教一下,对于snpe不支持的算子(例如SiLU),我是否可以拆成更低级的形式(x * sigmoid(x))?这样做会有什么问题吗?对于激活函数来说,支持和不支持的边界在哪?

起名困难症患者1 2024-05-14 13:59:22

请教一下,对于snpe不支持的算子(例如SiLU),我是否可以拆成更低级的形式(x * sigmoid(x))?这样做会有什么问题吗?对于激活函数来说,支持和不支持的边界在哪?

...全文
655 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复

可以的,这也是一种比较普遍的做法。所有的激活函数都可以按照表达式拆成低级形式,因此考虑的不是支持和不支持,而是这个激活函数支持的好不好/掉点是不是严重。实际上,SiLU就是一个掉点严重的算子,一种可能的解释是来自于乘法的误差传递。工程上,对于snpe而言,边端的模型使用ReLU6(模型中表现为一个Clip算子)或者HardSwish(snpe支持的hswish算子)会常见一些,其他的需要慎重考虑。

1,101

社区成员

发帖
与我相关
我的任务
社区描述
本论坛以AI、WoS 、XR、IoT、Auto、生成式AI等核心板块组成,为开发者提供便捷及高效的学习和交流平台。 高通开发者专区主页:https://qualcomm.csdn.net/
人工智能物联网机器学习 技术论坛(原bbs) 北京·东城区
社区管理员
  • csdnsqst0050
  • chipseeker
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧