MLA‘20见闻

MLA‘20之行让我学到了很多,包括领域知识,对学习生活的前瞻,以及更多对当下学习困境的思考

故创文记之,以思故我。就当是小小随笔

不太好写啊!干脆随便总结下吧,细节留在网盘里就好

20开冲!

会议日程 http://www.lamda.nju.edu.cn/conf/mla20/program.html

流水账

第一天上午

第一场,北大王立威教授介绍深度学习,主要提到了泛化理论的新解释。

先介绍了下深度学习的方向:

graph LR
A(深度学习) -->B(模型/结构)
A(深度学习) -->C(训练/优化)
A(深度学习) -->D(泛化/测试优化)
B -->E[CNN]
B -->F[RNN]
B -->G[LPWHW, 2017]
B -->H[Cybenko, 1998]

ps:画图的时候要选择mermaid而不是flow,否则报错

ERROR: [Flowchart] Cannot set property 'next' of undefined

ps2:mermaid在hexo中需要安装包才能使用,且里面所有的操作都要加上 https://www.dazhuanlan.com/2019/11/20/5dd4ec5f4f552/ https://tyloafer.github.io/posts/7790/

重点提到了学习理论的泛化解释可能是有问题的。

即过拟合并不是过拟合,而是过参数化,过参数化不会导致泛化性能的大幅下降,还能保持一定的泛化能力。

然后讲了优化,一个小背景是即便是4阶多项式局部极小的优化也是NP难的问题。然后有个结论是一般的SGD方法在绝大多数方法上都work well,为什么?2019年ICML的DLLWZ证明了梯度下降GD可以以一个线性收敛速度(in a linear convergence rate)找到全局极小,但是有两个条件(没条件显然不太对头),一是网络要足够宽(即足够过参数化),然后参数的初始化选择Gauss,选择其中的协方差参数,最后选合适的step size。ResNet的确更好。

当网络无限宽时,网络会退化成kernel machine。

方法的一个insight是,在这样的初始点附近,其邻域的性质好,存在一个所谓内在的全局极优?

最后有个文章列表


第二位老师是UCLA的印卧涛,主题是Faster Learning over Networks and Opensource Framework BlueFog,介绍大规模模型。

大规模数据或者模型的处理方式是

graph LR
A(大规模) -->B(数据并行)
A(深度学习) -->C(模型并行)
A(深度学习) -->D(模型分割后并行?)

其中一种方案是parameter server approach,但不适合大规模。方式是一张卡和多张卡之间传输数据,但是n21似乎不太好整合。

graph LR
A(大卡) -->B(卡1)
A(大卡) -.1对多.->C(...)
A(大卡) -->D(卡n)
E(左到右:1对多
右到左:多对1)

报告中指出一个方案是环上的整合,叫ring allreduce,缺点是同一时刻edge只有一个

然后推荐了他们自己的framework:bluefog,好像几行代码能完成相关工作。后面没听了


第三场是微软亚洲研究院的秦涛讲神经语言合成。

graph LR
A(神经语言合成) -->B(拼接方法
比如concatenative TTS
缺点是自由度低) A -->C(参数化方法
parametric TTS
优点是灵活,缺点是可能不自然) A -->D(神经网络方法
更前沿就对了) %%E(左到右:1对多
右到左:多对1)

然后倒是讲了不少neural方法的例子:

  • Deep Voice 3(ICLR 2018)
  • Tacotron 2(LSTM)
  • Transformer TTS(AAAI 2019)
  • Fast Speech(NIPS 2019)

第四场是是顶会交流介绍。列表参考 http://www.lamda.nju.edu.cn/conf/mla20/poster.html#spotlight%2011_07 ,有需求的时候自取。

其中我自己想看的列在这里:

  • 王红师姐的模型驱动+数据驱动
  • 清华的Understanding and Exploring the Network with Stochastic Architectures

第一天下午

第五场是孙剑介绍CV前沿,自己的笔记记得挺多的。太多了所以不想整理了喵。不过注意他这里面讲得非常全的,有几个我感兴趣的,比如过参数化的解释、shuffleNet特征图间操作、目标检测的一些东西,etc。


