首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

学界 | NEAT学习:教机器自我编程

选自medium 机器之心编译 参与:Nurhachu Null、路雪 本文介绍了一种机器学习方法:通过增强拓扑进化神经网络(Evolving Neural Networks through Augmenting...在这篇文章我要阐述一种机器学习方法,叫作「通过增强拓扑进化神经网络」(Evolving Neural Networks through Augmenting Topologies,NEAT)。...NEAT 指「Networks through Augmented Topologies」(通过增强拓扑进化神经网络),描述了自学习机器算法概念,这些算法概念受启发于进化过程遗传修饰(genetic...地址:http://nn.cs.utexas.edu/downloads/papers/stanley.ec02.pdf 摘要:神经进化领域一个重要问题是如何利用带有权重进化神经网络拓扑。...我们展示了一种方法,即通过增强拓扑进化神经网络(NeuroEvolu- tion of Augmenting Topologies,NEAT),该方法在有挑战性基准强化学习任务表现优于最好固定拓扑

1.1K71

深度进化网络结构表示:利用进化计算自动设计人工神经网络

该算法不仅搜索最优网络拓扑(network topology),而且还对超参数(学习或数据扩充参数)进行调优。...任务目标是对目标识别任务准确性进行最大化。 为了分析进化拓扑结构普遍化和可伸缩性能力,我们采用了最好卷积神经网络拓扑,并在CIFAR-10基准分类上对它们进行了测试。...两种不同、相互矛盾行为是可以观察到。从进化开始直到大约第60代性能增加,层数会不断地减少;从第60代到最后一代,在性能提升之后,最好网络隐藏层数量也在增加。...在我们方法,可训练参数数量要高得多,因为我们允许在进化卷积神经网络中放置完全连通层。此外,在进化过程,没有先验知识用于对搜索空间(search space)偏见。...这些结果表现超过了那些为卷积神经网络进化而采用数据扩充方法文献。

78780
您找到你想要的搜索结果了吗?
是的
没有找到

神经进化:一种不一样深度学习

例如在神经进化算法之前,NEAT算法(通过增强拓扑进化神经网络(Evolving Neural Networks through Augmenting Topologies))利用直接编码在进行修改网络拓扑结构...在整个评估过程,尽管确定适应度方式完全取决于实际问题具体情况,但可以进行合理修改。例如在图像识别可以设置为准确度,游戏中可以设置为点数。...物种形成是一种代际神经进化工具,它根据显型拓扑相似性等明显特征将群体个体聚集在一起;或根据或在实际环境达到特定状态等隐藏特征聚集。...神经进化具有里程碑意义研究 该算法不同于我们之前讨论传统神经网络,它不仅会训练和修改网络权值,同时会修改网络拓扑结构,包括新增节点和删除节点等操作。...NEAT通过突变和无损重组直接编码,同时通过物种形成保护创新。由于其简单性和同步能力,NEAT可以被认为是典型神经进化算法。

40410

老司机养成:教神经网络变身《马里奥赛车》高手 | 论文+代码

问耕 编译整理 量子位 出品 | 公众号 QbitAI 神经网络持续在游戏界立功,这次拿下是经典游戏:《马里奥赛车64》,而且只需要很小计算力就能完成。...先来看看成果,这段视频是训练两天半之后表现,神经网络已经变成老司机了,漂移、撞车都玩得666~ 这套玩转《马里奥赛车64》AI,是一个在BizHawk模拟器基于NEAT算法搭建神经网络,使用Lua...所谓NEAT算法,全名是NeuroEvolution of Augmenting Topologies,增强拓扑神经网络。这是一种使用遗传算法进化人工神经网络方法。...NEAT理念是从小型、简单网络开始,然后逐渐向复杂网络进化升级。...NEAT交流讨论页在此: https://www.cs.ucf.edu/~kstanley/neat.html 关于NEAT更多细节,可以参考这篇论文《Evolving Neural Networks

85761

来看看NEAT学习方法!

NEAT全称是增强拓扑神经网络(Neuroevolution of augmenting topologies),描述了在人类进化过程中被遗传修饰所启发机器学习算法概念。 ? 生命是很奇妙。...而具有创造力计算机科学家目标则是通过模仿自然进化规律来构建系统以此解决复杂问题。 描述NEAT如何工作最简单方法便是举一个例子。...适应值包含更多变量,收集硬币,被击败敌人或者完成所花费时间。 另外,定义什么时候是进步也很重要。NEAT允许节点突变,节点之间连接和最适合神经网络继承成为新后代。...[Stanley, Miikkulainen, Page 109, NEAT] 现在或多或少你应该都已经了解了,NEAT在整个游戏中不断继承,计划出新神经网络来优化其适应值。...一个例子是可以通过列出所有已知原子来创建新药物,合理定义适应值使得模拟能够理解奖励制度并最终朝此方向进化。另一个NEAT应用是可用于选择生产新药物技术。

83341

神经

CPPN—NEAT 我一直对斯坦利NEAT算法着迷。NEAT是从简单单层网络逐步演化成复杂神经网络拓扑结构一种方法。...CPPN可以是一个非常普遍神经网络,并且通过某些操作将网络输出设置为[0,1]之间,以表示(x,y)处像素值。...在这个过程开始,一批简单拓扑结构随机网络被用来产生一串随机图像,用户可以选择保留一小部分图像,通过基因算法(NEAT)来产生新一系列图像。...我花了一些时间来试验和尝试各种各样设置,比如从像素空间到实际坐标空间比例,突变率,突变大小,冲击大小以及什么类型神经元实际上是重要。...换句话说,应用NEAT来发现能够在backprop环境工作子网络以用于其他机器学习任务。看看我们是否能通过进化发现下一个LSTM,并拥有所有这些额外可区分门类型!

1.2K101

耶鲁编程马拉松:用神经网络学习超级马里奥游戏

crAIg进化基于一种叫做“NEAT算法,它来自于一篇名为《运用增强拓扑使神经网络进化》(EvolvingNeural Networks through Augmented Topologies)...进化神经模型为何酷炫 当学习玩超级马里奥变成单纯地应用神经网络和进化神经模型,这个游戏在很大程度上就成为了一种展示这些自我进化神经网络方法。...随着我们将越来越难工作寄托在机器身上,想要通过硬编码(hardcode,译者注:指在软件实现上,把输出或输入相关参数(例如:路径、输出形式或格式)直接以常量方式书写在源代码,而非在运行时期由外界指定设置...NEAT(增强拓扑神经网络进化,NeuroEvolution ofAugmented Topologies) 如果你好奇于神经网络进化遇到问题背后是怎样历史,我非常推荐你读一下这个算法论文(就是前面提到那一篇...论文第一部分论述了实现神经网络进化许多方法和它们各自优点。 NEAT是一种基因算法,它测试了crAIg大脑每一次迭代运算,然后从中遴选出质量高、繁衍它们后代,与自然界物种进化非常相似。

66351

耶鲁编程马拉松:用神经网络学习超级马里奥游戏

crAIg进化基于一种叫做“NEAT算法,它来自于一篇名为《运用增强拓扑使神经网络进化》(EvolvingNeural Networks through Augmented Topologies)...进化神经模型为何酷炫 当学习玩超级马里奥变成单纯地应用神经网络和进化神经模型,这个游戏在很大程度上就成为了一种展示这些自我进化神经网络方法。...随着我们将越来越难工作寄托在机器身上,想要通过硬编码(hardcode,译者注:指在软件实现上,把输出或输入相关参数(例如:路径、输出形式或格式)直接以常量方式书写在源代码,而非在运行时期由外界指定设置...NEAT(增强拓扑神经网络进化,NeuroEvolution ofAugmented Topologies) 如果你好奇于神经网络进化遇到问题背后是怎样历史,我非常推荐你读一下这个算法论文(就是前面提到那一篇...论文第一部分论述了实现神经网络进化许多方法和它们各自优点。 NEAT是一种基因算法,它测试了crAIg大脑每一次迭代运算,然后从中遴选出质量高、繁衍它们后代,与自然界物种进化非常相似。

1.1K80

开发 | 机器学习小白入门指引,开年也要规划好小目标

交叉算法通常在两个基因截断点处进行交换,子个体各获得一部分,女儿获得父母基因比例分别为70% / 30%,儿子获得父母基因比例分别是30% /70%。...图5用基因来表示神经网络神经权重 进化算法典型问题是,当在时间尺度上进行观察时,会出现即使迭代时间再长,求解结果并不会改善太多,趋近于饱和状态。这主要是因为突变率太高,无法求得最优解。...NEAT(基于增强拓扑神经网络)和HyperNEAT解决这个问题思路是通过迭代过程,通过分析网络表现和突变来改变网络。...NEAT更多应用用于ANNS(自适应神经网络),而不是典型神经网络,因为ANNS能在外部信息基础上改变内部结构。...图8 CPPN分析神经网络/个体,并将行为类似的分为一类 在典型NEAT场景,交配池由代表网络结构基因个体组成,它是一个多个体概念。

742100

深度学习陷入困境,或可从进化论中找到新突破口

2002 年,Stanley 和 Miikkulainen 引入了增强拓扑神经进化方法(NeuroEvolution of Augmenting Topologies,NEAT)[7],NEAT 定义了基因与神经网络连接映射关系...CPPN 是一个由 NEAT 基因-网络映射关系定义神经网络,并可以根据适应性函数对给定 CPPN 实例进化任务网络打分,应用基因算法进行进化。...然而,NEAT 神经网络群体在进化时,这些网络并不是由基因组「生长」出来,相反,由于 NEAT 网络是直接编码,它网络进化也是直接由范例定义。...图 6:相比于由基因组直接编码神经网络(比如NEAT),Pollack 和他同事 [11] 选择应用可以调控神经网络发展基因控制网络来调控网络进化,这种方法更类似于生物学上基因指导人类由胚胎期发育至成人期机制...开放式进化研究通常都会考虑人工生命研究的人工有机体,观察这些有机体如何在类似于产生其他生物进化环境条件下进化,换言之,开放式进化研究对象是在开放环境中直接进行繁殖活动(寻找配偶,获取足够食物以存活或繁衍

46620

深度学习之后,或可从进化论中找到新突破口

2002 年,Stanley 和 Miikkulainen 引入了增强拓扑神经进化方法(NeuroEvolution of Augmenting Topologies,NEAT)[7],NEAT 定义了基因与神经网络连接映射关系...CPPN 是一个由 NEAT 基因-网络映射关系定义神经网络,并可以根据适应性函数对给定 CPPN 实例进化任务网络打分,应用基因算法进行进化。...然而,NEAT 神经网络群体在进化时,这些网络并不是由基因组「生长」出来,相反,由于 NEAT 网络是直接编码,它网络进化也是直接由范例定义。...图 6:相比于由基因组直接编码神经网络(比如NEAT),Pollack 和他同事 [11] 选择应用可以调控神经网络发展基因控制网络来调控网络进化,这种方法更类似于生物学上基因指导人类由胚胎期发育至成人期机制...开放式进化研究通常都会考虑人工生命研究的人工有机体,观察这些有机体如何在类似于产生其他生物进化环境条件下进化,换言之,开放式进化研究对象是在开放环境中直接进行繁殖活动(寻找配偶,获取足够食物以存活或繁衍

55820

深度 | 利用进化方法自动生成神经网络:深度进化网络DENSER

葡萄牙科英布拉大学计算设计和可视化实验室研究者们利用进化算法策略提出了深度进化网络结构表征(DENSER),可以自动进行多层深度神经网络结构设计和参数调优,在没有先验知识情况下,该方法生成神经网络达到了业内最佳性能...该算法不仅搜索最优网络拓扑结构,而且对超参数 (学习或数据增强参数) 进行调优。自动设计是通过两个不同层次编码方式来实现,其中外层编码网络一般结构,内层编码与每层相关联参数。...几代最佳个体适应度(上面)和隐藏层数(下面)进化 图一描述了几代以来最好 CNN 平均适应度和层数进化。对结果进行简要研究表明,进化正在发生,并且解决方案趋向于在 80 代周围聚集。...从进化开始到大约第 60 代,性能增加都伴随着层数减少;这种现象从第 60 代发生变化并一直持续到最后一代,这期间随着性能增加,最佳网络隐形层数量随之增加。...在我们方法可训练参数数量要高得多,因为我们允许在进化 CNN 中放置完全连接层。此外,在进化过程,没有先验知识被用来使搜索空间发生偏差。

1.3K50

如何从零训练神经网络玩游戏?这里有一段详细解读视频

让我们重头开始看看神经网络是如何进行决策:如上图所示,这是一个只有4层神经网络模型,通过对最左侧输入图像计算(红色短线代表Mario、白色方块代表不会移动物体地面,黑色方块代表会移动物体敌人...这只是一个简单示意:如果神经网络节点和连接越复杂,系统能做出选择也更多,最终做出最合适选择; ? 那么神经网络是如何从简单进化到复杂呢?...(如上图吃到子弹游戏结束)会产生随机突变(AI研习社注:这和生物进化过程非常相似,只有最适应环境种类才能生存繁衍),在这样不断演变达到最优解。...在上图34代演化得分图中,我们可以看到机器在进化过程也遇到了一些瓶颈,但最终克服了这些瓶颈取得了好成绩。 ?...这一方法,SethBling称之为NEAT(Neuro Evolution of Augmenting Topologies,增强拓扑神经演化),在 Kenneth Stanley 和 Ari 论文中也有讲述

1K70

开发 | 如何从零训练神经网络玩游戏?这里有一段详细解读视频

让我们重头开始看看神经网络是如何进行决策:如上图所示,这是一个只有4层神经网络模型,通过对最左侧输入图像计算(红色短线代表Mario、白色方块代表不会移动物体地面,黑色方块代表会移动物体敌人...这只是一个简单示意:如果神经网络节点和连接越复杂,系统能做出选择也更多,最终做出最合适选择; ? 那么神经网络是如何从简单进化到复杂呢?...(如上图吃到子弹游戏结束)会产生随机突变(AI科技评论注:这和生物进化过程非常相似,只有最适应环境种类才能生存繁衍),在这样不断演变达到最优解。...在上图34代演化得分图中,我们可以看到机器在进化过程也遇到了一些瓶颈,但最终克服了这些瓶颈取得了好成绩。 ?...这一方法,SethBling称之为NEAT(Neuro Evolution of Augmenting Topologies,增强拓扑神经演化),在 Kenneth Stanley 和 Ari 论文中也有讲述

1.4K70

真正神经网络,敢于不学习权重

当然,研究者那样从小架构到大架构搜索也是可行,只要架构能正好将最优解包围住就行了。 以前就有懒得学习神经网络 几十年神经网络研究为不同任务提供了具有强归纳偏置构造块。...Ulyanov 等人 [109] 展示了随机初始化 CNN 可在标准逆问题(去噪、超分辨率和图像修复)作为手工先验知识(handcrafted prior)使用,且性能优越。...在评估网络性能时,研究者没有选择使用最优权重值网络,而从随机分布抽取权重值。用权重采样取代权重训练可以确保性能只与网络拓扑结构有关。...然后,根据概率选出排名最高网络以生成新群组,排名最高网络是会随机变化。之后重复这一过程。 最最核心拓扑搜索 用于搜索神经网络拓扑算子受到神经进化算法 NEAT 启发。...不过 NEAT 拓扑和权重值是同时进行优化,而本研究无视权重,仅使用拓扑搜索算子。 最初搜索空间包括多个稀疏连接网络、没有隐藏节点网络,以及输入和输出层之间仅有少量可能连接网络。

80721

用N.E.A.T遗传算法玩FlappyBird

NEAT(NeuroEvolution of Augmenting Topologies.)使用增强拓扑神经进化。从根本上说,它本质上是一种复制自然界进化尝试。...(ii)激活函数:这个函数将帮助我们得到神经元在两个数字范围内值。这是非常有用-我们可以告诉A.I跳跃或不跳跃取决于激活函数返回值(鸟跳跃如果输出> 0在我们例子)。...这就是NEAT发挥作用地方!(端到端学习) 这里,我们从创造一个完全随机鸟类种群开始。每只鸟都有不同神经网络来控制它。这些神经网络都将以随机权值和偏差开始。...如果飞鸟进入管道之间或在给定帧还活着,我们将提高飞鸟适应度(这将鼓励它保持生命并振翅高飞) 如果一只鸟确实撞到了管道,我们将降低其适应性(这样它就不会繁殖形成下一代)并将该鸟“ rip”属性设置为...这使得代码更改不太可能导致使用不同NEAT设置而导致您项目无法运行。所以一定要注意 设置neat.StdOutReporter(True)”将为我们提供终端详细统计信息。例如以下显示: ?

1.2K10

谷歌发布颠覆性研究:不训练不调参,AI自动构建超强网络,告别炼丹一大步

谷歌研究人员还把这种方法用在监督学习领域,仅使用随机权重,就能在MNIST上实现就比随机猜测高得多准确率。 论文从架构搜索、贝叶斯神经网络、算法信息论、网络剪枝、神经科学这些理论获得启发。...操作步骤 解决了权重初始化问题,接下来问题就是如何收搜索权重不可知神经网络。它分为四个步骤: ? 1、创建初始最小神经网络拓扑群。...然后,算法从第2步开始重复,在连续迭代,产生复杂度逐渐增加权重不可知拓扑(weight agnostic topologies )。...拓扑搜索 用于搜索神经网络拓扑操作受到神经进化算法(NEAT启发。在NEAT拓扑和权重值同时优化,研究人员忽略权重,只进行拓扑搜索操作。 ?...图最右侧展示了权重在[2,2]取值范围内可能激活函数,线性函数、阶跃函数、正弦余弦函数、ReLU等等。

41820

谷歌发布颠覆性研究:不训练不调参,AI自动构建超强网络,告别炼丹一大步

谷歌研究人员还把这种方法用在监督学习领域,仅使用随机权重,就能在MNIST上实现就比随机猜测高得多准确率。 论文从架构搜索、贝叶斯神经网络、算法信息论、网络剪枝、神经科学这些理论获得启发。...操作步骤 解决了权重初始化问题,接下来问题就是如何收搜索权重不可知神经网络。它分为四个步骤: ? 1、创建初始最小神经网络拓扑群。...然后,算法从第2步开始重复,在连续迭代,产生复杂度逐渐增加权重不可知拓扑(weight agnostic topologies )。...拓扑搜索 用于搜索神经网络拓扑操作受到神经进化算法(NEAT启发。在NEAT拓扑和权重值同时优化,研究人员忽略权重,只进行拓扑搜索操作。 ?...图最右侧展示了权重在[2,2]取值范围内可能激活函数,线性函数、阶跃函数、正弦余弦函数、ReLU等等。

42020

谷歌大脑提出“权重无关”神经网络

在这项工作,我们受到自然界进化早成行为启发,开发了具有自然就能够执行给定任务架构神经网络,即使其权重参数是随机采样。...拓扑搜索(Topology Search) 用于神经网络拓扑搜索运算符(operators)受到神经进化算法NEAT启发。...在NEAT拓扑和权重值同时优化,这里我们忽略了权重值,只应用拓扑搜索运算符。 用于搜索网络拓扑空间运算符 左:一个最小网络拓扑结构,输入和输出仅部分连接。 中间:网络以三种方式进行改变。...BipedalWalker任务最佳性能网络示意图 权重设置-1.5 权重设置-1.0 性能最优网络 在赛车任务实验,WANN架构简单优势也很突出。...权重设置+1.0 权重设置-1.4 性能最优网络 WANN应用扩展:探索图像分类任务 在强化学习任务取得好成绩让我们考虑扩大WANN应用范围。

56230

马里奥 AI 实现方式探索 :神经网络+增强学习(下)

基于NEAT算法马里奥AI实现所谓NEAT算法即通过增强拓扑进化神经网络(Evolving Neural Networks through Augmenting Topologies),算法不同于我们之前讨论传统神经网络...,它不仅会训练和修改网络权值,同时会修改网络拓扑结构,包括新增节点和删除节点等操作。...NEAT算法几个核心概念是: 基因:网络连接 基因组:基因集合 物种:一批具有相似性基因组集合 Fitness:有点类似于增强学习reward函数 generation:进行一组训练基因组集合...下图我们展示了算法从最一开始简单神经网络,一直训练到后期网络 [1502763308993_8325_1502763309346.png] 利用NEAT算法实现马里奥只能通关基本思想便是...,利用上面NEAT算法基本观点,从游戏内存获取实时游戏数据,判断马里奥是否死忙、计算Fitness值、判断马里奥是否通关等,从而将这些作为神经网络输入,最后输出对马里奥操作,包括上下左右跳跃等操作

2.1K21
领券