“PaddlePaddle“《百度架构师手把手带你零基础实践深度学习》学习笔记

目录

  • 前言
  • 前三章概述
    • 第一章 零基础入门深度学习
    • 第二章 一个案例吃透深度学习
    • 第三章 计算机视觉
  • 第四章 目标检测YoloV3
  • 结语

前言

这是我在学习百度AI Studio课程《百度架构师手把手带你零基础实践深度学习》后的学习笔记。

因为时间比较匆促,再加上想写的内容如果展开来写会比较多,所以下面没有涉及太多的技术细节也没有具体的代码实现,只是记录了这个课程的基本内容,以及我的一些理解与感悟。

前三章概述

前三章的内容相对来说比较简单,下面就简单地介绍一下前三章的内容。

第一章 零基础入门深度学习

第一章的课程内容是深度学习的基础知识,包括人工智能、机器学习和深度学习的定义与关系,并且讲解了深度学习的发展历程与应用场景。

在第一章里还使用Python语言和numpy库实现了波士顿房价预测任务,令我们对神经网络有一个更加直观的认识。并且在这个项目中,还引出了深度学习的构建和训练的五个基本步骤:数据处理、模型设计、训练配置、训练过程和模型保存

在第一章的最后,课程讲解了如何安装并使用飞桨深度学习框架,并使用该框架重新实现了波士顿房价预测任务,可以明显地感受出,在使用飞桨深度学习框架之后,神经网络的实现过程更加简单、清晰了。

第二章 一个案例吃透深度学习

在第二章中,更向前进了一部,任务内容从预测房价变为了识别手写数字。

在这一章里,通过“横纵式”教学法,首先纵向概要介绍了模型的基本代码结构和极简实现方案,然后再从横向展开,逐个环节优化,以达到最优训练效果。

通过这种方式,将模型的预测准确率提升到了98%以上,整个过程清晰明了,由浅入深,提升了学习的速度。

第三章 计算机视觉

在第二章中只是简单地使用了卷积神经网络,而在这一章,则更加深入地探讨了卷积神经网络的基础内容并介绍了其基础模块:卷积、池化、激活函数、批归一化以及丢弃法。(我更喜欢丢弃法Dropout的另一个翻译:随机失活)

在第二章的最后,介绍了几个典型的图像分类的卷积神经网络,并使用飞桨实现了这些模型,其中包括:LeNet、AlexNet、VGG、GoogLeNet和ResNet。

第四章 目标检测YoloV3

第四章的内容是目标检测任务,并实现了YOLO-v3模型,用该模型完成了识虫任务。这一章的难度相对前三章来说比较大,但是如果理清了数据处理、特征图与预测框的关联还有损失函数的计算,那么理解起来就比较简单,而YOLO-v3的模型本身是其实比较容易理解的。

在这一章的课程可以分为一下几个部分:

  1. 数据处理
  2. 生成并标注锚框
  3. 特征提取
  4. 关联特征图和锚框
  5. 计算损失
  6. 多尺度计算
  7. 端到端
  8. 预测
  9. 消除冗余框

在这里,因为因为课程将生成并标注锚框放在了第2步,将关联特征图和锚框放在了第4步,中间被特征提取所隔开,加上这个部分本身就比较复杂,所以导致我在学到多尺度检测这部分的时候,对这部分内容产生了困惑。

在思考了一段时间后,我成功解决了这个问题。经过这次思考,我感觉其实更应该将生成并标注锚框关联特征图和锚框这两部分放在一起讲。
因为课程首先是在模型最后一层的输出,也就是尺寸最小的特征图上进行操作的,所以这两部分也是与最小的特征图关联。
而在多尺度检测中,会涉及倒数第二层和倒数第三层的输出特征图的操作,上面两个步骤也随之改变。虽然这个改变很小甚至连具体实现代码也是几乎没有变动,只是特征图的步幅发生了变化后,锚框的生成等也要发生变化。但是因为特征提取把这两个部分分隔开了,导致我对两个部分的理解被分隔开,所以对多尺度检测这一部分中的特征图与锚框的关联产生了疑惑。

结语

其实这个疑惑来的快,去的也快,但是也反映了一定的问题。
首先是对课程的编撰应该更加合理,有时候只是一个简单的顺序问题,或者是一句话没有写上,也会导致学生的思路无法转过弯。
其次,我们学生也要从更全面的角度来思考问题,如果只着眼于眼前的一小片内容,则很容易陷入困境,但其实只要多结合上下文,理清思路,那么这些问题也许就很容易解决。

你可能感兴趣的:(深度学习,深度学习)