深度学习框架 pytorch学习以及解释

概念解释

深度学习框架包括pytorch和TensorFlow,这里解释一下什么是框架,框架就比喻成一个屋子的一些支柱,可以理解为房子的雏形。而我们要做的就是在这些雏形(框架)进行添加自己想要的功能(继承他们)。这就是pytorch和TensorFlow的作用,我们只需要继承他们现有的框架,然后再里面添加自己想要的函数功能就可以轻松实现一个网络的搭建。这就是框架。

功能介绍

1.对于里面支持的一些优化函数和损失函数,我们也可以直接进行使用设计。
深度学习框架都会有一个tensor张量的概念,张量可以理解为一个多维的矩阵,向量和矩阵也是张量的一种(也叫张量),张量的概念是为了更好的将数据特征进行表达。pytorch中的tensor张量与numpy作了很好的兼容,可以进行相互转换使用。tensor也可以进行数学运算。
2.pytorch中变量variable在计算时,可以在后台搭建一个系统,叫做计算图,这个计算图可以将所以计算的节点都连接起来(我的理解就是每计算一步都就其连接起来,然后在计算所有连接的梯度。),最后在误差反向传递的时候一次性将所有的梯度都计算出来。
3.pytorch还提供一个包装数据的工具dataLoader,首先要先将自己的数据转换为tensor形式,然后再放进这个包装工具中,这个工具可以帮助有限的迭代数据。(就是这个工具每次都导出BATCH_SIZE个数据来进行学习,并且在每一个回合都会将数据进行打乱,不会与上一个回合导出的数据一样)。
4.优化器,加速神经网络训练的多种方法,pytorch中也会提供多种优化器进行选择。
在这里插入图片描述

强化学习GAN和AMP(Adversarial Motion Priors)概念以及个人理解

我理解的就是AMP就是借鉴了GAN的思想,AMP是优化机器人动作的一种思想,有一个生成器和一个判别器,生成的动作交给判别器,让其判断是否符合某种设定的风格,这样的目的是让智能体完成动作的同时又保持了某种风格。某种风格是由专家数据提供。对抗性让其对给定风格保持遵守。


对抗网络中的对抗二字理解,对抗就是生成器和判别器两个之间的对抗训练,生成器要尽可能的生成让判别器无法识别与现实数据的不同。而对于判别器,要尽可能的去识别真实数据与生成器生成的数据的区别。
整个对抗过程应该是交替进行的,交替优化逐步提升。会在达到一个平衡时结束。

生成对抗网络GAN

生成对抗网络可以理解为一个新手画家(生成网络)和一个新手鉴赏家(判别网络),新手画家利用随机灵感(就是随机动作)进行画画,但是画的画的质量参差不齐,新手鉴赏家需要分辨新手画家所画出的画与**名画(专家动作)**的区别,也需要判断是否是新手画家画的,新手鉴赏家会将名画的一些特征告诉新手画家,让新手画家逐步可以画出名画。新手鉴赏家也需要进行学习如何区分新手画家和名画。两个新手会分享学到的东西。直到新手鉴赏家对于新手画家和名画的区分概率为五五开则说明训练完成。这个就是我理解的生成对抗网络GAN的概念。

AMP(Adversarial Motion Priors)对抗运动先验

AMP借鉴GAN的思想,有一个生成器和一个判别器,就是将目标任务和动作风格解耦开来,分别进行,让生成的动作自然且可以完成任务,AMP应该将奖励分为了两个部分,一个是完成目标的奖励,还有一个就是动作自然的奖励,判断是不是自然的动作。
生成器:高层RL策略,通过强化学习来进行优化,既要生成完成既定人任务的目标,也要满足判别器生成真实的动作
判别器:学习区分角色动作是否与参考动作库中的风格一致。
总的来说:AMP是一种结合了GAN和强化学习的一种技术,通过对抗训练策略,将高层任务目标和动作风格进行解耦。以此来保证动作的物理合理性和自然性。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