亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

深度學習自然語言處理之卷積神經網絡CNN理論與實踐

概括

    大体上简单的卷积神经网络是下面这个网络流程:

https://img1.sycdn.imooc.com//5d5a9dce0001727b08810384.png

来自CNN paper

笼统的说:

    文本通过Embeding Layer 后,再通过一些filters进行过滤,对结果进行maxPooling,再经过线性层映射到类别上,最后经过Softmax,得出类别分数。

细致的说:

    就得慢慢分析了,as follows:

第一层:将Embeding进行filter

    设    Embeding大小为:EmbedSize

    边解释专有名词边讲述过程:

    Channel:    每个单词的向量是上图的对应的行。这里的一个句子形成一个二维矩阵,这里二维矩阵叫做 一个channel。

    Filter:过滤器,有时候也叫做kernel。图片处理的filter大小可以根据情况选择不同的正方形的filter;而自然语言处理中,每行表示一个特征,不能分离,所以这里的filter的长为EmbedSize,而宽呢?一般设置为奇数3,4,5(这些都是经验值,当然可以设置成别的值,但是不推荐。宽为偶数的特别少见,一般不用)。这里的Filter在和计算的时候,是和Embeding矩阵对应位相乘,最后相加,得出一个结果,公式为y = W*X + b(有没有b,自己决定)最后随着滑动,得到一个新的矩阵。

    Strides:    步长。也就是滑动的距离。无论向右滑动还是向下滑动都是这个大小。(因为这里的Filter长为EmbedSize,所以,这里只能向下滑动)

Filter后的输出矩阵大小为:(n-f+1)/s+1  *  1   其中n为句子的长度,f为Filter的宽,s为Stride。可以看出,不同的Filter对应的输出矩阵大小是不一样的。所以,提出Padding。

    Padding:四周填充0。它的用途有两个:1.解决输出大小不一致的问题。2.解决信息丢失的问题(主要是角上的信息)。

所以这时候的矩阵输出为:(n-f+2p+1)/s+1  *  1(p为pooling大小), 一般默认s为1,所以为了使输出的矩阵高为n,则    

        n-f+2p+1 = n

    即:

        p = (f-1)/2 (f为一般为奇数,所以p = (f-1)//2)

这里在pytorch里的网络层代码:

https://img1.sycdn.imooc.com//5d5a9dd4000197ae08860123.png

    最后的矩阵记得要经过一个激活函数

数据流动:

https://img1.sycdn.imooc.com//5d5a9dd60001e09808760408.png

第二层 maxPooling最大池化

    有时候这个也说不算是一个层,因为不含参数。

    将第一层得到的m个二维矩阵,进行maxPooling,最终变成m*1的矩阵。(m为相同Filter的个数*Filter种类)

数据流动代码:

https://img1.sycdn.imooc.com//5d5a9ddb0001e75208730403.png

第三层 Fully Connected Layer全连接层

    将上面的m*1维的数据进过一个线性层,映射到k*1上。(k是种类个数)

    再进行Softmax,得到最终分类。

这里在pytorch里的网络层代码:

https://img1.sycdn.imooc.com//5d5a9dde0001523408950107.png

数据流动代码:

https://img1.sycdn.imooc.com//5d5a9de20001e8b508480398.png

注:代码里没有Softmax,是因为之后用到的Loss函数里默认有。

ok,这里就讲完了。


作者:zenRRan
链接:https://www.jianshu.com/p/9a56f3ac76c3


點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消