WDK学习笔记_Kaggle_Transformer_docker

2023-10-26

摘要

  1. 深度学习方面,学习了kaggle竞赛的一些处理问题的方法、技巧。(未完)
  2. 文献方面,阅读了Transformer;在Transformer中,采用了位置编码+多头注意力机制,前者使用绝对位置信息代替了RNN中的时序信息,后者使得model能够更好的从数据中抓住有效信息,两者结合,使得model在处理时序信息时,能够并行化,相比RNN,Transformer训练速度更快且上限更高,但若参数设置的不够好,也会导致Transformer没法抓住很好的时序信息,使得其不如RNN。
  3. 项目方面:学习了区块链中,重点使用的docker容器技术;docker容器技术类似于虚拟机,但其使用了容器技术,可以将环境一块打包成镜像文件,且其可以调用已经存在的文件,避免了数据冗余,使得其镜像文件更小。
  4. 毕设方面: 指导学弟安装好了超级账本环境,指明了学习方向,并开始了学习;

一、深度学习:Kaggle竞赛

1.1 model的选择

在这里插入图片描述

1.2 常用包

  1. scikit-learn包:包中基本上所有model都有,只需要简单调用就可使用;例如:处理好输入x,label后,fit(x,label)就可完成训练;
  2. grnsim:自然语言处理包;可将word转变为vector;
  3. pandas:数据处理的包;
  4. matplotlib:绘图包;

1.3 解决问题流程

  1. 了解问题的场景及我们的目的
  2. 了解问题的评估准则
  3. 认知数据
  4. 数据预处理
  5. 特征工程
  6. 模型调参
  7. 模型状态分析
  8. 模型融合

注意:数据处理(特征工程,清洗等)>模型,只要数据处理做的足够好,简单的model也能达到很好的效果,且model可解释性非常高。

1.3.1 认知数据

  1. 数据质量分析

二、文献:Transformer

2.1 摘要

主流的序列转换模型是基于复杂的循环或卷积神经网络,包括编码器和解码器。性能最好的模型还通过注意机制连接编码器和解码器。我们提出了一种新的简单网络架构—Transformer,它完全基于注意力机制,摒弃了递归和卷积。在两个机器翻译任务上的实验表明,这些模型在质量上更优,同时具有更强的并行性,需要的训练时间显著减少。我们的模型在WMT 2014英德翻译任务中获得28.4个BLEU,比现有的最佳结果(包括集合)提高了2个BLEU。在WMT 2014英法翻译任务中,我们的模型在8个gpu上经过3.5天的训练后,建立了一个新的单模最先进的BLEU得分为41.8,这只是文献中最好的模型训练成本的一小部分。我们通过将Transformer成功地应用于具有大量和有限训练数据的英语分组解析,表明它可以很好地推广到其他任务。

2.2 介绍

RNN特别是LSTM作为主流的序列建模已经是公认的了,但是存在以下缺点:

  1. 数据必须是按顺序输入,限制了训练的并行化,训练速度慢;
  2. 当时序比较长时,很早的时序信息会被遗忘;于是作者提出了完全基于注意力机制的model—tramsformer,无顺序约束,训练速度快,效果也好。
    注意力机制

2.3 Transformer架构

