淘优惠

淘优惠

机器人强化学习之使用 OpenAI Gym 教程与笔记

热门文章 0

淘宝搜:【天降红包222】领超级红包,京东搜:【天降红包222】
淘宝互助,淘宝双11微信互助群关注公众号 【淘姐妹】

机器人加强q,强化机器人是谁,机器人机械化,强机器人,弱机器人分类
除了试图直接去建立一个可以模拟成人大脑的程序之外, 为什么不试图建立一个可以模拟小孩大脑的程序呢?如果它接 受适当的教育,就会获得成人的大脑。 ― 阿兰・图灵

强化学习 (Reinforcement learning) 是机器学习的一个子领域用于制定决策和运动自由度控制。强化学习主要研究在复杂未知的环境中,智体(agent)实现某个目标。强化学习最引人入胜的两个特点是

  • 强化学习非常通用,可以用来解决需要作出一些列决策的所有问题:例如,训练机器人跑步和弹跳,制定商品价格和库存管理,玩 Atari 游戏和棋盘游戏等等。
  • 强化学习已经可以在许多复杂的环境中取得较好的实验结果:例如 Deep RL 的 Alpha Go等

Gym 是一个研究和开发强化学习相关算法的仿真平台。

  • 无需智体先验知识;
  • 兼容常见的数值运算库如 TensorFlow、Theano 等
import gymenv = gym.make('CartPole-v0')  env.reset()  for _ in range(1000):      env.render()      env.step(env.action_space.sample()) # take a random action

运行效果

至此,第一个 Hello world 就算正式地跑起来了!

在第一个小栗子中,使用了 env.step() 函数来对每一步进行仿真,在 Gym 中,env.step() 会返回 4 个参数:

  • 观测 Observation (Object):当前 step 执行后,环境的观测(类型为对象)。例如,从相机获取的像素点,机器人各个关节的角度或棋盘游戏当前的状态等;
  • 奖励 Reward (Float): 执行上一步动作(action)后,智体(agent)获得的奖励(浮点类型),不同的环境中奖励值变化范围也不相同,但是强化学习的目标就是使得总奖励值最大;
  • 完成 Done (Boolen): 表示是否需要将环境重置 env.reset。大多数情况下,当 DoneTrue 时,就表明当前回合(episode)或者试验(tial)结束。例如当机器人摔倒或者掉出台面,就应当终止当前回合进行重置(reset);
  • 信息 Info (Dict): 针对调试过程的诊断信息。在标准的智体仿真评估当中不会使用到这个 info,具体用到的时候再说。

总结来说,这就是一个强化学习的基本流程,在每个时间点上,智体执行 action,环境返回上一次 action 的观测和奖励,用图表示为

在 Gym 仿真中,每一次回合开始,需要先执行 reset() 函数,返回初始观测信息,然后根据标志位 done 的状态,来决定是否进行下一次回合。代码表示为

import gymenv = gym.make('CartPole-v0')  for i_episode in range(20):      observation = env.reset()      for t in range(100):          env.render()          print(observation)          action = env.action_space.sample()          observation, reward, done, info = env.step(action)          if done:              print("Episode finished after {} timesteps".format(t+1))              break

仿真截图如下

每次 action 前,将上一次 observation 打印,可以得到打印日志如下

[ 0.0349103   1.14771978 -0.03934506 -1.64631971]  [ 0.0578647   1.34327926 -0.07227145 -1.95099638]  [ 0.08473028  1.14899616 -0.11129138 -1.68156178]  [ 0.1077102   0.95532555 -0.14492261 -1.42550525]  [ 0.12681672  1.15191062 -0.17343272 -1.75974995]  [ 0.14985493  0.95912509 -0.20862772 -1.52564382]  Episode finished after 16 timesteps  [ 0.03628829 -0.03189712 -0.01997778  0.02529094]  [ 0.03565035 -0.22672696 -0.01947196  0.31160431]  [ 0.03111581 -0.42156616 -0.01323988  0.59808332]  [ 0.02268449 -0.61650037 -0.00127821  0.8865666 ]

在前面的两个小栗子中,每次执行的动作(action)都是从环境动作空间中随机进行选取的,但是这些动作 (action) 是什么?在 Gym 的仿真环境中,有运动空间 action_space 和观测空间 observation_space 两个指标,程序中被定义为 Space类型,用于描述有效的运动和观测的格式和范围。下面是一个代码示例

import gymenv = gym.make('CartPole-v0')  print(env.action_space)#> Discrete(2)  print(env.observation_space)#> Box(4,)  [33mWARN: gym.spaces.Box autodetected dtype as <class 'numpy.float32'>. Please provide explicit dtype.[0m  Discrete(2)  Box(4,)

从程序运行结果来看

  • action_space 是一个离散 Discrete 类型,从 discrete.py 源码可知,范围是一个 {0,1,...,n-1} 长度为 n 的非负整数集合,在 CartPole-v0 例子中,动作空间表示为 {0,1}
  • observation_space 是一个 Box 类型,从 box.py 源码可知,表示一个 n 维的盒子,所以在上一节打印出来的 observation 是一个长度为 4 的数组。数组中的每个元素都具有上下界。
print(env.observation_space.high)  print

柚子快报邀请码778899分享:github java OpenAI ChatGPT微信接入教程

柚子快报邀请码有什么用,柚子快报邀请码有没关系的,柚子快报的邀请码,获取免费永久激活码?,柚子快报邀请奖励

OpenAI ChatGPT微信接入教程

OpenAI ChatGPT 接入 个人WeChat(微信),让AI互动更方便!

准备工作

Ⅰ,OpenAI 账号,参考ChatGPT注册试用全攻略

