损失与预测模块

深度神经网络的性能会随着标注数量的增加而提升,而标注的预算是有限的,因此可以通过主动学习的方式,对认为不确定的数据进行标注。最近已有很多方法将主动学习应用于深度网络,但是大多数方法是针对特定任务的,或在深度网络中效率低下。因此,作者提出了一种简单但与任务无关,并且在深度网络中效率较高的方法。作者将损失预测模块 (loss prediction module)附加到目标网络 (target network)中,通过训练这一模块来预测未标注数据的目标损失 (target loss)。

论文原文《Learning Loss for Active Learning》

然后呢完成之后咱们就要更新了
来看一下我这个cf点吉他是不是等于它要更新一下
等于当前我计算完的一个the特值
这数就可以了

这个就是我们的一个图像当中啊
计算写下梯度啊
提速下降呃
参数更新方法吧
参数更新计算方法
注意是矩阵运算啊就可以了
这就是我们的一个天下降
然后再写吧
刚才咱们是不是说这个是出现了什么
它执行了一次吧
大家注意点
这里边执行什么这个函数
它只是执行了一次
所以说呢在我们上面的那个函数当中
咱是不是写了负循环
在这里是不是每一次循环当中我都需要去执行一下当前这个函数啊
执行过程当中每一次要进行更新
你得告诉我实际传进来的阿尔法值等于多少就可以了
这一步相当于在完成了一次更新啊
就可以了
然后呢一会儿啊就当我们在做这个嗯算法过程当中
可能要进行一些可视化展示
比如说我要看一下我损失值诶
它整体变化的情况是什么样子
所以这一块我可以定义自己定义一个函数啊
就是有一个cost history
咱们这里就是每一次它损失了一个变化
可以啊

自己给他机游戏来指定一个list
然后呢执行完一次当前的优化之后
然后去这个黑锤当中去把当前的一个损失值拿过来
咱们正常情况下不是随着你的训练能观察大损失指啊
到底到底什么样的地步吗
在这里我们再定一个损失函数的计算方法
就是你叫lofunction也行
叫做一个cost function也行

指定一个cost function计算损失损失怎么计算
有data有label是不是就可以计算了
我的损失当中就是把data给传进来是吧
然后再把我的一个呃
是不是还有一个label传进来
然后呢用我的data乘上当前的我的一个形参数值跟label进行了比较
是完事了
这个就是一个损失函数
这一块我们就定义了函数
咱还得再把这个函数也写一下
这下面在这儿写吧
得翻一个函数
这是我的一个正数
损失函数当中我们要去这个就是曝光啊
是我们在训练过程当中去看的
然后你在自己测试的过程当中
其实也能去这么去看啊
因为测试的时候你也得看一下咱当前lost dream等于多少吗
传一下吧
传一下当前data还有什么需要什么data
还有label是吧
成绩就可以了
来写一下当前损失函数需要计算什么
损失函数当中啊
需要咱们计算的时候
是不是说你得公平一点哈
你有你不能是有多少样本
这个损失给我算多少次吧
想要算一个平均的
所以说我再把这个南北三boss拿过来
对data.ship里边一共样本的个数零拿过来
这是一个总的样本的个数
然后接下来我要去去算它的一个dota都要知道什么
是不是还是用它去算啊
我直接复制了
还是用它去算一下咱当前我的一个嗯预测值等于多少
然后这是我的一个预测值
然后我的theta就是预测值减去我的一个labels labels
拿过来啊
这里预测值减去labels
然后呢下面就是我们得自己定一个损失函数了
你知道做什么均方误差呀
还是一些什么其他的一个损失函数都行啊
回归节当中

咱们自己定义你觉得合适的一个损失函数就可以了
正常情况下咱就是1/2来写一下
1/2乘上一个南派点dot一下
跟那个最二重法似的是吧
np dot一下
然后一个什么一个delta的平方值吧
因为我们算的是一个平方值
均方误差嘛
在这里
然后我去把这个delta他算平方
这是矩阵矩阵
你不能给我写星期二吧
回答很多同学直接去写点星期二是吧
我们得算它的一个矩阵矩阵
就是它的一个转置乘上它的一个自身吧行了
这就当做我们的一个损失值就可以了
然后呢做完之后
这个cost里边儿它是一个矩阵
我们需要把矩阵当中和和设置选出来
再一个零点
二是因为我之前自己写代码说我知我就是我知道他实际的位置了
如果大家第一次说你不知道他具体这个矩阵它就是不值怎么办
建议大家自己玩的第一遍的时候
你去print一下当前什么cost
然后它的一个点是值
先来观察一点是值
然后再打一点cos
看一看里边你到底需要的是矩阵当中哪一个值
我要的是它只是一个损
当前这一步损失值就可以了
所以说在这一块把它的水质值计算出来就行了
咱接着去写到哪儿去了啊
这是我的一个损失函数
然后应该是在上面吧
在这里损失函数我计算完了
那这一个操作是不是也差不多了
在这个复原文当中啊
我们是计算了一个当前的一个参数的更新
然后计算一个损失值
然后损失者这每一次会判得到这样一个例子当中
最后把这个list返回去就可以了
一会儿呢咱会用返回的一个list
就是这个损失只要来做一些展示
比如打印或者是绘制一个lost变化图
方便大家来自己进行一个执行的
然后这个纯函数咱们最后给它写完吧
出函数相当于是进行一个调用啊
再给大家就这个流程写的比较完善
所以说定的模块比较多
不建议大家就是把所有的这些计算方法都定义到一个函数当中
这样你就是复现
就是或者做一些改变吧
做一些改进
做一些调整
做些修改的时候
那就是容易改乱了
不如咱把它分模块写着
到时候自己改起来轻松一些
然后指定一下

