ADM-201 dump PMP dumps pdf SSCP exam materials CBAP exam sample questions

我们能掌握元学习吗? – 译学馆
未登陆,请登陆后再发表信息
最新评论 (0)
播放视频

我们能掌握元学习吗?

Meta Learning

我们能学习“学习”吗?
– Can we learn to learn to learn?
大家好 我是Siraj
Hello world, it’s Siraj,
如果神经网络能学会如何学习会怎么样?
and what if neural networks could learn how to learn?
学会学习的过程
The process of learning to learn,
就是高级别AI优化低级别AI的过程
where a top-level AI optimizes a bottom-level AI,
这个学习过程即元学习
or several of them, isconsidered meta-learning,
目前在AI领域 元学习是个非常流行的话题
and it’s currently avery popular topic in AI,
原因在于元学习算法
the reason being meta-level AI algorithms
通常让AI系统学习更快
generally make AI systems learn faster,
适应环境变化能力更强
adapt to changes in their environments
以及能推广到更多任务中
in a more robust way, andgeneralize to more tasks.
它们可以用于优化模型架构
And they can be used tooptimize a model’s architecture,
模型参数 模型采用的数据集类型
its parameters, the typeof data set it uses,
或它们当中的一些组合
or some combination of all of them.
如果我们看看文献
If we look at the literature,
有些相当好笑的元学习文章
there are some pretty hilariously named meta-learning papers
也在秀元学习技术
that demonstrate these techniques,
比如《通过梯度下降学习
like Learning to learn by gradient descent
如何通过梯度下降进行学习》
by gradient descent.
超级有爱
Gotta love it.
还有《DARTS:可微分的结构搜索》
And DARTS, or DifferentiableArchitecture Search algorithm.
但在本视频里
But in this video,
我想重点讲一种特别的元学习技术:
I wan na focus on a specific meta-learning technique
神经进化
called neuroevolution.
这是利用进化算法
This is the process of using what’s called
来研究神经网络结构的过程
an evolutionary algorithm tolearn neural architectures.
这种技术引起了我的兴趣
The reason this techniquepiqued my interest
原因在于今年谷歌发布了一些研究
is because, just this year,Google published some research
详细介绍了他们利用进化算法
detailing their effort atusing an evolutionary algorithm
来研究神经图像分类器的架构
to learn the architecture ofa neural image classifier,
并成为相关领域的佼佼者
and it ended up becomingthe state of the art,
这让许多研究团体成员感到惊讶
which was somewhat surprising to many
因为到目前为止
in the research community, since evolutionary algorithms
进化算法并没有
haven’t shown nearly as much promise
如监督学习和无监督学习那样
for real world use cases as supervised
在现实世界有广泛的使用案例
and unsupervised methods have so far.
别忘了还有暴力算法
And don’t forget brute forcing!
如果有大量的训练数据
Neural networks can perform tasks
神经网络就能
that would be difficult
执行对人类而言比较困难的任务
for humans if they’re given large amounts of training data.
但要发现这些网络的最优架构
But discovering the optimal architectures
可不简单
for these networks is non-trivial,
研究人员要大量试错
and takes researchers alot of trial and error.
在研究团体中 图像分类是个有名的难题
Image classification is a well-known problem in the community,
因为几年前 深度学习研究人员
as deep learning researchers established
就建立了最先进的技术
the state of the art a couple years ago.
研究人员致力于开发更新的架构
Researchers worked hard ondeveloping newer architectures
逐渐把顶级技术
that progressively broughtthe state of the art
提升到更高的水平
to newer levels year after year. Ambitiously,
谷歌雄心勃勃地决定
Google decided to try
试验一种进化算法
an evolutionary algorithm to try to learn
尝试研究图像分类中的神经架构
what a neural architecture would look like
以此来替代手动设计
for image classificationinstead of hand designing it,
这种方法比其它方法都要好
and it out-performed the rest.
不光是谷歌
And it wasn’t just Google.
很多热门科技公司采用了神经进化策略
Neuroevolutionary strategieshave started to see
比如 优步
more adoption as populartech companies, like Uber,
采用神经进化算法来提升
have started adopting them to help improve
产品的性能
the performance of their products.
优步的调度算法
Uber’s dispatch algorithm has to analyze
能实时分析成千上万的车辆需求
thousands of features in real time
每分钟
to generate more
促进超过3亿的乘客和司机进行匹配
than 30 million rider-driver match pair predictions per minute,
神经进化算法帮助他们加快了
and neuroevolution helps them speed up
这一关键过程的速度
this crucial process.
他们也在博客上发了相关的帖子
They’ve got a great blogpost on this as well
列举了几个使用例子
that lists several examples.
为什么在神经网络设计中要采用进化算法
So why apply evolutionto neural network design? Well,
引用当代诗人马歇尔·马瑟斯的话
to quote the contemporarypoet Marshall Mathers,
我们只不过是哺乳动物
we ain’t nothing but mammals,
大自然证实了这一点
and nature demonstrates this.
一百多年前 进化生物学家
When the evolutionarybiologist Charles Darwin
查尔斯·达尔文到达加拉帕戈斯群岛
visited the Galapagos Islands decades ago,
他注意到有些鸟类看起来
he noticed that some birds appeared to have evolved
像是从同一个祖先进化而来
from a single ancestral flock.
它们有共同的特征 但它们的喙却各有特点
They shared common features, but were characterized by their unique beak forms,
这种区别源自它们独一无二的DNA
which sprung from their unique DNA.
我们可以把DNA看做元级构造
We can think of DNA asa meta-level construct.
它是细胞复制的蓝图
It’s a blueprint that guidesthe replication of cells,
它是一段长期的记忆
a long term memory storethat captures instructions
存储了复制生物系统所必须的指令
necessary to recreate biological systems
它的存在超越了生物的死亡
that transcend their death.
达尔文的假设是 不同岛屿隔离了每个物种
His hypothesis was that theisolation of each species
这导致了物种的多样性
to a different islandcaused this diversity. Eventually,
最后他将此观点写成著名的自然选择理论
he turned this hypothesis into his now famous theory of natural selection.
自然选择的过程就是算法
This process is algorithmic,
我们可以在硅处理器中
and we can simulate iton silicon processors
通过建立进化算法模拟这一过程
by creating evolutionary algorithms.
进化算法创建一个种群
An evolutionary algorithm creates
种群里有随机产生的个体成员
a population of randomlygenerated members.
每个成员都用某些算法表示
Each of these members arerepresented by some algorithm.
算法可以是任何类型的 不限于机器学习
It could be any kind, not justa machine learning algorithm.
区块链也行?
Even blockchain?
不可以
No. Then,
根据设置的目标函数
it will give each member a score
每个成员都有一个得分
based on an objective function.
这个分数称为适应度函数
This score is called the fitness function.
它用来测量
It’s a measure of how well a member did
一个成员在达到目标时的优劣程度
in relation to the goal.
一旦所有成员都被评分
Once all members are scored,
算法会通过预先定义的值
the algorithm will select the highest scoring members
来选择分数最高的成员
by some pre-definedthreshold and breed them
并让它们繁衍出更多类似的成员
to produce more members like them.
繁衍涉及到改写每个成员
Breeding involves some interpolation
具有特定用途的特性
of each member’s featuresthat is application-specific.
此外 我们会让一些成员随机突变
In addition to breeding, we’llmutate some members randomly
从而尝试发现更优秀的候选成员
to attempt to find even better candidates.
根据达尔文的适者生存理论
The rest of the members die off
剩下的成员会弃之不用
in a very Darwinian survival of the fittest way.
这一过程迭代重复 直到满足需求
This process repeats for asmany iterations as necessary. Actually,
由此 我们将重复迭代称为“世代”
in this context,we call them generations,
正如我们定义的
as we defined.
最终 理想状态是我们会留下
In the end, the idea isthat we’ll be left with
成员最能满足需求的种群
the very best possiblemembers of a population.
这些步骤受达尔文的自然选择启发
These steps are all inspired by Darwin’s theory of natural selection.
我们可以把它们认做优化器
We could think of them as optimizers,
用来搜索
searching the possible space of solutions
最适合问题的解
for the right one.
它们都是一类算法
They’re all a part of thebroader class of algorithms
即进化计算的一部分
called evolutionary computation.
观察动物界可以发现
If we again look at the animal kingdom,
动物的学习方式:生命间学习和生命内学习
we’ll observe that there is a complex interplay
在这两者交织的过程中
in two intertwined processes,
存在复杂的相互影响
inter-life learning andintra-life learning.
我们可以把生命间学习
We can think of inter-life learning
看做经过自然选择的进化过程
as a process of evolution via natural selection. Traits,
生物特性 表观遗传学 微生物群落
epigenetics, and microbiomes
在动物中世代相传
are passed on between animal generations.
而生命内学习
And intra-life learning
和一只动物在它的一生中如何学习有关
relates to how an animal learns during its lifetime.
这受到它所在的环境的影响
That is, this is conditioned on its interaction
比如 辨认物体
with the world, things like recognizing objects,
学习交流 学习走路等等
learning to communicate, and walking.
这两个自然学习方式都映射到计算机科学
Both of these natural approaches are mirrored in computer science.
进化算法可以视作生命间学习
Evolutionary algorithms can be considered
然而神经网络
inter-life learning,whereas neural networks
可以认为是生命内学习
can be thought of as intra-life learning,
或者基于自然梯度的优化策略
or any gradient-basedoptimization strategy really,
特定的经验 可以提升个体行为
where specific experiencesresult in an update in behavior. So,
那么 我们怎么完成神经进化?
how do we perform neural evolution
怎么用这两个过程去实现一个目标?
using both of theseprocesses to complete a goal?
我们有个非常简单的
Let’s say we have a very simple,
完全连接的神经网络
fully connected neural network.
我们的目标是给图像分类找出最佳参数
Our goal would be to find the best parameters for image classification.
参数主要有四种
There are four main ones:
神经网络层数
the number of layers our network will have,
每层网络的神经元数量
the number of neurons in each layer,
神经元的激活函数
what the activation function will be,
以及优化算法
and what the optimizationalgorithm will be.
开始先以随机权重初始化神经网络
To start, we’ll initializeour neural network
但和我们通常处理一层神经网络不同
with random weights, butnot just one neural network like we usually do.
我们初始化几层来建立一个种群
Let’s initialize severalto create a population.
我们需要用图像数据集
We’ll need to train theweights of each network
来训练每层神经网络的权重
using an image data set,
然后用基准问题测试
then benchmark how well it performs
它在分类测试数据方面的表现
at classifying test data.
我们会用它在测试集的分类精度
We’ll use its classificationaccuracy on the test set
作为适应度函数
as our fitness function.
如果我们按照它们的精度将网络分类
If we sort all of ournetworks by their accuracy,
就可以看到哪些表现最差
we can see which onesare the lowest performing
然后剔除掉
and remove them.
我们只会挑选出得分最高的网络
We’ll only select the top scoring networks
组成部分下一代神经网络
to be a part of the next generation.
我们也会挑选出一些较低得分的网络
We’ll also select a few ofthe lower scoring networks,
因为它有可能
since it could potentially result in us
让我们在优化过程中不陷入局部最优点
not getting stuck in a localmaximum as we optimize.
我们也可以随机
We can also randomly mutate some of our
改变某些网络参数
network parameters as well.
这些方法就像以进化的方式来防止过拟合
Both of these methods are like an evolutionary way of preventing overfitting.
现在我们要挑选出最佳解
Now we’re going to breed out top picks.
在神经网络中
In our neural network case,
我们会结合父级网络的随机分类参数
we’ll create a new network, or child,
创建新的网络
by combining a randomassortment of parameters
也叫子级神经网络
from its parent networks. So,
子级网络和一方父辈层数相同
a child could havethe same number of layers
而它剩余的参数
as one parent, and therest of its parameters
则来自另一方父级网络
are from another parent.
另一个子级网络可能正好相反
Another child could have the opposite.
这就是真实生活中生物遗传的写照
This mirrors how biologyworks in real life,
并且能帮助我们的算法
and helps our algorithm converge
集中于优化网络
on an optimized network.
如果测试我们的算法
If we test out our algorithm
拿它跟暴力搜索进行比较
and compare it to a brute force search,
可以发现 这个算法和暴力搜索结果类似
we’ll find that our algorithm gives us the same result as brute force.
但它只要训练7个小时而不是63小时
but in seven hours oftraining instead of 63.
因为提升了神经网络参数的复杂性
As the parameter complexityof the network increases,
进化算法能让搜索过程呈指数级加速
evolutionary algorithmsprovide exponential speed ups.
谷歌也做这个
Google did this as well,
采用的数据更多
but with lots more data
计算能力更强
and computing power.
数天来 他们使用了上百个GPU和TPU
They used hundreds ofGPUs and TPUs for days.
他们初始化了1000个相同的
They initialized 1000 identical
没有隐藏层的卷积神经网络
convolutional neural networkswith no hidden layers,
然后通过进化过程
then through the evolutionary process,
更高精度的网络被选做父级网络
networks with higher accuracies are selected as parents,
通过复制和突变生成子级网络
copied and mutated to generate children,
其余的网络则会死亡
while the rest die out.
渐渐地 神经网络架构越来越好
It progressively discovered better and better network architectures.
在之后的测试中
In a later experiment, they used
他们使用叫做元胞的固定重复堆栈模式
a fixed stack of repeatedmodules called cells.
元胞的数量保持不变
The number of cells stayed the same,
但每个元胞的架构会随时间推移进行突变
but the architecture of each cell mutated over time.
他们还使用特定的正则化规则
They also decided to use a specific form
来提升网络的准确性
of regularization to improve the network’s accuracy.
不管最老的网络有多好 都会被移除掉
Instead of letting thelowest scoring networks die,
而不是让最差的神经网络死亡
they remove the oldest ones regardless of how well they scored,
这样会提升网络的准确性
and it ended up improving the accuracy because
因为他们的网络不允许权重继承
their networks didn’tutilize weight inheritance,
所有网络都必须从头训练
and they all needed to train from scratch.
这种正则化选择
This technique selects
在重新训练后仍然保持良好状态的网络
for networks that remain accurate when they are retrained,
所以只有经过几代后仍能保持准确的架构
so only architectures that remain accurate
才能长期存活下来
through each generationsurvive in the long run,
这意味着
which means
最终网络重新训练得非常好
we’ll get networks that retrain really well.
他们把这个模型称为AmoebaNet
They call their model AmoebaNet,
它是图像分类技术的最新成果
and it’s the new state of the art in image classification.
那么 我们学到了什么?
So what have we learned here?
元学习是学会学习的过程
Meta-learning is the processof learning to learn,
是一个AI优化另一个或几个AI的过程
where an AI optimizesone or several other AIs.
进化算法采用了
Evolutionary algorithms use concepts
生物进化的概念
from the evolutionary process,
比如突变和自然选择
like mutation and natural selection,
来解决复杂的问题
to solve complex problems,
元学习技术又称为神经进化
and a meta-learning techniquecalled neuroevolution
采用了进化算法
uses evolutionary algorithms
来优化特定的神经网络
to optimize neural networks specifically.
请订阅更多节目视频
Please subscribe formore programming videos,
现在 我得去找一个“梯度”
and for now, I’ve got ta find a gradient,
感谢收看
so thanks for watching.

发表评论

译制信息
视频概述

介绍了元学习的过程和理论。

听录译者

收集自网络

翻译译者

兰代

审核员

审核员#IN

视频来源

https://www.youtube.com/watch?v=2z0ofe2lpz4

相关推荐