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

Part1: 深度学习概述:(链接:结论和深度学习概述

主要介绍了从专家系统到机器学习、从传统机器学习到深度学习的变化历程,以及深度学习的能与不能。一些名词概念的区别简单总结如下:

 1. 专家系统:根据专家人工定义的规则,进行推理判断,解决问题。

           机器学习:机器从数据中提取知识自动训练,解决问题。

2. 监督学习:数据标记已知,目的在于学习输入。

    无监督学习:数据标记未知,目的在于发现数据中模式或有意义的信息。

    半监督学习:部分数据标记已知,是监督学习和无监督学习的混合。

    强化学习:数据标记未知但知道与输出目标相关的反馈,适用决策类问题

3. 深度学习的“不能”与解释性:

稳定性低、可调试性差>>找得到  “对症下药” ,出问题快速准确纠错

参数不透明、机器偏见>>看得懂  不再“对牛弹琴”,算法+人的知识体系

增量型差、推理能力差>>留得下  “站在巨人的肩膀上”,越学越聪明

4. 浅层神经网络:

生物神经元、M-P神经元

万有逼近定理:如果一个隐层包含足够多的神经元,三层前馈神经网络(输入-隐层-输出)能以任意任意精度逼近任意预定的连续函数

Part2: 李沐课程学习:(链接:https://link.zhihu.com/?target=http://courses.d2l.ai/zh-v2/

 一、代码练习环境 

在谷歌 Colab 上的 Jupyter 笔记本环境完成 pytorch 代码练习,使用方法参考:https://www.cnblogs.com/lfri/p/10471852.html 

二、数据操作

导入 torch

import torch

张量:表示由一个数值组成的数组,这个数组可能有多个维度。具有一个轴的张量对应数学上的向量。具有两个轴的张量对应数学上的矩阵。具有两个轴以上的张量没有特殊的数学名称。

使用arange创建一个行向量x。这个行向量包含从0开始的前12个整数,默认创建为浮点数。张量中的每个值都称为张量的元素

x = torch.arange(12)
x.shape

#通过张量的shape属性来访问张量的形状 (沿每个轴的长度)。

x.numel()
X = x.reshape(3, 4)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
基于机器视觉的旋转编码器缺陷检测python源码+项目说明.zip 【资源介绍】 该项目是个人毕设项目,答辩评审分达到95分,代码都经过调试测试,确保可以运行!欢迎下载使用,可用于小白学习、进阶。 该资源主要针对计算机、通信、人工智能、自动化等相关专业的学生、老师或从业者下载使用,亦可作为期末课程设计、课程大作业、毕业设计等。 项目整体具有较高的学习借鉴价值!基础能力强的可以在此基础上修改调整,以实现不同的功能。 1 背景及意义 旋转编码器是用来测量转速并配合PWM技术可以实现快速调速的装置,基本上每一个伺服电机都有一个旋转编码器。旋转编码器的质量将直接影响到伺服电机的好坏,所以每一个旋转编码器出厂前都要经过严格的质检。 传统的检测方法是依赖于人工进行的。由于人工缺陷检测存在**劳动强度过高、工作效率低、检测准确性不高、过于依赖个人经验、容易受主观因素**影响等缺点,使得基于机器视觉的自动缺陷检测替代传统的人工检测已经成为重要的趋势。与传统的人工检测相比,基于机器视觉的缺陷自动检测具有以下优点:**①速度快,检测范围更广,检测效率高;②精确度高,检测结果更加客观可靠;③能够实时工作**。 为解决此问题,笔者设计一种基于机器视觉的旋转编码器缺陷检测软件。目前该项目已落地,软件在工厂中使用良好。 2 软件框架 整个缺陷识别过程见下图。首先要获取图片的感兴趣区域(ROI),然后在ROI区域上先进行断裂或孔洞缺陷检测,若有此类缺陷,则先用红色标注该类缺陷,然后再进行凸起缺陷检测,若没有,则直接进行凸起缺陷检测。同理,若有凸起缺陷,则先用蓝色标注该缺陷,然后再显示结果图,若没有该类缺陷,则直接显示结果图 3 获取roi原理 编码器型号多种多样,如何**自适应获取**不同编码器的感兴趣区域?如下图示,这是某种型号的编码器图片,ROI区域是红色线条包围的区域。笔者设计了一种基于形态学的分割算法,可以准确地提取到编码器图像的ROI。大概步骤如下: 1.输入图像。2.原图转灰度图。3.otsu算法获得最佳阈值t。4.灰度图二值化。5.对二值图使用闭操作,其中核函数大小为(50,50),形状使用默认的。6.findContours函数找闭操作后的图像轮廓。7.筛选出面积最大的轮廓作为模板mask。8。将原图的灰度图与mask进行与操作,得到roi。 缺陷检测原理 编码器有多种缺陷,如何检测这些缺陷?将缺陷分为两大类:断裂(孔洞)以及镂空,对每一种缺陷设计不同的算法 对于断裂(孔洞)缺陷,可以使用轮廓面积作为准则来判断;而镂空缺陷,使用两次闭操作进行检测。具体为,首先对二值图进行第一次闭操作,核大小为(30,30),这个操作将会**定位到缺口**的位置,除了缺口,其他地方将会变白;然后再对二值图做第二次闭操作,核大小核大小为(50,50),这次操作是为了得到**与操作的mask**。然后再将第一次闭操作得到的图像**反二值化**,这样缺口就变成了白色。最后将**mask与反二值化好的图片与操作**,得到缺口图像。
【资源说明】 基于深度强化学习DQN的FlappyBird游戏自动玩耍python源码+项目说明+超详细注释+模型.zip 主要环境依赖 Python 3.7.0 Tensorflow 1.12.0 Pygame 1.9.6 模型结构 使用深度卷积网络DCNN与全连接神经网络的结合,对Flappy Bird游戏强化学习进行了值函数逼近。使用游戏实时的数据(状态-动作-回报)作为值函数优化的训练集。 动作空间的动作数为2,可以进行one-hot编码,其中第一位表示无动作,第二位表示“flap”动作。DCNN对连续4帧游戏画面进行采样,最终网络的输出维数与动作空间的维数相等,即为一个2维数组,表示在该状态下所估算的值函数。 经验池 为了供训练使用数据集,构造了一个容量为50000的队列作为经验池,用于存放游戏的决策经验(当前状态,即时动作,即时回报,终止标志,下一步状态)。在最初10000步,先不对网络进行训练,而是直接使用初始化网络,并以 ϵ-greedy 策略进行决策,以产生初始经验,然后10000步后使用这些初始经验进行网络训练,同时以实时游戏经验更新经验池。 ϵ-greedy 策略 在 ϵ-greedy 策略中,该程序设置ϵ初始值为0.1,即以0.1的概率进行随机探索,此处之所以设置ϵ=0.1,是由于若ϵ太大,agent将会以较高的频率进行“flap”,会使得agent触碰上壁或上管道,导致游戏过早终止。这将会导致游戏状态单一,Q网络所能学习到的状态也较少,网络收敛较慢。 训练 训练迭代次数设置为3000000次,实际上可以无限制,次数越大,效果越好。训练使用数据为batch size为32的4通道图像,这是由于单一的一帧图像为静态图像,难以反映连续的状态与动作的变化。后期将探究使用更多帧的图像作为输入数据,并加深DCNN,观察效果。 效果仍然欠佳,但相比初始未训练时,已经勉强可以越过一个管道。随着迭代的次数继续推进,效果将越来越好。后期将公布迭代次数更大的更好效果。 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值