零基础入门语音识别-食物语音识别Task04

本次新人赛是Datawhale与天池联合发起的零基础入门系列赛事第八场 —— 零基础入门语音识别-食物声音识别挑战赛。
baseline及用图由开源学习组织Datawhale提供
https://github.com/datawhalechina/team-learning

深度学习模型搭建

Task04的学习主要是深度学习如何搭建CNN网络结构。在进行Task01的学习中,我就曾经在b站的视频以及这次学习赛的直播课中对CNN卷积神经网络有了初步的了解学习。那么Task04就是学习如何用Python运用并建立模型。

对Keras的认识

Keras 是一个用 Python 编写的高级神经网络 API,它能够以 TensorFlow, CNTK, 或者 Theano 作为后端运行。现在Keras已经和TensorFlow合并,可以通过TensorFlow来调用。
Keras 的核心数据结构是 model,一种组织网络层的方式。最简单的模型是 Sequential 顺序模型,它由多个网络层线性堆叠。对于更复杂的结构,应该使用 Keras 函数式 API,它允许构建任意的神经网络图。
Keras 的核心原则是使事情变得相当简单,同时又允许用户在需要的时候能够进行完全的控制(终极的控制是源代码的易扩展性)。

Sequential模型可以直接通过如下方式搭建:

from keras.models import Sequential
model = Sequential()

CNN网络的基本架构

卷积神经网络CNN的结构一般包含这几个层:

1)输入层:用于数据的输入

2)卷积层:使用卷积核进行特征提取和特征映射------>可以多次重复使用

3)激励层*:由于卷积也是一种线性运算,因此需要增加非线性映射(也就是激活函数)

4)池化层:进行下采样,对特征图稀疏处理,减少数据运算量----->可以多次重复使用

5)Flatten操作:将二维的向量,拉直为一维的向量,从而可以放入下一层的神经网络中

6)全连接层:通常在CNN的尾部进行重新拟合,减少特征信息的损失----->DNN网络

对于Keras操作中,可以简单地使用 .add() ,将需要搭建的神经网络的layer堆砌起来,像搭积木一样:

model.add(Conv2D(64, (3, 3), padding = "same", activation = "tanh", input_shape = input_dim))# 卷积层
model.add(MaxPool2D(pool_size=(2, 2)))# 最大池化
model.add(Conv2D(128, (3, 3), padding = "same", activation = "tanh")) #卷积层
model.add(MaxPool2D(pool_size=(2, 2))) # 最大池化层
model.add(Dropout(0.1))
model.add(Flatten()) # 展开
model.add(Dense(1024, activation = "tanh"))
model.add(Dense(20, activation = "softmax")) # 输出层:20个units输出20个类的概率

如果需要,你还可以进一步地配置你的优化器.complies())。Keras 的核心原则是使事情变得相当简单,同时又允许用户在需要的时候能够进行完全的控制(终极的控制是源代码的易扩展性)。

# 编译模型,设置损失函数,优化方法以及评价标准
model.compile(optimizer = 'adam', loss = 'categorical_crossentropy', metrics = ['accuracy'])

学习心得

Task04的学习让我更深入了解得到了CNN 中更加详细的部分,比如激励层和Flatten操作。虽然现在对CNN 还没有完全学习明白,但对卷积层、池化层,以及对CNN的大致原理已经了解得差不多了。因为还未开始对Python的深度学习,所以Task04的后半段学习起来有些吃力,即使明白了CNN的原理,但是在实际操作训练中还是没有成效。所以好好学Python是近日的目标,冲冲冲!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值