自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 收藏
  • 关注

原创 chrono学习(一)

用chrono进行沙土的仿真,首先学习demo_GPU_ballCosim.cpp,这个例子仿真了一些沙土的沉降过程。

2023-08-30 17:16:05 543

原创 如何用四元数表示姿态差

在机器人控制中,经常需要控制末端工具的姿态,如果用欧拉角表示姿态,会出现万向锁的问题,而使用四元数就不会有这个问题,此外四元数求出的姿态差为一个标量,更容易在RL算法中使用。由于一个四元数表示三维空间中的一个刚体的姿态,那么认为。如果当前姿态就是期望姿态,那么旋转角度。,单位四元数还具有以下特性,其中。首先,假设末端工具的姿态为。,这个标量即可代表实际姿态。为单位四元数的共轭。distance,使用。总结以上,为求实际姿态。均为三维单位向量,即。

2023-04-13 10:58:23 1399 5

原创 无模型深度强化学习算法

无模型深度强化学习算法可分为两类:一类是直接根据策略梯度更新策略,获得最优策略;一类是通过奖励函数V或Q来评价策略的好坏,在当前状态下选择动作的策略能使agent/actor获得最大的累计奖励就是最好的策略,actor-critic中actor是根据状态选择动作的策略网络,critic是根据状态/状态+动作评价当前策略优劣的评价网络。

2022-12-05 14:58:43 920

转载 VREP/CoppeliaSim 界面字体过小问题的解决方法

关于屏幕分辨率的重要说明:如果在高分辨率屏幕上发现文本和图形太小,则可以在Windows上执行以下步骤:1-右键单击CoppeliaSim应用程序exe(可能的位置:C:\ Program Files \ CoppeliaRobotics \ CoppeliaSimEdu),然后单击“属性”。2-在“兼容性”选项卡下3-单击“更改高DPI设置”4-选中“替代高DPI缩放行为”框5-缩放比例--选择“系统”您也可以编辑文件“ system / usrset.txt”,将变量“ hig.

2021-05-27 17:56:56 1747 5

翻译 (四)关节控制

Joint controllers There are many different ways a joint can be controlled. In following section, we differentiate betwen aloosecontroller and aprecisecontroller: aloosejoint controller will not be able to provide new control values in each possible...

2021-05-27 17:30:52 874

翻译 (三)插件教程

Plugin tutorialThis tutorial describes how to write apluginfor CoppeliaSim. The CoppeliaSim scene file related to this tutorial is located inscenes/tutorials/BubbleRobExt. The plugin project files of this tutorial can be foundhere.这个教程介绍了如何为Coppeli...

2021-05-26 15:55:03 545

翻译 (二)插件

PluginsA plugin is a shared library (e.g. a dll) that is automatically loaded by CoppeliaSim'smain client applicationat program start-up, or dynamically loaded/unloaded viasim.loadModule/sim.unloadModule. It allows CoppeliaSim's functionality to be ex...

2021-05-26 12:12:54 355

翻译 (一)使用CoppeliaSim内置/其他语言编写代码

Writing code in and around CoppeliaSim使用CoppeliaSim内置/其他语言编写代码CoppeliaSim is a highly customizable simulator: every aspect of asimulationcan be customized. Moreover, the simulator itself can be customized and tailored so as to behave exactly as desir..

2021-05-26 10:30:40 1225

原创 C++极简教程(开发环境设置和类的实现)-环境配置和Hello World

最近在coursera上学了一个C++课程,感觉简直是世界上最简单的C++入门课程了,对于有一定其他语言编程基础的人来说,整个课程非常清晰和流畅。非常推荐这门课程,感谢伊利诺伊大学香槟分校的Wade Fagen-Ulmschneider的这门课,让我觉得C++也不过是门编程语言,没必要从入门到放弃,一周的时间绝对可以简单入门,可以写出正确的代码,编写自己的类,完成自己的一个小程序。课程地址如下:https://www.coursera.org/learn/cs-fundamentals-1#syll

2020-11-13 16:47:05 655

