粉丝328获赞1243

啊,今天我们来学习一下 lat laba 里面的一个呃仿生工具箱 啊,我们最主要是利用这个工具箱来啊研究一下我们的那个 pid 的一个模块的一个学习啊怎么调整,对于啊一个曲线怎么调整?把它调平稳。好,现在我们进入我们的那个行为认可 这里面我们已经打开了我们的一个心目定格 神秘链子里面啊,有非常多的那个模块啊,其中就包括我们的那个 pid 啊,非常多的一个模块,包括各行各业的啊,好,现在我们关闭这个 窗口,我们来看一下我们这个 pid 的调整是如何进行调整的啊?这是我已经搭建好的一个模型啊,这里面都是 pid 那个,呃, 那库里面是另一个返程库里面工具箱里面的一些啊模块,我们首先来讲一下各个模块的一个作用啊,这个就是一个试播器,试播器它主要的动图就显示我们前面啊 前面的各种模块所输出的一些直啊,复制成的一条啊,实时的一条曲线啊,啊,类似于我们的那个啊,心脏的那个心电图等等啊啊,这个 是个传递函数啊,是个传递函数,我们三我们来看一下啊,这里面有最主要是前面上面两个函数的那个系数的出入三代表我们这个这个函数, 我们看一下,翻开看一下, 这个三代表他的一个分子啊的那个系数,八五六代表我们分母的前面的一个系数,大家这个是个举证来的,因为那那就是一个举证的一个模型函数啊,一个模型的工具。好,我们可以,比如说七, 我们可以应用一下才变成气压啊, 好,我们回到我们的那个啊传递函数啊,就这么简单。好,我们再来看一下这个是个固定器啊,我们看一下它的固定器, 他的固定的时间,是啊,一秒就是一秒,他就跳跃一次啊,练一下值啊,比如说啊,一秒零秒的时候他出手值是零,一秒的时候他就是一啊,就这个就这个意思,我们可以用他那个试播器来看一下他的那个, 我们把这两个布置一下,我们去拉另外一个窗口。 好,这个穿高看一下 现在他的那个不定时间是一秒啊,处置是零啊,最终只是一。来看一下他的那个, 我们点击运行看一下,好,看到没有?这是一秒啊,零秒的时候,零到一秒的时候他出手就是零,一秒的时候就跳到了一,这就是他的那个输出。 好,再来看一下这个啊,这个上函数,上函数,上模块, 上魔法,就是一个啊, 看一下他的关注,就是一个加减的一个函数, 他一般有啊,多个窗口,多个窗口,我们可以用我们的那个啊,栗子来讲解一下啊, 我们用四步器来讲解一下。好,三个标。好,你把它复制好。三,以后双击这个窗口,我们再加入一个长梳模块。 好,现在我们添加了一个啊长速模块,我们再把它复制一个啊,两个。好,我们双击他,把他把那个长数啊改为啊五,确定 好这个长数,改为啊八,确定。好,我们双击这个上啊加法 加减预算五块,他这里面是一个代表,加一个加号,代表他有一一个食物啊,食物端口啊,再加一个简化,代表他有两个食物端口啊,就是说这两个端口分别做啊, 剪板形状啊,就是他剪他啊,大家我们也可以看成加号,这两个加号啊,我们来看一下,把它连起来, 好,这样我们就好,这个是五,这个是八,加起来就是十三,我们看一下他的那个啊印刷,我们打开他的撕破器,我们看一下运行 好,就在这里十三啊,这个黄色的点啊,这个黄色点啊,这就是他那个啊上模块的一个应用,好了,现在我们啊回到我们的那个正面啊, 我们讲解一下,让我们进入我们的那个, 我们先说说我们这个调整的一个过程,我们这个啊模块这整个这个程序啊,这是命令的这个仿生,我们 通过这个固定器给一个初时值给他,然后进入这个啊加减运算不快,然后去掉我们的 pid, 然后再去掉我们的那个 传递函数,这个传递函数最主要是给我们制造不同的那个波形好,然后呢他会有个反馈,回到我们的那个上模块来进行加减,加和减好 两个输入团的一个加减法印刷,然后再输到我们的 pid 里面,再输输到我们的那个啊试播器里面。 我们这个模块最主要是产生不同的波形,我们这个模块 pit 模块是通过调整的 pi 和 d 三个参数的争议来好,把我们的那个波形调到一个啊,一个比较平稳的一个状态, 我们看一下,看一下 pit 这个参数,双击一下他的参数的一个啊,这个模块的一个参数设置啊,这个 pit 控制器,他可以有几个模型, 还有个 pid, 也就是比例积分和为分啊,三个通过三个争议啊,来啊,下面是个争议啊,来调整我们的那个曲线, 我们也可以,如果说你,你不需要那个离婚模块,我们可以选择 pi 模块啊,也可以选择 pd 模块,也只可以选择比例模块,等等啊,就这个意思。好, 这三三个常数数设置,就是我们的那个 pip, 就是我们的那个啊,比例积分为分的一个争议调整,我们通过改变这个数值来调整我们试播器里面的一个 曲线状态。好,我们关闭它,我们来看一下,首先 把它回复到初始值一零, 我们再把它恢复为,我们来个一, 我们看一下在这种状态下,他的那个仓鼠那个波形是怎么样的,我们进行一下,他 好打开我们的四拨七,好,他的拨七是这个样子的。好,慢慢的慢慢的恢复调整,但是呢他跨越的时间是比较长的。好,这个时候我们该怎么调整呢?我们来看一下, 我们可以修改一下我们的 pp 值,比如说加大,比如说加到两百,我们看它的波形会怎么变化。好,我们再运行, 他会慢慢的缩小,但是呢他缩小到一定程度的时候,他就不动了啊,他就不动了啊,我看他就慢慢的变啊,神形成了一个政权的一个啊波形啊,慢慢的不动了啊,就来回的增大啊, 我们来看一下,假如这个时候我们再增大我们的那个啊比例调节,看看是否有用。好,比如说这个九百 再运行一下啊,我们明显啊,这个时候对于这些正旋波改变,我们批值啊,就是比例是没有用了,好,比例是没有用,我们可以看一下,这个运行时间是三十秒,我们改量,改量好,比如说改掉六十秒, 看一下他是不是会收敛,看到他是不会收敛的。好,这个时候我们该怎么调节呢?我们看一下,调整一下,我们的那个啊,积分,我们看一下,看这里吧, 好,我们把它改为了三十秒,不会那么长。好,我们再来运行现场, 我们可以看到他那个正旋波啊,他收敛啊,就是 以及慢慢靠向我们的中心线啊,靠近了,比刚才我们没调整啊,没运用的那个啊,积分调整的时候啊,明显是想那个政府明显小很多了。我们再回到我们那个刚才那个步行 看一下,这个时候他是这样子,我们恢复到我们积分为一,就是没有积分,积分的情况下啊,明显很多了,那是不是我们可以改大一点呢?他积分可以改大一点呢?看一下, 明显啊,这个时候积分是不行的了啊,改大是不行的了,他越来越越发散了啊,这个时候是不行的了,好,我们再来看一下,这个时候我们改一下啊,他的能够微分,好,我回答一百,两百的时候来看一下, 好,两百也是这样子,好,这个时候我们稍微的调整一下,他的能够微分子,好,改大点,比如说很久, 好,我们看一下,好,微分,这个时候就产生作用了啊,很快的他就收敛了啊,这就是我们的那个啊,用 metalabasim link 那个仿生工具箱来,呃, pid 模块来啊,调整我们的那个工业上的那个啊,特别是自动化啊,一个啊仪表的一个调整的一个方法,大家对不同的模型我们可以啊, 用我们的那个传递函数来进行啊。设置好了,这节课我们就讲到这里。

