粗略看了一下Science那篇论文 ---Human-level concept learning through probabilistic program induction。
整体思想是用一个贝叶斯模型来描述人写字的概念, 其实就是模拟了人写字的过程, 并且模型已知字是由笔画组成这个概念, 生成一个字的过程就是寻找笔画, 并且用笔画组成这个字。整个过程分为两大步:
算法在本文末有描述。显然笔画集合、笔画间的关系集合 是非常重要的, 文中提到这个来源于 background 显然不是来源于训练集了。
所以可以玩 one-shot. 训练集只用于学习各个阶段的抽样概率(选笔画的概率, 选笔画关系的概率等)。但是整体来看这个模型的这些概率参数决定了最后对文字的生成结果, 用一条训练样本训练风险应该比较大, 即使作者在一些步骤加入了随机扰动可以从多个结果中选一个最优的还是不太能理解为何效果会那么好。
如果不同语种分开来做的话, 笔画集合、笔画关系集合本来就限制在了一个非常小的范围内, 这可能是模型效果非常优秀的原因。
模型确实在给定了字是由笔画组成的这个先验知识后, 能自己去组合这些笔画。这和人类学习写字的过程几乎是相同的。遇见一个新的字人也会这样去模仿。
但是如果仔细来想, 这个问题其实不难。因为一般的语种, 笔画集合、笔画关系集合确实非常小, 如果分语种学习似乎是在过拟合这个语种。因为解空间本来就小, 这时候BPL能取得很好的效果, 比较希望能看到这个模型能用到别的问题上的效果, 那样会更震撼。
作者的说法没有问题, 是学习了写字的概念。但是如果能不加入字是由笔画组成的概念, 而让机器学习出字由笔画组成这个概念, 这就真的是机器在和人竞争了。DeepLearning 并不适合解文中提到的问题, 所以要拿来对比其实有失偏颇。但是在大家盲目的DeepLearning的今天, 作者提出的这个概念意义远大于漂亮的解决学习写字的任务。
干货下载
1.【华创证券】机械设备:机器人大趋势
2.【东吴证券】大国崛起:中国智造值得中长期布局
3.【广发证券】清洁机器人:旧时王谢堂前燕,飞入寻常百姓家
4.【民生证券】人工智能 + 适合的应用场景
5.【荐书】The Master Algorithm