勘探开发人工智能技术:机器学习(6)

0 提纲

7.1 循环神经网络RNN
7.2 LSTM
7.3 Transformer
7.4 U-Net

1 循环神经网络RNN

把上一时刻的输出作为下一时刻的输入之一.

1.1 全连接神经网络的缺点

现在的任务是要利用如下语料来给apple打标签:

  • 第一句话:I like eating apple!(我喜欢吃苹果!)
  • 第二句话:The Apple is a great company!(苹果真是一家很棒的公司!)

第一个apple是一种水果,第二个apple是苹果公司。
全连接神经网络没有利用上下文来训练模型,模型在训练的过程中,预测的准确程度,取决于训练集中哪个标签多一些,如果水果多,就打上水果的标签,如果苹果公司多,就打上苹果公司;显然这样的模型不能对未知样本进行准确的预测。
循环神经网络 (Recurrent Neural Network, RNN) 用于处理序列数据.

1.2 动机

序列数据中, 前后数据之间不是独立的, 而是会产生上下文影响. 如:

  • 文本, 机器翻译一个句子的时候, 不是逐个单词的翻译 (你可以发现近 10 年机器翻译的质量大幅提升, 最近的 chatGPT 更是火得一蹋糊涂);
  • 音频, 可以在微信中让机器把你讲的话转成文字;
  • 投票, 虽然股价预测不靠谱, 但根据时序进行预测却是人们最喜欢干的事情。

1.3 RNN的结构

在这里插入图片描述
左图如果不考虑 W W W,就是一个全连接神经网络:

  • 输入层:向量 x x x,假设维度为3;
  • 隐藏层:向量 s s s,假设维度为4;
  • 输出层:向量 o o o,假设维度为2;
  • U U U:输入层到隐藏层的参数矩阵,维度为 3 × 4 3×4 3×4
  • V V V:隐藏层到输出层的参数矩阵,维度为 4 × 2 4×2 4×2

左图如果考虑 W W W,可以展开为右图:

  • x t − 1 x_{t−1} xt1:表示 t − 1 t−1 t1时刻的输入;
  • x t x_t xt:表示 t t t时刻的输入;
  • x t + 1 x_{t+1} xt+1:表示 t + 1 t+1 t+1时刻的输入;
  • W W W:每个时间点的权重矩阵;
  • o t o_t ot:表示 t t t时刻的输出;
  • s t s_t st:表示 t t t时刻的隐藏层;

RNN 把前一时刻 (简便起见, 前一个单词我也称为前一时刻) 的输出, 当作本阶段输入的一部分. 这里 x t − 1 x_{t−1} xt1为前一时刻的输入, 而 s t − 1 s_{t-1} st1 为前一时刻的输出. 这样, 就把数据的前后联系体现出来了.

1.4 RNN的缺点

每一时刻的隐藏状态都不仅由该时刻的输入决定,还取决于上一时刻的隐藏层的值,如果一个句子很长,到句子末尾时,它将记不住这个句子的开头的内容详细内容。

2 长短期记忆网络LSTM

选择性的存储.

2.1 LSTM的原理

LSTM是高级的RNN,与RNN的主要区别在于:

  • RNN每个时刻都会把隐藏层的值存下来,到下一时刻再拿出来使用,RNN没有挑选的能力;
  • LSTM不一样,它有门控装置,会选择性的存储信息。既有记忆 (重要信息) 的功能, 也有遗忘 (不重要信息) 的功能.

在这里插入图片描述
LSTM多了三个门:

  • 输入门:输入的信息经过输入门,输入门的开关决定这一时刻是否会将信息输入到Memory Cell;
  • 输出门:每一时刻是否有信息从Memory Cell输出取决于这一道门;
  • 遗忘门:每一时刻Memory Cell里的值都会经历一个是否被遗忘的过程.

2.2 讨论?

遗忘也是一种功能吗? 当然是了.
所谓好了伤疤忘了痛, 如果一个人不会遗忘, 很快就精神失常了.
在这里插入图片描述
详细分析见:
https://mp.weixin.qq.com/s?__biz=MzU0MDQ1NjAzNg==&mid=2247535325&idx=1&sn=7d805b06916a3da299e20c0445f59a07&chksm=fb3aefd6cc4d66c06b0f2d5779c83861474d2442f9b3387a4b87f45f3218efc92c3335602678&scene=27

3 变形金刚Transformer:注意力机制

定位到感兴趣的信息, 抑制无用信息 (怎么有点像 PCA).

3.1 CNN及RNN的缺点

  • RNN:很难实现并行(左图,计算 b 4 b^4 b4需要串行查询 a 1 , a 2 , a 3 , a 4 a^1,a^2,a^3,a^4 a1,a2,a3,a4);
  • CNN:可以实现并行,需要堆叠多层的CNN才能学习到整个序列的特征(右图).

