当前位置: 首页 > news >正文

收录网站工具北京突发重大消息

收录网站工具,北京突发重大消息,武汉做网站建设的公司,洛阳最新消息系列文章目录 第1章 专家系统 第2章 决策树 第3章 神经元和感知机 识别手写数字——感知机 第4章 线性回归 第5章 逻辑斯蒂回归和分类 第5章 支持向量机 第6章 人工神经网络(一) 文章目录 系列文章目录前言一、卷积神经连接的局部性平移不变性 二、卷积处理图像的效果代码二、…

系列文章目录

第1章 专家系统
第2章 决策树
第3章 神经元和感知机
识别手写数字——感知机
第4章 线性回归
第5章 逻辑斯蒂回归和分类
第5章 支持向量机
第6章 人工神经网络(一)


文章目录

  • 系列文章目录
  • 前言
  • 一、卷积
    • 神经连接的局部性
    • 平移不变性
  • 二、卷积处理图像的效果代码
  • 二、池化
    • 池化层的作用
    • 平均降采样与最大池化
  • 总结


前言

李飞飞等人在2006年发起并建立了ImageNet数据集,这是一个包含上千万张图片、数千不同类别物体的数据集,处理计算机视觉任务的深度神经网络通常在则会个数据集上进行训练。Geoffrey Everest Hinton等人的AlexNet 是最早广为人知的深度神经网络模型之一。
这里重点介绍LENET、AlexNet的卷积和池化的思想。


一、卷积

神经连接的局部性

AlexNet神经网络模型由8层构成,其中,前5层是卷积层,只有后面3层是全连接层。全连接层是前馈神经网络最为一般的形式,神经元在层与层之间建立完全连接,即一层中的每个神经元都以前一层所有神经元的输出作为输入。
当处理图像等高维信息的时候,全连接层需要很多权值,因为神经元要与每个像点连接。这不利于神经元提取图像的局部信息,而提取图像局部特征是深度神经网络前几层的主要任务。最初几层神经元应该聚焦图像的局部特征,逐渐扩大单个神经元知的图像范围,逐层提高信息抽象的程度,这样,最终就可以在输出层整合整幅图像,每到一个用于图像分类或者物体检测的输出值。卷积层的出现满足了这种需求,它将神元的连接限制在局部,每个神经元只与对应位置的矩形区域内的输入神经元进行连接比如,当计算3×3的卷积时,卷积层的每个神经元仅与前一层对应位置局部的3x个神经元发生连接。

什么叫作卷积?

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

平移不变性

除了局部性之外,卷积层的另外一个特征是平移不变性。图像特征本身具有平移不变性,局部特征的位置不是特征本身的内在属性。比如,无论一只猫出现在图像中的任何位置,都不影响我们认知它是一只猫。
为了实现平移不变性,卷积层中不同位置的神经元共享同一组连接权值,这组连接权值称作卷积核。比如,3×3的卷积核是一个3×3的矩阵。图像卷积操作就是用一个卷积核在图像上进行平移扫描,计算局部图像块与卷积核的“点积”,即对应位置元素乘积的和。
向量点积与向量间的余弦距离是成正比的,反映了向量之间的相似程度。图像卷积操作的结果实际上也反映了图像局部与卷积核的相似程度,与卷积核相似的局部特征就这样被提取出来。为了提取出不同的局部特征,在神经网络模型中,每个卷积层通常包含若干个不同的卷积核,每个卷积核扫描输入图像产生一个二维矩阵作为输出,不同卷积核产生的二维矩阵堆叠在一起,形成一个三维张量(tensor),构成了整个卷积层的输出,张量的每一层叫作一个通道(channel)。
在这里插入图片描述

