设为首页|收藏本站|
开启左侧

[问答] 深度学习概念引导式入门

[复制链接]
21882 0
呼呼小欧 发表于 2022-4-26 23:40:51 | 只看该作者 打印 上一主题 下一主题
 
本文为作者在入门深度学习的一些学习心得和学习笔记,有一定的借鉴价值。
写在前面:学习记录的前段是在学习初期翻阅网上资料时所撰写,后段是在读完一整本《Python神经网络编程》所写。幸运的是,我以前在学习爬虫的时候用过Python,所以Python代码,模块的引入等对我好像不是什么问题。我对深度学习充满了无限兴趣(这真是线性代数第一次在我的代码中发挥作用!!!)
插一句,学习线性代数,我推荐MIT线性代数(麻省理工),线代教材的天花板!
先给出想要入门深度学习的初学者一些思考题。

深度学习概念引导式入门 第1张图片

深度学习概念引导式入门 第2张图片

深度学习概念引导式入门 第3张图片

深度学习概念引导式入门 第4张图片
下面是关于题目的个人见解(之后给出自己整个学习过程中的一些记录)。
1.深度学习对比传统机器学习有什么优势?
自从 MIT Technology Review(麻省理工科技评论) 将 深度学习 列为 2013 年十大科技突破之首。加上Google 的 AlphaGo 与李世石九段惊天动地的大战,AlphaGo 以绝对优势完胜李世石九段。
以卷积神经网络(CNN)为代表的方法在图像处理领域已经取得了统治地位。同样的,递归神经网络(RNN) 在语音处理方面也大放异彩。我们知道:深度学习的时代到来啦!
深度学习区别于机器学习最大的特征就是“”(非线性的建模能力很强)
以往在机器学习用于现实任务时,描述样本的特征通常需由人类专家来设计,特征的好坏对性能有至关重要的影响,人类专家设计出好的特征并非易事;
而深度学习则通过机器学习技术自身来产生好特征,这使机器学习向“全自动数据分析”又前进了一步。
按我个人的理解,比如说高中我们所学的线性回归方程(最小二乘法)。机器学习想要拟合出那条曲线,很依赖于通过人类科学家所给出的那个公式(就是我们学的那一系列拟合公式);而深度学习不一样,它是通过先随机给出一条初始直线(这里的随机并不是真的随机,而是在一定限度内的随机),再去计算误差,再根据误差去调整参数,最后不断降低梯度得到目标曲线。
通俗地讲:传统机器学习是给计算机分配要完成的任务,而深度学习是让计算机自己思考出解决问题的方法。
可能通过前面的线性问题,我们感觉不出二者的明显差异,但是在处理非常复杂的非线性问题时,即使是人类科学家也不能给出解决问题的“公式”(比如说下围棋),那么深度学习上场的机会就来了!
生物的大脑之所以强大,正是因为“模糊化处理”,它们不像计算机那样准确性,无二义性,但是它们就是强大!一只线虫有302个神经元,与今天的数字计算机相比,简直微乎其微!但是一只线虫所能完成一些相当有用的任务,而这些任务对于尺寸大得多的计算机却难以完成。这正得益于生物处理问题时的“模糊化处理”。
“模糊化处理”,在计算机领域,某种意义上就相当于非线性映射。而处理非线性映射问题正是深度学习的拿手好戏!所以我们完全有理由相信深度学习可以为AI带来新的曙光!

2. 当下最常用的神经网络--卷积神经网络 CNN 在处理深度学习问题上有哪些优点?

网络资料如下:
卷积神经网络一般用于语音识别、自然语言处理、目标识别目等领域,卷积神经网络巨大优势和潜力在目标识别分类任务上体现的淋漓尽致。
以下为个人观点:
卷积神经网络,区别于传统的神经网络有着巨大的优势,甚至于到现在为止CNN仍然是最先进的目标识别神经网络。

  • 别出心裁的“pooling层”(处理大数据无压力)
