文章目录

  • 1. 本周学习主要内容
    • 1.1 transformer经典论文精读
    • 1.2 机器学习特征工程复习
    • 1.3 pytorch实现NLP中的一些基础
  • 2.下周学习内容与问题
  • 3.本周重点
    • 3.1 transformer精读笔记
    • 3.2 词元化的一个小实验实现
    • 3.3 为了更好的读代码写代码重新复习python基础与思想

1. 本周学习主要内容

  • transformer经典论文精读
  • NLP基础知识及实现

1.1 transformer经典论文精读

  • 架构
  • 公式
  • 优势

1.2 机器学习特征工程复习

1.3 pytorch实现NLP中的一些基础

2.下周学习内容与问题

代办

  • 2.1 继续精读经典论文
  • 2.2 学习基于pytorch框架的实现
  • 2.3 python基础的回顾

问题

  • 2.4 NLP比CV需要更强的算力与数据
  • 2.5 经典架构的数学流程与原理掌握困难
  • 2.6 网上有些代码读起来比较困难

3.本周重点

3.1 transformer精读笔记

1.标题 + 作者
Transformer 开创了继 MLP 、CNN和 RNN 之后的第四大类模型 。
标题:Attention is all you need.
作者:8个来自谷歌公司的共同一作。
2.摘要内容:
sequence transduction:序列转录,指序列到序列的生成。
2.1:包括一个encoder和一个decoder的RNN或CNN架构
2.2 :表现好的序列转录在encoder与decoder中使用了attention机制
2.3 :本文提出基于attention的Transformer
2.4:实验总结了并行化的作用、减少的训练时间
2.5 :两个实验

  • 英语-德语:提高2BLEU
  • 英语-法语:SOTA,41.8BLEU,需要8GPUs的3.5天训练

2.6:能很好的泛化到其他任务比如CV、视频处理
3.结论
3.1 介绍了transformer模型,第一个仅使用注意力、做序列转录的模型,把之前encoder-decoder的结构换成了multi-headed self-attention
3.2 是机器翻译领域的SOTA,比其他结构训练速度快
3.3 纯注意力模型应用于非NLP任务
4 导言
4.1 提出之前序列模型常用为RNN、LSTM、GRU
4.2 RNN缺点:难以并行、容易遗忘历史信息
4.3 目前attention已经用于于一些RNN模型
4.4 本文transformer网络不再使用循环结构,而是使用纯attention、并行度高,并在较短时间达到很好的效果
5 相关工作
5.1 介绍模型结构与现有结构的关系,比如可以在NN中的局部像素和多通道,self-attention机制,memory network
5.2 transformer仅依赖于self-attention 没有使用RNN和卷积
5.3 transformer的multi-head self-attention模拟CNNs多通道输出的效果
注:self-attention是其他人提出的

6.模型(最重要的章节)
由于涉及很多NLP基础知识与公式,周报只做简单概述
6.1 介绍encoder-decoder架构和+auto-regressive in decoder
6.2 介绍encoder-decoder架构
6.3 介绍数据归一化的方法layerNorm(注意分析与BatchNorm的关系)
6.4 介绍encoder的注意力层
6.5 decoder的masked multi-head attention

6.6 position-wise feed-forward network(相当于一个MLP)
FFN:linear+Relu+linear
6.7 embeddings 和softmax
6.8 介绍positional encoding
6.9 介绍self-attention的重要性
模型结构与意义与理念

一个翻译成中文的架构图
7.transformer用于的实验
7.1 介绍使用的数据集及硬件
7.2 优化器是Adam算法
bete2常见为0.99或0.999
7.3 使用Dropout层,P drop为0.1
7.4 使用Inceptionv3
7.5 使用softmax很难趋近为1,输出值很大,才会激活为1.故softmax的输出为0.1即可
7.6 训练分数为perplexity,困惑度,log(loss)
可以更好提高accuracy 和 BLEU score
8 评论
8.1 写作技巧简单,意在简洁、清楚
8.2 transformer 不仅在NLP上表现出色,在CV和Video上也有很好的应用
8.3 最关键的attention 用了更广泛的inductive bias归置偏置。使attention没有用空间上得假设,与CNN一样可取的较好的结果
8.4 缺点:需要的数据更多、模型更大

3.2 词元化的一个小实验实现

核心代码

class Vocab: #@save
"""⽂本词表"""
def __init__(self, tokens=None, min_freq=0, reserved_tokens=None):
if tokens is None:
tokens = []
if reserved_tokens is None:
reserved_tokens = []
# 按出现频率排序
counter = count_corpus(tokens)
self._token_freqs = sorted(counter.items(), key=lambda x: x[1],
reverse=True)
# 未知词元的索引为0
self.idx_to_token = ['<unk>'] + reserved_tokens
self.token_to_idx = {token: idx
for idx, token in enumerate(self.idx_to_token)}
for token, freq in self._token_freqs:
if freq < min_freq:
break
if token not in self.token_to_idx:
self.idx_to_token.append(token)
self.token_to_idx[token] = len(self.idx_to_token) - 1
def __len__(self):
return len(self.idx_to_token)
def __getitem__(self, tokens):
if not isinstance(tokens, (list, tuple)):
return self.token_to_idx.get(tokens, self.unk)
return [self.__getitem__(token) for token in tokens]
def to_tokens(self, indices):
if not isinstance(indices, (list, tuple)):
return self.idx_to_token[indices]
return [self.idx_to_token[index] for index in indices]
@property
def unk(self): # 未知词元的索引为0
return 0
@property
def token_freqs(self):
return self._token_freqs
def count_corpus(tokens): #@save
"""统计词元的频率"""
# 这⾥的tokens是1D列表或2D列表
if len(tokens) == 0 or isinstance(tokens[0], list):
# 将词元列表展平成⼀个列表
tokens = [token for line in tokens for token in line]
return collections.Counter(tokens)