卷积是一种常用的信号处理方法,图像的卷积操作是二维卷积运算的离散形式。一维卷积的连续形式在泛函分析中定义为两个函数的运算。一个函数f是待处理的信号(比如声波、图像等),一个函数g是卷积核,卷积(f*g)是一个新的信号(也是一个函数)。**卷积的结果相当于把函数g平移到各处,然后计算与函数f对应位置乘积的积分。**卷积运算能够在输入信号上提取出与卷积核具有高度相关性的信号。
( f ∗ g ) ( t ) = ∫ − ∞ + ∞ f ( x ) g ( t − x ) d x (f*g)(t)=\int_{-\infty }^{+ \infty } f(x)g(t-x)dx (fg)(t)=+f(x)g(tx)dx

二、卷积处理图像的效果代码

#!/usr/bin/env python
# -*- coding: UTF-8 -*-
'''
@Project :demo1 
@File    :Convolutional1.py
@IDE     :PyCharm 
@Author  :Yue
@Date    :2024-03-23 22:34 
'''import numpy as np
import matplotlib.pyplot as plt# 读取图像,取3个彩色通道中的一个
try:img = plt.imread('H:\\dog.jpg')if img is not None:plt.imshow(img)plt.show()
except Exception as e:print("在读取图像时发生错误:", e)
img = img[:,:,0]# 准备卷积核
kernels = [np.array([[-1,0,-1] ,[-1,0,-1] ,[-1,0,-1]]),np.array([[-1,-1,-1] ,[0,0,0] ,[1,1,1]]),np.array([[1,-2,-2] ,[1,1,-2] ,[1,1,1]]),np.array([[1,1,1] ,[1,1,-2] ,[1,-2,-2]])
]# 绘制原图像和卷积结果
for i in range(5):plt.subplot(1,5,i+1)if i == 0:plt.imshow(img, cmap=plt.cm.gray)plt.axis('off')continue# 计算卷积, 当采用 n*n的卷积核计算时# 在没有补齐的情况下 ,卷积核结果比原图各列 各少n-1# 简便起见,这里展示没有补齐的情况# 引入补齐后,边缘处的卷积也可以计算,卷积结果与原始尺寸相当kernel = kernels[i-1]conv = np.zeros((img.shape[0]-2, img.shape[1]-2))for x in range(conv.shape[1]):for y in range(conv.shape[0]):# 截取原图中对应位置 与 卷积大小相同的块clip = img[y:y+3 , x:x+3]# 图像块 与 卷积核对应元素相乘然后求和conv[y,x] = np.sum(clip * kernel)# 显示卷积结果plt.imshow(conv ,cmap=plt.cm.RdBu)plt.axis('off')
plt.show()
  1. .导入库:
    首先,代码导入了numpy和matplotlib.pyplot库,这两个库在处理图像和绘图方面非常有用。
  2. 读取图像:
    使用try-except块尝试读取位于’H:\dog.jpg’路径的图像文件。如果图像成功读取(img不为None),则使用plt.imshow()显示图像,并使用plt.show()显示图像窗口。如果读取过程中发生错误,错误信息将被打印到控制台。
  3. 提取图像的一个通道:
    由于读取的图像是彩色的,包含多个通道(通常是RGB),代码通过img = img[:,:,0]选择了第一个通道(蓝色通道),并将其转换为灰度图像。
  4. 准备卷积核:
    代码定义了一个名为kernels的列表,其中包含了四个不同的3x3卷积核。这些卷积核将用于后续的图像卷积操作。
  5. 绘制原图像和卷积结果:
    使用for循环迭代不同的卷积核,并在每次迭代中执行以下步骤:
  6. 使用plt.subplot()创建一个子图。
    如果是第一个迭代(即显示原图像),则使用plt.imshow()显示灰度图像,并关闭坐标轴。
    对于其他迭代,首先创建一个全零的数组conv,该数组的大小比原图像小,因为卷积核的大小是3x3。
    然后,代码通过两个嵌套的for循环遍历conv数组的每个元素,并使用原图像中相应的3x3区域与当前卷积核进行卷积操作。卷积操作是通过元素乘法和求和来完成的。
    最后,卷积完成后,使用plt.imshow(conv, cmap=plt.cm.RdBu)显示卷积结果。这里,cmap=plt.cm.RdBu参数将颜色映射设置为RdBu(红色到蓝色),这是一种常用于显示正负值的颜色映射。plt.axis(‘off’)关闭了坐标轴的显示。
  7. 显示所有图像:
    在循环结束后,调用plt.show()来显示所有子图。这将创建一个窗口,其中包含原始图像和每个卷积核处理后的图像。

