Deep Learning Part Eight--Attention 24.5.4

01.在翻译、语音识别等将一个时序数据转换为另一个时序数据的任务中,时序数据之间常常存在对应关系

引入了Attention的概念,介绍了Attention的注意力机制:

困难出现,seq2seq的问题引入:固定化长度问题(过于死板)占用的资源过多

 具体化实例引入:就好比把衣服乱塞,早晚都会出问题———衣服找不到的,回到案例:我们用固定化长度,终将会造成信息溢出的问题。

解决方案引入:编码器改进(核心:根据输出的隐藏层来对信息进行合理的长度规划) 

 长度改变的策略:隐藏层线索改善

 问题连锁发现:各个输出的向量中蕴含着各个单词的对应信息,为接下来的Attention从数据中学习两个时序的对应关系埋下伏笔:

 讲述了编码器的改进:可以根据输出的隐藏层灵活变换,减少不必要的信息扩充(核心:简化)

 解码器随着编码器的改进一同改进:核心目的:提高机器学习seq2seq的效率,优化程序。

下面核心强调了对齐对机器翻译的好处:(这里是专注于一个单词,或者是单词集合的;举个例子:例如:中文“猫”,翻译程序就将英文“cat”与“绑定”,像不像一个男孩极致去只爱一个女孩!!!浪漫,为什么我热衷于这种思维?嘿嘿,看过斗罗大陆的宝子们都知道答案的嘞,每部都是男主只爱女主一个人,无论发生什么!所以这也许是斗罗留给我童年最珍贵的礼物吧,O(∩_∩)O哈哈~)

类比人类玩极致(就是将精力全部放在一件事情上,也类似于斗罗大陆的极致武魂:斗罗大陆2:绝世唐门:霍雨浩的极致之冰(冰碧帝皇蝎),王秋儿的极致之光明和极致之力量(金龙王),马小桃的极致之火(邪火凤凰),斗罗大陆4:终极斗罗:蓝轩宇的九种元素全部极致,(蓝银皇武魂,龙神血脉!!!)哈哈)

极致就是那么无敌!!!

也可以理解绝对的专注!!!

一生专注做于一件事!!!

一生专注爱一个人!!!

一生专注于一个梦想!!!

 

 介绍了改进后的解码器层结构,然后引出了下文Atttention的可微对下面用到的神经网络的学习核心:误差反向传播法的重要性,为啥重要?因为:不可微分的话,误差反向传播法就用不了啦(没错,就是数学的可微分的意思,宝子要相信自己!)

02.Attention 从数据中学习两个时序数据之间的对应关系

接下来,介绍了一个实战案例:日期格式转换的嘞

核心:就是你随便输一个格式的日期,她都会给你转换成一种固定的格式。

 机器学习的本质:你给他准备好一个一个好的数据集,给他些时间,他会自己探索其中的规律的。

这里我们给他了一个5000个日期的数据集,让他学习一下。

 

 学习结果:通过终端看:

 学习正确率:通过图像来看

通过图像对比基础状态,偷窥状态,和注意力状态学习的效率

03.Attention 使用向量内积(方法之一)计算向量之间的相似度,并输出这个相似度的加权和向量

 先说明:向量内积计算相似度,并输出加权和的核心目的:就是为了帮助更好的实现之前所说的Attention的对齐,也就是玩极致,让每个单词都对应一个翻译后的单词,提高翻译效率和准确率(书上称为精度:也就是精准度,看你翻译的好不好的嘞)。然后就没了的,所以学习这部分不用害怕的。

 

讲述了通过加权和计算可以得到上下文的向量(也就是坐标) ,抽象可以理解为机器理解啦翻译这个工作的嘞

(偷偷说,这难道不是我们小学的记答案,摸索答案的规律,然后蒙答案嘛,真的神似,说实话,机器其实啥也不会的,很笨很笨,但是,一些大牛通过让机器(也就是电脑,还可以称呼他为图灵机)学习大量的数据,从大量数据中摸索规律,然后成功的让机器大概了解怎么为人类工作的,对的,机器就是那么笨的,不怕你笑话的,但是机器有几点优点:不死性和可以精准学习我们人类根本难以想象的数据内容的,这就决定了人类通过现有的方式是永远也没有任何胜算的,但人类也有机器无法媲美的优点,那就是人类不完美中绽放着完美之花!!!熠熠生辉。人类的任何灵感和大胆的想法,更加是机器所无法取代的!!!)

