Chris Zhang


  • 首页

  • 标签

  • 分类

  • 归档

Crash Paper: Attention Is All You Need

发表时间 2018-12-26   |   更新时间 2018-12-30 | 分类 NLP

Attention Is All You Need

1. 预备知识

1.1 Encoder/Decoder

序列模型由Encoder与Decoder两部分构成,简单来说,Encoder对input进行编码,而Decoder对编码结果进行解码,解码的结果就是整个序列模型的输出。借用Andrew Ng课件中的截图来进行说明:

Encoder的每一个单元会根据前一个hidden state以及当前的input来计算当前的hidden state,并将其传到下一个单元中去。而Decoder对于传入的单元进行解码,来找到最合适的一个输出。注意每个Decoder单元只会输出一个output symbol。

阅读全文 »

Kick Start 2018-Practice Round

发表时间 2018-12-19 | 分类 Kick Start

Google的Competitions with Google上有三个类型的练习:

  • Hash Code: 应该是一个组队编程训练,看起来比较偏工程向,介绍中说可以选择队伍与编程语言来完成一个engineering problem,还问了一句Are u up for the challenge? Of course I am not.
  • Code Jam: 编程果酱?? 反正就是用多轮的算法问题来进行比赛,最后获胜者还有奖金,又问了一句Do u have what it takes? emmmm..
  • Kick Start: 今天的重头戏,介绍中说主要是磨炼自己的coding水平,受众是学生 我 和新接触编程的人 我 ,也是按轮次进行的,可以只参加一轮也可以全部参加,最后的问题是What are u waiting for? 这看起来就正常多了,不像是向一个算法渣挑衅的言论,给好评。

Kick Start的轮次是一个Practice Round和A~H八轮,其中除了Practice Round给了24h解题外,其它的八个轮次都是只给3h解题时间,所以介绍中所说的’可以只参加一轮’,实则是指哪一轮呢?

别问,问就是自闭。

阅读全文 »

Crash Paper: SMN-Sequential Matching Network

发表时间 2018-12-09 | 分类 NLP

Sequential Matching Network: A New Architecture for Multi-turn Response Selection in Retrieval-Based Chatbots

乱七八糟的序

BDP课上组长大人布置下来的任务,是要研读这篇论文(因为名字太长了我写在了一级标题里面,让所有人都能第一时间看到它,下面统一使用SMN来指代论文中提出的模型)。我是属于 牵着不走,打着倒退 没人给出明确的任务目标就很难有动力主动学习的那种人,可能是高中时期延续下来的陋习,所以如果要给这篇post一个一级作者,那应该写 社会我强哥 才是。

回到正题,首先来简单说一下多轮对话现在的研究态势吧。

目前常用的对话建模方式有检索式、生成式以及两者融合的方式。
顾名思义,检索式就是对于一个提出的问题,我从当前已经有的资料中搜索出这个问题可能匹配的答案,候选答案可能有多个,但是在对话中最终回复的答案只能是一个,所以需要找到一种最优的算法来对这些候选答案进行筛选,选出可能性最大的那一个。
生成式模型是指我先把目前所有已知的知识用来训练出一个模型,然后不管你说什么,我都用这个模型来解读你的问题,并用模型的输出来回答。
最后,检索与生成相结合的方法就是把前两者糅合起来,正也因此可以玩得花里胡哨,比如用检索模型获得的候选答案们,我训练一个生成模型来对这些答案排个序,或者用生成模型生成的答案放在检索模型给出的候选答案中,一起参与 谁是大明星 的角逐,又或者对于一个检索式模型获得的答案,我用生成式模型对它进行改进,等等等等。

阅读全文 »

凸优化笔记(2): 凸函数

发表时间 2018-12-08 | 分类 凸优化

让我们(particularly me)继续凸优化之旅,今天要讨论的是凸函数。

写完笔记1之后回顾了一下,虽然很努力的不往抄书的方向走了但是,对于这种堆砌的概念还是不知道怎么用自己的语言说出来啊,在这篇笔记中试着改进下吧。

基本性质与例子

首先要讨论的是凸函数的基本性质,或者说如何判断一个函数是否是凸函数(当然在这之前会给出凸函数的定义),然后给出一些很常见的凸函数的例子。之后通过上境图(epigraph)这个中译有点无力吐槽说明了凸函数与凸集之间的关系,最后对Jensen不等式进行了简要论述。

按我的理解,这一小节其实是给出了证明一个函数是凸函数的三种方法:定义,一阶条件与二阶条件。

阅读全文 »

重修数据结构:线段树

发表时间 2018-12-07   |   更新时间 2018-12-11 | 分类 数据结构

什么是线段树,为什么要用线段树

首先,我们来回答什么是线段树。顾名思义,线段树就是线段构成的🌲用树结构来表示线段,为什么需要用树来表示线段呢(似乎用数组表示线段已经很科学高效了),因为有时候我们需要频繁地对一个区间进行查询操作。这种时候用线段树会缩减操作的时间复杂度的数量级。

举个🌰:小明有4根冰棍,他给它们编号是$0\sim 3$。每根冰棍都有不同的购买价格,按冰棍的编号依次是$[10,15,20,5]$。现在小明想知道不同编号区间里最贵冰棍的价格,比如:$[0,2]$号最贵冰棍的价格(我们都知道是20)。

阅读全文 »

凸优化笔记(1): 凸集

发表时间 2018-12-05   |   更新时间 2018-12-08 | 分类 凸优化

凸优化的笔记:序

想学凸优化的伏笔应该是在大三的时候埋下的。那个时候啃着李航老师的《统计学习方法》,按书本里的先学了kNN和Decision Tree,感觉统计学习还怪有意思的,后来学到Naive Bayes时候开始有点智商捉急了,再后来的贝叶斯网络和SVM就已经开始对我幼小的心灵造成损害,看到拉格朗日对偶的推导那部分开始自闭,上网去搜,发现这是凸优化里面的理论——这是我第一次对这门学科产生印象。

到研究生阶段想划水的,奈何身边的人都太强了,有种不努力就会被社会抛弃的紧张感,所以想重新捡起《统计学习方法》看,争取把推导看懂吧……然后回忆起早年自闭的过程,想了想,算了,先去看看凸优化吧。

学习的参考教材是Stamford大学又帅又有魅力的Boyd教授的《Convex Optimation》(考虑到努力不给自己艰难的学习过程再下绊子,选择的是王书宁版的中译本),结合Boyd教授录制的授课视频与slides一起学习。笔记的篇章估计也会按书本的目录顺序来,除非我看到自闭打算删掉这些笔记装作一切都没发生过,否则我会努力把所有书本的重点都呈现到笔记中去。

另外,值得一提的是,现在深度学习打得火热,我也有看到有关统计学家与炼金术士之间因为神经网络非凸,效果又异常的好而相互看不起的说法出现,感觉还怪有意思的。可能有一天我会发现凸优化并没有我想象中那么好用,不过在学习过程中带来的痛并快乐的感觉确是实实在在的。不管怎么说,现在的我选择要开始这段旅程了。

是为序。

阅读全文 »
123

Chengxi Zhang

Is life always this hard, or is it just when you're a kid?

32 日志
6 分类
9 标签
GitHub E-Mail
© 2024 Chengxi Zhang