2013年6月22日,星期六

集成电路 2013:稀疏,深度和随机

集成电路 2013 对组织者来说,这是今年的一次伟大的会议。 对于个人来说,要全面了解所有内容实在太大了,但我确实注意到了三种趋势。

首先,稀疏性作为一种结构性约束似乎无处不在。 由于我对该子领域知之甚少,因此我非常关注最初两分钟的谈话,这些谈话通常会(很快地)讨论一些基本问题,例如,“人们为什么完全关心稀疏性?”.  我听到了一些通用动机,例如计算便利性和清晰度。 我还听到了一些具体的动机,例如 阿南库玛(Anandkumar)等等 表明对于特定的生成模型结构,可以通过稀疏编码技术来识别参数; Ruvolo和Eaton主张 模型的稀疏编码 在多任务学习中促进任务之间的知识转移。

第二,深度学习继续复苏。  特别是两次演讲提出了一些重要的未来方向。 首先是Coates关于以下架构的深度学习的演讲: 16台带有4个GPU的机器,每个通过infiniband连接.  我在这个博客上抱怨过SGD的高通信成本如何使它成为一种不良的分布式学习算法,但Coates等。等直接用硬件来解决这个问题。 这显然是不久的将来。 最重要的是,我们实际上并没有更好的神经网络训练算法,但是解决问题的经济性非常重要,以至于有可能“throw hardware 在 it”,硬件将被抛出。 The second talk was 递归神经网络训练的难点 由Pascanu等等人讨论了在递归环境中基于梯度的学习的一些改进。 显然,深度学习专家主导了“natural UI”在移动空间中如此重要的问题(例如语音识别和图像标记)现在正在寻求主导顺序预测任务(随着自治系统变得越来越普遍,重要性将越来越大)。 他们将与核心人员展开激烈的竞争:Le Song在精彩的演讲中 条件分布的希尔伯特空间嵌入 应用于顺序预测。

说到内核家伙,第三个主题是随机的,尤其是Alex Smola的演讲 核学习的快速随机逼近 (“FastFood”) was a real treat.  据推测,随机计算技术与条件分布的希尔伯特空间表示相结合,将产生用于顺序预测和其他潜在建模任务的强大算法。 在这方面的另一个突出表现是Mahoney的演讲 回顾Nyström方法以改善大型机器学习.

请注意,与前两个主题(稀疏和深层主题)不同,我不会说random是广泛流行的主题。 我个人对此感到非常兴奋,并且我认为对机器学习的影响很大,尤其是在分布式环境中。 基本上,使用这些随机算法的数值线性代数专家一直在研究“架构感知计算”多年以来,机器学习社区才开始意识到这一点。 For a glimpse of what this might mean to 您, consider David Gleich's talk on Hadoop中的瘦身QR分解.

最后,我不得不提到John Langford和HalDaumé进行了关于命令式学习的精彩演讲,这与上述任何内容都不适合。 我找不到任何在线资料,这很不幸,因为这真的很酷,而且如果您曾经将机器学习算法应用于现有的生产系统中,那么您会立即喜欢上它。 基本思想是您,最终用户,程序“normally”并调用实现为协同程序的学习算法。 这有两个优点:首先,该算法自然地体验了由程序引起的决策的分布,因此“dataset collection”问题和相关错误得到缓解(这对于顺序预测尤为重要);其次,训练和评估时间码的路径相同,因此在生产中的实现既容易,又不易出错。 请注意,此设置中的评估时间开销很小,因此没有诱惑来重写生产算法。 引入了测试时间开销,但是可以通过使用额外的注释修饰代码来减轻此负担,从而使学习算法能够适当地记忆。 实在太热了,我想自愿在附近尝试一些顺序的预测任务,以尝试一下。

2条评论:

  1. Hi Paul, great post! Could 您 elaborate a bit on the last point:
    "引入了测试时间开销,但是可以通过使用额外的注释修饰代码来减轻此负担,从而使学习算法能够适当地记忆。"
    为什么这种方法与通常的方法之间会有开销,为什么备忘录可以解决?谢谢!

    回复删除
    回覆
    1. 为了保留对由...编写的代码进行串行执行的错觉"you", the learning algorithm calls 您r code many times to simulate different paths through the decision space. Many of these paths are shared and duplicate evaluation could be avoided if 您 wrote 您r code as a state machine, but the whole point is to avoid forcing 您 to write code as a state machine. The compromise is that 您 can decorate 您r code with special function calls that help the learning algorithm avoid duplicate path evaluation (these calls are harmless 在 evaluation time).

      顺便说一下,这意味着由"you"必须是纯函数(即无副作用)。

      删除