机器学习十四--深度学习-卷积(代码片段)

xiaoap xiaoap     2023-03-17     303

关键词:

1.简述人工智能、机器学习和深度学习三者的联系与区别。

2. 全连接神经网络与卷积神经网络的联系与区别。

3.理解卷积计算。

以digit0为例,进行手工演算。

from sklearn.datasets import load_digits #小数据集8*8

digits = load_digits()

0 0 5 13 9 1 0 0
0 0 13 15 10 15 5 0
0 3 15 2 0 11 8 0
0 4 12 0 0 8 8 0
0 5 8 0 0 9 8 0
0 4 11 0 1 12 7 0
0 2 14 5 10 12 0 0
0 0 6 13 10 0 0 0

选取如下卷积核:

技术图片

 

 第一次:使用上面的卷积核和上面矩阵中头一个3*3的矩阵进行运算技术图片

 

1*0+0*0+-1*5+1*0+0*0+-1*13+1*0+0*0+-1*15= -13

 第二次选取的矩阵往右移动一格,即技术图片,再如上和卷积核做相同的计算,得结果-27

 

第三次第四次。。。。。。都喝上面的步骤一样,和卷积核计算得出结果

.。。。。。

当移动到前三行的最后三列时,得结果27,以上结果记为一行,即技术图片

于是往下一列,从左开始做上述计算,每次移动完后就向下一列从左边开始计算,移动到最后一列后计算完,这个过程便结束,结果如下:

技术图片

 

 

读取一个图像;
4.理解卷积如何提取图像特征。

以下矩阵为卷积核进行卷积操作;

显示卷积之后的图像,观察提取到什么特征。

 

1 0 -1
1 0 -1
1 0 -1

 

1 1 1
0 0 0
-1 -1 -1

 

-1 -1 -1
-1 8 -1
-1 -1 -1

 

卷积API

scipy.signal.convolve2d

tf.keras.layers.Conv2D

(1)导入相关的包

from PIL import Image
import matplotlib.pyplot as plt
%matplotlib inline
import numpy as np
from scipy.signal import convolve2d

(2)读取图片,并做卷积运算

#读取图片,转换图片模式
I = Image.open(rC:UserszengkPicturesCamera Roll
irvana.jpg)
L = I.convert(L)

imgg = np.array(L)

#三种卷积核
k1 = np.array([[1,0,-1],[1,0,-1],[1,0,-1]])
k2 = np.array([[1,1,1],[0,0,0],[-1,-1,-1]])
k3 = np.array([[-1,-1,-1],[-1,8,-1],[-1,-1,-1]])
# k4 = np.array([[1,1,1],[-1,-1,-1],[1,1,1]])

#卷积计算
img1 = convolve2d(imgg,k1,boundary=symm,mode=same)
img2 = convolve2d(imgg,k2,boundary=symm,mode=same)
img3 = convolve2d(imgg,k3,boundary=symm,mode=same)

#显示图片
plt.matshow(img)
plt.matshow(img1)
plt.matshow(img2)
plt.matshow(img3)

(3)结果及观察:

原图如下:

技术图片

 

1 0 -1
1 0 -1
1 0 -1

 

 

 

 

此卷积核下计算出来的图像如下

技术图片

 

 从此图中可以观察出,主要是纵向的线条较为明显,比如两人物的头发和衣物以及左边人物的鼻梁,较为明显

 

1 1 1
0 0 0
-1 -1 -1

 

 

 

 

此卷积核下的卷积结果如下:

技术图片

 

 
 从此图中可以观察出,主要是横向的线条较为明显,比如左边人物的发际线、肩膀,上图只能看到鼻梁的鼻子在这里能观察到鼻孔位置,还有最下面的几个躺着的人的腿。

-1 -1 -1
-1 8 -1
-1 -1 -1

 

 

 


此卷积核下的卷积结果如下:

技术图片

 这个图主要就是一些边缘的特征提取

 

 

5. 安装Tensorflow,keras

参考:https://blog.csdn.net/u011119817/article/details/88309256 

6. 设计手写数字识别模型结构,注意数据维度的变化。

from tensorflow.keras.models import Sequential

from tensorflow.keras.layers import Dense, Flatten, Conv2D, MaxPool2D

model = tf.keras.Sequential()

model.add(Conv2D(…))

model.add(MaxPool2D(…))

...

#可以上传手动演算的每层数据结构的变化过程。model.summary() 

 

参考:

https://www.jianshu.com/p/afe485aa08ce

https://blog.csdn.net/junjun150013652/article/details/82217571

 

14深度学习-卷积(代码片段)

1.简述人工智能、机器学习和深度学习三者的联系与区别。解析:人工智能是机器诠释的人类智能,是机器学习和深度学习后想实现的结果和目的,机器学习是实现人工智能的方法,深度学习是机器学习算法中的一种算法,一种... 查看详情

14深度学习-卷积(代码片段)

1.简述人工智能、机器学习和深度学习三者的联系与区别。答:人工智能是最早出现的,也是最大、最外侧的同心圆;其次是机器学习,稍晚一点;最内侧,是深度学习,也是当今人工智能大爆炸的核心驱动。 人工智能是目... 查看详情

14深度学习-卷积(代码片段)