人类可以没有机器聪明,但是可以比机器更蠢哇!有时候,做个可爱的小蠢货也挺好得嘞!

两个极端都是一种智慧!聪明与蠢蠢,大智如愚嘛!

未来,我就做个可爱的小蠢货啦!哈哈

 

 

接着再讲一下解码器的改进:

核心:为Attention服务

初心:为了让机器翻译功能更精准!优化机器翻译。 

 

 

 介绍了向量内积的基础概念和实战案例:

然后啥是相似度?

 

hs是个啥?

使用编码器各个时刻(各个单词)的 LSTM 层的隐藏状态(这里表示为 hs

LSTM这个加工厂的隐藏层状态的加工品和另一个工厂的加工品对比一下的嘞

可以类似:华强北的师傅们的copyApple的优秀产品的

向优秀者学习:这可是乔布斯老爷子的至理名言!

没说谎,Stay hungry,stay foolish.

Good artists copy, great artists steal!

优秀者模仿,伟大者剽窃!

高尚是高尚者的墓志铭,卑鄙是卑鄙者的通行证!

--这也许就是好人难做的法则吧!

做人嘛,我个人还是分裂型人格的,善良与邪恶都要有的

面对善良的人,那就是善良的

面对恶人,那就是邪恶的!

用善良对待值得的人,用邪恶保护善良!

 然后老一套,softmax

 

import sys
sys.path.append('..')
from common.layers import Softmax
import numpy as npN, T, H = 10, 5, 4
hs = np.random.randn(N, T, H)
h = np.random.randn(N, H)
hr = h.reshape(N, 1, H).repeat(T, axis=1)
# hr = h.reshape(N, 1, H) # 广播t = hs * hr
print(t.shape)
# (10, 5, 4)s = np.sum(t, axis=2)
print(s.shape)
# (10, 5)softmax = Softmax()
a = softmax.forward(s)
print(a.shape)
# (10, 5)

 

 

 

class Attention:def __init__(self):self.params, self.grads = [], []self.attention_weight_layer = AttentionWeight()self.weight_sum_layer = WeightSum()self.attention_weight = Nonedef forward(self, hs, h):a = self.attention_weight_layer.forward(hs, h)out = self.weight_sum_layer.forward(hs, a)self.attention_weight = areturn outdef backward(self, dout):dhs0, da = self.weight_sum_layer.backward(dout)dhs1, dh = self.attention_weight_layer.backward(da)dhs = dhs0 + dhs1return dhs, dh

 

 

 

 TimeAttention代码实现:

class TimeAttention:def __init__(self):self.params, self.grads = [], []self.layers = Noneself.attention_weights = Nonedef forward(self, hs_enc, hs_dec):N, T, H = hs_dec.shapeout = np.empty_like(hs_dec)self.layers = []self.attention_weights = []for t in range(T):layer = Attention()out[:, t, :] = layer.forward(hs_enc, hs_dec[:,t,:])self.layers.append(layer)self.attention_weights.append(layer.attention_weight)return outdef backward(self, dout):N, T, H = dout.shapedhs_enc = 0dhs_dec = np.empty_like(dout)for t in range(T):layer = self.layers[t]dhs, dh = layer.backward(dout[:, t, :])dhs_enc += dhsdhs_dec[:,t,:] = dhreturn dhs_enc, dhs_dec

 解释:

 作者提出用一个更加简单的数据集来验证我们上述学习的正确性的:

 

04.因为 Attention 中使用的运算是可微分的,所以可以基于误差反向传播法进行学习

05.通过将 Attention 计算出的权重(概率)可视化,可以观察输入与输出之间的对应关系

 通过下图,我们可以发现:
机器学习出了时间格式转换的规律的:

 

 作者态度也是那样,他也不理解机器是怎么最基础的学习的,但是我们可以用自己所理解的方式去理解机器如何学习的!

 

06.在基于外部存储装置扩展神经网络的研究示例中,Attention 被用来读写内存

三个实际应用的介绍:
证明作者教我们的知识是有用的!

1.谷歌公司 机器翻译案例:

 

 

 2.Transformer案例:取代RNN优化学习

3.NTM:基于外部存储装置的扩展的光明前景 

本章我们学习了 Attention 的结构,并实现了 Attention 层。然后,我们使用 Attention 实现了 seq2seq,并通过简单的实验,确认了 Attention 的出色效果。另外,我们对模型推理时的 Attention 的权重(概率)进行了可视化。从结果可知,具有 Attention 的模型以与人类相同的方式将注意力放在了必要的信息上。

另外,本章还介绍了有关 Attention 的前沿研究。从多个例子可知,Attention 扩展了深度学习的可能性。Attention 是一种非常有效的技术,具有很大潜力。在深度学习领域,今后 Attention 自己也将吸引更多的“注意力”。

Deep Learning Second Book Finished!

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

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

相关文章

【数学建模】矩阵微分方程

一、说明 我相信你们中的许多人都熟悉微分方程,或者至少知道它们。微分方程是数学中最重要的概念之一,也许最著名的微分方程是布莱克-斯科尔斯方程,它控制着任何股票价格。 ​​ 股票价格的布莱克-斯科尔斯模型 微分方程可以由数学中的许多…

java基于云计算的SaaS医院his信息系统源码 HIS云平台源码

目录 云HIS功能模块 1、预约挂号: 2、药库管理: 3、门诊医生站: 4、门诊费用: 5、药房管理: 6、治疗室(门诊护士工作站): 7、统计分析: 8、财务管理:…

香蕉新鲜度等级识别香蕉成熟度识别分类数据集13478张4类别

数据集类型:图像分类用,不可用于目标检测无标注文件 数据集格式:仅仅包含jpg图片,每个类别文件夹下面存放着对应图片 图片数量(jpg文件个数):13478 分类类别数:4 类别名称:["overripe","rip…

STM32G474 CMAKE VSCODE FREERTOS 导入

一. 文件准备 1. 首先下载 freertos FreeRTOS - Free RTOS Source Code Downloads, the official FreeRTOS zip file release download 2. 移动 FreeRTOS-Kenel 到 moto_control 文件夹下。 3. 将 FreeRTOSConfig.h 放到 /Core/Inc 下面 4. 由于 FreeRTOSConfig.h 中使用了…

腾讯云CentOS7使用Docker安装ElasticSearch与Kibana详细教程

文章目录 一、安装ElasticSearch二、安装Kibana 一、安装ElasticSearch 使用Docker拉取ElasticSearch镜像 这里版本选择的是7.15.2 docker pull docker.elastic.co/elasticsearch/elasticsearch:7.15.22. 查看ElasticSearch的镜像id docker images3. 创建ElasticSearch容器 …

鸿蒙开发仿咸鱼TabBar

鸿蒙开发自定义TabBar,实现tabBar 上中间按钮凸起效果 第一步、定义数据模型 export default class TabItemData{defaultIcon: ResourceselectedIcon: Resourcetitle: stringisMiddle: booleanconstructor(defaultIcon:Resource, selectedIcon:Resource, title:st…

【C++】文件

目录 文件文件分类文本文件的读写(ASCII文件)的读写打开文件打开文件的方式关闭文件将数据写入ASCII文件从ASCII文件读入数据 二进制存储对比ASCII和二进制存储用成员函数read和write读写二进制文件打开方式文件的读入与读出 文件 所谓文件,一般指存储在外部介质上…

c#学习基础1

一、复杂数据类型 1)概述 2)枚举 1.基本概念 枚举是一个比较特别的存在,它是一个被命名的整形常量的集合,一般用它来表示状态,类型等 1.1申明枚举和申明枚举变量 1.2申明枚举语法 2.在哪里申明枚举 3.枚举的使用 4…

Java 获取 Outlook 邮箱的日历事件

Java 获取 Outlook 邮箱的日历事件 1.需求描述2.实现方案3.运行结果 IDE:IntelliJ IDEA 2022.3.3 JDK:1.8.0_351 Outlook:Microsoft Office 2016 1.需求描述 比如现在需要获取 Outlook 邮箱中四月的全部的会议安排,如下图所示 …

anaconda、cuda、tensorflow、pycharm环境安装

anaconda、cuda、tensorflow、pycharm环境安装 anaconda安装 anaconda官方下载地址 本文使用的是基于python3.9的anaconda 接下来跟着步骤安装: 检验conda是否成功安装 安装CUDA和cuDNN 提醒,CUDA和cuDNN两者必须版本对应,否者将会出错…

Educational Codeforces Round 165 (Rated for Div. 2) (C、D)

1969C - Minimizing the Sum 题意: 思路:观察到操作数很小,最值问题操作数很容易想到dp,用表示第个元素,操作了次的最小值总和,转移的时候枚举连续操作了几次即可,而连续操作了几次即将全部变成…

陈随易:论技术思维和产品思维

大家好,我是不被定义的前端之虎陈随易。 我的个人网站是:https://chensuiyi.me,欢迎大家眼熟我。 写这篇文章呢,源于一次群聊。 群友有一个产品,其中涉及到免费用户和付费用户对 pdf 的查看权限问题,使用…

图像处理ASIC设计方法 笔记21 标记ASIC的顶层状态机

目录 (一)标记ASIC的工作流程1 ASIC首先从控制寄存器内读出待标记图像的基本参数2若写入了有效的启动命令,则进入下面一帧图像的标记过程。3 ASIC通过接口模块从FIFO1中读取待标记的图像4一帧图像初步标记完成后进行等价表的整理压缩5从临时标记存储器中读取临时标记送入标记…

大语言模型从Scaling Laws到MoE

1、摩尔定律和伸缩法则 摩尔定律(Moores law)是由英特尔(Intel)创始人之一戈登摩尔提出的。其内容为:集成电路上可容纳的晶体管数目,约每隔两年便会增加一倍;而经常被引用的“18个月”&#xf…

CSS精灵图、字体图标、HTML5新增属性、界面样式和网站 favicon 图标

精灵图 为什么要使用精灵图 一个网页中往往会应用很多小的背景图像作为修饰,当网页中的图像过多时,服务器就会频繁地接收和发送请求图片,造成服务器请求压力过大,这将大大降低页面的加载速度,因此,为了有效地减少服务…

扫雷实现详解【递归展开+首次必展开+标记雷+取消标记雷】

扫雷 一.扫雷设计思路二.扫雷代码逐步实现1.创建游戏菜单2.初始化棋盘3.打印棋盘4.随机布置雷5.统计周围雷的个数6.递归展开棋盘7.标记雷8.删除雷的标记9.保证第一次排雷的安全性棋盘必定展开10.排查雷11.判断输赢 三.扫雷总代码四.截图 一.扫雷设计思路 1.创建游戏菜单。  2.…

Leetcode—1056. 易混淆数【简单】Plus

2024每日刷题(126) Leetcode—1056. 易混淆数 💩山实现代码 class Solution { public:bool confusingNumber(int n) {int arr[10] {0};int notNum 0;int arr2[12] {0};int size 0;while(n) {int x n % 10;arr[x] 1;arr2[size] x;if(…

OneFlow深度学习框原理、用法、案例和注意事项

本文将基于OneFlow深度学习框架,详细介绍其原理、用法、案例和注意事项。OneFlow是由中科院计算所自动化研究所推出的深度学习框架,专注于高效、易用和扩展性强。它提供了一种类似于深度学习库的接口,可以用于构建神经网络模型,并…

【Java基础】Maven的生命周期(clean+site+default)

1. 前言 在 Maven 出现之前,项目构建的生命周期就已经存在,开发人员每天都在对项目进行清理,编译,测试及部署,但由于没有统一的规范,不同公司甚至不同项目之间的构建的方式都不尽相同。 Maven 从大量项目…

Java Web网页设计(7)-网页查看

7.面我们讲最后一个操作 修改的操作 在讲修改之前 我们先讲一个知识点 表单调用的通常是doPost方法 超链接通常调用的是doGet方法 操作如何在同一个方法 (doGet中) 进行区分 type OrderDao orderDaonew OrderDao(); String typereq.getParameter("type"); …