第六场是南大吴建鑫介绍CNN压缩。一个背景是小设备上需要轻量网络。一般的方法是剪枝,总结如下:

graph LR
A(网络剪枝) -->B(剪枝基本方法
网络权重低于某阈值时就压缩
缺点是使模型非结构化,难以加速) B --> E(一篇文章作为例子 Han Song NIPS 2015) A -->C(结构化剪枝
即保持网络形状不变) C --> F(剪哪些
idea是剪一部分,后面对应的net也会受影响) C --> G(怎么剪
具体没听清楚,大概是数学优化的角度做reconstruction,最小化下一层的啥目标) %%E(左到右:1对多
右到左:多对1)

上面是以往设计的压缩剪枝方式,总结的话就是人工剪枝三段式:确定权重/重要性,剪掉,再微调网络参数。现在呢,有人在做自动压缩的方法,咋做没记笔记,大概是auto-pruner,另外还有人做ResNet剪枝、小数据任务上的剪枝,等等。


第七场是复旦黄萱菁讲中文命名实体识别,感觉是NLP方法的一些变种,具体没有咋听。


第八场是孟老师操作一手,讲模型驱动与数据驱动之间的差异、联系、结合。

以图像去噪为例,模型驱动主要是生成方式的理解, $\displaystyle \arg\min_{z} L(Y-z)+R(z)$ ,其中 $Y$ 是带噪图, $z$ 是潜在的干净图,所以 $Y-z$ 其实就相当于噪声;数据驱动则直接网络拟合干净图,

其中 $z$ 可以是提供的真实干净图,但也可以去拟合噪声啊,这样就是

但是数据驱动的确是黑箱操作,缺点是解释性相对较差,无生成功能,且依赖于监督标记。

孟老师操作了一手模型、数据驱动结合的理解,二者能否互补?由此孟老师来了一手外练筋骨皮、内练一口气、万法归宗的比喻,具体放在图里看一下:

graph LR
A(模型驱动&数据驱动) -->B(外练筋骨皮
需要知道/建模数据是怎么走的) A -->C(内练一口气
网络结构需要有可解释性) A -->D(万法归宗
数据驱动学习生成规律?) B -.paper1.-> E(MAP的, TPAMI 18, 讲CT的,链接放在文末) B -.paper2.-> F(王红大佬的去雨模型
ps:我怎么觉得这个是内练?可能笔记记错了) C -.idea.-> G(idea
网络由黑箱隐式函数到显示函数
优化算法解释为网络结构的迭加形式) C -.e.g..-> H(deep unfolding就是其中一类方法) %%E(左到右:1对多
右到左:多对1)

第九场也非常精彩!是朱军老师介绍贝叶斯深度学习,但是我的笔记没有记全😭。只记了以下几点:

  1. Bayes和NN的结合要回到Hopfield当年一个学生的博士论文

  2. BNN可以与高斯过程联系起来!

  3. Drop out也可以看/理解成是一种贝叶斯

  4. NICE中的flow-based-model

  5. VFlow没有拍到,但是好像非常有意思,回头搜一下

    搜到了:VFlow: More Expressive Generative Flows with Variational Data Augmentation

    https://www.aminer.cn/pub/5e54f1813a55acae32a25d67/vflow-more-expressive-generative-flows-with-variational-data-augmentation

    https://arxiv.org/abs/2002.09741

    https://github.com/thu-ml/vflow


第十场是京东的易津峰老师介绍对抗攻击。基本的idea就是准确率不是唯一的度量模型好坏的标准,在某种程度上准确率上升,稳健性会下降。以图像任务为例就是抗像素扰动能力下降了。笔记没咋记,又一篇京东在ECV18上面的文章,有空的话浏览下吧。

搜到了:Is Robustness the Cost of Accuracy? — A Comprehensive Study on the Robustness of 18 Deep Image Classification Models

https://openaccess.thecvf.com/content_ECCV_2018/html/Dong_Su_Is_Robustness_the_ECCV_2018_paper.html

第一天晚上

第一天晚上结束,和同学讨论了dual-SVM中QP问题转化为minmax问题的细节哈哈哈,都忘了,好在最后推出来了

第二天上午