啊,还有呢这个就是模型的导入、导出以及自定义,就是定制化,自定义以及这个就是在数据处理,包括代码生成转换成 cc 代码、 cc 代码等等。好,这个就是深度学习然后他现在支持的这些情况 啊,那么对于目前主流的然后深度学习的一些模型的话,比如说卷记神奇网络模型啊,循环神奇网络里面的长短时机 lstm, 我们后面都会讲到,然后呢一会,呃,可能会会今天啊 举的例子当中没啊,没有他啊,但是我们这个就是后面专题当中会详细的讲讲这个例子,建议学习我们以后会给大家然后去展示一个案例,然后的话还有生产是对抗网络,这是二零一九毕业刚刚支持的,然后这样 的一个工具箱。还有这个就是啊可视画质这一块的功能,也就是基本上他可以满足我们对于一个常规的这个深度学习的一个研究的需要了,我个人觉得是这个样子。 好啊,那么接下来的话,我给大家然后简单的然后来介绍一下他这个几个很好用的工具。第一个呢这个就是可视化的工具,就是店铺内头我可得砸一个这样的一个工具,然后的话你打开这界面就是这个样子,在这个里面你可以去新建一个模型, 打任意的打你想要的层,你放一百层都可以。然后的话你还可以导入,就是别人的模型,你可以直接导入进来,你可以去直接用或者去修改他,都可以修改你们参数。 这里面有一个重要的按钮,就是这个阿拉拉,意思就是分析,就是,呃,能深度神经网络的这个模型突破结构他是有 要求的,他的前一层和后一层在连接的时候得到接口必须要严格一致才能接,否则接不上。所以说你自己在做的时候的话,可能这个就会出一些错误,那么他会帮助你分析说你哪一层有问题,哪一层没问题,他全部会告诉你,以及你模型设计好了,这个托付结构搭好了之后,你导出 然后的话,这个这个并且可以把它转换成代码,然后这些都是可以的啊啊,那么我们可以来看一下,然后这个就是其中的分析的那个功能,比如说这个模型有二十五层,哎,没有错误,也没有任何的警告, 他的每一层分别是什么?是卷基层还是计划函数层还是归于化层这些内容我们后面讲卷卷基成绩网络那个专题都会详细的去讲每一层是什么功能,什么含义,包括,哎,嗯,你说, 喂 喂 喂,有人在说,嗯, 我这边没有问题,我这边没有卡呀,是现在说你什么情况?对, 有有点卡,现在可以吗?现在大家听我说话清楚吗? 如果说是啊,不卡的话,可以,对,好好,没,没有问题,好好,那么的话,这个就是我们可以在这个表格当中可以看到每一次 层,然后他的输出,也就是从输入信号进来之后到这一层他的输出变成什么样子,以及这一层当中的话,然后他的参数,然后这个是多少个, 然后以及这些参数,然后这个是怎么去影响他这个结果的?这个的话呢?这个是啊,很重要的一个,因为如果说有老师同学参加过我之前的那个线下课程的话,讲到这部分的时候啊,如果说没有这个工具的时候确实是你很难理解,而且是你很难验证, 他是需要你自己去算的,然后如果说你能够自己算清楚,而且根据这个结果比对上的话,那么就说明你真的能理解这个问题 啊。所以说我个人觉得这是呃,应该这个功能是二零一八毕业之后才推出来的一个功能啊,为什么群里面有好多人问我说二零一六,二零一七行不行啊?不是我非得让大家去安装这个新的版本,而是这个 这些功能可能老的版本那就没有啊,所以说的话这个是这样的一个问题啊,当然这个模型导出的时候,达伟也会告诉你好几个选项,就是你可以这个就是把它导入导出到工作空间当中, 然后你也可以把它生成代码,而且生成代码的时候呢,你可以把原来的那个模型的这个参数也一起导出出来,然后这个这也是也可以具体的话我们这个后面,然后这个就是会给大家,然后来啊介绍一下。 好,接下来的话我给大家然后这个去来演示一个案例。但是演示这个案例的话呢,大家可能呃没有办法跟着我这个去来进一步的操作了,因为这需要那个去让大家去安装一个啊包,那么我一会会给大家去说, 那么我们的话这个就是正常的,如果说你的这个就是程序来跟着我去敲的话,然后你的程 就会出错的这个地方, 好,我们稍等一下,因为我的计算机现在是视频会议系统开着,马踏那边开着,然后呃,安的 note 开着,我把这些都给关掉吧,没用的都给关掉啊,把这个就是浏览器都关掉, 我的话筒就是我的味道也关掉。好,我们都关掉。 好,那么接下来的话呢?这个就是我们这是一个已经训练好,在百万张数量级的图片库上训练好的一个模型,我们把这个模型训练好了之后呢,把它导入进来,然后我们这个就调用这个可视化的这样的一个窗口, 好对付, 来到我的第三个。好,那么的话我们这个完之后,等一下他会弹出一个窗口出来。 好,我们耐心的等待一下。 好,呃,他会弹出来这样的一个窗口, 有时的话我们把刚刚的那个模型,然后我们把它导入进来,就是在工作空间当中就这一个变量,所以说就默认了,然后我们把它导入进来。