原创 VREP/CoppeliaSim新版本软件下载

国内好像下载不了,搬运下,方便你我他。教育版VREP,最新版本更名为CoppeliaSim,这个版本是CoppeliaSim_Edu_V4_1_0。如有侵权,请通知本人删除。链接: https://pan.baidu.com/s/1R_zq7pYwaVB3vvIw_GBVPw提取码: x3bn...

2020-11-02 16:29:16 2046 11

原创 Coordinate Rotation,the DCM(坐标旋转,方向余弦矩阵)

如图1.2-1所示,当一个向量沿着单位向量按左手定则转动了角度,形成了新的向量,则新的向量可以由下式求得:或者当把上述旋转公式放到一个坐标系中时,其转换为下式:记住:这个公式是把向量沿着单位向量按左手定则转动了角度形成了新的向量。在这儿,为了便于理解,我们定义上述向量都是在二维平面坐标系中,.下面我们来解释这段话:In component form, the new array can be interpreted as the components of a new v..

2020-08-28 11:41:09 1168

原创 2.1 A k-armed Bandit Problem

考虑如下问题:有k个不同的选择(或者说动作)摆在你的面前,你需要不断重复地选择其中一个,每次你选择其中一个之后,会根据你选择的动作给你一个数值奖励,这个数值奖励符合正态分布。你的目标是在经过一定的次数后,比如1000次后,获得的期望奖励之和最大。这就是原始形式的K摇臂游戏机问题,以模拟一种投币游戏机命名,它是只有一个摇臂的,而不是k个摇臂。每次选择一个动作就像拉下游戏机上的某个摇臂(拉杆),奖...

2019-08-29 18:03:26 1179

原创 Powell算法总结

这是一种最优化算法,可以用于求解多元方程式的解。1. 预备知识对于任意一个n维非线性函数,若其至少二阶连续可微,则可将其在某一点处,进行泰勒展开,保留其二阶项,写成:略去二次以上高阶项,并将其写成如下形式:若取,则上式变为如下一般形式:注意,其中( 表示 ,其余类似):A为n*n矩阵,b为n*1列向量,c为常量。…(1)…(2)…(3)以上A、b...

2019-07-08 19:05:24 4816

原创 TensorFlow入门(一)

1、为什么要用TensorFlow?TensorFlow的作用是让你从诸如“如何读入一堆图片”“如何处理图像的灰度值”“如何归一化向量”这样的细节问题中解脱出来,让你不用担心自己的模型中有各种各样的bug;因此,你可以更关注于建立一个优秀的模型,提升模型的性能,使它的精确度更高,泛化性更好等等。Heavy concepts,light codes.2、TensorFlow的特点为了...

2019-06-04 17:35:40 241

原创 深度学习入门笔记 Day10/15 与学习相关的技巧(二)

一、如何使用Weight Decay权值衰减或者Dropout技术缓解过拟合?过拟合现象是指在训练集中表现优秀,但是在其他未知的数据集上表现很差的现象。由于很多过拟合原本就是因为权重参数取值过大才发生的。Weight Decay权值衰减法是通过最小化权值的二范数,使得所有权值都为最小。如果网络的模型变得很复杂,只用权值衰减就难以应对了。在这种情况下,我们经常会使用 Dropout 方法...

2019-05-25 21:52:09 222

原创 深度学习入门笔记 Day9/15 与学习相关的技巧(一)

一、为什么SGD不够完美1. 在输入参数的系数相差较为巨大的时候,比如:的时候,由于参数变化对于y的影响比参数变化要小得多,那么在更新参数的时候,对于x1的更新就很不明显,虽然上式的最小值明显在处,但是如果选择初始值可能最终收敛到的地方是。2. 学习率对SGD影响也很大,如果选择得过大,可能最终无法收敛;选择得不适合,可能收敛速度很慢;选择得过小,学习效率太低。二、什么是...

2019-05-24 16:23:50 135

原创 深度学习入门笔记 Day8/15 误差反向传播法(二)