第二天,第十一场,南方科技大学的姚新讲博弈、共生演化问题。总的来说这是老问题了,但是和机器学习的联系不是非常紧密,现在做这个的人很少了。其实我也不太想弄,在这里打个广告科普一下吧qwq。

姚老师举了很多例子:囚徒困境、协同演化的有效性验证实验、学生AA(忘了具体是什么了)问题、晚自习关灯(电量浪费)问题、农场主共用草场问题,etc。老师表示这背后其实都有数学理论,只是没时间分享了,手动狗头[doge]。理论的概览提了一下,放在下图中:

graph LR
A(共生演化问题例子
老师以NIPD为例给出了许多实验结果) -->B(历史记录
一般问题中玩家/用户只能记住前几步的经验,记得越多结果的总体效益越好) A -->C(有个group size
我忘了是啥了,反正就是越小越好) A -->D(迭代次数影响最终结果) B --> E(一般共生演化问题) C --> E D --> E E --> F(无训练集,数据都是即时模拟生成的) E --> G(初始化一般是随机的) E --> H(需要环境中用户的交互)

第十二场是阿里的华先胜讲城市大规模视觉数据、交通的预测和调度。老师先广告一波,表示Ali旗下做ML的越来越多了,包括machine vision、speech、NLP、DL及其优化问题,etc。然后华老师介绍了城市大脑和交通管理安全的概念,其中需要大规模的感知认知和优化技术。一般来说城市中交通数据中的异常数据都是imbalanced data,且都有突变性,可以看作是异常检测问题,可以直接分类,方法众多,如KNN、SVR、VAR,不过这些方法有利有弊。另外,城市中红绿灯感应方面的协同调度比较复杂,也是一个重要应用。

最后有个东西我可以参考,应该算是重要的,我截了一张图好像,讲的是记忆卷积,是否在ODE中可以考虑前几步的数据+重加权成为meta方法?


第十三场是山世光老师讲自监督学习,主要是视觉感知计算中的标记增强。自监督学习就是一种无监督,没有标记的数据,但是还是能提取出一些标记,可以说是弱标签。

ps:师兄表示山老师是人脸识别领域中国带🐂,绕不过去的那种

无标记的data本身不一定就是完全没有标记的,一般会有一些弱标签;预训练的迁移也一定程度上缓解了标签较弱的问题,但是缺点是过早进行分类会丢失信息(是指预训练提取的特征不够么🤔);而任务的迁移一般是多任务,需要上下游任务之间联系;另外,对于图像任务,自然语言中的一些常识也有机会迁移过来,比如考虑图像的词法、句法,成为视觉的常识表示。标记如何增强?增广、数据再生(包括打乱、图像擦补等手段)。

第二天下午

最后一天下午的听得都不细致了,主要是企业打广告,讲的内容比较少。主要是有一些有趣的应用,比如:

  • 英特尔的陈玉荣博士讲以人为中心的视觉分析,有个视线预测的例子很有意思
  • 南大毕业的倍漾科技冯霁博士讲了金融投资的一些idea,网上发表的相关文章几乎没有核心技术,而且往往出错众多😂。提到了金融投资分几类,瞬发的高频决策,中高频的几时内的决策(割散户韭菜❓),以及低频(数月或者季度)的决策(如公司价值的跃迁)。另外,一个idea是量化交易是团队合作!自己一个人搞模型瞎投似乎不切实际
  • 涂威威介绍第四范式,做各个方面应用产品的公司

最后的最后是顶会介绍,基本上全听了,不过不方便写在这里。就只说个结论,强化学习意外地成为近期最火热的方向,其次是自监督学习、对抗、表示学习等等。

感想

这次南京之行,对领域的各个方向有了进一步了解,以及了解了近期火热的方向(可惜暂时我不是很感兴趣),以及各个方向基础的一些方法,有意思的一些应用。目前磕盐吃还是磕磕自己原来感兴趣的吧。

其实帮助最大的还是师兄的几番谈话,对未来的打算又有了一些思考,先走一步看一步吧,11月底正式想一想接下来该怎么走。

另外,读文章还是慢了些,最近我要试图再加快读文章的速度、把握文章的重点并重点记录,流水账式的描述就先放放吧,先达到师兄描述的境界~


回来想看的文章: