Unity的ml-agent学习

学习资源

精讲blog

0. 导学知识
  • ML主要包括监督学习、非监督学习和增强学习三种范式
  • 强化学习reinforcement learningpdf电子书
  • Unity的ml-agent,还必须知道Unity到底怎么玩。玩Unity需要使用C#语言,玩深度学习需要使用Python语言。
    Unity的ml-agent学习_第1张图片
心态:
  • 学习是为了做好玩的事
1. ML-Agent学习

基础教程blog

是什么
  • 配置环境

Unity的ml-agent学习_第2张图片

  • Unity ml-agents是一个“用游戏和模拟环境来训练智能体的开源Unity插件,”
  • 入门讲解教程
  • 官方样例运行
  • 根据训练出来的模型,放入游戏场景
  • agent类:在每个训练对象中需要搭配Behavior Parameters脚本和Decision Requester脚本
  • Agent脚本:hello world——>训练一个简单的小球AI
  • agent是一个能够观察所在的环境并使用这些观察结果来决定最佳行动方案的行动者——>ML-Agent通过拓展Agent类实现自己的agent
  • Agent类定义了必要的代码供agent用于观测自身环境、执行指定动作以及计算用于强化训练的奖励
  • Agent脚本初始化:
  1. agent到达目标位置后,会将自己标记为完成状态,而agent的重置函数会将目标位置再重新移动到新的位置。
  2. agent从平台上掉落,会触发重置函数,使得agent初始化,目标函数刷新。
  • Agent脚本观测环境:agent必须观察环境以确定其当前状态,没有足够信息,agent可能学习不好或者根本不会学习,至于具体搜集哪些信息是我们在解决问题时需要考虑的
    本次实例中需要的信息:目标位置、agent本身位置、agent的速度(有助于agent学习去控制自己的速度,使其不会越过目标和从平台上滚下)
  • Agent脚本接收决策:根据得出的结果进行动作——训练算法并不知道动作数组中的值是什么意思,训练过程只是根据观测输入来调整动作值,然后看会得到什么样的奖励。
  • Agent脚本奖励:Agent学习需要奖励
首次训练
  • 实验三:官方RollerBall实例
  • 发生错误:
  • 注意
  • 讲解的blog:操作流程
  • 参考blog2
2. 实际操作
  • 上课实验
  1. 新建场景:到Asset下
  2. 建模:目标对象和agent对象
  3. 设置脚本:
  • public类型变量——>Unity编辑器中可以访问到:目标对象、速度
  • private类型变量——>Unity编辑器中agent对象:增加rigbody组件-物理引擎-重力
  • 操作函数编写
  1. 训练运行:命令行里的指令.yaml
  • 解答疑惑:
  1. 讲解教程
  2. 官网
  3. 创建自己的项目,导入ML-Agent进行训练:官方文档写的一清二楚——>比blog写得好多了:老师讲课+官方文档
  4. tensorflow与pytorch原理区别,虚拟环境熟练虚拟环境常用
  • 自己动手:
  1. 看懂官方文档

官方介绍
讲解创建项目blog

  1. 跑示例项目
  2. 动手实现作业——>AI
  • 脚本编写

参考blog

你可能感兴趣的:(计算机基础课程学习)