动画系统的神经网络大小

2023-12-28

我决定使用神经网络来为我拥有的动画引擎创建行为。神经网络为我身体的每个部位接收 3 个向量和 1 个欧拉角。第一个向量 3 是位置,第二个向量是速度,第三个向量是角速度。欧拉角是身体部位的旋转角度。我的身体有 7 个部位。这些数据类型中的每一种都有 3 个浮点数。 7*4*3 = 84,所以我的神经网络有 84 个输入。输出被映射到角色的肌肉。它们提供作用于每块肌肉的力量,共有 15 个。

我同时运行 15 个网络 10 秒,通过计算最低能量消耗、z 和 x 运动量最少以及身体部位与其他部位相比是否处于正确的 y 位置 (hips.y > upperleg.y、upperleg.y > lowerleg.y 等),然后通过遗传算法运行它们。我正在运行一个神经网络,每个隐藏层有 168 个神经元,有 8 个隐藏层。我试图让角色站直,不要走​​动太多。我已经运行了 3000 代,但我什至没有接近。

神经网络和遗传算法是 C# 版本本教程 http://www.ai-junkie.com/ann/evolved/nnt1.html。我将交叉方法从一点改为混合。

我有 84 个输入和 15 个输出。我的神经网络应该有多大?


你想要解决的问题是一个非常棘手的问题,我怀疑任何“普通”GA(尤其是使用固定网络架构的)都会解决它(在合理的时间内)。我也不认为你会在隐藏层中找到“正确数量的神经元”。

但是,如果您愿意花一些时间,请看一下用于模块化机器人运动控制的 HyperNEAT http://www.few.vu.nl/~ehaasdi/papers/Modular-Locomotion.pdf它或多或少处理相同的问题。 他们使用了一种非常先进的 GA 技术,称为 HyperNEAT,并报告了一些良好的结果。