好,然后我就简单的分享一个那个 metamb 神奇网络工具箱的一个简单应用吧。然后呃,这是就是为了那个节省时间,我把它每一个截了个屏,就是 那个不用不用运行,咱们就可以节省时间,但是里面内容都有。然后这是咱们直接进入那个 matamb 的界面, 大概就是这样样子。然后呃右边这这块地方叫工作区,他主要是用来查看你的那个呃函数,以及一些就是变量这些呃这些东西,然后这个是命令窗口,命令窗口的话是用于你输入一些命令,然后让他那个 出一些命令,比如说是我这两条命令,就是第一个 x, 呃,第一个就是我建立一个变量 x, 并让他从零到二派,然后不长是零 点一个派进行个取值,然后第二个是 y 乘以 y 是呃三 ex, 然后再加上零点一 round, round 一 round 一是随机,从零到一产生一个随机数,然后我乘以零点一的话,就是相当于是从零到零点一产生一个随机数, 然后我见这两个命令,命令完执行完之后,你就可以看到我在右边这个工作区,我就有这个 xoy 这两个边量以及他所存呃存储的数据了。呃,然后这是命令窗口,如果你需要就是写很多的代码的话,这上面会有相应的 就是按键,这里就不用再给大家叙述了。然后紧接着我是使用那个马达莫自带的呃工具包,也就是这个 app, 他一共有主页绘图 app, 你点这个 app 他会弹出这些东西, 然后我用的是这第二个,呃 nature, 呃 network, 呃,呃 fitting, 就是意思就是那个神经网络礼盒,然后左边这个的话,它是起一个剧类的功能,然后右边第二个右边就是相当于是第三个这个图标的话,它大概是一个识别的作用。然后第四个这个的话 就是可以起到一个类似于时间序列的一一个那个预测的功能,呃,大家如果有需要的话可以自己下去了解一下。然后这次我们主要讲这个第二个是你网络拟合工具箱,然后他这个大概意思就是一个是你网络的介介绍, 然后这边是他的一个流程图,然后那个杜老师上课也给咱们介绍过,然后我们直接点这个 next 就行。比如点 next 的话,我们就进入到这样一个页面,这个页面的话就是需要你输入,输入两 个就是输入变量,输入和输出变量,然后并且选择他的那个方式,然后我们输入进来之后可以看到右边这个呃 summary, 就可以呃 summary 里面就会弹出你这个数据的一些特征,比如我刚才说的它里面的特征就是二十一个样本一个元素, 然后我们把 x y 选择之后,就是通过你调这个呃竖,就是那个行矩阵和列列矩阵,通过调整这个呃软,就是这这两个按钮的话,你可以就是看到你这个 数据的呃 summary, 然后根据你呃的实际的 summary, 然后就是调整合适了之后,我们直接进入下一个环节,直接点 next 就行,然后进入下一个页面的话,它是这样一个样子,它主要是 就是默认的是呃训练,这个这三个分别代表我们神经网络里面的训练级、验证级和测试级,我们输入的二十一组样本,他就是默认百分之七十作为我们的训练级,然后进行神经网络的训练, 然后百分之十五作为我们的验证机,就是训练他通过将训练好的百分之七十的数据训练好的神经网络,呃, 再将这验证级的百分之十五的数据带入这个训练好的神经网络之中进行进行一个验证,验证出来,然后再进行呃,进行就是 呃进一步的调节这个神经网络精度,然后最后会有百分之十五来作为一个测试级,就是相当于对我们一个就是这个神经网络进行一个评价,然后这边的话 是他的一些就是介绍,然后我们呃就是直接按默认来就可以了,他也可以进行一个就是调整。直接点 next 的话,这里的话是 用用来那个填写那个隐含层个数,他默认是十层,是有一个隐含层个数,是有一个那个经验公式来算的,这里我就不再坠述了,大家有兴趣可以下去自己了解一下。然后我这里因为老师上课讲的是咱们用一层一个隐含层来, 就是那个试一下,我就这里先填一个隐含层,然后我们直接点 next, 这里这个页面的话就是, 哦,终于到了我们那个神经网络的训练的时候了。呃,上面这个按钮里面点开的话,点这个下三角这个符号的话,他会有三个方法,其实三个方法的话就是 有差异,但是呃在咱们大家就是平常日常使用的话就可以不用不用管他这个东西,然后我们直接按默认这个东西啊,默认这个方法直接点这个吹训练就行。 然后训练完之后他会弹出这样一个窗口,这样一个窗口的话是这个是迭代次数,这个 time 是他所耗费的时间。然后这些东西的话我都会给大家讲一下,然后我们从这个每一个按钮进行一个,就是我,我们我点开给大家看一下,然后这边的话是他一个 哦这里挡住了,然后我随从人家的那个就网上搜了一张图片,截了一个图给大家看一下。嗯,还记得刚才咱们有三个,那个就训练级、验证级和那个测试级吗?然后这三个级和他呃,在那个神经网络 礼盒的过程中,呃,然后与实际的数据之间的均方差和相关系数这里有一个值。然后我们也可以从就是从这几个按钮里面可以看到第一个按钮的话是这样一个图,他大概的意思就是我的 呃神经网络的迭代次数,然后这三根三条线的话是它分别的那个训练级、页任级和 测试级,这个图的话因为我们只有一层,而且这个数据只有二十一组,就是神经网络,大家众所周知都是需要大量的数据以及合适的这个隐含隐含层,这些进行一个训练数据太少,他会出现那种就是过敏核的 呃过敏盒的状态,然后我们这个的话就是不是很理想,后面有我,后面我提高了那个 数据的数量,会有那种比较有理想的图片,大家一会可以看一下。然后就不是很理想,但是就是系统运行他默认是第五次就达到了最优级,然后一共运行了十一次,一共进行了十一次迭代,在第五次的时候达到了最优级, 这个图就能表达这个含义。然后左边的中坐标是他的那个 mse, 也就是刚才说到这个军方误差。军方误差呃什么含义?大家如果不知道的话可以下去查一下,我这儿也不再赘述了。然后紧接着是第二个按钮,第二个按钮点开,他是会有这样一幅图, 大概的含义就是梯度变化,然后我们就不用管它就相当于是那个梯度变化的话,就是那个老师上课讲的那个不长,这个东西应该是。然后呃接着下一个按钮 点开的话,它是一个误差的直方图,就是呃,就就就是这么一个情况,他不同的数据局以及呃,以及他那个就是不同数据局的一个误差,做成了一个直方图的样子。然后这是他 每一个数据集与实际的呃实际数据的一个拟合的情况,然后它这个数据是 r, r 是越接近于一,它这个拟合情况是越好的。 然后紧接着这个东西的话是呃,我们就是最后的一个呃 fit, 这个按钮按完之后它会出现这么一张图,这个图是这条黑色的线,是我们拟合出来的函数,然后这里面每一个点 是我们输入的,应该是说我们输入的数据,然后这个就这个黄色的这个竖线是我们的一个误差,可以看出咱嗯,在我们数据较少的情况下,他拟合出来函数是这么一条。然后紧接着 当我们增加这个样本的训练个数,从不长,从零点一派到零点零一派,然后我们的数据也从二百二二十一组数据提升到了二百零一组数据。然后我们紧接着进行那个相同操作,但是 呃就是相同操作,其中隐含层的个数也还为一。然后使用方法以及啊训练级、验证级以及测试级,他的那个百分比也不改变的情况下,我们看一下他最后结果,这样来看的话,他这个叠带的这个线 就会比较符合实际情况,就不会像上一张那个图上一次迭代一样就出现那种过敏核情况啊。可以看出我们本次迭代只进行了十次,呃,进行十次迭代,然后在第四次我们就进行就是达到了我们的 最优解,然后这是他的那个呃不长,然后误差脂肪图以及他的这个拟合情况,哦,这是,然后我想着重给大家看的是这是咱们的那个拟合函数,大家从这就可以看出看这是零,然后这是一, 然后这边是二派,大家就可以看出他这一条你和曲线已经很接近于我们的那个呃就是呃赛引函数,但是他的这个 误差还是就是与实际数据的误差还是有很大的,就就是还是有很大的误差。 然后在此我们如果增加隐含层的个数会发生什么,我们就按他十层来计算,然后不不单独根据经验公式来测算他的隐含层个数,如果你进行科研活动的话,他这个隐含层个处是需要进行那个 根据我们那个经验公式来计算呃调出来的,我们这里就直接按他用默认值十层来进行计算,然后这是这可以看出我们就是当隐隐含层个数调成十层的话,他这个连带次数就上去了,但是 呃所花费的时间还是比较少的。然后我们每一个点开都看一下,这个接待的这个线路 就十分的美观,就我们可以看出在三百三,三百七十七次的时候,我们完成的迭代并得到了最优解。然后这是一个他的那个误差,然后误差脂肪图以及他拟合情况,我们这里就看他,他看到他那个拟合情况已经接近于一了,就 特别好,但是具体是不是过拟和情况的话,大家还是需要进行一个分析。然后这里的话我们可以看到他这个就基本不存在误差,然后拟和情况也非常好。 然后就是我的操作就到这里完了,但是其实他这个神经网络后面还可以进行保存,神经网络就是你对你现在训练得出的这个神经网络很满意的话,你就可以进行一个保存,紧接着在后续的科研活动中可以进行应用。所以我就从网上 找了些图片,然后给大家把后面的给讲一下,就是这是把那个图片关了之后,然后点 next 出现了界面,然后呃这个按钮确定就是我们如果你对这个手机网络不满意的话,我们可以进行再次训练,每次训练基本他最后得出来的手机网络是不一样的,所以 你如果不满意可以重复的进行训练,直到你满意为止,或者是一直不多次不满意,可以调节一些隐含层个数以及训练级的呃占比,然后我们直接就是呃下一步,下一步完了之后是 这个的话是让你就是他系统直接就把你这个神经网络代码生成了,但是上面这一块是生上面这个按钮是生成的比较复杂的 神经网络代码,然后下面的话是生成的比较简单的神经网络代码,具体就是如果大家感兴趣的话,可以自己下去,就是找一下他们的不同,然后下一步,下一步的话就是重点就是我们这里有一个保存网络的按钮,保存网络这里看他的 网络的名称,这些都是你可以进行自己自定义的,当你定义完成了之后,然后就可以在左下角这个 按钮一点就可以保存网络了。保存完网络之后,他这个网络就会保存到你的这个工作区这一块, 比如说你刚才呀,比如说你刚才命名的这个神经网络名称是呃。 net, 然后你这里保存完之后,它这个工作区就会出现一个。 net 的一个神经网络,然后当你需要 呃进行一个,就是重新导入一组数据进行预测啊,比如说,比如说,比如说我在这里,在我是一组数据输入一组数据,比如说是 x, 就是这个预测,然后道的函数调用,调用我们这个 刚才刚才保存的这个神经网络,然后通过这个 same 命令,然后将神经网络进行一个 进行,意思就是用我们刚才保存的这个网络对这个刚才这组数据进行一个仿真, 这这个 s i m 它的那个全称我,我不会拼,但是它这个意思是仿真,然后通过这一个命令操作,我们就可以将 x 的一个预测值 y 进行一个导出,当你这个命令操作完之后, 它这里会自动生成一个 y 的一个呃,那个变量以及它的值,然后我的那个内容就这么多,如果有错误的话,欢迎老师同学们就是批评指正。

