第一次作业:深度学习基础

1 视频总结

~机器人模块组成

第一次作业:深度学习基础_第1张图片

 

 

~模型分类

第一次作业:深度学习基础_第2张图片

 

 

~监督学习

第一次作业:深度学习基础_第3张图片

 

 

~深度学习的几个不能:不稳定,易被攻击;机器偏见,无法引入有效监督;过于复杂,无法纠错修改;参数不透明;推理性差;端到端对数据依赖性强

~M-P神经元

第一次作业:深度学习基础_第4张图片

 

 

~几种激活函数

第一次作业:深度学习基础_第5张图片

 

 

~单层感知器

第一次作业:深度学习基础_第6张图片

 

 

~万有逼近定理

 

 

~多层感知器

第一次作业:深度学习基础_第7张图片

 

 

~神经网络每一层的作用

第一次作业:深度学习基础_第8张图片

 

 

~BP算法

第一次作业:深度学习基础_第9张图片

 

 

~自编码器(图像降噪,数据降维)

第一次作业:深度学习基础_第10张图片

 

 

 

第一次作业:深度学习基础_第11张图片

 

2.1 图像处理基本练习

这部分内容包括:理解图像类型,进行一些基本的图像分割操作。

(1)下载并显示图像

~下载图像

~显示图像的基本信息

~显示图像

第一次作业:深度学习基础_第12张图片

第一次作业:深度学习基础_第13张图片

(2)读取并改变图像像素值

~将第30行到第100行,第10列到第100列之间像素值置为0(黑)

~将前10行像素值置为0

~将像素值小于80的像素置为255(白)

 第一次作业:深度学习基础_第14张图片第一次作业:深度学习基础_第15张图片第一次作业:深度学习基础_第16张图片

~读取猫的rgb图片,所有r维度高于160的像素值部分全部置为255

BGR_cat = cat[:, :, ::-1]

~将rgb的三层像素值颠倒,得到bgr图像

第一次作业:深度学习基础_第17张图片第一次作业:深度学习基础_第18张图片第一次作业:深度学习基础_第19张图片

(3) 转换图像数据类型

第一次作业:深度学习基础_第20张图片第一次作业:深度学习基础_第21张图片

 (4)直方图hist

将二维矩阵img减少一个维度,img.ravel()使得原二维灰度图像成为一维灰度值序列

第一次作业:深度学习基础_第22张图片

(5)图像分割

先将rgb图像转化为灰度图像,显示直方图,再根据直方图用阈值法(显示像素值除以256大于0.5的像素)对图像进行分割

第一次作业:深度学习基础_第23张图片

(6)Canny算子 进行边缘检测

img_edges = canny(img):

skimage.feature.canny(image, sigma=1.0, low_threshold=None, high_threshold=None, mask=None, use_quantiles=False)
sigma:高斯滤波器的标准差
low_threshold:小于该阈值的像素直接置为0
high_threshold:大于该阈值的像素直接置为255
所以返回一个二值图像?
 
ndi.binary_fill_holes(img_edges):填充孔洞

 

第一次作业:深度学习基础_第24张图片

 

 

 

(7)调整图像的对比度

~载入图像,调整尺度

p2, p98 = np.percentile(img, (2, 98)):取img的2%和98%的百分位数,进行对比度拉伸
第一次作业:深度学习基础_第25张图片
~直方图均衡化
第一次作业:深度学习基础_第26张图片

~低对比度图像、对比度拉伸、直方图均衡化、自适应直方图均衡化之间对比(图像、直方图)

第一次作业:深度学习基础_第27张图片

2.2 pytorch 基础练习

1)主要介绍了一些常见运算,其中点积运算中有一处错误

第一次作业:深度学习基础_第28张图片

 

错误显示m和v的数据类型不同,无法运算,百度后得知:

“torch.tensor()仅仅是Python的函数;torch.Tensor(),Python类,是默认张量类型torch.FloatTensor()的别名,单精度浮点数类型;

将【10】单元格中的第一次作业:深度学习基础_第29张图片修改为torch.tensor()即可:第一次作业:深度学习基础_第30张图片

 

2)

torch. linspace( startendsteps=100out=Nonedtype=Nonelayout=torch.strideddevice=Nonerequires_grad=False) → Tensor

返回一个一维的tensor(张量),这个张量包含了从start到end,分成steps个线段得到的向量。常用的几个变量:

start:开始值

end:结束值

steps:分割的点数,默认是100

dtype:返回值(张量)的数据类型

torch.linspace(3, 8, 20)即得到3到8之间等间距的20个数
 
~产生1000个随机数,观察其分布:
第一次作业:深度学习基础_第31张图片

 

~加大数据量,分布呈正态分布

第一次作业:深度学习基础_第32张图片

 

 

 

2.3 螺旋数据分类

1)3000个样本进行初始化

第一次作业:深度学习基础_第33张图片

 

 2)通过构建线性分类器进行分类后,我们得到这样的结果:

第一次作业:深度学习基础_第34张图片

 

可以看到,虽然大体将数据分为了三类,但是终归是线性分类,样本为螺旋数据,效果并不理想,无法实现准确分类。

3) 构建两层神经网络分类,得到如下结果:

第一次作业:深度学习基础_第35张图片

 

激活函数为ReLU函数的两层神经网络使得该神经网络可以实现非线性分类,准确度得到提升。

2.4 回归分析

1)待求解的回归问题,寻找一个匹配的函数

第一次作业:深度学习基础_第36张图片

 

2)两层神经网络(无激活函数)

第一次作业:深度学习基础_第37张图片

 

 3)激活函数为ReLU和Tanh ,得到结果:

Tanh函数所得结果较ReLU更为平滑

第一次作业:深度学习基础_第38张图片

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(第一次作业:深度学习基础)