结果如下图所示,使用红蓝色谱显示卷积结果,深红色和深蓝色分别表示绝对值较大的负值或正值,绝对值接近0颜色较浅。卷积结果的深色部分显示出了与卷积核数值分布一致的方向性:
在这里插入图片描述
上面的代码里需要重点理解这一部分,是对卷积操作的计算(这里用一个简单的例子就可以推算出来,img和conv之间的索引关系):
在这里插入图片描述

二、池化

池化层的作用

图像信号经过卷积后,尺寸不会发生明显缩小。然而,我们需要将信息不断汇聚到更少的神经元,这样一方面能够使单个神经元感知更大的范围,另一方面也可以提取更加抽象的图像特征。
池化层可以帮助我们对卷积层得到的信息进行整合和压缩。经过一个 c × c c\times c c×c的池化层,就相当于把每 c × c c\times c c×c个像素点压缩成1个像素点,信号数量就压缩到了 1 / ( c × c ) 1/(c\times c) 1/(c×c)
压缩方法通常是选取最大值,因此也叫作Max Pooling。经过若干组卷积、池化、卷积、池化这样的交替处理,我们就可以把图像信息逐渐抽象为维度较小的信号,然后用全连接层产生图像分类、物体识别、位置检测的结果。这个过程与生物视觉神经系统有很多相似之处。

平均降采样与最大池化

LENET中采用平均降采样,而AlexNet中采用的最大池化的方法,来看一下二者的区别。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述


总结

本节介绍了卷积和池化的概念,介绍了LeNet与AlexNet,AlexNet的改进。通过一个简单的图像处理,演示了卷积的代码。

http://www.fp688.cn/news/145993.html

相关文章:

  • 全国党的建设权威门户网站拼多多seo搜索优化
  • 网站建设合同 模板国产免费crm系统有哪些
  • 开发者社区seo网页优化服务
  • 站外推广营销方案seo免费优化公司推荐
  • 南京网站建设 雷仁专业网站优化外包
  • 网站开发基本流程图百度广告怎么做
  • 日本网站制作开封网站快速排名优化
  • 网站里的搜索怎么做的青岛的seo服务公司
  • 培训教育网站建设网站优化排名服务
  • 海南网站建设fwlit百度电脑版下载官方
  • 制作相册图片合集成都网站seo报价
  • 做物流网站的公司哪家好关键词优化价格表
  • 中央两学一做专题网站seo关键词怎么选
  • 成都网站设计定制快速收录域名
  • h5网站如何做百度分析
  • 汕头网站制作找哪里抖音广告怎么投放
  • 网站开发人才需求百度seo外包
  • 茶陵网站建设内蒙古seo
  • 群辉做网站服务器配置网站技术解决方案
  • 小网站靠什么盈利二十条优化措施全文
  • 网页制作与网站建设报告网站seo课程
  • 长春网站运做思路合肥推广外包公司
  • 南宁做网站 的求网址
  • 专业开发网站报价单国内优秀网页设计赏析
  • 东莞企创做网站怎么样seo网站推广免费
  • 教人做网站的视频aso优化师主要是干嘛的
  • 网站建设的步骤和要点官网seo怎么做
  • 请seo的人帮做网站排名建站系统
  • 自己做网站多少钱文章代写
  • 让人做网站 需要准备什么条件百度优化师