卷积神经网络入门

目录

前言

什么是卷积?

图像卷积操作

卷积神经网络

总结


前言

本周对机器学习中卷积神经网络相关知识进行学习。

什么是卷积?

卷积这个词在泛函,图像处理,机器学习里面的含义其实是一脉相承而并不是割裂的。是先有了连

续函数卷积,然后离散化之后获得离散卷积;接着引入二维变量后就有了图像卷积(离散二维卷

积);最后是使用机器学习的方法获得能够提取出需要的特征的卷积核。

卷积实质上首先是一个积分的公式

进食例子

进食f(t)的函数,纵坐标为进食的数量

食物消化g(t)函数,纵坐标为消化食物的百分比

 

问下午2点食物还剩多少

1、假设在12点吃了一碗米饭,2个小时后米饭剩余量为:rice_rest=f(12)*g(14-12)

2、上午10点吃了一个面包,4个小时后面包的剩余量为:bread_rest=f(10)*g(14-10)

3、早上8点吃了2碗豆浆,8个小时后豆浆剩余量为:soy milk_rest=f(8)*g(14-8)

剩余食物即为3者相加:total_rest=rice_rest+bread_rest+soy milk_rest

接下来看一般的时刻

问t时刻胃里还有多少食物

设x时刻吃了食物,即到t时刻剩余的食物:t_rest=f(x)*g(t-x)

总体来看的话即为对x求积分,上下限为从0到t:

 

此时x会被消掉,即卷积中两个函数相加后,其中一个变量会消掉。

在上述例子中给f函数和g函数在图像中的对应,以及翻转过后的图像如下所示。

初步结论:卷积就是把g函数给翻转一下。

卷积用于在一个系统中,若输入不稳定、输出稳定、则用卷积求系统存量。

图像卷积操作

概念:用一个3*3的点阵和图像进行一个操作,这个点阵被称为卷积核。操作过程为把卷积核扣在

图像的点阵上,然后对应的两个格子相乘。3*3的点阵有9个树相乘,最后把9个相乘的结果相加,

保持到一起,得到一个新的像素点。之后用卷积核把整个图像都扫一遍,得到卷积操作后的新图

像。

归纳:图片和卷积核,先相乘再相加。

卷积核:规定了周围像素点是如何对当前像素点产生影响的

卷积核在数学上的运算:

计算f(x-1,y-1)这个像素点对f(x,y)像素点产生的影响

此时设f(x-1,y-1)为x时刻,f(x,y)为t时刻

则此时的卷积结果:f(x-1,y-1). g(1,1)

当把3*3点阵所有的点以及自身对自身产生的影响结果为:

 

当将g函数图像旋转180°后,点之间就会相互直接对应

 

g函数旋转180°后才是卷积核,卷积核可以扣在图像上,直接相乘再相加。

本次结论:把卷积当作过去对现在的影响,周围像素点对当前像素点的影响,g函数规定了如何影响的关键。

卷积神经网络

卷积神经网络一般用于图像识别。

把图像的局部特征给挑出来,把局部特征交给神经网络,由神经网络判断。

平滑卷积

找一个像素点,把它周围的全部像素点加起来,然后求平均,这样处理完图像,会让图像变得更平滑、更朦胧。

 

不同的卷积核,会产生不同的特征。下面例子展示了不同卷积核对图片提取的特征不同,分别提取了垂直特征和水平特征。保持特定特征的卷积核称为过滤器

上面所说卷积核可以扣在图像上,直接相乘再相加。这个相乘再相加也可以看作对周围像素点的试

探,卷积核是试探的模板。当不想考虑某个位置时,将其设置为0,而想重点考虑某个位置后,将

其值设置比较高。

平滑卷积核的操作像是一种被动的、无奈的接受。而过滤器是这个像素点在主动的试探和选择。

本次结论:卷积就是对周围像素点的一个主动试探和选择。通过卷积核把周围有用的特征给保留下来。

总结

卷积的3层含义:

1、不稳定输入,稳定输出,通过卷积求系统存量。

2、一个卷积核规定了周围像素点对当前像素点会产生怎样的影响。

3、一个过滤器的卷积核,它规定了一个像素点会如何试探周围的像素点、如何筛选图像的特征。

总结:卷积就是瞬时行为的持续性后果的总和

这只是对卷积的初步介绍,学习路还有很长。对于机器学习方面,可以理解为披着计算机外衣的数

学,即使有许多集成模块可以使用,但分析底层,理解其中的原理十分重要。数学知识也很重要。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
卷积神经网络(CNN)是一种前馈神经网络,广泛应用于图像和视频识别、自然语言处理等领域。以下是卷积神经网络的快速入门步骤: 1.导入必要的库和模块,例如TensorFlow、Keras等。 2.准备数据集,包括训练集、验证集和测试集。可以使用现有的数据集,例如MNIST手写数字数据集。 3.构建卷积神经网络模型,包括卷积层、池化层、全连接层等。可以使用现有的模型,例如VGG、ResNet等。 4.编译模型,指定损失函数、优化器和评估指标。 5.训练模型,使用训练集进行训练,并使用验证集进行验证和调整模型参数。 6.评估模型,使用测试集进行评估,并计算模型的准确率、精度、召回率等指标。 7.使用模型进行预测,输入新的数据,使用训练好的模型进行预测。 以下是一个简单的卷积神经网络模型的代码示例: ```python import tensorflow as tf from tensorflow.keras import layers # 构建卷积神经网络模型 model = tf.keras.Sequential([ layers.Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1)), layers.MaxPooling2D((2, 2)), layers.Conv2D(64, (3, 3), activation='relu'), layers.MaxPooling2D((2, 2)), layers.Conv2D(64, (3, 3), activation='relu'), layers.Flatten(), layers.Dense(64, activation='relu'), layers.Dense(10, activation='softmax') ]) # 编译模型 model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy']) # 训练模型 model.fit(train_images, train_labels, epochs=5, validation_data=(test_images, test_labels)) # 评估模型 test_loss, test_acc = model.evaluate(test_images, test_labels, verbose=2) print('Test accuracy:', test_acc) ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值