在这里插入图片描述

3.2 自注意力机制(self-attention)

采用自注意力机制层取代RNN来处理序列,同时实现序列的并行处理。
自注意力机制具体内容见https://blog.csdn.net/search_129_hr/article/details/129522922

在这里插入图片描述

3.3 注意力机制

数据有重要的数据不重要的数据。在模型处理数据的过程中,如果只关注较为重要的数据部分,忽略不重要的部分,那训练的速度、模型的精度就会变得更好。
如果给你一张这个图,你眼睛的重点会聚焦在红色区域:
在这里插入图片描述

  • 人看脸
  • 文章看标题
  • 段落看开头

在训练过程中,输入的权重也都是不同的,注意力机制就是学习到这些权重
最开始attention机制在CV领域被提出来,后面广泛应用在NLP领域。
在这里插入图片描述

3.4 Tranformer的原理

Transformer 主要分为两部分:Encoder编码器 和 Decoder解码器

  • Encoder:负责把输入(语言序列)隐射成隐藏层(图中第 2 步九宫格表示),即把自然语言序列映射为隐藏层的数学表达的过程;
  • Decoder:把隐藏层映射为自然语言序列。

在这里插入图片描述

4 U-Net

先编码获得内部表示, 再解码获得目标数据 (怎么有点像矩阵分解).

4.1 U-Net核心思想

U-Net 集编码-解码于一体, 是一种常见的网络架构.
如图所示, U-Net 就是 U 形状的网络, 前半部分 (左边) 进行编码, 后半部分 (右边) 进行解码.
在这里插入图片描述
编码部分, 将一个图像经过特征提取, 变成一个小矩阵(28 × 28). 前面说过: 深度学习本质上只做一件事情, 就是特征提取.
解码部分, 将压缩表示解压, 又变回大矩阵,完成图像分割任务.
从思想上, 压缩与解压, 这与矩阵分解有几分类似, 都是把数据进行某种形式的压缩表示.

输入的是原始图像,通过网络结构后得到的是分割后的图像。
最特殊的部分是结构的后半部分,该网络结构没有全连接层,只采用了卷积层,每个标准的卷积层后面都紧跟着一个Relu激活函数层

4.2 U-Net的应用

自编码器. 直接将输入数据作为标签, 看编码导致的损失 (更像矩阵分解了).
风格迁移:从一种风格转换为另一种风格. 如将自然照片转换成卡通风格, 将地震数据转换成速度模型 (2010年如果你这么做会被业内人士笑话的).
图像分割, 或提取图片的边缘. 嗯, 这个和转成卡通风格也差不多.
机器翻译. 把句子编码成机器内部的表示 (一种新的世界语言?), 然后转成其它语言的句子.
输入一个头, 输出多个头, 就可以做多任务. 如在速度模型反演的同时, 进行边缘提取, 这样导致反演的结果更丝滑.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/86305.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mac M1 安装Oracle Java 与 IEDA

文章目录 1 官网下载2 安装IDEA参考 1 官网下载 https://www.oracle.com/ 使用finder中的拖拽进行安装即可 2 安装IDEA https://www.jetbrains.com/zh-cn/idea/download/?sectionmac 同样的,下载完后拖拽安装即可 参考 Mac M1 安装Java 开发环境 https://blog.…

倒数纪念日-生日提醒事项时间管理倒计时软件

倒数纪念日​​​​​​​是一款功能强大的时间管理、事项提醒软件。帮你更好的管理倒数日、纪念日、生日、节假日、还款日等各种重要日子,通知提醒,让你不再错过生命中的每一个重要日子。 【功能简介】 分类管理:倒数日、纪念日、自定义分类…

【VB6|第22期】用SQL的方式读取Excel数据

日期:2023年8月7日 作者:Commas 签名:(ง •_•)ง 积跬步以致千里,积小流以成江海…… 注释:如果您觉得有所帮助,帮忙点个赞,也可以关注我,我们一起成长;如果有不对的地方&#xff…

4.1 Windows终端安全

数据参考:CISP官方 目录 安全安装保护账户安全本地安全策略安全中心系统服务安全其他安全设置软件安全获取 一、安全安装(以安装windows系统为例) 选择合适的版本 商业版本:家庭版、专业版、专业工作站版、企业版特殊版本&…

哪些CRM的报价公开且透明?

企业在选型时,会发现很多品牌的CRM系统价格并不透明,往往都是需要跟产品顾问沟通后才能了解。下面推荐一款价格实在的CRM系统,所有报价公开透明,那就是Zoho CRM。 Zoho CRM是什么? Zoho CRM是一款在线CRM软件&#x…

