【深度学习】卷积神经网络CNN TextCNN

可以看看这个 【参考:】

【参考:】

一维卷积 【参考:】

【参考:】

batch是批的意思,就是说卷积神经网络处理数据是分批处理的,batch_size就是每批处理的样本的个数。

CNN train 的样张图片 60 张,设置 batch_size = 15;

理解:训练数据图片一次取15张同时训练,分4次训练完。

概念

卷积核 kernel 约等于 滤波器 过滤器 filter 不同文档的叫法不同

通道数为1时一般叫 卷积核,通道数大于1时一般叫 滤波器(即一个滤波器为一组卷积核)

卷积核可以是一维、二维、三维…

注意:一维卷积不代表卷积核只有一维,也不代表被卷积的feature也是一维。一维的意思是说卷积的方向是一维的。

滤波器的个数 = 特征图的个数

经过卷积后生成的图叫做特征图 (提取原图片的特征)

一个滤波器可以产生一张特征图

【参考:】

通道 channel

通道数可以理解为深度或者层数

比如 彩色图像的由三层图像叠加产生

下图滤波器(3 * 3 * 3)的层数也为3 (宽 * 高 * 通道数)

A -> B :A取决于B 

         ->            ->
输出通道数 = 特征图的个数 = 卷积核个数
滤波器的个数为2 (Filter=2),每个滤波器的shape为3*3*3,即是一个立方体,只不过这个立方体是由三片组成的 滤波器的个数 = 特征图的个数
看视频理解
【参考:】

多输入通道卷积 多个输入通道的图片 对应多个卷积核 输出单通道图片 (上图所示)

多输出通道卷积 多个通道的图片 对应多组卷积核(一组包括#1,#2,#3)假设有两组 输出多通道图片(输出通道为2) 不同组的卷积核提取的信息不一样,比如第一组卷积核提取的是猫的耳朵,第二组卷积核是提取猫的嘴巴

计算

【参考:】

这里就要涉及到“卷积核”和“filter”这两个术语的区别。在只有一个通道的情况下,“卷积核”就相当于“filter”,这两个概念是可以互换的。但在一般情况下,它们是两个完全不同的概念。每个“filter”实际上恰好是“卷积核”的一个集合, 在当前层,每个通道都对应一个卷积核,且这个卷积核是独一无二的。

多通道卷积的计算过程:将矩阵与滤波器对应的每一个通道进行卷积运算,最后相加,形成一个单通道输出,加上偏置项后,我们得到了一个最终的单通道输出。如果存在多个filter,这时我们可以把这些最终的单通道输出组合成一个总输出。

这里我们还需要注意一些问题——滤波器的通道数、输出特征图的通道数。

某一层滤波器的通道数 = 上一层特征图的通道数。如上图所示,我们输入一张 663的RGB图片,那么滤波器( 333 )也要有三个通道。

某一层输出特征图的通道数 = 当前层滤波器的个数。如上图所示,当只有一个filter时,输出特征图( 44 )的通道数为1;当有2个filter时,输出特征图(44*2)的通道数为2。


TextCNN

【参考:】

【参考:】

【参考:】

【参考:】讲的非常好
经验分享 程序员 微信小程序 职场和发展