所以说就啊默认了,然后我们把它倒入进来, 好,我们把它倒入进来之后呢,这个就是我们可以放大一下,因为他二十五层,然后这个就太太大了。好,我们放大了之后的话,我们就能够看得到他每一层, 你点击每一层的时候呢,比如说输入层,这就是一个二百二十七乘,二百二十七乘三的这个图像,对吧?然后的话呢有个卷基层,这里面这些参数你都可以去调去等等,都可以去调 好,那么的话呢这个如果说你的网络,然后这个头部结构设计好了,你可以点击一下这个分析,比如我们分析一下这个网络,看看这个网络有没有错误,当然这个网络 是没有问题的,对吧?我们这个自己在设计的时候的话,这个设计完了,需要这个用这个工具去检查一下, 这就现在是一个诊断的一个工具。 好,我们可以来看一下这个就是刚才幻灯片里面那个截图,对吧? 好,那么你可以这个点,你可以就点击到每一个点上,那么他就知道就是这一层对应的呢是哪一层,这个很方方便的,这个你去分析,然后包括你去观察他每一层他的这些参数啊,这是这样的一个这个功能,如果说你模型设计好了之后, 你把它导出,我们可以把它导出到这个就是红色空间当中来, 比如说他已经导出成功了,导出成功的话,这个就是,那么我们在工作空间当中这个来 yes 意义就是了,对吧?好,那么的话你就可以去用它了,那么的话呢这个就是你还可以把它生成代码, 因为在没有这个可视化工具之前的话,我们要来设计一个深度神经网络,在模特料管里面你有二十五层,那么你就要去敲至少是二十五行的代码,然后把每一层,然后这个他的参数类型都给给的很非常清楚,然后这个 科普结构才能创建起来。但是有了这个东西的话,大家可以很方便的从左侧他分装了一些库,对吧?每一层,每一层,然后这 是什么?你往里面搭积木一样把它搭起来就好了啊,那么的话我们可以来看一下,他这个时候的话就给我们这个就是产生了这么一个,这个就是代码文件 啊,我可以了看一下,那就是这一串,好,我们可以看到然后刚才的那个核心的代码部分就是在这个地方就这么多,我们可以啊, 大家可以仔细的来看一下的,如果说你没有这个工具的话,你要把每一层他的参数然后都给设定好了,这才能行的话,我觉得这是一个很麻烦的一件事情。 所以说我觉得这个可视化工具,这是马特莱伯这个深度学习工具箱里面背出的一个非常强大的一个工具啊。我们后面的话,这个就是可能有一些案例当中,然后会 设计的到会用这种方法,然后来这个就是结合案例,然后帮助我们去设计他。好,所以说大家可以这个去感兴趣,可以自己去摸索一下,去试一下。 好,那么我们回来这个就是我们的这个就是内容。那么接下来的话呢?这个就是我给大家再介绍一个 matel 本支持的一个功能, 就是我们知道,然后这个经常大家在呃朋友圈里面或者是新闻当中会看到某一个学校,某一个团队,然后又开发了一个生路神经网络的模型,拿了这个国际上的某一个比赛的冠军亚军之类的 啊,这里这些模型的话呢,都被视为是经典的模型,而在这些经典的模型的话,都是在百万张甚至是几百万的上千万张的图片过上了训练出来这些模型的训练,然后这个需要花好几十个小时甚至好几百个小时的时 才能把模型训练出来,很辛苦。把这些模型训练出来之后的话,那么我们很多时候就可以直接去用它了,而不是说我们拿到再重新训练去,那个就太费时间了。 所以说的话呢,这个就深度学习里面的话,有一个基本的概念,就是我们可以在别人已经先训练好的模型上,然后去做我们的工作 啊。所以这就涉及到这个马特莱伯,然后支持一些经典的模型的话,这个他的这个嵌入导入进来,比如这里面变出来了,这个就是阿蕾斯奈特,这是一个非常非常经典的一个模型,二零一二年提出来的,刚才我给大家然后导入了 啊,还有一些比如说牛津大学的 vgg, 然后谷歌团队的这个就是勾勾并赛事等等,还有一些其他的啊, 但是需要说明一点的事情是呢,这些包的话,然后这个马特莱文你安装的二零一九毕业里面,这是没有的,就像阿莱斯奈特刚才 如果你要去运行的话是会出错的,需要我们手动的这个去安装,他需要联网的情况下,然后去安装他啊,有时候我这地方截图了一下我目前我安装的一些东西啊,大家这个可以去啊, 记住我一下这些名字,大概他都很像前面的都是地方人顶托 boos, 然后 mbot 或者是 model, 然后这样的 fow, 巴拉巴拉。什么东西在什么地方然后去安装呢?就是在刚才的那个阿德昂这个地方,就是刚才的这个,就是附加功能的那个地方,我们在摩托环境下就找代码的那个地方,你去搜就好。 好比如说的话,我们来看一下。好,我们可以去来看一下啊的昂这个里面,然后我们来去啊。安装阿莱克斯奈特的时候是怎么回事啊? 这个东西的话在前两个,呃,神经网络这个 bp, 神经网络这个专题里面的话,专题三和专题四的时候用不到,但是在专题五的时候就要用的到了,所以说大家可能我稍后我会拉一个清单,哪些东西是大家是需要装的,然后这个大家可以提前去装一下。 好比如阿莱克斯奈特的话,你可以先找一找这个名字,店铺靓丽、托马克斯毛豆,然后复瓦莱克斯奈特奈特,我然后的话你点开他 在右侧这个地方的话,你会看到有一个意思到安装的按键,我的电话已经装上了,所以说他状态就变成了吗?你是管理啊,然后你可以点击安装,然后的话,那么他会让你去同意一个 协议,接受一个协议,然后的话呢,你再往下一步,下一步安装就好了,但是这个是有一个前提条件的,就是你必须得要有一个嘛他那边的一个账号。 所以说大家需要提前去马斯沃克斯公司的官方网站上面拿着你的一个个人的邮箱,不管哪个幺六三还什么的邮箱,都可以这个去注册一个邮箱去。好,那么的话呢,这个你就可以去呃用这个账号,然后这个去啊,下载啊。 那么接下来的话呢,这个就是我再给大家然后简单的来介绍一下在 motelaber 里面深度学习工具箱里面,截止目前为止他支持哪些 呃层,不同类型的层,帮助我们去设计这些拖布结,不同的拖布结构我们看到有输入层, 然后还有转机层,还有全连接层, 然后还有计划函数层,不同的计划函数层还有输出层,输出层里面有如果你是分类识别的问题,有专门的克拉斯的,可以胜败也,如果是回归的预测,你和的话,有准归胜败也。 然后这边还有涉及到这个就是呃拳击升级网络里面的这个就是他是调三的这样的一些,这个就是技巧性的这样的一些层,比如说皈依化层,然后胶报的随机丢弃层,然后包括等等这样的一些层。然后的话呢还有这个就是磁化层, 不同的磁化操作平均最大,然后这个就是磁化层等等。然后还有一些呢,这个就是曾帮助我们实现更复杂的托布结构,就是我们刚才然后给大家演示的看到的这个阿莱克斯奈特的话,他就是从上至下串着的二十五层,他没有别的这个复杂的结构,而在这个地方 抗斑内省这些层的话,他就可以啊,让我们实现一些复杂的头部结构。比如说的话我从第八层 直接跳到十二层,然后不是从八、九、十、十一,然后才到十二层,我可以直接跨转过去。这还有这个地方你就需要用到这些连接层,然后直接这个设计方法好,那么的话这个是啊,目前截止目前,然后对。