HyperNEAT 构建于 NEAT 之上(增强拓扑的神经进化 http://en.wikipedia.org/wiki/NeuroEvolution_of_Augmented_Topologies)。 NEAT 不仅能够进化 ANN 的权重,还能进化它们的结构。它从简单的网络开始,慢慢地使它们变得更加复杂,直到您达到目标(或放弃)。

然后 NEAT 稍作修改,以便能够使用各种激活函数。当它应用于一组点时,它将能够产生各种各样的“模式”,例如在坐标系中。这些图案可以具有一些有趣的特征,例如完美/不完美的对称性,或者它们可以是周期性的。这种变体称为构图模式生成网络 http://en.wikipedia.org/wiki/CPPN或CPPN。这项技术的一个引人注目的应用是图像编辑器 http://picbreeder.org/网络用于“绘制”图片。

In 超级NEAT http://en.wikipedia.org/wiki/HyperNEATCPPN 用于创建其他 ANN。新网络的隐藏层由所谓的基底表示,可以想象该层的神经元被置于 2D/3D 坐标系中。然后,对于每对可能的神经元(所有从输入层到所有隐藏层、从所有隐藏层到所有输出层),CPPN 用于确定权重。因此我们有一个间接编码,

  • 本身很小
  • 最后可以产生任意大的网络
  • 这也可以表现出相当复杂的行为
  • 现实/自然中出现的模式(同样,对称性、周期性行为)可以相对容易地出现。请注意,对于动画/有效运动来说,它们都非常有利(如果不是必须的话)。

总而言之,它会给您一个解决复杂问题的机会。

正如您所看到的,该技术有多个层次,因此您自己实现它并不那么容易。幸运的是,它有一些很好的实现,您可以在 NEAT 上找到它们主页 http://www.cs.ucf.edu/~kstanley/neat.html,以及许多其他文档、论文和教程。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

动画系统的神经网络大小 的相关文章

  • 如何在 Windows 8 Metro 应用程序中制作导航动画?

    在使用 HTML 的 Metro 应用程序中 建议使用片段导航到不同的页面 在这里解释 http msdn microsoft com en us library windows apps hh452768 aspx navigation
  • Android和播放SVG动画

    我正在编写一个 Android 应用程序 我想播放一个简单的 SVG 动画 我知道 Android 不提供 SVG 支持 我在这里有什么选择 从 Android Lollipop API 级别 21 开始 可以使用动画矢量Drawable
  • 如何用动画隐藏/显示 UISearchBar 范围栏?

    我想在表格为空时 在搜索栏第一次编辑之前 不显示范围栏 在编辑时不显示范围栏 最后在编辑完成时显示它 我了解 UISearchBarDelegate 协议 但我不知道如何用动画显示 隐藏范围栏 我知道 UISearchBar 有setSho
  • 使用 javascript 暂停 CSS 动画并跳转到动画中的特定位置

    我有一个完全用CSS动画构建的无尽滑块 我希望能够使用javascript onlcick和键盘输入 来操纵动画 我希望能够从一帧快速运行动画 即加速到另一帧 以便在按下引用滑块中特定图像的按钮时产生跳跃效果 另外 我希望能够通过键盘输入逐
  • CSS动画比JS动画快吗?

    前段时间读到一篇文章说CSS动画比JS动画快 使用 jQuery 做了一些动画后 我可以理解为什么有些人会这么说 因为 jQuery 动画有时会出现错误并且速度很慢 但我想知道的是 这个论点是否有任何核心事实 有一种常见的误解 认为 CSS
  • Chart.js 饼图动画,当通过垂直滚动在页面中的某个位置时播放一次

    我有一个简单的饼图 可以在开箱即用时进行动画显示chart js 我试图允许动画通过长垂直网页中的某个滚动点进行排队 这个想法是让下面的代码执行 只有一次新用户滚动或点击页面位置 动画将que一次就这样了 这造成了很多麻烦 因为我已经能够通
  • 在Python中表示语料库句子的一种热门编码

    我是 Python 和 Scikit learn 库的初学者 我目前需要从事一个 NLP 项目 该项目首先需要通过 One Hot Encoding 来表示一个大型语料库 我已经阅读了 Scikit learn 关于 preprocessi
  • AttributeError:模块“keras.engine”没有属性“Layer”

    当我试图运行时Parking Slot mask rcnn py文件我收到如下错误mrcnn model py文件我该如何解决 gt 2021 06 17 08 25 18 585897 W tensorflow stream execut
  • 如何为 EditText 的提示应用动画?

    我正在通过 java 更改 EditText 的提示editText setHint 当提示文本更改时 如何将过渡或动画应用于提示文本 我想做的是这样的 但是当我在java代码中更改它时提示文本https i stack imgur com
  • 神经网络的层和神经元

    我想更多地了解神经网络 我正在开发一个 C 程序来制作神经网络 但我坚持使用反向传播算法 很抱歉没有提供一些工作代码 我知道有很多库可以用多种语言创建神经网络 但我更喜欢自己制作一个 关键是我不知道要实现特定目标 例如模式识别或函数近似或其
  • 如何在sklearn决策树中显示特征名称?

    我目前有一个决策树 将功能名称显示为X index i e X 0 X 1 X 2 etc from sklearn import tree from sklearn tree import DecisionTreeClassifier d
  • For 循环不适用于 JavaScript 动画

    我正在尝试编写一个 for 循环 以在单击形状按钮时重复 爆炸 路径的动画 但 for 循环无法工作 执行 而且我看不出哪里出了问题 for循环的目的 循环动画路径的过程 然后将动画反转回其原始路径 我知道问题出在 for 循环中的某个地方
  • 理解高斯混合模型的概念

    我试图通过阅读在线资源来理解 GMM 我已经使用 K 均值实现了聚类 并且正在了解 GMM 与 K 均值的比较 以下是我的理解 如有错误请指出 GMM 类似于 KNN 在这两种情况下都实现了聚类 但在 GMM 中 每个簇都有自己独立的均值和
  • SwiftUI 动画滑入和滑出

    我有一个视图将显示在另一个视图上 视图动画完美地从右侧滑入 但是当我单击 关闭 按钮时 视图消失 而没有在消失之前滑回右侧的所需动画 我尝试过使用 opacity self isShowing 1 0 但随后视图淡入和淡出 我需要它滑入和滑
  • 朴素贝叶斯分类器仅基于先验概率做出决策

    我试图根据推文的情绪将推文分为三类 买入 持有 卖出 我正在使用 R 和包 e1071 我有两个数据框 一个训练集和一组需要预测情绪的新推文 训练集数据框 text sentiment this stock is a good buy Bu
  • 优化计算中使用的 # 个线程的算法

    我正在执行一个操作 我们将其称为CalculateSomeData CalculateSomeData 在连续的 代 中运行 编号为 1 x 整个运行中的代数由CalculateSomeData 的输入参数固定 并且是先验已知的 完成一次生
  • sklearn ShuffleSplit 出现“__init__() 获得参数 'n_splits' 的多个值”错误

    我正进入 状态 init 获得参数 n splits 的多个值 该行的错误 cv ShuffleSplit n splits 10 test size 0 2 random state 0 在下面的代码中 import matplotlib
  • 图书馆神经实验室培训纽夫

    我对 python 和 Neurolab 的使用还很陌生 我在前馈神经网络的训练方面遇到了问题 我已经构建了如下网络 net nl net newff 1 1 64 60 1 net init testerr net train Input
  • 更改 UIImageView 的位置

    我怎样才能为 UIImageView 做一个简单的位置改变 假设当前坐标是 x 20 和 y 30 我想将其移至 x 100 和 y 100 可以制作运动动画吗 你需要改变它的CGFrameUIImageView就像这样 imageView
  • 如何处理分类中的低频样本?

    我面临一个文本分类问题 我需要将示例分类为 34 组 问题是 34组的训练数据大小不平衡 对于某些组 我有 2000 多个示例 而对于某些组 我只有 100 多个示例 对于一些小群体 分类准确率相当高 我想这些群体可能有特定的关键词来识别和

随机推荐

  • Javascript 不解析嵌套 Bbcode

    我编写了一个 Javascript bbcode 类似于我用来编写此消息的代码 它还包含一个实时预览框 如下所示 我目前面临的唯一问题是某些嵌套的 bbcode 无法解析 例如 quote quote quote quote 解析不正确 这
  • 加速 numpy kronecker 产品

    我正在开发我的第一个大型 python 项目 我有一个函数 其中包含以下代码 EXPAND THE EXPECTED VALUE TO APPLY TO ALL STATES THEN UPDATE fullFnMat EV subset
  • 富文本框 - 粗体

    我知道这里有很多 如何加粗文本 问题 但没有一个答案有帮助 我认为富文本框可能是在运行时创建的 我正在制作一个聊天客户端 因此我有一个按行分割的富文本框 消息如下 名称 消息 r n 我想加粗名称 我已经尝试了很多代码示例 但这是我最接近的
  • 将 Vue 组件暴露给外部项目

    我正在尝试探索如何将我的 Vue 组件公开给其他项目而不发布到 NPM 我可以找到以下链接 其中显示了如何将 Vue 组件发布到 NPM 如何在 npm 62b67dfb3e58 上发布您的 vue js 组件 https medium c
  • WPF中上标的上标

    我已经设法使用以下代码行创建字符上标 Paragraph p new Paragraph Span s new Span s BaselineAlignment BaselineAlignment Superscript s Inlines
  • 使用 XML 序列化时是否有办法避免自闭合标签?

    我正在使用 VB NET 但遇到 XML 序列化问题 当我正在序列化的对象中存在空值时 XML 文件包含以下标签
  • Python3 写入文件 beautifulsoup

    我希望用以下代码编写 beautifulsoup 表单 soup BeautifulSoup con content f open Desktop littletext rtf w f write str soup f close 我收到此
  • 从 Web 视图中的链接打开 Mobile Safari

    是否有 URI 方案可将 Mobile Safari 打开到特定 URL e g a href Open Google in Safari a Update 因此 从 iOS 6 0 2 开始 仍然没有特定于 MobileSafari 的
  • 尝试附加附件通过 request.post 发送时,表单数据库抛出无法读取 null 属性的错误

    当我尝试制作一个request post with form data对于附件 我收到以下错误 该错误来自表单数据库 var filename options filename value name value path TypeError
  • 直接使用 ld 链接 C 程序失败,未定义对“__libc_csu_fini”的引用

    我正在尝试在Linux下编译C程序 然而 出于好奇 我尝试手动执行一些步骤 我使用 gcc 前端生成汇编代码 然后运行GNU汇编器来获取目标文件 然后将其与 C 运行时链接以获得可工作的可执行文件 现在我被链接部分困住了 该程序是一个非常基
  • 如何使用 python 获取文件的扩展 MacOS 属性?

    我有兴趣使用 python 从文件中获取更多信息 我知道使用 os stat 如下所示 会返回有关文件的信息 但我想从文件中获取其他属性 例如 来自哪里 os stat filename posix stat result st mode
  • 如何从 C 代码中获取单操作数 imul

    我必须用 C 语言编写什么才能让汇编器显示imul与一个操作数 例如 imul ebp 如果你想编写 C 代码以便编译器发出imul对于一个操作数 唯一的方法是使用扩大有符号乘法 即将操作数转换为有符号类型寄存器长度的两倍 因此 在 32
  • 单选按钮被选中的事件?

    是否有一些单选按钮被选择的事件 我知道我可以使用 单击 但我相信可以在某些浏览器中设置单选按钮的样式 这样单击单选按钮的外部区域可能不会选择该单选按钮 我应该使用什么事件 这取决于您想何时获知该事件 如果您想立即了解 请前往click IE
  • java中向上转换的内存分配

    考虑这些类 public class Animal public class Dog extends Animal public AnimalTest public static void main String args Dog d ne
  • 将 Stripe 与 Devise 结合使用以实现 Ruby on Rails 订阅

    我正在尝试将 Stripe 的定期支付系统与 Devise 集成 使用 Ryan 最近的 Railscast 作为指南 http railscasts com episodes 288 billing with stripe view as
  • Blend“WPF 项目不支持窗口”

    我对 Blend 报告 Windows Presentation Foundation WPF 项目不支持窗口 感到沮丧 由于无法构建的配置 但无法完全弄清楚如何摆脱它 我发现这可能是由于我尝试使用 x86 和 x64 配置的单一解决方案
  • 二进制可执行文件是可移植的

    编译 C 程序后 我可以获取二进制可执行文件 并在另一个没有加载 gcc 的系统 例如 Ubuntu 系统 上运行它吗 技术上 是的 但如果您需要最大的可移植性 请使用静态链接 严格来说你不需要gcc 但你可能需要各种库 默认情况下 语言处
  • CSS 将所选文本的一部分向右对齐[重复]

    这个问题在这里已经有答案了 这是我的 HTML 的样子
  • 如何使两个按钮并排且响应灵敏?

    我有一个小任务 在使用桌面时需要并排两个按钮 然后在移动设备上它们堆叠在一起但尺寸没有减小 我已经设法将它们堆叠在一起 但它们的大小不同 每当我定义按钮的 大小时 它们都会挤在一起 在设备视图中看起来很丑陋 button backgroun
  • 动画系统的神经网络大小

    我决定使用神经网络来为我拥有的动画引擎创建行为 神经网络为我身体的每个部位接收 3 个向量和 1 个欧拉角 第一个向量 3 是位置 第二个向量是速度 第三个向量是角速度 欧拉角是身体部位的旋转角度 我的身体有 7 个部位 这些数据类型中的每