3.3 为了更好的读代码写代码重新复习python基础与思想

【李佳辉_周报_2022.10.30】相关推荐

  1. 【李佳辉_周报_2022.10.9】

    文章目录 1. 本周学习主要内容 1.1 机器学习的复习 1.2 机器学习模型部署 1.3 数字信号处理 2.本周学习体会与问题 3.下周学习内容 4.本周重点 4.1 AutoML的思想与代码复现 ...

  2. 【李佳辉_周报_2022.10.23】

    文章目录 1. 本周学习主要内容 1.1 Transformer和Bert 1.2 机器学习模型部署 1.3 基于DQN的强化学习算法 1.4 机器学习特征工程的复习 2. 所遇到问题及代办 3.本周 ...

  3. 【李佳辉_周报_2022.10.16】

    文章目录 1. 本周学习主要内容 1.1 NLP基础 1.2 机器学习模型部署 2. 所遇到问题及代办 3.本周重点 3.1 自然语言处理 3.1.1 主要应用领域 3.1.2 word2vec 3. ...

  4. 【李佳辉_周报_2022.10.2】

    文章目录 1. 本周学习主要内容 1.1 深度学习方面 1.2 信号处理与Matlab实现 1.3 机器学习基础的回顾 2. 下周学习内容 3. 本周重点知识 3.1 Kaggle医学影响图像识别案例 ...

  5. 【李佳辉_周报_2022.9.25】

    2022.9.19-2022.9.25学习记录 1. 本周总结 1.1 深度学习方面 1.2 脑电方面 2. 下周学习内容 3. 本周学习难点与重点 3.1 深度学习 3.1.1 数据格式转换 3.1 ...

  6. 【李佳辉_周报_2022.9.18】

    文章目录 1. 本周学习主要内容 1.1 深度学习方面 1.2 EEG方面 1.3 难点 2. 下周学习内容 3. 本周重点知识 3.1 深度学习 3.1.1 GoogLeNet 3.1.2 ResN ...

  7. 【李佳辉_周报_2022.9.11】

    2022.9.5-2022.9.11学习记录 1. 本周总结 1.1 深度学习方面 1.2 脑电方面 2. 下周学习内容 3. 本周学习难点与重点 3.1 深度学习算法 3.2 EEG学习记录 3.3 ...

  8. 背水一战 Windows 10 (30) - 控件(文本类): AutoSuggestBox

    背水一战 Windows 10 (30) - 控件(文本类): AutoSuggestBox 原文:背水一战 Windows 10 (30) - 控件(文本类): AutoSuggestBox [源码 ...

  9. redis的redis.config文件配置与内容+10.30日之前的总结

    参考博客:redis.conf的一些配置+密码的设置(mac)+个人总结_雾喔的博客-CSDN博客_redis密码配置文件 这个是初始的redis.config的内容 # Redis configur ...

最新文章

  1. 实现统计一个字符串中的每个单词出现的次数--基于Go语言
  2. Oracle 11G RAC:生产环境下架构
  3. 5.1基于JWT的认证和授权「深入浅出ASP.NET Core系列」
  4. hashlib模块使用详情
  5. 2_3 ProxyMode.cpp 代理模式
  6. 从架构设计、部署方式、使用方法、应用场景等方面,比较tfs、hdfs、fastdfs、Tachyon的异同
  7. 1分钟了解区块链的本质
  8. 前端学习(2878):原生js模块化+发送弹幕和重置弹幕
  9. 目标检测(一):背景差分法
  10. Atitit 编程语言原理与概论attilax总结 三大书籍总结
  11. Native Instruments Maschine 2 v2.14.7 WiN-MAC 节奏音乐制作软件含拓展
  12. local class incompatible: stream classdesc serialVersionUID = -3129896799942729832, local class seri
  13. html如何设置超大字符集,[转载]【教程】CJk超大字符集使用方法
  14. CNCC2020丨5G边缘智能与智慧城市论坛
  15. unicode转中文 中文转unicode的简单方式
  16. 【互联网寒冬】经历裁员,拿20W被迫去大厂
  17. 机器视觉光源选择方案
  18. 《Going Deeper with Convolutions》阅读笔记
  19. [软件人生]人生强硬也要懂得弯折——谈人性的两面
  20. 基于SpringBoot的迷你商城系统,附源码!

热门文章

  1. mnist手写数字模型训练、保存、加载及图片预测
  2. kotlin 原生字符串输出三个引号
  3. 如何生成EI检索报告
  4. 淘宝客导购产品设计(二)
  5. 自动阅读是骗人的吗?新手一定要看,避免入坑
  6. Android联网失败报错:java.io.IOException: Cleartext HTTP traffic to xxx.xxx.xxx.xxx not permitted
  7. 白噪声检验python_python 加一个白噪声跟老齐学Python之Python安装
  8. 文件包含漏洞—allow_url_fopen和allow_url_include详解
  9. matlab双线性变换切比雪夫2,语音信号滤波去噪——使用双线性变换法设计切比雪夫II型.doc...
  10. (练习篇)萤火虫esp32与小爱音响---实现笔记本电脑唤醒