Cambly是一个和真人老外(native English speakers)视频聊天练习英语口语的平台。
强化学习
[原创] 总有一天,失业不再遥远
尽管人类离[通用人工智能]的路还很远,但越来越多新技术的出现,让这条路得以不断加速。
What?强化学习设计芯片?
就这几天的事:Google已经开始用强化学习技术来设计芯片了!
如果说用强化学习来玩游戏、下围棋,甚至用来帮助提升互联网广告的点击率、收入,都不是什么新鲜事的话,那么用强化学习来设计芯片,就也太新鲜了吧?但Google就做到了[1]:
我们提出了一种基于学习的芯片布局方法,这是芯片设计过程中最复杂、最耗时的阶段之一。与之前的方法不同,我们的方法具有从过去的经验中学习并随着时间的推移而改进的能力。特别是随着我们对更多的芯片块进行训练,我们的方法在快速生成以前未见过的芯片块的优化布局方面变得更好。为了实现这些结果,我们将芯片布局作为一个强化学习(RL)问题,并训练一个Agent将芯片网表的节点放置到芯片画布上。为了使我们的RL策略能够泛化到未见过的芯片块,我们将表征学习置于预测布局质量的有监督任务中。通过设计一个能够准确预测各种网表及其布局质量的神经架构,我们能够生成丰富的输入网表的特征嵌入。然后,我们使用这个架构作为我们的策略和价值网络的编码器来实现转移学习。我们的目标是将PPA(功率、性能和面积)降到最低,我们表明,在6个小时内,我们的方法可以在现代加速器网表上生成超越人类或可与之相媲美的芯片布局,而现有的基线需要人类专家在循环中进行,并需要几周的时间。
硬件工程师为之虎躯一颤。
[原创] 强化学习框架 rlpyt 的 size mismatch 错误原因及解决办法
查看关于 rlpyt 的更多文章请点击这里。
rlpyt 是BAIR(Berkeley Artificial Intelligence Research,伯克利人工智能研究所)开源的一个强化学习(RL)框架。我之前写了一篇它的简介。
当你使用 rlpyt 来实现自己的强化学习程序时,可能会遇到类似于下面这样的错误:
RuntimeError: size mismatch, m1: [1 x 365], m2: [461 x 32] at /tmp/pip-req-build-_357f2zr/aten/src/TH/generic/THTensorMath.cpp:752
本文分析错误原因及解决办法。
[原创] 强化学习框架 rlpyt 源码分析:(9) 基于CPU的并行采样器CpuSampler
查看关于 rlpyt 的更多文章请点击这里。
rlpyt 是BAIR(Berkeley Artificial Intelligence Research,伯克利人工智能研究所)开源的一个强化学习(RL)框架。我之前写了一篇它的简介。 本文是上一篇文章的续文,继续分析CpuSampler的源码。
我们已经知道了CpuSampler有两个父类:BaseSampler 和 ParallelSamplerBase。其中,BaseSampler主要是定义了一堆接口,没什么好说的,因此本文接着分析另一个父类 ParallelSamplerBase。在 ParallelSamplerBase 中,初始化函数 initialize() 做了很多重要的工作,已经够写一篇长长的文章来分析了,这正是本文的主要内容。
[原创] 强化学习框架 rlpyt 源码分析:(8) 基于CPU的并行采样器CpuSampler
写这篇文章的过程中,我改稿改到怀疑人生,因为有些我自己下的结论在看了很多次源码之后又自我否定了多次,所以这篇文章花了我很长时间才完工。虽然完稿之后我仍然不敢保证绝对正确,但这至少是在我当前认知情况下我“自以为”正确的版本了,写长稿不易,望理解。
查看关于 rlpyt 的更多文章请点击这里。
rlpyt 是BAIR(Berkeley Artificial Intelligence Research,伯克利人工智能研究所)开源的一个强化学习(RL)框架。我之前写了一篇它的简介。
在单机上支持丰富的并行(Parallelism)模式是 rlpyt 有别于很多其他强化学习框架的一个显著特征。rlpyt可以使用纯CPU,或CPU、GPU混合的方式来并行执行训练过程。
[原创] 强化学习框架 rlpyt 并行(parallelism)原理初探
查看关于 rlpyt 的更多文章请点击这里。
rlpyt 是BAIR(Berkeley Artificial Intelligence Research,伯克利人工智能研究所)开源的一个强化学习(RL)框架。我之前写了一篇它的简介。
在单机上全面的并行(Parallelism)特性是 rlpyt 有别于很多其他强化学习框架的一个显著特征。在前面的简介文章中,已经介绍了 rlpyt 支持多种场景下的并行训练。而这种“武功”是怎么修炼出来的呢?它是站在了巨人的肩膀上——通过PyTorch的多进程(multiprocessing)机制来实现的。
所以你知道为什么 rlpyt 不使用TensorFlow这样的框架来作为后端了吧,因为TensorFlow根本就没有这种功能。TensorFlow只能靠类似于Ray这样的并行计算框架的帮助,才能支撑起全方位的并行特性。