Ⅱ,微信账号(需要绑定支付方式,需支持网页登录)

简要过程

开源项目

项目地址:https://github.com/869413421/wechatbot

项目基于openwechat 开发的,微信的SDK请移步这个仓库查看:https://github.com/eatmoreapple/openwechat

部署方式Ⅰ

Windows 和 Linux都可以,但是本机需要有Golang环境。直接编译运行项目即可。推荐有一定的技术的童鞋看这部分,不懂技术移步下方。

1)拉取代码,安装依赖。

git clone https://github.com/malaohu/wechat-chatGPT.gitcd wechat-chatGPTgo mod tidy

注意修改配置文件!下面内容有说明!

2)启动运行项目

go run main.go

部署方式Ⅱ

这部分建议不太懂技术或嫌编译麻烦的童鞋参考

Windows 和 Linux都可以,本地不需Golang环境。下载可执行文件直接启动运行。

下载地址:https://gitee.com/shtml/wechatbot/tree/main/bin

下载你本系统需要的可执行文件和配置文件(config.json),注意修改配置文件(下面有描述)!

特别提醒:可执行文件 和 配置文件放到同一个目录!

Windows直接双击运行即可!

API Key

修改配置文件需要获取API Key!

1)登录 OpenAI  - 右上角头像 - 【View API keys】

2)第一次进来,点击【Create new secret key】

3)API Key 创建成功。复制好这个Key接下来会用到。点击OK后,Key不会再完整显示。只能删了重新生成Key!

修改配置文件

将配置文件 config.dev.json  修改成 config.json (如果已有config.json就不用修改了)

目前里面仅有2项配置。

{

"api_key": "your api key",  "auto_pass": true}

your api key 位置,粘贴你的API key。一定要保留引号。

auto_pass 是否自动通过好友请求(如果人非常多加好友,建议设置成 false,因为频繁好友申请会导致程序崩溃)

配置微信Bot

程序启动成功后,浏览器会弹窗一个二维码。直接使用你的微信(微信机器人)扫码登录即可。

如果Linux服务器上启动,将日志中的图片地址在自己的浏览器打开扫码即可。

访问下面网址扫描二维码登录https://login.weixin.qq.com/qrcode/gdOa1pgupQ==2022/12/08 08:19:50 扫码成功,请在手机上确认登录2022/12/08 08:20:01 登录成功

微信登录成功以后,在可执行文件所在的目录多了一个 storage.json 文件。

下次启动程序无需再次扫码登录微信就能使用了!

却换到其他微信登录一定要将这个 storage.json 文件删除掉,否则会切换失败。

2022/12/08 08:19:33 login error: write storage.json: bad file descriptor

模型请求次数2140次,花费约6.4美元!数据仅供参考!

价格的计算方式不是简单的按照请求次数计算,包括相应内容的文字的多少。

按官方计价方式:6.4美元 / 0.0004美元 * 750单词 ≈ 120W单词?

官方价格:https://openai.com/api/pricing

相对于Session_Token方式,API的方式更为方便,机器人相应数据也非常快。Session_Token每小时请求次数有上限。

超过上限机器人就"罢工"了!

参考

OpenAI ChatGPT 接入WeChat(个人微信),与AI互动更方便!

除了ChatGPT,还可以体验最新Stable diffusion-v2绘画模型,免注册,免安装,不用显卡,在线体验,有网就行!

AI绘图在线体验

二次元绘图

在线体验地址:Stable Diffusion 模型包括:

NovelAI,NovelAI的模型训练使用了数千个网站的数十亿张图片,包括 Pixiv、Twitter、DeviantArt、Tumblr等网站的作品。  Waifu,waifu的模型可用于生成二次元的卡通形象,可以生成独有的二次元动漫小姐姐和主人公  Stable diffusion-v2,以英文为输入的通用图像生成模型

中文输入绘图

在线体验地址:Stable Diffusion

太乙模型,首个开源的中文Stable Diffusion模型,基于0.2亿筛选过的中文图文对训练。

查看原文



标签:气候变化

气候变化情况,气候变化的变化,气候变化含义和表现,气候变化的细节
AI前沿
人工智能旨在提高现有技术和组织活动的效率。但是由于气候变化,人们担心进入绿色环保和可持续发展的数字时代,人工智能可能不是节能的。实际上,2019年6月,马萨诸塞州大学阿默斯特分校发布了一份令人震惊的报告,该报告显示,一个训练和搜索特定神经网...

AI君 2年前 (2021-01-21) 29℃ 2喜欢

AI前沿
人工智能已经成为世界的流行语,并且几乎是每个公司数字化转型议程中不可或缺的一部分。AI用户已成为AI工具和服务的生产者。公司领导都提出了关于人工智能的促进,颁布和发展的指令。 全球有4000多家公司从事AI工具,产品和服务的生产。人工智能...

AI君 3年前 (2020-07-13) 51℃ 喜欢

AI前沿
本月早些时候,OpenAI宣布已经建成史上最大的人工智能模型,该模型规模惊人,被命名为“GPT-3”,是一项令人印象深刻的技术成就。然而,它却凸显了人工智能领域的一个隐患。 现代人工智能模型需要消耗大量能量,并且这些能量需求正以惊人的速度增...

AI君 3年前 (2020-06-23) 51℃ 1喜欢

AI前沿
人脑是一种效率极高的智能来源,但目前的AI还达不到这样的水平。 本月早些时候,OpenAI宣布已经构建起有史以来规模最大的AI模型。这套惊人的模型名为GPT-3,已经成为令人印象深刻的伟大技术成就。但在这辉煌的背后,也凸显出人工智能领域一...

AI君 3年前 (2020-06-23) 53℃ 1喜欢