学习周报20200112 | 变形金刚

技术

【 学习周报 】

总结自己的学习和遇到的好材料。 最近新增小彩蛋,不要错过。

往期回顾:

学习周报 | 变形金刚相关

变形金刚,是近几年NLP领域里程碑级别的一个工作——transformer,要理解bert等先进模型,还真是必须从transformer开始了解,而要了解ternsformer,你又不得不从机器翻译开始,最近CS224N学到了第六章,因此进行了很多系统性的学习,下面和大家简单谈一下吧。

机器翻译

这回我开始理解机器翻译的具体含义,seq2seq的基本结构我已经了解了。 个人感觉transformer到bert这一系列去年特别火的一套东西,还是要从机器翻译开始了解。

个人认为CS224N里面有关机器翻译的内容已经非常强大,因此大家耐着性子看完就能够理解机器翻译的原理:

在这方面还只是小白的我看来,机器翻译核心是要理解encode-decoder的整体结构和思想,了解为什么要这么分,其实就差不多了,如果要深学,那就是各种改进的思路和想法了。

变形金刚

没错,就是transformer,这个东西可以说是改变了以RNN系列为核心模型的生态,并构建了KQV三种格式,这里需要理解的是query-key-value三种角色的具体含义以及在现实中的主要功能,这样基本的attention的出现和改进,甚至到后面的应用,尤其到了self-attention甚至是bert系列,才会有比较深刻的理解。

具体材料的话,个人感觉阅读的话优先级按照下面排序。

  • CS224N里面的机器翻译开始看,里面会很自然的提到attention和transformer。
  • attention机制似乎不完全是从“attention is all you need”开始的,前面已经有很多思路,一步一步看和理解,最终才回到transformer。
  • 细节处,还是源码最详细可靠。(transformer源码,bert源码,albert源码)。
  • 博客作为补充,优先看知乎的,部分排名靠前的搜索结果可能也会有错误,不过这些错误基本都已经被细心的网友发现,在评论中指出。

补充几篇可以参考的博客吧,基本都是注意力机制相关的。

所以说,自己看懂,不盲目只看结论,有自己的判断。

这块内容感觉着实有必要单独写一篇文章,看看下周能不能写完。

小彩蛋

不定期给大家分享一些我看到的Trick。

gleu

一种relu的平滑版本。


      1. `def gelu(x):`
2. `"""Gaussian Error Linear Unit.`
3. `This is a smoother version of the RELU.`
4. `Original paper: https://arxiv.org/abs/1606.08415`
5. `Args:`
6. `x: float Tensor to perform activation.`
7. `Returns:`
8. ``x` with the GELU activation applied.`
9. `"""`
10. `cdf = 0.5* (1.0+ tf.tanh(`
11. `(np.sqrt(2/ np.pi) * (x + 0.044715* tf.pow(x, 3)))))`
12. `return x * cdf`


    

论文链接已经标注在注释里面了,自己去看吧。

标签平滑

这个是tensorflow的源码中看到的(我的版本是1.12)。


      1. `if label_smoothing > 0:`
2. `num_classes = math_ops.cast(`
3. `array_ops.shape(onehot_labels)[1], logits.dtype)`
4. `smooth_positives = 1.0- label_smoothing`
5. `smooth_negatives = label_smoothing / num_classes`
6. `onehot_labels = onehot_labels * smooth_positives + smooth_negatives`


    

具体位置大家 tensorflow/contrib/losses/python/losses/loss\_ops.py 里面。

有关原理可以参考和思路可以参考: https://blog.csdn.net/edogawachia/article/details/78552257。

picture.image

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
在火山引擎云搜索服务上构建混合搜索的设计与实现
本次演讲将重点介绍字节跳动在混合搜索领域的探索,并探讨如何在多模态数据场景下进行海量数据搜索。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论