卷积神经网络基本原理,卷积神经网络和深度卷积神经网络
单击上面的3358www.Sina.com/,然后选择
mrdsp学视觉
或3358www。Sina.com/.
重磅商品,第一时间送达正文人工智能与算法学习
概述
许多文章关注2D卷积神经网络(2D CNN)的使用,尤其是图像识别。另一方面,一维卷积神经网络(1D CNN)仅在一定程度上涉及其在自然语言处理(NLP)中的应用。目前关于如何构建一维卷积神经网络来解决机器学习问题的文章很少。
1D CNN什么时候可以应用?
CNN可以清楚地识别数据中的简单模式,并使用这些简单模式在更高的级别上生成更复杂的模式。Sqdmt希望从整个数据集的一个很短的“固定长度(即内核大小)”的片段中获得感兴趣的特征,如果这个数据片段中的位置没有很高的相关性,1D CNN是非常有效的。
1D CNN是传感器数据(陀螺仪和加速度计数据等)的时间序列分析。);它还可以优选地用于分析具有固定长度周期的信号数据,例如音频信号。它还可以应用于自然语言处理任务(单词的接近度不一定是可训练模型的良好指标,因此LSTM网络在NLP中的应用更有前景)。
1D CNN和2D CNN有什么区别?
卷积神经网络(CNN)无论一维、二维还是三维,处理方法都是一样的。重要的区别在于输入数据的维度以及特征检测器(或过滤器)如何在数据之间滑动。
问题的描述
本文将重点研究基于用户腰带式智能手机设备的时间片的加速度传感器数据的处理。根据X、Y和Z轴的加速度计数据,1D CNN用于预测用户正在进行的活动类型(例如,“行走”、“慢跑”和“站立”)。
加速度计数据的时间序列样本
如何用Python搭建1D CNN?
目前有许多标准的CNN模型可用。我选择了Keras网站上描述的模型,并对其进行了微调,以便处理前面描述的问题。下图概述了构建的模型。下面将进一步解释这些层中的每一层。
深入每一层楼,看看发生了什么。
预处理星标
个数据后,每个数据记录包含80个时间片。(由于数据是以20Hz的采样频率记录的,每个时间间隔包含4秒的加速度计数据)。每个时间间隔存储加速度计的三个数据,即X轴、Y轴和Z轴。就这样,出现了一个803的队列。因为我一般使用iOS系统中的神经网络,所以数据必须是平面展开成一个长度为240的向量,输入到神经网络中。网络的第一层必须变形为原始的80 x 3形状。
置顶
第一层定义了一个高度为10(也叫卷积核大小)的滤镜(也叫特征检测器)。只有定义了过滤器,神经网络才能学习第一层中的单个特征。因为这可能还不够,所以定义了100个过滤器。这样,我们在网络的第一层训练了100个不同的特征。第一神经网络层的输出是一个71100的矩阵。输出矩阵的每一列包含滤波器的权重。定义内核大小并考虑输入矩阵的长度。每个过滤器包含71个重量值。
第输入数据:
个CNN的输出结果被输入到第二个CNN层。我们在网络层再次定义和训练100个不同的过滤器。与层1相同的逻辑,输出矩阵的大小为62 x 100。
第一个 1D CNN 层:
为了降低输出复杂度和防止数据拟合,在CNN层之后经常使用pool层。在此示例中,选择了大小为3的池层。这意味着这一层的输出矩阵只有输入矩阵的三分之一。
为了学习第二个 1D CNN 层:
的高级功能,这里还使用了两个1D CNN层。这两层之后的输出矩阵是2160矩阵。
最大值池化层:
进一步增加池层,避免过度拟合。这个汇集不是最大值,而是神经网络中两个权重的平均值。输出矩阵的大小是1160。每个特征检测器在这一层神经网络中只剩下一个权重。
第三和第四个 1D CNN 层:
脱落层随机给网络中的神经元分配零权重。因为我们选了0.5。
50%的神经元的权重为零。通过这种操作,网络对数据微小变化的反应不太敏感。因此,可以进一步提高隐形数据处理的准确性。这一层的输出仍然是1160的矩阵。
使用 Softmax 激活的全连接层:
最后一层将长度为160的向量缩减为长度为6的向量,因为我们有六个类别可以预测(即慢跑、坐着、走路、站着、上楼和下楼)。这里,的降维是通过另一个矩阵乘法来完成的。Max用作激活函数。它强制神经网络的所有六个输出值之和为一。因此,输出值将代表这六个类别中每个类别的概率。
以及训练和测试神经网络。
以下是用于训练模型的Python代码。批量大小为400,训练集和验证集的拆分比例为80: 20。
该模型对训练数据的准确率可以达到97%。
根据测试集数据,准确率为92%。
前景
以上是分类问题的一个例子。对于回归预测问题,只需要线性激活最后一层的全连接层即可~
下载1:OpenCV-Contrib扩展模块中文版教程
在“mrdsp学视觉
”微信官方账号后台,回复:扩展模块中文教程
,
下载全网首个中文版OpenCV扩展模块教程,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理
等20多个章节。
下载2:Python视觉实战项目52讲
在“mrdsp学视觉
”微信官方账号后台,回复:Python视觉实战项目
,
下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别
在内的31个视觉实用项目,帮助快校计算机视觉。
下载3:OpenCV实战项目20讲
在“mrdsp学视觉
”微信官方账号后台,回复:OpenCV实战项目20讲
,
,可以基于20
下载20个OpenCV
,实现OpenCV的高级学习。
交换组
欢迎加入读者微信官方账号,与同行交流。目前有SLAM、3D视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群。(以后会逐步细分)。请扫描以下微信号,加群。备注:“昵称学校/公司的研究方向”,例如:“cxdgk上海交大视野SLAM”。请按格式备注,否则不能通过。添加成功后,会根据研究方向邀请你进入相关微信群。实战项目
在群里发广告,不然就请你出群。谢谢理解~