让机器人学会走路,一直就是人工智能研究的核心问题之一。只有走的又快又准又稳,适应各种地形,才能催生出未来的机器人。保姆、保洁、保安、保镖, 从波士顿动力到特斯拉,从小米到智慧君,通用人形机器人离我们越来越近了。 今天就带大家使用 matlab 的深度学习和强化学习工具箱,还有仿真工具 semial link, 玩一个特别有趣的强化学习案例,训练双足智能体,学会走路, 你将亲眼见证他从蹒跚学步的人工智障升级修炼成健步如飞的人工智能全过程。这个可爱的小机器人由一个躯干和两条腿组成,每条腿由脚踝、膝盖、胯 三个自由度,两条腿总共六个自由度,都可以施加扭距转动。智能体可以观测自己的位置、姿态、速度、扭距和地面给他的接触力和摩擦力,总共三十一个环境观测值。 智能体的行走效果有奖励函数衡量,走的越快越稳,越久越远越优雅,奖励函数值就越大。 而智能体的任务就是从一轮轮的仿真模拟中观测环境给他的各种反馈,不断试错,优化奖励函数,探索和学习出最优的走路动作和策略。 整个过程呢,不需要人为去指导干涉,智能体自己就能适应环境,学会走路。这就是神奇的强化学习。在 在打游戏、下围棋、做决策、自动驾驶、药物设计等领域已经达到甚至超越了人类的水平。最近大火的 chat gpt 背后也是强化学习。 今天的代码教程在 get up 上免费开源,我用的版本是 matlab r 二零二二 b 打开代码,首先运行 start up working robot 的 m 文件, 把这些目录全部加入到 matlab 的工作目录中,然后进入 reinforcement learning 目录,点击点 m l x 的代码教程。这是 live editor 交互式编辑器,非常类似 python 中的珠 pater notebook, 可以逐代码块儿的运行调试,非常方便 选择六自由度还是十自由度的环境?十自由度呢,是在刚刚六自由度的基础上,脚踝 和胯又各加了一个自由度,关节变得更加灵活。但是两个效果其实是差不多的,我这里就用六自由度做演示,设置全局参数,如果你的电脑有 gpu, 可以开启 gpu 加速和病情运算的加速。 好,接下来获取智能体采取的动作值和环境给他的观测值。 观测值 observation info 呢,总共有三十一个观测值,而动作值呢,有六个电机的扭距值,六个电机在六个关节上,智能体可以对每个电机施加扭距,这就是他采取的动作 设置各种各样的物理参数,腿脚尺寸,关节的阻尼系数,初始机器人的姿态和强化学习的时间参数,每一轮 仿真的最长时间和每一个时刻的时间。好,接下来就是强大的 semilink, 在 cmo link 中可以仿真出真实的物理世界,地球有重力,地面有摩擦。这几个试播器一样的窗口就是观测我们想追踪的任何值,比如说奖励函数值,扭矩,动作值,我们先把它关掉。 右边这个方块呢,就是机器人的物理环境,点开可以看到机器人的左腿、右腿、躯干,地面和各种各样的传感器,就像给他浑身贴满了传感器。 左边这个方块是强化学习智能体,它采取 action 动作,再获取环境反 反馈给他的 observation 观测值和 reward 的奖励函数值。那观测值呢?刚刚也说了,有三十一个。而奖励函数呢,由五项组成,分别是奖励前进子速度、惩罚横向的偏移、 惩罚跳的太高、惩罚用力过大,奖励存活时长。智能题走的越快越稳,越久,越远越优雅,奖励函数就越大。每一项奖励函数的权重都可以手动修改, 不同的权重组合可以催生出不同的智能体走路行为。我专门做了另一个短视频,可以看一看。那这个方块呢,是环境判定这一轮仿真是否失败?如果智能体跌倒,仰面朝天,或者 横向偏移过大,就判定本轮仿真失败,重启新一轮的仿真。 那智能体到底是如何做出决策的呢?他的脑回路是怎么样的呢?他的大脑其实是 d d p g。 强化学习算法由 actor 神经网络和 critic 神经网络两个神经网络共同组成。 actor 神经网络输入从环境观测到的三十一个观测值,输出采取的动作相当于一个考生。 而 critic 神经网络呢,输入从环境观测到的三十一个观测值,以及 actor 采取的动作输出 q 值, q 值就相当于 critic 对 actor 决策的评分。所以 critic 神经网络相当于考官,一个考生,一个考官。两个神经网络教学相 长,彼此促进共同进步,协同进化,共同组成了智能体的大脑。那可以使用 meta lab 的深度学习工具箱 deep network designer 工具可视化神经网络结构, 从工作区导入,先看 actor network, 输入三十一个 observation 观测值,输出六个自由度的扭矩。 再看 critic network, 输入三十一个 observation 观测值和 actor 做出的六个动作,输出这个动作的评分。这里边每一个模块儿都可以可视化 的拖拽点击修改,非常的方便。好指定智能体的超参数,比如未来时刻的奖励函数,折扣系数。创建智能体 agent 刚创建的时候,这个 agent 是完全随机初始化的,他还没有经过训练和仿真,他是一个纯纯的人工智障。我们可以仿真一轮跑一跑试试看。 就打开了 meta lab 的 mechanics explorer, 那他确实不会走路,刚出生还没站稳就被判定为失败了。 那训练之后是什么样的呢?可以调用我预先训练好的一个模型文件来跑一跑,可以看到走的非常丝滑流畅。你也可以从头开始训练自己 己的智能体,指定更多的训练超参数,包括训练轮次、日制、可视化和模型保存。然后呢,就开始漫长的训练了,两千五百轮大概要花十个小时, 你可以看到训练过程中每一轮的仿真动画和日志图表。如果你有时间的话,可以坐下来慢慢欣赏智能体学习过程中的各种有趣行为。 有迈大步,小碎步,踮着脚,蹲着走,垫步,像醉汉一样东倒西歪,像放学一样蹦蹦跳跳,从蹒跚学步到走出六亲不认的步伐。 在折线图里,浅蓝色是每一轮仿真的奖励值,深蓝色是滑动平均的奖励值都在不断升高,表示走的越来越好。橙色线呢,是初始状态的。 q 物质逐渐稳定收敛,训练完成之后,先把训练过程中的日志保存成 csv 文件,再把智能体模型保存到本地, 你就可以把上面推理预测的模型文件换成你自己训练得到的模型文件, 看看跑出来是什么样的效果。打开训练得到的日志 csv 文件,也可以看到,在训练过程中,奖励函数值越来越高,智能体存活的时间也越来越长。 q 零逐渐收敛, 就证明我们学习的越来越好。今天呢,我们使用 matlab 的深度学习和强化学习工具箱,还有仿真工具 cmink, 实现了双足智能体行走的 ddpg 强化学习算法。我们只需要像上帝一样设 治好物理环境智能体和奖励函数,让智能体自己在环境中摸爬滚打,从错误中不断学习进步,最终适应环境,完成任务。 我们每一个人又何尝不是一个智能体呢?跌倒三千次之后,发现了一个更好更强大的自己,凡是杀不死你的,都将使你更强大。

