1、人工神经网络ANN
从生物课上学到的有关神经元、突触的生物神经网络,被模仿出了简化的人工神经网络(ANN,artificial neural network)。
- ANN结构为:输入层、隐藏层、输出层
- 人工神经元: 基于生物神经元的数学模型
- ANN过程: 输入---加权求和---激活函数
- 激活函数: 类似生物神经元的阈值,达到阈值输出信号(‘神经网络的万能逼近定理’---两层以上神经网络可以逼近任意函数)
2、深度学习架构
(1)卷积神经网络CNN
从早期人工神经网络ANN进一步发展出了卷积神经网络(CNN,convolutional neural network)。convolutional意为卷积的,neural network意为神经网络。
在CNN的架构里把ANN结构中的隐藏层分为了卷积层、池化层、全连接层。
CNN结构为:输入层、隐藏层(卷积层、池化层、全连接层)、输出层
- 卷积层:提取局部特征信息,例如提取图像的边缘、纹理等不同特征。卷积是一种通过两个函数生成第三个函数的数学运算
- 池化层:把一大片分散的资源(特征图中的数据)集中到几个关键点上。减少特征图的尺寸,同时保留重要的特征信息。简化数据,降低计算量。池化即汇聚。增强模型的鲁棒性,也就是让模型在面对一些小的变化(比如图像的轻微旋转、平移等)时,依然能够准确地识别。
- 全连接层:把前面卷积层和池化层提取并简化后的特征全部连接起来,每个特征都与全连接层的神经元有连接,通过一系列的计算,最终输出一个结果。
通俗解释:想象你是一个古董鉴定师,面前有一幅巨大的古代画卷。这幅画卷特别大,你没办法一下子就看出它的所有细节和特点。于是,你拿出一个小的放大镜(相当于卷积核),用这个放大镜在画卷上一点一点地移动查看,对这幅画卷的各种局部特征有了很多了解。但是这些信息实在太多太详细了,你没办法一下子记住所有的。于是,你决定对这些信息进行一些简化。你把画卷分成很多小的区域,对于每个小区域,你只关注这个区域里最突出、最重要的信息(比如最大值、平均值等)。比如,在一个小区域里,颜色最鲜艳的那个点,或者线条最粗的那部分。通过这种方式,你把原来很多详细的信息简化成了一些关键信息,这样你就更容易记住和处理了。接下来,你要根据这些特征来判断这幅画卷的年代、价值等信息。这时候,你需要把之前得到的所有关键特征综合起来考虑。每个特征都像是拼图的一块,你要把它们拼在一起,形成一个完整的画面,然后根据这个完整的画面做出判断。
- 卷积层:拿着放大镜看画卷的过程。
- 池化层:简化信息的过程。
- 全连接层:综合所有特征进行判断的过程。
补充:鲁棒性(Robustness)为一个系统、模型或者物体在面对各种干扰、变化或者不确定性时,依然能够稳定、可靠地工作,保持较好性能的能力。抗干扰
举例自行车与汽车的对比:
想象你要从一个地方去另一个地方,路面状况不太好,有坑洼、石子。如果你骑的是一辆普通自行车,遇到这些坑洼和石子时,可能会颠簸得很厉害,甚至会摔倒,骑行变得很困难,自行车的正常行驶受到了很大影响。但如果你开的是一辆性能良好的汽车,它有着更坚固的底盘和优秀的减震系统,即使在同样的路面上行驶,也能比较平稳地前进,不会因为这些小的路面状况就出现故障或者无法行驶。在这个例子中,汽车就比自行车具有更强的鲁棒性,因为它能更好地应对路面状况这种干扰因素。
(2)循环神经网络RNN
循环神经网络(RNN,Recurrent Neural Network)是一种专门处理序列数据的神经网络。可以把 RNN 想象成一个 “记忆盒子” 链。每个 “记忆盒子” 就相当于 RNN 中的一个时间步的神经元。这些 “记忆盒子” 是相互连接的,前一个 “记忆盒子” 会把它记住的信息传递给下一个 “记忆盒子”。/上下文
举例:想象你在看一部精彩的电视剧。每一集的剧情都不是孤立的,后面的剧情会受到前面剧情的影响。比如主角在第一集做了某个决定,这个决定会在后面几集引发一系列的事件。如果你想理解整部剧的剧情,不能只看当前这一集,还得记住前面各集的关键信息。
应用:文本生成。就像一个擅长写故事的作家,RNN 可以根据前面已经写好的内容,预测下一个可能出现的词语。比如在写小说时,它会根据前面的情节描述,生成合理的后续情节。
(3)生成对抗网络GAN
生成对抗网络(Generative Adversarial Networks,GAN)生成新的有趣的图像或文本。
包含两个部分:生成器(Generator)和判别器(Discriminator)
举例:想象在艺术市场上,有一个假画贩子(生成器)和一个艺术鉴定师(判别器)在进行一场较量。
生成器(假画贩子)一开始并不知道如何画出逼真的画。它从一个随机的噪声开始,尝试创造出类似真实画作的图像。比如,它可能先画出一些模糊、奇怪的线条和颜色组合。在不断的尝试中,它会根据艺术鉴定师(判别器)给出的反馈来改进自己的绘画技巧。如果艺术鉴定师很容易就识别出它画的是假画,它就会调整自己的绘画方式,努力让下一次画的画更像真的。随着时间推移,生成器画的画会越来越逼真。
判别器(艺术鉴定师)它接收真画和假画贩子画的假画,然后判断这些画是真的还是假的。它通过学习真画的特征和假画的特征,来提高自己的鉴别能力。一开始,判别器可能也不太擅长鉴别,但是随着它看到越来越多的真画和假画,它会逐渐学会区分它们之间的细微差别。如果假画贩子的画越来越逼真,判别器也需要不断提升自己的鉴别水平,才能准确地识别出假画。这种对抗推动着双方不断进步。
(4)变换器Transformers
很好地处理长序列的信息,捕捉信息之间的依赖关系。核心是自注意力机制(self-attention),可以并行计算,大大提高了训练速度。采用编码器 - 解码器(encoder-decoder)结构。多用在NLP自然语言处理方面。
像一个聪明的 “翻译官”:假设你要把一个很长的中文故事翻译成英文,这个故事里有很多人物、情节,它们之间都有着各种各样的联系。transformers 就像是一个超级聪明的翻译官,它会先仔细看整个故事,搞清楚每个部分在讲什么,哪些情节是重要的,哪些是次要的。
像一个高效的 “信息整理员”:想象一下你有一大堆杂乱无章的照片,每张照片都代表着一个信息片段,比如有的照片是风景,有的是人物,有的是事件。你想把这些照片整理成一个有条理的相册,让别人一看就明白整个事情的来龙去脉。transformers 就像是一个特别厉害的信息整理员,它会快速地浏览所有照片,然后根据照片之间的相似性、关联性,把它们分类整理好。
3、架构和框架
- 架构:房子的设计蓝图
- 框架:建房的施工工具,标准化的建筑工具和预制的墙体、楼板等组件。包含了一些已经实现好的算法、数据结构和接口,开发者可以在框架的基础上进行二次开发,而不需要从头开始编写所有的代码。
4、深度学习框架
TensorFlow、PyTorch、Keras、PaddlePaddle
5、深度学习和机器学习对比
深度学习效率高,把原来过程的特征提取和分类通过CNN合并为一步。
6、总结
架构:
- 卷积神经网络CNN:卷积层、池化层、全连接层——局部/抽象/整体
- 循环神经网络RNN:时间、序列——有记忆
- 生成对抗网络GAN:生成器(Generator)、判别器(Discriminator)对抗生成图/文
- 变换器Transformers:长序列、信息依赖关系
框架:PyTorch当下常用
鲁棒性——抗干扰性