大家看一下这个题项当中是椭圆
为什么是返回一个就是锁损失值吧
所以在这里我们就调得到锁损值就行了
然后去掉我的一个梯度下降是吧
是掉这个停下降吧
然后里边传建一些参数值
参数值当中
我只需要去传一个阿尔法值
再传一个迭代迭代的一个唉
再传一个叠次数就是不行了
这样咱就能去计算它当前的一个就是这样代码不光是得到损失
实际它是为了去更新我的参数
c就是cc的那个值
我将是始终进行更新的
更新完之后就用这把损失值拿过来手
然后最后我训练完之后
我希望你给我返回的什么
咱要的最终结果什么东西啊
就是我当前这个c的值以及呢不光有c的值
我再把这个损失给他返回去就可以了
这个就是我们基本整体的一个呃流程了
给大家说了一下
咱的一个创业当中
一步一步他都是怎么去做的
然后下面呢我们再稍微写一些辅助函数啊
因为一会儿我们要做拿实际数据集啊
做这样一个小例子
在其中要做一些展示
所以说这一块我再做一个完善
这个完善就不是我们训练当中需要去做的
是那个一会儿咱要去写一个数据集当中会涉及到的
第一个我写了一个cost
就是我得到当前的一个损失
去计算单元的损失需要data
还有一个labels好一个labels分别传进来就可以了
然后呢接损失方法其实很简单
就是拿到数据之后
你要不管你是就是要执行这里哪个模块训练集当中怎么去做的
你测试机拿回来之后
你照样得这么做
所以说啊咱的一个数据预处理六流程都是一样的
我把直接把上面的一个复制过来
这一步我直接复制过来啊
然后在这上面改一改就可以了
第一步我先去做一个数据处理
数据处理当中这一块我给它稍微改改
这叫做一个data可以了
然后这些东西我就都就是得到个cos的值啊
这些我都不要了
贝塔贝塔到时候还有什么预处理完之后
然后我还有一些比如说一些特征变换的一些方法吧
在这一块我拿过来吧
比如说一个
然后这个cf点
然后进行一些非线性变换
这都是咱后续几个时间当中会用到的
我先给他写出来的
是咱后续的时候咱再回来写点麻烦
一个能带the data
把他们几个拿到手机就可以了吧
我这块有点这块
怎么我怎么怎么怎么怎么想外卖卖了应该什么
应该是这个这个是写这里的
这里边是有传数据以及cf点这些
只要把这个后面这个去掉
刚才忘了
刚才忘了
我这后面已经粘贴自己点血了
然后这个执行完之后
其实我只要什么
我只要他这个data吧
因为这个出完出完之后会得到三个返回值
我只要他这个data就行了
所以说选择第二
然后我指定一个名字吧
指定一个名字
那叫做一个呃data processed吧
处理完之后的一个数据
data process处理完之后的一个数据
只要处理完这个数据就行了
然后其他这些值我们都是不要的
只要一个数据就可以
然后呢用处理完数据
然后去计算什么
咱之前是不是定义了一个cos方式啊
在这里我直接去调这个cos方程就可以了吗
这一步我去拿数据
然后去调cost function
这个data process就是我传进来的data呃
传建data拿过来
然后传建data完之后
还有一个labels labels是labels
labels是不变的
这个就是我当前的一个计算方法
然后得到了我当前的一个损失值
随时完之后我也不用得到一个值了
直接比特回去就可以了
这个就是我去得到我当前的一个损失啊
比较容易
然后下面咱们想我想想基本上所有的计算方法都有了吧
还有一个还有一个就是预测值
在这一块只是去一计算它的一个data乘一个c的值
我们一会儿再去写一个protect函数
因为这个函数啊就是你用它去得到当前训练过程当中预测执行
因为这个data传下来的是一个处理后的data
然后正常你要做一个测试集的话
咱你稍微往上一点再写一下吧
我写个product
这样式看得更清晰一些
因为实际你在传测试一个测试数据的时候啊
我们还是得要猜对这个测试数据啊
做一个额外处理算了
直接复制吧
他们俩应该都是一样的
还是处理完这个数据
处理完这个数据
然后我去调一个productions pretender等于什么
就等于我当前的呃
我们还得把它复制过来
linding regression当中
调用它的一个去得到我这个预测值就可以了
这是传进来
我当前预处理完之后的一个数据
预测完之后数据之后
然后我还去需要知道当前你的是更新完之后它的一个c的值吧
这就可以了吧
应该就可以了
这就是咱当前去做了一个我的一个预测值啊
然后这就完事了啊
这里还少一个data是吧行了
然后我看一下这有什么问题
这块儿没有顶格是吧
行这样咱就完成了
基本上完成了速度模块
一会儿呢可能咱们在训练过程当中还会再去往里填充啊
但是基本上整体模式就是这个样子啊
然后给大家再把这注释写得完善一点儿
这一块儿啊
这是我们的一个训练模块旋涡当中啊
去执行梯度下降
然后再把下面都写一写
这个是实际计算模块啊
这个是实际迭代
就迭迭代模块吧
迭代模块当中会迭代number simple 4
那number is认识四
然后下面下面就是一个提速下降
这个就是实际的方法
这个就是我计算它的一个损失
它也复制过来
损失损失计算方法
这个这个是直接调用
调用我得到预测值就行了
这个是得到难以损失
这个是做预测
得到损失就不用写了
这个是嗯预测的
就是用训练好这参数模型啊
去预测得到回归值
结果就完事儿了
这个就是我们整体的一个线规当中
基本上在所有的一个模式当中啊
整体的一个顺序以及咱们的写法是什么样子的

发表评论

邮箱地址不会被公开。 必填项已用*标注