2.3.1 全局分析Transformer

  1. transformer被发明的时候是用来做机器翻译的,从全局角度看如下图;
    在这里插入图片描述
  2. TRM可分为两个部分,encoder模块、decoder模块;
    在这里插入图片描述
  3. 其中encoder模块都是由n个encoder组成,decoder模块是由n个decoder组成;
    在这里插入图片描述
  4. 其中每个encoder和decoder是怎样的?(如下图)
    左边是encoder模块,右边是decoder模块,运行顺序从1-2-3…,E表示encoder,D表示decoder,2`等表示残差。
    在这里插入图片描述

2.3.2 细分Transformer

encoder里面是什么东西呢?

分为三个部分,1-输入部分;2-多头注意力机制部分;3-前馈神经网络。
在这里插入图片描述

  1. 输入部分:分为两个小两部分:
    在这里插入图片描述
    第一部分:Input Embedding对输入的word进行编码,将其转换为vector;
    第二部分:Positional Encoding—位置编码,该部分利用位置编码,替代找出输入的时序信息,运用的是sin-cos编码,公式如下图:
    在这里插入图片描述
    上式中 pos 指的是句中字的位置,取值范围是 [0,
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WDK学习笔记_Kaggle_Transformer_docker 的相关文章

随机推荐

  • 【LVM技术创建磁盘和磁盘配额】

    文章目录 一 知识点 二 实验 1 创建物理卷 2 卷组打包命名形成逻辑硬盘 3 创建逻辑卷 4 格式化 创建文件系统 5 挂载 三 扩容逻辑卷 四 给卷组继续添加空间 五 磁盘配额 一 知识点 LVM技术特点 1 打破分区只能单个挂载 单
  • Ubuntu下分别用gcc和makefile编译C语言

    Ubuntu下分别用gcc和makefile编译C语言 1 编写C文件 2 gcc编译C文件 3 makefile编译C文件 3 1 创建makefile文件 3 2 编译makefile文件 4 总结 在Windows环境下通过虚拟机软件
  • RuntimeError: cuDNN error: CUDNN_STATUS_NOT_INITIALIZED

    问题 调用显卡时 出现RuntimeError cuDNN error CUDNN STATUS NOT INITIALIZED 问题分析 出现这种问题 一般是因为cuda cudnn 显卡驱动 torch版本不匹配造成的 解决 1 第一个
  • 【C++】IO库 : IO类,文件输入输出,string流

    前面已经在用的IO库设施 istream 输入流类型 提供输入操作 ostream 输出流类型 提供输出操作 cin 一个istream对象 从标准输入读取数据 cout 一个ostream对象 向标准输出写入数据 cerr 一个ostre
  • 为啥要三次握手,四次挥手?

    三次握手的目的是 为了防止已经失效的连接请求报文段突然又传到服务端 因而产生错误 客户端发出的第一个连接请求报文段并没有丢失 而是在某个网络结点长时间的滞留了 以致延误到连接释放以后的某个时间才到达服务器 本来这是一个早已失效的报文段 但服
  • BUUCTF[极客大挑战 2019]RCE ME

  • Qt报错undefine reference to vtable for ...解决办法

    删除编译的debug和release文件 重新编译 解决了 多方便
  • 在变量声明中指定类型

    1 内置类型 C 提供了一组标准的内置对象来表示整数 浮点数 布尔表达式 文本字符 十进制值和其他数据类型 还有内置的 string 和 object 类型 2 自定义类型 可以使用 struct class interface enum
  • UNIX网络编程卷一 学习笔记 第二十章 广播

    本书迄今为止的所有例子都是单播 一个进程与另一个进程通信 TCP只支持单播寻址 而UDP和原始IP还支持其他寻址类型 下图比较了不同的寻址方式 IPv6往寻址体系中增加了任播 anycasting 方式 RFC 1546讲述了一个IPv4任
  • sql2005 查看数据库或表大小的系统存储过程 sp_spaceused

    sql2005 查看数据库或表大小的系统存储过程 sp spaceused 语法 sp spaceused objname objname updateusage updateusage 参数 objname objname 请求其空间使用
  • 开机后电脑只剩计算机和回收站,电脑开机后C盘拒绝访问,图标只剩下此电脑和回收站是怎么回事?...

    它既然提示我们C WINDOWS system32 config systemprofile Desktop这个目录的桌面不可用 那么我们可以通过复制 桌面 文件夹到子文件里面来解决 首先我们要先找到自己当前用户名下的 桌面 后才可以复制
  • 【BP数据预测】粒子群算法优化BP神经网络数据预测(多输入多输出)【含Matlab源码 1418期】

    一 粒子群算法及BP神经网络简介 由于BP神经网络在应用过程中初始权值和阈值随机选取 容易出现局部收敛极小点 从而降低拟合效果 为了解决这个问题 采用PSO优化BP神经网络 PSO BP 算法的初始权值和阈值 解决局部极小点问题 提高BP神
  • es 时间字段聚合_es Elasticsearch 时间分组聚合查询

    正常业务逻辑中 会出现大量的数据统计 比如说分组聚合查询 根据天进行数据的统计 记录下es分组聚合查询 size 0 aggs groupDate date histogram field create date interval day
  • 剑指Offer - 面试题11:旋转数组的最小数字

    题目 把一个数组最开始的若干个元素搬到数组末尾 我们称之为数组的旋转 输入一个递增排序的数组的一个旋转 输出旋转数组的最小元素 例如 数组 3 4 5 1 2 为 1 2 3 4 5 的一个旋转 该数组的最小值为1 分析 暴力法 我们不考虑
  • 逻辑分析仪

    1 常见逻辑分析仪使用视频 什么是逻辑分析仪 逻辑分析仪和示波器的区别 B站视频 Kingst逻辑分析仪快速上手 哔哩哔哩 bilibili 泰克 安捷伦已经是老品牌了 ZLG致远电子 金思特 青岛 逻辑分析仪 价格 图片 品牌 怎么样 京
  • 使用LVM对服务器磁盘进行扩容

    使用LVM进行磁盘扩容 文章目录 使用LVM进行磁盘扩容 1 在虚拟机目录添加磁盘 2 lsblk查看系统的磁盘情况 3 硬盘分区 4 创建物理卷 5 将新的分区 dev sdb1加入到卷组中 这里的卷组名为klas 6 扩容已有分区 1
  • 恶意代码分析实战 2 动态分析基础技术

    2 1 Lab3 1 使用动态分析基础技术来分析在Lab03 01 exe文件中发现的恶意代码 问题 找出这个恶意代码的导入函数与字符串列表 C Documents and Settings Administrator gt strings
  • Appium模拟坐标点击

    这种方法在 元素定位不到时 可以尝试一下 方法 tap self positions duration None Args positions list类型 里面对象是元组 最多五个 如 100 20 100 60 duration 持续时
  • idea git版本回退

    文章目录 idea git版本回退 前言 步骤 具体操作 第一步 查看old的版本号 第二步 本地代码 Reset Head old的版本号 第三步 强制push到远程仓库 idea git版本回退 前言 由于我错误的push了一些代码 想
  • WDK学习笔记_Kaggle_Transformer_docker

    文章目录 摘要 一 深度学习 Kaggle竞赛 1 1 model的选择 1 2 常用包 1 3 解决问题流程 1 3 1 认知数据 二 文献 Transformer 2 1 摘要 2 2 介绍 2 3 Transformer架构 2 3
Powered by Hwhale