Nanjing university
LAMDA group
(abbreviation :learning and mining data)
I have wide research interests, mainly including artificial intelligence, machine learning, data mining, pattern recognition, evolutionary computation and multimedia retrieval, among which machine learning and data mining are my core research areas. I am particularly interested in the problem of how to enable computing machines to handle "ambiguity".
Currently I am interested in the following ML/DM topics: |
For applications, I am mainly interested in the following areas:
I am also interested in:
Research is for fun. If I am interested in some other things, the above list will grow; if something in the list does not attract me any more, the above list will shrink. In short, these are just my current interests.
来自
大数据 不等于 大的价值 来源于数据分析 数据分析的手段:机器学习
包含关系:深度学习<机器学习<人工智能
成功来源:
有效的深度模型
存在强监督信息
存在
Deep learning
Deep neuronal network DNNS
深度神经网络:
以往的神经网络采用的时单或双隐层结构,而深度神经网络的层数更多
(到现在1000+层的神经网络也已经很常见了)
神经网络的结构单元函数实际上很简单:
因为我们离不开高效的bp算法,bp算法是深度神经网络的关键的手段,这个算法基于梯度搜索,这个前提是能够将梯度算出来,所以目标必须是要可微的。
神经网络半个实际以前就有了,是不是因为算力的增长呢?
answer:这个理解错误,五层以上神经网络在训练的时候出现梯度消失问题,即:五层以上神经网络在将梯度返回回来的时候,接近输入层的地方,梯度会变为0,导致无法训练下去。Clinton(今年图灵奖得主)做的工作,采用逐层训练的方法,让梯度消失不再出现。但现在这个方法已经不再使用了,但是他也证实了防止梯度消失的方法是确实存在的,所以是可能训练出深度神经网络的。所以:可以看出梯度在神经网络中是非常重要的。
训练方法:
Bp(backpropagation)
corn:怎么样有效将梯度算出来,防止梯度消失和梯度弥散
Why deep?->为什么要用深的才能成功?Open problem
One explanation模型复杂度
Increase model complexity->increase learning ability
Increase model complexity->increase risk of over fitting,difficulty in training
拿到一个模型,我们希望做泛化,希望这个模型能够对未来的没有见过的做处理,这个能力就是泛化能力,理论上与容量(capacity)有关,一般来说,一个模型的capacity比较大,泛化能力就强。模型容量与模型复杂度有关。如果一个模型的复杂度比较高,那么他的泛化能力就很可能比较强。提高模型复杂度做法:变宽或变深。Deeper or wider,deeper更好,在泛函空间中表达能力要更好。那么为什么知道用深度神经网络做机器学习更好,之前却没有这样去做的原因:机器学习一直避免的就是:过拟合。通过给定的训练集做出一个模型,但是可能会将其中的错误学出来,得出错误的结论。当模型过于复杂,学习能力过于强大,就容易学习错误信息。
避免过拟合:
最简单的方法:过拟合风险降低:可以用大数据去降低在使用高复杂度模型时存在的过拟合的风险
现在有了大数据(big training data),训练技巧,和算力,所以允许了我们能够用高复杂度模型,而深度神经网络是一种容易使用的高复杂度模型。
Enable to use high complexity models
这个解释也可以用来训练浅层神经网络,并不是必然导致需要用深层神经网络,但是为什么深层使用起来更好呢?
深度神经网络最重要的作用又是什么?
表示学习。以前用机器学习,需要用特征表示,机器学习关心分类器的问题,而现在只用将数据扔进去,再将结果从另一端拿出来。
corn:表示学习,自动学习特征,端到端的学习。
IC Lear
逐层处理:layer by layer processing
深度神经网络表示的关系:逐层处理,是区别去浅的神经网络的。
攻击其能不能站得住,看有没有能够逐层处理的。
有
为了将更多的数据利用起来,需要足够的模型复杂度。所以就要往深度模型上加层数。
所以深度学习(模型)成功的关键在于:
但以上的三个特点是一个猜想。
那么,我们如果能够找到一个模型有以上的三个特点,那么就能做深度学习。
如果猜测是合理的,那么这三点没有明确说要用深度神经网络。
结论:如果这个猜测是正确的,那么我们就有可能构造出深度神经网络之外的深度模型。
如果我们能构造出这样的模型,并且可以run,我们可以将眼光放得更广一些。
深度神经网络很好了,为什么要研究其他模型呢?没有办法在数学上证明,可以在计算机角度给出构造性证明。构造出这样条件的模型,能达到这样的结果。深度神经网络有很大的缺陷:参数太多,需要很大的计算法复杂度。
训练之前需要设计好复杂度,pulling层多大,卷积核多少等等,然后再训练,这个复杂度可能会过于复杂,然后在计算过程中简化模型。需要简化模型就意味着已经花费了额外的计算代价,训练过程中能不能用一个简单模型,然后再去让其变复杂。而神经网络依赖于bp,如果一开始模型不确定,就没有办法求梯度,没办法用这个模型。
90%机器学习模型只是使用,不关心模型的好坏,只关注结果,目前深度神经网络已经很好了,在图像,视频,语音上work的很好,而这几类问题都是典型的数值建模问题。
在:kaggle competition中 随机森林和xgboosting在一些离散建模,符号建模,混合建模问题会比神经网络要做的好。
No free lunch
也就是说,在一些问题上,深度神经网络并不是在所有的问题是做的好。
能不能基于不可微构建进行深度学习(即不采用bp算法)
Realize deep learning with non-differential modules
子问题:
不可微构建深度学习,是一个explore
文章链接:deep forest ,national science review,2019.6(74-86)
应用在:网络交易的套现问题。
在非数值建模,符号化建模上,不可微是他的优势。但是该模型也是刚出现,需要很多的工作要去做。New tech usually has a long way to go
研究生关心的问题:
challenge:Diversity
如果不保证其多样性,会导致很严重的over fitting的问题,就是将第一层模型的输入当成是第二层模型的输出,迭代构造新的深度模型是行不通的,到第三层就会过拟合。
深度神经网络防止梯度消失,深度森林,就要防止diversity 消失。
特征增强:怎么将特征变多,每一层增加三位forest,问题:原来数据很高维,对于增加的维数杯水车薪,是因为增加的特征表示太少了。
一个训练好的森林模型也可以做到很好的recover,即利用一个训练集训练模型之后将训练集扔掉能够recover出一个完整的训练集。即信息包含在森林里。在文本处理时,can be used as a encoder。bias 这个好不好不好说,但是森林不需要bias
层次化的分布式表示以为是神经网络才有的,但是深度森林后来证明也有。
深度神经网络用GPU加速可以map到训练上
而森林一般是if then else这样switch的操作,所以是不能用GPU来加速
那么我们就需要找到其他的硬件用来做森林的加速。
DF(deep forest)offers a verification to our conjecture
The essential of deep learning
二:关于监督信息
目前高度依赖:强监督信息
例如:深度学习需要有大量的“有标记的样本”
Alpha zero (阿尔法元)及其背后强化学习技术,真的不需要监督吗?
属于过度宣传,是因为当初alpha go在训练的时候输入的是样本,在zero自己学习的过程中需要判断每一步的棋局是输赢的状态,游戏本身的“胜负规则”(positive or negative的激励)(上帝判断)本身就是极强的监督信息。
相关探索:
A brief introduction to weakly supervised learning(new science review)
仍然有大量的内容有待探索,在strong supervision 之外,有incomplete supervision等等
传统的机器学习的学习任务:主要是针对封闭静态的环境(重大的因素大多是定的)
使用算法训练学习,
模型(决策树,神经网络,支持向量机,boosting ,贝叶斯网络。。。)
国际人工智能大会(AAAI)
Presidential address
相关探索:
样本类别变化:
数据分布变化:
模型属性变化: