深度学习-卷积
1.简述人工智能、机器学习和深度学习三者的联系与区别。
人工智能意味着让计算机以某种方式模仿人类行为。
机器学习是人工智能的一个子集,它包括使计算机能够从数据中找出问题并交付人工智能应用程序的技术。
与此同时,深度学习是机器学习的一个子集,它使计算机能够解决更复杂的问题。
2. 全连接神经网络与卷积神经网络的联系与区别。
答:从广义上说深度学习的网络结构也是多层神经网络的一种。深度学习中最著名的卷积神经网络是由Lecun等人提出的,是第一个真正多层结构学习算法,它利用空间相对关系减少参数数目以提高训练性能。在原来多层神经网络的基础上,加入了特征学习部分,这部分是模仿人脑对信号处理上的分级的。具体操作就是在原来的全连接的层前面加入了部分连接的卷积层与降维层,而且加入的是一个层级:输入层-卷积层-降维层-卷积层-降维层- ....-隐藏层-输出层。深度学习做的步骤是:信号->特征->值,特征是由网络自己选择。
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 |
卷积核:
1 | 0 | -1 |
1 | 0 | -1 |
1 | 0 | -1 |
结果:
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
结果:
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()