大家好,欢迎收看技术人的工具箱第五期,这期主题是用马特代表来解决简单的数学问题。不知道大家有没有碰到过亲戚,小孩初高中要辅导数学作业 干,我数学是早就还给老师了,现在小孩作业还是有点难的,你要说不会吗?小屁孩看到心里肯定会讲,这个人比我还笨,哼哼,很丢面子。 这个时候就需要我们马特莱布大哥来纠缠了,我可以简单介绍一下马特莱布。马特莱布全称是 matrix neburatory 绝症实验室, 是这 master 公司推出的数学软件,主要的功能有数字计算,图形绘制,他有一套 的脚本与扩展的,像电路设计上用到的信号仿真和一些人工智能上的应用功能有很多, 我平时可能还是取些礼盒方面用的多一点,大多数时候是当一个方便的计算器的用好。我们实际看用玛莎的表来解一些简单的数学题, 我随便找了点题目,方程,方程组,导数和极限, 用玛特莱本来解,这种应该是杀鸡用的。第一题解一个一元二次方程, ok, 先先进脚本保存有一个未知数 single x, 从减符号变量 x, 然后表述一下方程式字, aqn 等于 x 方,加上四乘以 x 减去八九六等于零, 然后进行求解。 下面输出的答案,嗯, x 有两个解,一个解是负三十二,一个解是二十八, 这个应该是正确的解, ok, 我们看下一题解方程组,这方程 组是二元二次,他应该有两组九,看我看这怎么改。他有两个变量 xy 方程组, 三 x 方加上五 x 减去八 等于等于三十六,二 x 方减去三 x 减四,二等于等于三。 嗯,检查一下, 对,没错。 so, 求解 返回的结果是两个 x 的结和两个 y 的结,没有显示具体的值。嗯, 这里将求解的结果保存在一个变量里,然后分别输出 x 的解。 display, 我爱的解 运行,可是你可以看到具体的痣 一足解是 x 等于五, y 等于八。另外一组解是 x 等于六, y 等于四分之五十一。 我不确定这个答案对不对,其实可以写程序验证一下,没必要啊,我们先看下一题。求导数 函数, y 等于 x 方乘以口算 x 的导数为 okay, 未知数只有一个, x 是指变成 x 方乘以扩散 x, 然后球打第五, 运行下面输出的结果,二 x 乘以口,三 x 减去 x 方乘以三 x。 这道题答案是 a。 嗯,我看下一题。求极限,柿子里只有一个变两 n 新宝恩表述 n 次方跟可以表述 库存 n 分之一次方。 根号里面是一加三的 n 次方,加上五的 n 次方, 然后用 limit 求极限,第一个参数是试纸,第二个参数是极限边量,第三个是到达的值 community 护城, ok, 运行, 说出的结果是五。嗯, 按区域无线的时候,根号里面一盒三单次方可以忽略 用马自达。本来解决简单的数学题目还是相当方便的,但是它的功能不止这么一点, 这只能算是起个头。 ok, 这视频就到这里,谢谢您的收看,我们下次再见。