1.简述人工智能、机器学习和深度学习三者的联系与区别。 联系:深度学习使得机器学习能够实现众多应用,并拓展了人工智能的领域范畴。区别:人工智能是目的,是结果;深度学习、机器学习是方法,是工具;深度学习... 查看详情

机器学习12卷积神经网络(代码片段)

1.简述人工智能、机器学习和深度学习三者的联系与区别。答:人工智能是目的,是结果;机器学习、深度学习是方法,是工具。机器学习是一种实现人工智能的方法,深度学习是一种实现机器学习的技术。 2.全连接神经网... 查看详情

13.深度学习-卷积(代码片段)

1.简述人工智能、机器学习和深度学习三者的联系与区别。①人工智能人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括语音识别、... 查看详情

14深度学习-卷积(代码片段)

1.简述人工智能、机器学习和深度学习三者的联系与区别。  人工智能是最早出现的,其次是机器学习,最后是深度学习,当今人工智能大爆炸的核心驱动。        区别和联系:   2.全连接神经网络与卷积... 查看详情

大厂必考深度学习算法面试题总结(代码片段)

...滤波器与卷积核二,卷积层和池化输出大小计算三,深度学习框架的张量形状格式四,Pytorch、Keras的池化层函数理解五,Pytorch和Keras的卷积层函数理解六,softmax回归七,交叉熵损失函数八,感受野理解九,卷积和池化操作的作... 查看详情

深度学习深度学习基础学习笔记(代码片段)

...目录深度学习基础🔭前言🎠一、深度学习与传统机器学习的区别?二、深度学习的改进点1.更加合适目标函数2.新增Softmax层3.激活函数进化历程4.梯度下降算法进化历程5.BatchNormalization的由来6.抑制过拟合三、卷积神经... 查看详情

13.深度学习-卷积

1.简述人工智能、机器学习和深度学习三者的联系与区别。人工智能是目的,是结果。深度学习、机器学习是方法、是工具。机器学习,一种实现人工智能的方法;机器学习都可以精准地被定义为:1任务T;2.训练过程E;3.模型表... 查看详情

14深度学习-卷积

1.简述人工智能、机器学习和深度学习三者的联系与区别。  区别:(1)人工智能:目的和结果,深度学习,机器学习是方法,是工具。(2)机器学习:一种实现人工智能的方法;机器学习都可以被精准地定义为:1、任... 查看详情

机器学习(ml)十四之凸优化(代码片段)

优化与深度学习优化与估计尽管优化方法可以最小化深度学习中的损失函数值,但本质上优化方法达到的目标与深度学习的目标并不相同。优化方法目标:训练集损失函数值深度学习目标:测试集损失函数值(泛化性)1%matplotlib... 查看详情

(机器学习深度学习常用库框架|pytorch篇)第(待定)节:卷积神经网络cnn中一些经典网络结构写法(代码片段)

文章目录一:LeNet-5二:AlexNet三:VGG四:ResNet五:MobileNetV1六:InceptionNet一:LeNet-5LeNet-5:LeNet-5是一个较简单的卷积神经网络。下图显示了其结构:输入的二维图像,先经过两次卷积层到池化... 查看详情

14深度学习-卷积

1.简述人工智能、机器学习和深度学习三者的联系与区别。答:机器学习是现在人工智能领域中主流的一种方法,除了机器学习,科学家也尝试过其他方法在人工智能领域进行诠释和发展,而深度学习则是机器学习里面主流的方... 查看详情

深度学习中的卷积操作(代码片段)

本文从信号处理中的互相关运算引入深度学习中的卷积。然后介绍了不同的卷积类型,以及如何在pytorch中使用这些卷积层。(在看pytorch文档中的Conv1D/2D/3D的时候感到比较困惑,又很好奇深度学习中各种各样的卷积操... 查看详情

cv学习资料《卷积神经网络与视觉计算》+《深度学习实践计算机视觉》+《视觉slam十四讲从理论到实践》电子资料代码分析

视觉和图形学真是一家,基础都一样! 如果学习图像识别,计算机视觉,推荐电子书《视觉SLAM十四讲:从理论到实践》,系统介绍了视觉SLAM(同时定位与地图构建)所需的基本知识与核心算法,既包括数学理论基础,如三... 查看详情

14深度学习-卷积

1.简述人工智能、机器学习和深度学习三者的联系与区别。人工智能是最早出现的,也是最大、最外侧的同心圆;其次是机器学习,稍晚一点;最内侧,是深度学习,当今人工智能大爆炸的核心驱动。搞清三者关系的最简单方法... 查看详情

手把手带你学习神经机器翻译--模型篇(代码片段)

文章目录1、深度神经网络1.1、全连接神经网络1.2、循环神经网络1.2.1、RNN模型代码1.3、卷积神经网络1.4、基于循环神经网络的深度神经序列模型1.4.1Lstm模型实现代码1.5、基于卷积神经网络的深度神经网络模型1.5.1、CNN(fconv&#x... 查看详情

项目实战解析:基于深度学习搭建卷积神经网络模型算法,实现图像识别分类(代码片段)

...度学习这门技术也越来越重要,很多人都开启了学习机器学习,本文将通过项目开发实例,带领大家从零开始设计实现一款基于深度学习的图像识别算法。学习本章内容 查看详情