首页 > 其他分享 >一文带你入门Transformer

一文带你入门Transformer

时间:2022-12-27 22:34:17浏览次数:39  
标签:Transformer RNN 入门 模型 注意力 文本 我们 一文

让我们初学一下Transformer,它确实相对难以理解,下面让我们开始吧!朋友们. Don't worry about it

前提

  • 在这里我们用x<t>表示文本位置→输入
  • 用Tx表示文本长度
  • 用y<t>表示输出的文本位置
  • 用Ty表示输出的文本长度

目前这里有一个文本

X: Harry Potter and hermione granger invented a new spell 这里我们用one-hot独热矩阵,每一个文本都会对应于1个one - hot, 但是我们一个输入文本就要有一个 one-hot,这样就会造成大量的参数,于是提出了RNN 接下来我们学习RNN

RNN模型

这里的Wax、 Waa、 Wya都是参数,就和我们之前学神经网络的W是一个意思 下面我们来学习网络的前向传播

向前传播

这里的g是激活函数,b是偏置,我们对式子进行简化,是不是看到式子的时候前面的模型就明白怎么运转的了

 

 反向传播的时候,框架会自动为你实现

上面的模型都是针对Tx=Ty的,当然面对不同的情况会有不同的模型

 

 我们看一下第一个模型

One to many RNN moudle

Cats average 15 hours of sleep a day.

接下来我们讨论RNNs梯度消失的问题。

RNNs梯度消失

  • 如果碰到梯度爆炸的问题就是出现了 Nan,就只用使用gradient clipping.
  • The cat, which ate already... was full。我们如何确保让机器认识cat是单数,就是依赖问题,尽管现在依赖问题依旧就没有解决

 GRU

 这是一个简单的模型,方便理解,这里有两个门,因此我们也称GRU为2门控

LSTM

这里有3个门,因此我们称LSTM为3门控

BRNN

这里是非常重要的,这里没听的话,后面的注意力模型是不容易看懂的!  这并不是正,逆传播,而是正反同时开始在时间t输出的y可以同时被过去和未来所影响, 对于复杂的问题我们会使用到深度RNNs。 下面我们来看一下注意力模型。

注意力模型

 

 

 这是注意力的计算公式,我们可以把其想像成一个小的网络

接下来我们学习transformer网络,,最有效前的模型。(其实就是注意力模型+ CNN)

Transformer

  • 自注意力模型

 

 我们将其softmax改变一下

 

  • 多头注意力机制
其实就是对自注意力机制进行一个for循环

 

 当然每一个通道都有一组参数

  • Transformer

我们定义一个深度为4的向量

 到此我们的Transformer就整理完了,当然这也在不断的完善,随学随记!


 

努力不一定有回报,但是一定有收获!

标签:Transformer,RNN,入门,模型,注意力,文本,我们,一文
From: https://www.cnblogs.com/kk-style/p/17009120.html

相关文章

  • 深度学习之Transformer网络
    【博主使用的python版本:3.6.8】本次没有额外的资料下载Packagesorttensorflowastfimportpandasaspdimporttimeimportnumpyasnpimportmatplotlib.pyplo......
  • 明解入门练习5-4
    #define_CRT_SECURE_NO_WARNINGS1#include<stdio.h>#defineABC5intmain(){intx;inta[ABC];for(x=0;x<ABC;x++){printf("a[%d]:",x);sc......
  • 快速入门音视频技术的方法,有吗?
    最近有读者留言,说“想转行音视频开发,怎么做”,正巧,前几天我还在某乎上,看到有人在问音视频的学习资料,还是个大一的学生。 想说一句:真有眼光。 如今这个时代,想赚钱,一个共识是......
  • 一文解读护网行动
    护网行动背景什么是“护网行动”?指挥机构∶由公安机关统一组织的"网络安全实战攻防演习"。护网分为两级演习∶公安部对总部,省厅对省级公司。什么是“实战攻防演习......
  • 一文理解vuex和pinia的区别
    一文理解vuex和pinia的区别......
  • IOS 6 自动布局 入门-1
    这篇文章还可以在这里找到 ​​英语​​​, ​​韩语​​​, ​​土耳其语​​​​​​来自Ray:恭喜各位!你们已经通过宣传​​iosfeast​​提前解锁了第一个有关IOS6的教......
  • 序列分块入门
    本文不涉及Ynoi大分块。分块简介对于一道数据结构题,如果常规思路(如线段树、BIT、ST表、主席树、平衡树、树套树、K-DTree等)不好做,我们可以考虑将序列分成\(B\)块,......
  • Java8中Optional类入门-替代null避免冗杂的非空校验
    场景Java核心工具库Guava介绍以及Optional和Preconditions使用进行非空和数据校验:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/127683387上面在讲Guava......
  • Seata-php 入门与下半年展望
    通俗地讲,Seata-php是seata的PHP语言实现,实现了Java和PHP之间的互通,让PHPer也能使用seata-php来实现分布式事务。Seata是一个非常成熟的分布式事务框架,在Java......
  • 明解入门练习5-4
    解题关键b[i]=a[4-i],当i=0,b0=a4(草稿记法)#define_CRT_SECURE_NO_WARNINGS1#include<stdio.h>intmain(){inti;inta[5]={17,23,36};intb[5];for(i=0;i......