音视频研发分享:关键帧截图+wasm快照--我又做了一件有益于社会的事情

音视频研发分享:关键帧截图wasm快照--我又做了一件有益于社会的事情 简单的一个视频设备快照功能到底有多费事多费电?新的方法有方法! 省了多少电? 简单的一个视频设备快照功能到底有多费事多费电? 以前,我…

leetcode24. 两两交换链表中的节点

题目:leetcode24. 两两交换链表中的节点 描述: 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。 思路&…

MapReduce基础原理、MR与MPP区别

MapReduce概述 MapReduce(MR)本质上是一种用于数据处理的编程模型;MapReduce用于海量数据的计算,HDFS用于海量数据的存储(Hadoop Distributed File System,Hadoop分布式文件系统)。Hadoop MapR…

【力扣每日一题】2023.8.12 合并K个升序链表

目录 题目: 示例: 分析: 代码: 题目: 示例: 分析: 题目给我们一个链表数组,数组里的链表都是升序的,让我们合并这些链表,要求合并之后还是升序的。 最简…

【C语言】数据在内存中的存储详解

文章目录 一、什么是数据类型二、类型的基本归类三、 整型在内存中的存储1.原码、反码、补码2.大小端(1)什么是大小端(2)为什么会有大小端 四、浮点型在内存中的存储1. 浮点数存储规则 五、练习1.2.3.4.5.6.7. 一、什么是数据类型 我们可以把数据类型想象为一个矩形盒子&#x…

JVM—内存管理(运行时数据区)、垃圾回收

背景介绍 当JVM类加载器加载完字节码文件之后,会交给执行引擎执行,在执行的过程中会有一块JVM内存区域来存放程序运行过程中的数据,也就是我们图中放的运行时数据区,那这一块运行时数据区究竟帮我们做了哪些工作?我们…

阿里巴巴面试题---考察对底层源代码的熟悉程度

题目如图所示: 很多人可能会觉得两个输出都会是false,因为我们都会觉得""比较的是引用类型的地址,虽然放入的值都一样但是重新创造了新对象,地址不一样,所以结果都是false. 然而,当我们运行程序会发现结果都是false. 下面,我们来分析为什么是这样的结果. 我们知道…

DolphinScheduler集群搭建详细笔记

1.DolphinScheduler Cluster部署 1.1 集群部署规划 集群模式下,可配置多个Master及多个Worker。通常可配置2~3个Master,若干个Worker。由于集群资源有限,此处配置一个Master,三个Worker,集群规划如下。 主机名ip服务…

sklearn机器学习库(一)sklearn中的决策树

sklearn机器学习库(一)sklearn中的决策树 sklearn中决策树的类都在”tree“这个模块之下。 tree.DecisionTreeClassifier分类树tree.DecisionTreeRegressor回归树tree.export_graphviz将生成的决策树导出为DOT格式,画图专用tree.export_text以文字形式输出树tree.…

【论文阅读】DEPCOMM:用于攻击调查的系统审核日志的图摘要(SP-2022)

Xu Z, Fang P, Liu C, et al. Depcomm: Graph summarization on system audit logs for attack investigation[C]//2022 IEEE Symposium on Security and Privacy (SP). IEEE, 2022: 540-557. 1 摘要 ​ 提出了 DEPCOMM,这是一种图摘要方法,通过将大图划…

axios请求

参考:https://www.axios-http.cn/docs/instance

windows安装docker 异常解决

Docker for Windows 安装Docker for Windows报错信息:Docker Desktop requires Windows 10 Pro/Enterprise/Home (18363). 解决方式 1.更新 Windows 系统版本Windows10Upgrade9252.exe 下载地址下载完运行 Windows10Upgrade9252.exe更新完,安装 Docke…

【Hilog】鸿蒙系统日志源码分析

【Hilog】鸿蒙系统日志源码分析 Hilog采用C/S结构,Hilogd作为服务端提供日志功能。Client端通过API调用(最终通过socket通讯)与HiLogd打交道。简易Block图如下。 这里主要分析一下。Hilog的读、写、压缩落盘,以及higlog与android…

python异步IO完全指南

原地址:https://flyingbyte.cc/post/async_io/ python异步IO完全指南 做为一种并行编程的範式,异步IO在Python中非常受重视,从Python3.4到3.7快速演进。 我们已经有多线程,多进程,并发(concurrency&#x…

第R3周 - 天气预测

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 我的环境: 语言环境:Python3.10.7编译器:VScode深度学习环境:TensorFlow 2.13.0 数据集: 一、前期…