![e3a492001853b0448fc856cf9fe202b9.png](https://i-blog.csdnimg.cn/blog_migrate/74e753cae76fac61cf488616d913adee.jpeg)
承接前两篇笔记
邓文涛:NLP中文文本分类任务的笔记(一)zhuanlan.zhihu.com![1765748e0ecec882059436441c38b76b.png](https://i-blog.csdnimg.cn/blog_migrate/1b7a5ceaba5abeb1c74a517eccce4f91.jpeg)
![1765748e0ecec882059436441c38b76b.png](https://i-blog.csdnimg.cn/blog_migrate/1b7a5ceaba5abeb1c74a517eccce4f91.jpeg)
这篇主要想讲一讲对transformer和BERT框架的一些个人理解。关于细节一些可以参考知乎大神们的一些文章:
- Transformer 模型的 PyTorch 实现 (推荐研读)
- 《Attention is All You Need》浅读(简介+代码)
- 深度学习中的注意力机制 - 云+社区 - 腾讯云
- Attention? Attention!
- Building the Mighty Transformer for Sequence Tagging in PyTorc
- [整理] 聊聊 Transformer
先上图
![ce7da928582c297c182105a6676124ec.png](https://i-blog.csdnimg.cn/blog_migrate/979ad4b60ebf9280f20924621517bff4.jpeg)
transformer-encoder的部分
- 先对inputs进行input embedding,然后进行positional encoding :
在初始化
2. 接下来经过Multi-Head Attention对positional encoding 进行学习:
![aa69bf3e7433fde3de2dc387f3385564.png](https://i-blog.csdnimg.cn/blog_migrate/9f00314aa6674aba0002483cb533d5f2.png)
可以知道,attention用的正是上一篇笔记中使用的self-attention结构,其实也就是 Scaled Dot-Product Attention。
Muti-Head 的意思是通过初始化多个self-attention的结构,默认的一些参数分别是:
接下来将8个head的attention拼在一起,进过一个dense layer进行整合。
3. 第三部分其实是一个 position-wise feed-forward network,其实就是一个全联接层。
transformer-decoder的部分
- multi-head self-attention mechanism (对应的masked multi-head attention).
- multi-head context-attention mechanism (对应的 multi-head attention).
- position-wise feed-forward network(linear).