首页 Paddle框架 帖子详情
新旧paddle sequence_conv_pool计算细节对比
收藏
快速回复
Paddle框架 问答深度学习 1075 2
新旧paddle sequence_conv_pool计算细节对比
收藏
快速回复
Paddle框架 问答深度学习 1075 2

1 新版本paddle
接口——https://www.paddlepaddle.org.cn/documentation/docs/zh/api_cn/nets_cn/sequence_conv_pool_cn.html#sequence-conv-pool
这个参数跟论文中的text-cnn就一致了。
text input [A B C D E F G] 是个6 * embeding_size的矩阵
假定filter为3,卷积核矩阵就为3 * embeding_size,那么跟卷积核点乘就变成[ 0AB ABC BCD CDE DEF EFG FG0 ],是个7 * 1的矩阵。
有N个卷积,就变成7 * N的矩阵,最后做个max pooling变成1 * N的矩阵。

2 老版paddle
接口——https://www.paddlepaddle.org.cn/documentation/api/en/0.11.0/v2/config/networks.html
文档写的是 Text input => Context Projection => FC Layer => Pooling => Output.
同样,text input [A B C D E F G] 是个6 * embeding_size的矩阵
Context Projection ,设定filter为3,卷积核矩阵就为3 * embeding_size。那么跟卷积核点乘就变成[ 0AB ABC BCD CDE DEF EFG FG0 ],是个7*1的矩阵,并且我看这里都没有激活函数的设置参数。
FC Layer
这里是一个1 * hidden_size的矩阵?然后7 * 1 的矩阵和1 * hidden_size的矩阵全联接后就变成7 * hidden_size的矩阵。以及我看激活函数是放到这里了。
Pooling
Pooling后就变成了 1 * hidden_size的矩阵。

两种方法计算得到的矩阵是一致的,但是中间计算细节是不同的。
以及我这边好奇的是,新paddle底层是怎么实现的,是复用了老paddle的这种做法,还是按照论文中的做法复现的。
以及老paddle这样子做的意义是什么?省计算量?

0
收藏
回复
全部评论(2)
时间顺序
AIStudio792094
#2 回复于2019-12
@xyzhou-puck

辛苦帮忙回答一下~

0
回复
AIStudio792095
#3 回复于2019-12

您好,问题已经为您线下解答。

0
回复
需求/bug反馈?一键提issue告诉我们
发现bug?如果您知道修复办法,欢迎提pr直接参与建设飞桨~
在@后输入用户全名并按空格结束,可艾特全站任一用户