吴恩达深度学习 4.1 卷积神经网络-卷积神经网络基础
2021/10/12 6:17:36
本文主要是介绍吴恩达深度学习 4.1 卷积神经网络-卷积神经网络基础,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1. 知识点
- 计算机视觉:图片分类、目标检测、图片风格迁移等
对于小尺寸图片,可以用深度神经网络模型学习预测。但对于大尺寸图片,输入数据规模大,用深度神经网络会有非常多的参数需要学习,不再合适。
卷积神经网络,在计算机视觉上是个很好的网络结构。
- 边缘检测:垂直边缘检测、水平边缘检测和更复杂的边缘检测filter
垂直边缘检测:用filter依次对输入图片和filter相同大小的块内各元素进行运算,对应元素相乘后求和。所得结果为输出图片元素。由例图可以看出,垂直边缘检测filter能运算出输入图像人在垂直方向上的轮廓。
多种边缘检测:垂直边缘检测、水平边缘检测、更复杂的边缘检测(将fliter看作需要学习的参数)
数学上的卷积和深度学习的卷积:数学上,卷积操作需要先将卷积核filter在水平和垂直方向上进行翻转,构成一个卷积核的镜像,然后使用该镜像再和前面的矩阵进行移动相乘求和操作。深度学习上,没有卷积核变换为镜像的这一步。
- Padding:
没有Padding存在的问题:每次卷积操作图片会缩小。角落和边缘位置的像素进行运算的次数少,信息会丢失。
加Padding:输入图片n*n大小,Padding大小为p,filter大小为f,输出图片为(n+2p-f+1)*(n+2p-f+1)
不加Padding:输入图片大小为n*n,输出图片大小(n-f+1)*(n-f+1)
输出图片和输入图片大小相同:n+2p-f+1=n,即p=(f-1)/2
- 卷积步长(s):即两个运算之间移动的步数
输入图片大小为n*n,输出图片大小[(n+2p-f)/s+1]*[(n+2p-f)/s+1]
- 立体卷积
卷积核的通道数:R、G、B三个颜色通道
多卷积核:不同的filter分别提取图片的不同特征,比如垂直边缘和水平边缘
多卷积核输入图片和输出图片大小:
(n*n*nc)*(f*f*nc)——>(n-f+1)*(n-f+1)*nc',其中nc'是下一层通道数,也是本层filter的个数。
- 简单卷积网络:卷积核相当于深度网络中的参数W
其中,参数W的个数为3*3*3=27,加上偏置,参数个数为28个,假设有10个卷积核,参数个数共280个。相对于普通神经网络,卷积神经网络的参数个数少了很多。
- 简单卷积网络示例:三层卷积,和一层全连接层
- 池化层:最大池化和平均池化,输入图片维度和输出图片维度之间的关系和卷积相运算相同
- 卷积神经网络示例:卷积-池化-卷积-池化-线性运算-激活。卷积层参数较少,线性运算层参数很多。
2. 应用实例
import numpy as np import h5py import matplotlib.pyplot as plt %matplotlib inline plt.rcParams['figure.figsize'] = (5.0, 4.0) plt.rcParams['image.interpolation'] = 'nearest' plt.rcParams['image.cmap'] = 'gray' #ipython很好用,但是如果在ipython里已经import过的模块修改后需要重新reload就需要这样 #在执行用户代码前,重新装入软件的扩展和模块。 %load_ext autoreload #autoreload 2:装入所有 %aimport 不包含的模块。 %autoreload 2 np.random.seed(1) #指定随机种子
这篇关于吴恩达深度学习 4.1 卷积神经网络-卷积神经网络基础的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-20实战:30 行代码做一个网页端的 AI 聊天助手
- 2024-11-185分钟搞懂大模型的重复惩罚后处理
- 2024-11-18基于Ollama和pgai的个人知识助手项目:用Postgres和向量扩展打造智能数据库
- 2024-11-15我用同一个提示测试了4款AI工具,看看谁设计的界面更棒
- 2024-11-15深度学习面试的时候,如何回答1x1卷积的作用
- 2024-11-15检索增强生成即服务:开发者的得力新帮手
- 2024-11-15技术与传统:人工智能时代的最后一袭纱丽
- 2024-11-15未结构化数据不仅仅是给嵌入用的:利用隐藏结构提升检索性能
- 2024-11-15Emotion项目实战:新手入门教程
- 2024-11-157 个开源库助你构建增强检索生成(RAG)、代理和 AI 搜索