以识别图像为例,试想:在特斯拉无人驾驶汽车行径途中,地上躺了一个人,此时系统需要判断是否应该避障,那么此时汽车需要识别出这是一个人,而不是一张“不需理睬”有色的“大纸张”。如果应用传统的神经网络识别,需要识别的这么一张图片,蕴含了很多数据(我们知道,图像是由一个个像素点构成,每个像素点有三个通道,分别代表RGB颜色,那么,如果一个图像的尺寸是(28,28,1),即代表这个图像的是一个长宽均为28,channel为1的图像。如果使用全连接的网络结构,即网络中的神经元与相邻层上的每个神经元均连接,那就意味着我们的网络有28 * 28 =784个神经元,hidden层采用了15个神经元,那么简单计算一下,我们需要的参数个数(w和b)就有:784*15*10+2=117602个,这个参数太多了,随便进行一次反向传播计算量都是巨大的,从计算资源和调整参数的角度都不建议用传统的神经网络。)。待到识别完毕,早就错过了刹车的最佳时机。但是,在此方面,应用卷积神经网络会有巨大的优势:

  • 池化层(下采样)在保留最有效数据的同时,减少了数据的数量。另外,池化层对于微小的数据偏差具有鲁棒性。
2.“卷积核”的威力
共享卷积核处理三维数据无压力。(参考链接:如何理解卷积神经网络中的权值共享? - 知乎 (zhihu.com)
3.无需手动选取特征,训练好权重,即得特征分类效果好。
这是我认为CNN一个很突出的优点,想象一下,不需要手动选取特征,通过机器自己去思考图像的特征,训练权重,就可以得到预期效果,这多是一件美事!
4.位移不变性(参考链接:https://blog.csdn.net/xuesen_lin/article/details/116107256)
5.尺度不变性(参考链接同上)
6.鲁棒性和抗干扰性强。
以识别一个X为例,让X的四角变粗或者变细,但是在卷积核的特征提取作用下,仍然能识别出这是一个X!

3.

在一个大型神经网络中,输入数据一般会经过多层神经网络最终得到输出数据。而每一层神经网络往往都有它独特的意义,深入理解不同神经网络的作用对我们以后的开发与设计非常重要。下图 1.1 是一个 计算机视觉(CV, Computer Vision)领域的常用数据集(CIFAR10),我们让图 1.1 分别经过两种不同的神经网络(单层)处理得到了图 1.2 与图 1.3,尝试思考这两张图分别是经过了什么处理得到的呢?全连接层,pooling层,dropout层,或是卷积层?为什么这么判断?(注意,由 1.1 到 1.2 和 1.1 到 1.3)


1.2是卷积层:在捯饬清楚CNN的各层功能以及作用后,这个答案也很明显 。卷积层的主要作用即为图片特征提取(蓝色的矩阵(输入图像)对粉色的矩阵(filter)进行矩阵内积计算并将三个内积运算的结果与偏置值b相加(比如上面图的计算:2+(-2+1-2)+(1-2-2) + 1= 2 - 3 - 3 + 1 = -3),计算后的值就是绿框矩阵的一个元素)。
因此通过这一层的图像在图像的纹理,边缘,或者颜色信息被一定程度上提取出来。
而这里主要解释一下卷积层和激励层的区别:
卷积神经网络所用的激活函数为Relu,在输入值小于0时会被抹除,所以经过Relu的图像会更加简洁。下面给出一个例子:

深度学习概念引导式入门 第5张图片

深度学习概念引导式入门 第6张图片

迪丽热巴的照片

深度学习概念引导式入门 第7张图片
如上右图,为经过一次激励层的迪丽热巴,可以看出只保留了一些边缘的特征,所以经过激励层的图像一般更为简洁,没有炫目的纹理,嗯嗯,我是这么认为的。

1.3是池化层:1.3的分辨率降低,我们知道,池化层最主要的目的就是压缩图像,所以答案显而易见。

以下是一些学习笔记,很遗憾,因为后来看的是纸质书,所以没有完整记录后面的学习心得。

  • 我必须理解何为深度学习。


  • 知乎一条答复是这样的:

深度学习概念引导式入门 第8张图片
与其说何为深度学习,不如说深度学习不是什么。深度学习≠AI,但是要说如果深度学习在未来会成为AI的核心技术,是完全有可能的。(我此时认识到了,深度学习是AI的一种实现方法,它并不等同于AI,但它在AI中的地位不同凡响。具体关系图如下)
在这个的基础上,我查阅了深度学习的基础概念,如下:
深度学习的概念源于人工神经网络的研究,含多个隐藏层的多层感知器就是一种深度学习结构。 深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。 研究深度学习的动机在于建立模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,例如图像,声音和文本等。

  • 我承认,在阅读这段话的时候确实有些头晕,何为分布式特征表示?又是怎么根据人脑发展而来的?在查阅资料中,我开始初步理解了深度学习是怎样基于对人脑的研究发展起来的。
分布式特征表达参考了文献链接:
(9条消息) 何谓分布式特征表达?_麦地与诗人的博客-CSDN博客_分布式特征
我在参考此链接时,看到了这样一句话:
简单来说,神经网络的学习过程,就是通过训练数据调整神经元之间的连接权值以及每个功能神经元的输出阔值。换言之,神经网络需要学习的东西,就蕴含在连接权值和阔值之中。
虽然我对这句话一知半解,但是我认识到:这句话的意义一定不同寻常!我必须把它记录下来!(后来证明,我的想法是对的!)
那么分布式特征表达到底是什么:
举例来说,对于“小红汽车”这个概念,如果用分布式特征来表达, 那么可能是一个神经元代表大小(形状:小), 一个神经元代表颜色(颜色 : 红),还有一个神经元代表车的类别(类别:汽车)。 只有当这三个神经元同时被激活时,才可以比较准确地描述我们要表达的物体。
分布式表征表示有很多优点。 其中最重要的一点莫过于当部分神经元发生故障时, 信息的表达不会出现覆灭性的破坏。 比如,我们常在影视作品中看到这样的场景,仇人相见分外眼红,一人( A )发狠地说,“你化成灰,我都认识你( B )! ”这里并不是说 B 真的“化成灰” 了, 而是说,虽然时过境迁,物是人非,当事人B的外表也变了很多(对于识别人A来说, B在其大 脑中的信息存储是残缺的),但没有关系,只要B的部分核心特征还在,那A还是能够把B认得清清楚楚、真真切切的!
在众多解释中,我认为这个解释很生动形象。看来,分布式特征表达不过如此嘛!
我推测:神经网络模型一定是把总体特征分成各个局部特征,分别处理最后整合在一起来推测出输出值。那么我们在理解分布式特征表达的过程中好像就要揭开深度学习的神秘面纱了。


  • 那么为什么说深度学习是基于人脑的研究发展起来的?
参考链接1:(基于神经元传递信息的方式)

深度学习概念引导式入门 第9张图片

深度学习概念引导式入门 第10张图片
(9条消息) 神经网络——最易懂最清晰的一篇文章_illikang的博客-CSDN博客_神经网络

一个神经元通常具有多个树突,主要用来接受传入信息;而轴突只有一条,轴突尾端有许多轴突末梢可以给其他多个神经元传递信息。轴突末梢跟其他神经元的树突产生连接,从而传递信号。这个连接的位置在生物学上叫做“突触”。
链接中有详细的解释,在参考完成后,我明白了神经元传递信息的机理,我又询问了电子科技大学电动方程式车队无人系统组的学长,他向我阐释了神经元传递信息甚至是神经元间通过突触传递信息与深度学习中神经网络的对应关系。他又拿卷积层神经网络为例,阐释了“神经网络”是怎么传递信息的。其中他讲述的一些数学部分,比如说逻辑回归,几种常见的激活函数,卷积运算符,所需用到的线性代数知识,梯度等等。让我对神经网络有了更清晰的理解。
更加令人欣喜的是:在参考了本文本之后,我尝试着总结出了关于神经网络的一些知识:

  • 所有有用的计算机系统都有一个输入和一个输出,并在输入和输出之间进行某种类型的计算。神经网络也是如此。

  • 当我们不能精确知道一些事情如何运作时,我们可以尝试使用模型来估计其运作方式,在模型中,包括了我们可以调整的参数。如果我们不知道如何将输入转换为输出,那么我们可以使用线性函数作为模型,并使用可调节的梯度值作为参数。

  • 改进这些模型的一种好方法是,基于模型和已知真实示例之间的比较,得到模型偏移的误差值,调整参数。
我恍然大悟,也许神经网络的构建不需要多么复杂的数学知识,和多么精妙的编程能力。我想,这正是深度学习的优势。那么接下来我尝试着回答第一个问题,深度学习对比传统机器学习有什么优势?
2.深度学习对比传统机器学习有什么优势?
当然,我意识到距离回答出这个问题还有一些距离,那么我并不希望自己直接在搜索引擎去搜索出答案,但是要回答出这个问题我还要解决几个基础的问题:

  • 什么是机器学习?(机器学习的原理)
  • 机器学习到深度学习的发展史。
  • 机器学习和深度学习所需数学知识有区别吗
  • 机器学习和深度学习的应用区别
在思考并且查阅了以上的资料后,我给出了自己的答案,答案见本文最初页。

在查阅资料中,我看到了一句有趣的话,“对于深度学习,数据是其燃料,没了燃料,深度学习也巧妇难为无米之炊”。
3.用Python编写神经网络

深度学习概念引导式入门 第11张图片

深度学习概念引导式入门 第12张图片
书的目录就是我的学习过程。
在这个过程,领略了权重的重要性,学会了神经网络的基本组件,各层之间连接的方式。用一个简简单单的矩阵乘法去简化代码,激励函数之一——S函数,以及相关的Python模块,优化梯度的方法,权重如何更新,权重更新的数学式子,用矩阵的转置再一次表示复杂的运算,反向传播误差的方式,多隐藏层的更新权重方式,避免过调的方式,学习率是什么等等等等……
本书还细致地讲解了怎样用Python构建自己的神经网络,以及应用实例——Mnist手写数字识别。
至此,我比较完整地了解了神经网络,以及如何编写它。

4.当下最常用的神经网络--卷积神经网络 CNN 在处理深度学习问题上有哪些优点?

首先我们需要理解的是:什么是CNN?
参考链接:https://www.jianshu.com/p/1ea2949c0056
阅读这个资料的时候确实有一点困难,我被那些卷积核移动弄得傻头傻脑的
好在接下来我参考了哔哩哔哩的一个视频:大白话讲解卷积神经网络工作原理_哔哩哔哩_bilibili
其余的参考链接有:https://blog.csdn.net/xuesen_lin/article/details/116107256

CNN 入门讲解:图片在卷积神经网络中是怎么变化的(前向传播 Forward Propagation)? - 知乎 (zhihu.com)

CNN入门讲解:如何理解卷积神经网络的结构(Structure)? - 知乎 (zhihu.com)

CNN入门讲解:卷积层是如何提取特征的? - 知乎 (zhihu.com)

这次写文有点草草,内容也不一定准确,请大家取其精华,弃其糟粕。

写在最后
我们知道,神经网络通过目标值与实际输出的差值,来更新权重,使得我们的输出逐渐接近理想状态。机器是在模仿人来做出这一系列举措的,而现在是人类反过来向机器学习的时候了!我们每一个人心中都有自己的一个理想状态,那么为了达到目标,我们是否具有不知疲倦地调整着自己的各种习惯,使自己无限趋近于理想的勇气呢?


上一篇:MIT和哈佛物理去哪个?
下一篇:苏黎世联邦理工学院:爱因斯坦的母校,QS世界大学排名第 ...
@



1.西兔生活网 CTLIVES 内容全部来自网络;
2.版权归原网站或原作者所有;
3.内容与本站立场无关;
4.若涉及侵权或有疑义,请点击“举报”按钮,其他联系方式或无法及时处理。
 
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

排行榜
活跃网友
返回顶部快速回复上一主题下一主题返回列表APP下载手机访问
Copyright © 2016-2028 CTLIVES.COM All Rights Reserved.  西兔生活网  小黑屋| GMT+8, 2024-5-18 06:58