0%

实际上 GNN 在 Source Code 上的应用和创新还有很多。之前的两篇文章都是关于 GNN 建图以及 GNN 跟其他任务相结合的工作,这篇文章就讲一下对 GNN 本身的创新。

Read more »

这篇讲一个基于上一篇的改进工作。 在 Source Code 中,因为程序员的变量命名通常来讲都比较诡异,所以存在着比较严重的 open vocabulary 问题(也叫作 Out of Vocabulary)。比如一个变量名叫做 LianlianInput,因为这个 Lianlian 不在词汇表里面,VARNAMING 的时候就根本不会输出这个 subtoken,对最后的效果有比较严重的影响。

Read more »

关于 Source Code 的 learning 其实已经有很多工作了,每年的顶会中也有很多这个方面的文章。其实针对 Source Code 的 learning 可以算是 NLP 的一个子领域,因为 Source Code 本身就是就是程序员之间交流的一种语言。因为 Code 是一个结构化数据,存在着语义信息与语法信息,所以相比于自然语言来说,Source Code 是适合于 GNN 大显神威的领域。

Read more »

对于目前的优化算法来说,依然存在着许多问题。但是后续的工作并不是特别多。首先可以看一下 Reinforcement Learning and Adaptive Sampling for Optimized DNN Compilation, ICML 2019 Workshop RL4RealLife 这篇文章主要谈到的问题是两点:1. 开发一个更有效的搜索算法(相对于 AutoTVM 的模拟退火) 2. 减少硬件测试的时间。从这篇文章的实验结果来看,第一个目标基本上没有达成,第二个目标完成的还不错。这个第二个目标也是我认为的之后优化的核心问题。 文章的整个框架如下图,主要贡献是两个蓝色的部分——基于强化学习的搜索和自适应采样。

Read more »

周末要在实验室搞个类似讲座之类的东西,先在这里写一下讲座内容,理清思路。也是对最近一个月的学习内容做一个总结。

Read more »

课程网站 在头条 AML 实习的时候就觉得这个 AI system 方向非常有趣,但是苦于实验室不是搞这一套的,自己拖延症也非常严重,所以一直在入门的边缘徘徊。但是在今天——研一秋学期考试周的前一周,我决定开始学习 AI system 方向最著名的必学课程,Tianqi Chen 在 UW 开设的 CSE599W。 这个课程其实资料并不是很完善,只有 github 上面的几个 repo 和课程网站上面的 slide,缺乏讲课的视频资源。而且在开始学习之前就听说很多地方 slide 写的非常简陋,只能通过 tvm 和 tinyflow 代码慢慢学习。我在学习之前也找了一些 blog 资源,开个坑,希望可以努力坚持下来! 本人的作业也开源到 github 上面了,希望大家多多指导。

Read more »

集成学习顾名思义,就是把一堆垃圾方法集成起来变成一个牛逼的方法。集成学习主要分为两种思路:Bagging 和 Boosting。Bagging 的话就是一堆独立的垃圾方法,比如随机森林,就是通过不同的采样和不同的特征抽取方法产生一堆独立的决策树,然后把他们的决策进行投票。而 Boosting 则是通过一个垃圾方法来产生下一个垃圾方法,最知名的方法就是 AdaBoost 了。

Read more »