一、如何实现加法层和乘法层用代码实现昨天的苹果、橘子问题。这里的layer应该理解为节点,MulLayer是乘法节点的实现,AddLayer是加法节点的实现。对于每个节点声明一个类变量mul_apple_layer = MulLayer() #节点1,乘法节点,苹果单价*苹果个数mul_orange_layer = MulLayer() #节点2,乘法节点,橘子单...

2019-05-23 18:31:44 591

原创 深度学习入门笔记 Day7/15 误差反向传播(一)

辛苦码了好多字,都不见了,破网速。。。不干了,撂挑子了。。。一、什么是计算图?将计算过程用图形表示出来。二、什么是反向传播的链式法则?复合函数求导可以层层求导。三、如何实现乘法和加法的反向传播?...

2019-05-22 16:05:54 161

原创 深度学习入门笔记 Day6/15 神经网络(四)

一、什么是数值微分数值微分就是用求导数近似值的方法。取或其他较小的数,则函数在x点处的导数等于:用python等计算机语言实现时,要注意,并不是越小越好,因为计算机的存储空间有限,32位单精度浮点数可表达的数字范围在-3.40E+38 ~ +3.40E+38之间。例子:,求其在x=1处的导数# 函数表达式def fx(x): return x**2#...

2019-05-21 16:07:23 522

原创 深度学习入门笔记 Day5/15 神经网络(三)

一、可否从数据中自动学习神经网络的权重参数?当然可以,不然学深度学习干啥!神经网络的特征就是可以从数据中学习。所谓“从数据中学习”,是指可以由数据自动决定权重参数的值。深度学习、机器学习的区别:深度学习的优势在于不需要人为挑选特征值。https://blog.csdn.net/eowyn0406/article/details/86690667二、为什么要将数据划分为训练数据和测试...

2019-05-20 16:48:01 254

原创 深度学习入门笔记 Day4/15 神经网络(二)

