IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 李宏毅机器学习笔记:CNN和Self-Attention -> 正文阅读

[人工智能]李宏毅机器学习笔记:CNN和Self-Attention

前言

本文主要记录关于李宏毅机器学习2021中HW3和HW4的卷积神经网络和自注意力机制网络部分的笔记,主要介绍了CNN在图像领域的作用及如何处理图像数据,Self-Attention在NLP(自然语言处理)领域的作用和处理词之间的关系。

一、CNN卷积神经网络

  • CNN处理图像的大致步骤

前面介绍的FCN全连接神经网络是通过把一维的向量不断通过中间的隐藏层的multi和bias最后输出指定列数的vector,而图像这个多维向量是经过一个卷积神经网络最后再经过flatten展开成一维再通过FCN输出对应类别数的一个vector,而中间的CNN处理部分由Kernel——pooling——activation组成,当然CNN的提出是为了解决FCN解决不了多维向量大数据量输入的问题,FCN同样也可以解决图像但是前提是把这个多维的图像数据flatten展开后再输入,可想而知其数据量之大,如下图可表示为CNN大致的处理过程
在这里插入图片描述
如下图展现了使用FCN进行图像处理的数据量大的问题
在这里插入图片描述

  • CNN的特别表现之处

Observation 1:第一个特别表现之处在于其处理数据的局部性,可以明显和FCN作比较,FCN对于输入的数据是把每个数据之间都进行了关联型处理,这样做的结果不仅数据量大计算量大而且冗余量大,因此CNN中使用filter这样一个卷积核实现局部相关性,不需要隐藏层中每一个神经节点都去负责全部的部分,只需要负责其中一小块部分就可以了,最后的时候,每个神经节点负责的部分再综合考虑起来就可以做到效益最大化,如图所示:
在这里插入图片描述

Observation 2:第二个特别表现的地方在于它的位置无关性,比如检测鸟嘴,但是鸟嘴在图片中的位置并不是统一的,这时候不需要去训练多个CNN网络去检测这个位置的鸟嘴还是那个位置的鸟嘴,CNN中只要鸟嘴存在图片中,不论哪个位置,可能当前神经元检测不出来,但是另外一个神经元就可以马上检测出来,这也和CNN的权值共享有关,虽然位置不同但是内容一样表示的含义一样,经过相同的权值就得到类似的结果检测出鸟嘴。
在这里插入图片描述

Observation 3:第三个特别表现的地方就是它特有的pooling池化,池化的主要目的就是减少数据量,多次的池化将要处理的数据不断减小,当然是把次要的特征砍掉,只保留主要重要的特征,池化有很多种,最大池化,平均池化等等,其实池化也是卷积的一种特殊操作而已。
在这里插入图片描述

  • CNN卷积神经网络整体的流程

通过上述说到的几个CNN相比较FCN特别处理之处就可以整理出CNN卷积神经网络处理图像数据的流程图了,如图所示图像经过多次的卷积池化卷积池化再Flatten展开成一维向量最后经过FCN输出类别。
在这里插入图片描述

  • CNN和FCN的比较

CNN和FCN相比较起来,简化了许多流程,CNN也可以看成FCN的简单化,FCN看作是CNN的复杂化,CNN相比较于FCN引入了很多新的方法:卷积核,池化,权值共享,步长等等,CNN可以调整较多的超参数来获得更好的结果,比如调整卷积核大小,卷积核步长等等,CNN不再需要看整个image而仅仅需要看卷积核覆盖住那个区域的image,并且CNN更好地诠释了如何将图像特征一层一层的提取出来,当然这里就要说到feature map即特征图,特征图就是隐藏层中输出或提取出来的抽象图像。
在这里插入图片描述

  • CNN在围棋领域的作用

可能看到围棋没办法让人联想到图像,但是AlphaGo将围棋整个19x19棋面作为image,而channel使用48,主要是围棋面上每个点可能可以走的路数各种可能性作为channel,因此ALphaGO总的来说输入19x19x48的一个围棋数据,然后将要接下去要走的棋子作为分类目标,哪个分类目标可能性大就走哪一步,但值得一提的是在AlphaGo中没有使用到Pooling操作,更多是在做padding,其实可想而知,在围棋这个场景下需要更精细的目标因此不适合将数据量缩小。
在这里插入图片描述

二、Self-Attention自注意力机制

  • 语音或词向量表示

语音和词语不同于图像等数据有直接的数字意义,通常也需要将语音转换成向量表达,最经典的就是one-hot编码,这样的编码方式固然简单但是会产生大量数据,因此又有了词嵌入式,相比于独热编码,一个词表示一个向量,词嵌入通过分类等形式将词向量表示的维度降低。
在这里插入图片描述

  • 自注意力机制基本结构

每个词代表一个向量那么对应的输出的label可以有多种,比如一个词对应一个label,一堆词组成一起对应一个label等等,那么这些词之间是互相关联的如果仅仅用FCN完全做不到进行词之间的互关,比如一个词可能有多个意思,但是在FCN中相同词相同向量必定是相同输出,但是在真实情况下并不是我们所希望的这样,因此需要引入词相关的概念,即在输入向量进入网络处理的时候需要参考上下文context
在这里插入图片描述

  • 自注意力机制具体计算

自注意力机制的具体计算形式主要是通过q,k,v三个参数,来生成attention score,生成的score是经过和其他的词向量进行关联相乘相加,值得注意的是自注意力机制的输入是一整个句子,而不是单个词向量输入,即自注意力机制处理的时候可以很好地把上下文进行关联。
在这里插入图片描述
对于不同的场景可能还会遇到一个词向量拥有多个head即一个词向量拥有多个参数
在这里插入图片描述

  • 自注意力机制机制和卷积神经网络比较

自注意力机制和CNN相比较其实两者很相似,自注意力机制不一定要用在语音领域也可以用在图像领域,其经过特殊的调参发挥的作用和CNN是一模一样的,简单来说,CNN是简化的self-attention,对于一幅图像而言,CNN只需要局部关联处理就行,而自注意力机制需要全部输入然后互关。
在这里插入图片描述
在这里插入图片描述

  • 自注意力机制和RNN的比较

自注意力机制和循环神经网络共同的特点都是主要用于NLP自然语言处理,并且他们对于词上下文都进行了处理,主要不同之处在于RNN对于词输入仅局限于前文,对于后文照顾较少,而自注意力机制直接将上下文都关联照顾到,而且自注意力机制的处理是并行处理,词向量同时进入同时输出,因此整体来说自注意力机制更具有优势。
在这里插入图片描述

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-08-17 15:24:00  更:2021-08-17 15:26:04 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 19:43:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码