一、如何使用Numpy数组实现一个权重既定的三层神经网络的前向传播?import numpy as npdef identity_function(x): return xdef init_network(): network ={} network['W1'] = np.array([[0.1, 0.3, 0.5], [0.2, 0.4, 0.6]]...

2019-05-19 20:53:52 263

原创 深度学习入门笔记 Day3/15 神经网络(一)

一、什么是神经网络,它和多层感知机的区别是什么?神经网络和多层感知机的结构是类似的,区别有两点:1. 多层感知机的偏置b在神经网络结构里变成了一个常数输入1的权重。2. 感知机的激活函数是阶跃函数(在0处不连续),神经网络则使用的是其他连续函数,如sigmoid,ReLU等。二、为什么需要激活函数?激活函数是用来建立输入的加权和(WX)与输出(Y)的关系。三、常...

2019-05-18 16:31:15 198

原创 深度学习入门笔记 Day2/15 感知机

一、感知机是什么?感知机是一种算法,把多个输入信号按一定的逻辑关系进行输出(一个输出),单层感知机公式如下:通过调整权重和阈值,可以用来实现各种逻辑电路。二、如何用单层感知机实现各种逻辑电路?比如或门:设置权重和阈值 w1=0.5,w2=0.5,theta=0.3即可,这个值不唯一,自己试试,无限多种组合方式。# 或门# w1=0.5,w2=0.5,theta=0.3...

2019-05-17 12:35:28 309

原创 深度学习入门笔记 Day1/15

第一章 Python入门 Day1/151.2 Python的安装另外安装了一个Python的IDE:pyCharm经常使用的两个外部库: a. Numpy:用于数值运算 import numpy as np(可以改名) b. Matplotlib:用于绘图 import matplotlib.pyplot as plt(可以改名)--------...

2019-05-16 11:49:09 157

原创 2.4 incremental implementation 增量实现

目前我们所讨论的动作-值评估方法都是采样平均法。现在我们来讨论一个问题,如何在计算机上以一种高效的方式来计算这个奖励的采样平均值,在存储容量固定和连续的分布计算的要求下。为了简化定义,我们集中于一个动作上。令表示第i次选择后的这个动作的奖励,令表示这个动作被采样了n-1次后这个动作的值,这里我们把它简写成如下形式:一种显而易见的计算方法是,记下来所有奖励,然后在每次需要预估动作a的时候...

2019-04-30 18:01:22 686

原创 2.3 The 10-armed Testbed 10摇臂老虎机试验台

为了粗略获得贪心算法和贪心算法的相对有效性,我们通过一系列的数值测试来比较两者的优劣。本实验台包含2000个随机生成的k摇臂老虎机问题,其中k=10。如图2.1所示是其中之一,每个k摇臂问题生成的10个动作的值,, a = 1,...,10, 是从一个均值为0,方差为1的正态/高斯分布中选取出来的10个数。然后,当一个学习算法应用这个问题上,并在时刻t时选择动作,其动作的真实奖励,是从一个均值...

2019-04-30 14:50:18 670 5

原创 2.2 Action-value Method 动作-值方法

我们先来了解一些简单的用于估计动作值,和如何用估计值来选择动作的方法。估计动作值:采样平均法。回顾一下:值是什么?一个动作的真实值是当这个动作被选取了,我们获得的奖励的平均值。那么自然而然,一种估计动作值的方法就是用当前获得的奖励的平均值来表示真实值:,其中表示采取了a动作则等于1,否则等于0. 如果分母为0,则设其为一个默认值,比如0。随着分母逐渐趋于无穷大,根据大数定理,最终收...

2019-04-29 18:48:36 998 1

原创 2 强化学习——Multi-armed Bandits

The most important feature distinguishing reinforcement learning from other types of learning is that it uses training information that evaluates the actions taken rather than instructs by giving corr...

2019-04-29 14:51:07 417

原创 multi-arm-bandits问题python代码

假设有k=10个摇臂的老虎机,其奖励分布满足高斯正态分布,每个摇臂对应的正态分布的均值与方差分别为:#the real mean value of each ation's rewardqa_star = np.array([0.2,-0.3,1.5,0.5,1.2,-1.6,-0.2,-1,1.1,-0.6])#the vars of each action's rewardvar_...

2019-03-08 17:00:03 522

原创 我的第一个增强学习代码(敲弱智的)

#假设一个具有9个元素的一维数组,nimo位于第6位(索引从0开始)#下面用增强学习的思想来让agent找到nimo,并输出是第几步找到的nimo,以及获得的奖励#本例不涉及到对策略的优化,只是采取keci-贪心算法达到搜寻目的,并不是完整的增强学习算法import numpy as npimport randomdef main(): print ("start lea...

2019-03-07 19:06:35 263

原创 Markov Chain 马尔可夫链

1. 马尔可夫性质对于任意 ,任意,任意状态有比较直观的定义是:令:则马尔可夫性质为:已知到现在为止的所有信息来预测将来,则只与现在状态有关,与过去所有状态都没有关系。2. 马尔可夫链如果是状态离散的随机过程,并且具有马尔可夫性质,则称此随机过程为马尔可夫链(Markov Chain)。将m时刻处于状态i的条件下,到n时刻转移到状态j的转移概率简写成...

2019-02-22 17:39:10 4157

翻译 Bellman Equation 贝尔曼方程

Bellman equation(贝尔曼方程),是以Richard E.Bellman命名,是数值最优化方法的一个必要条件,又称为动态规划。它以一些初始选择的收益以及根据这些初始选择的结果导致的之后的决策问题的“值”,来给出一个决策问题在某一个时间点的“值”。这样把一个动态规划问题离散成一系列的更简单的子问题,这就是bellman优化准则。Bellman equation最早应用于工程控制理论...

2019-02-21 18:15:03 13186 2

原创 梳理神经网络学习流程

以如图1所示二层神经网络为例,梳理神经网络的学习流程。1. 说明各变量定义1. 输入量个数为3: 2. 输出量个数为2: 3. 中间层个数为4:  4. 权重矩阵W1、W2(不带偏置)的维度分别为3*4, 4*2.  5. 偏置矩阵b1、b2的维度分别为1*4,1*2,  图1 二层神经网络,3输入,2输出,X为输入层,Y为输出层,A为中间层...

2019-02-14 18:55:53 1097

原创 神经网络中为何要引入损失函数

比如识别手写字,为何不直接用识别的正确率作为判断神经网络好坏的标准,而要费事引入一个损失函数来判断呢?因为如果使用识别正确率,当神经网络参数小幅度变化时,其识别正确率基本不变,即如果对参数进行微调,识别率(比如原来是30%,现在还是30%)肯定是一个精细度较差的数值,它不会显示30.01%到30.009%,还是30.01%到30.011%的变化,因此无法得到参数微调的结果对神经网络的影响究竟是...

2019-02-13 15:03:48 1559 1

原创 损失函数(loss function)

损失函数是表示神经网络性能的“恶劣程度”的指标,即当前的神经网络对监督数据在多大程度上不拟合,在多大程度上不一致。以“性能的恶劣程度”为指标可能会使人感到不太自然,但是如果给损失函数乘上一个负值,就可以解释为“在多大程度上不坏”,即“性能有多好”。并且,“使性能的恶劣程度达到最小”和“使性能的优良程度达到最大”是等价的,不管是用“恶劣程度”还是“优良程度”,做的事情本质上都是一样的。这个损失函数可...

2019-02-13 10:37:43 1502

原创 神经网络学习的步骤(不是教你怎么学神经网络)

前提(获得权重和偏置——学习的目的)神经网络存在合适的权重和偏置,调整权重和偏置以便拟合训练数据的过程称为“学习”。神经网络的学习分成下面 4 个步骤。步骤 1(mini-batch)(计算全部样本的损失函数值时间过长,且非必要,计算其中一部分数据的损失函数即可)从训练数据中随机选出一部分数据,这部分数据称为 mini-batch。我们的目标是减小 mini-batch 的损失函数的值...

2019-01-30 17:22:05 3316

原创 一些机器学习的概念、名词

有个伟人曾经说过:学习首先要做的就是学单词,搞清楚概念。——那个人就是我。。。比如一个人说红薯,另一个人只知道地瓜,其实是一个东西,但是却不清楚对方在说什么。所以列一下机器学习中的简单的概念,方便日后回顾。训练数据/监督数据:一组输入输出对应的数据,比如y=ax,已知当x={1,2,3,4,5}时,y={2,4,6,8,10},则训练数据就是{{1,2},{2,4},{3,6},{4,...

2019-01-29 17:28:11 198

原创 机器学习、深度学习的区别(from 深度学习入门:基于 Python 的理论与实现)

手写数字 5 的例子:写法因人而异,五花八门如果让我们自己来设计一个能将 5 正确分类的程序,就会意外地发现这是一个很难的问题。人可以简单地识别出 5,但却很难明确说出是基于何种规律而识别出了 5。此外,从图 4-1 中也可以看到,每个人都有不同的写字习惯,要发现其中的规律是一件非常难的工作。因此,与其绞尽脑汁,从零开始想出一个可以识别 5 的算法,不如考虑通过有效利用数据来解决这个问...

2019-01-29 15:42:26 336

原创 神经网络的学习——自己的思考

本章的主题是神经网络的学习。这里所说的“学习”是指从训练数据中自动获取最优权重参数的过程。神经网络其实是建立了输入与输出的一个参数未知的关系式。例如:输出是Y(1*1),输入是X(n*1),建立了关系式Y=X'AX+BX+C,这样的一个n元二次关系。设n=3,,,,为简单起见,令则。现在已经知道输入X与输出Y之间存在上式所示二次关系,但是系数未知。学习的过程就是找到上述系数的过程。...

2019-01-29 15:05:48 420

原创 在线下载MNIST数据集(深度学习入门基于Python的理论与实现——源代码)

 mnist.py (功能,在线下载MNIST数据集)# coding: utf-8try: import urllib.requestexcept ImportError: raise ImportError('You should use Python 3.x')import os.pathimport gzipimport pickleimport osi...

2018-12-27 16:03:45 5579 12

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除