当前位置: 首页 > news >正文

网建设门户网站学校网站建设哪家好

网建设门户网站,学校网站建设哪家好,龙华做棋牌网站建设,郑州做网站怎么样1. 终身学习简介 神经网络的典型应用场景是,我们有一个固定的数据集,在其上训练并获得模型参数,然后将模型应用于特定任务而无需进一步更改模型参数。 然而,在许多实际工程应用中,常见的情况是系统可以不断地获取新数据,例如 Web 应用程序中的新用户数据或自动驾驶中的…

1. 终身学习简介

神经网络的典型应用场景是,我们有一个固定的数据集,在其上训练并获得模型参数,然后将模型应用于特定任务而无需进一步更改模型参数。

然而,在许多实际工程应用中,常见的情况是系统可以不断地获取新数据,例如 Web 应用程序中的新用户数据或自动驾驶中的新驾驶数据。 这些新数据需要被纳入训练集以增强模型的性能。 这被称为终身学习。

Life Long Learning (source: https://speech.ee.ntu.edu.tw/~hylee/ml/ml2021-course-data/life_v2.pdf)

人工智能终身学习面临哪些挑战?似乎通过不断更新其数据和相应的网络参数就可以实现终身学习。然而,事实并非如此简单。一个关键障碍是灾难性遗忘。

如示例所示,在任务 1 上训练的神经网络达到了 90% 的准确率。在随后对任务 2 进行训练后,其在任务 2 上的性能提高到 97%。然而,该网络在原始任务 1 上的性能急剧下降至 80%。这表明学习新信息会导致网络“遗忘”先前学习的知识,阻碍其随着时间的推移积累知识的能力。

catastrophic forgetting (source: https://speech.ee.ntu.edu.tw/~hylee/ml/ml2021-course-data/life_v2.pdf)

此外,这种遗忘并不是由于神经网络缺乏同时处理两个任务的能力。如附加图表所示,如果我们同时对两个任务进行训练(交替训练来自任务 1 和任务 2 的数据),它在两个任务上都达到了很高的准确率(任务 1 上为 89%,任务 2 上为 98%)。 这表明网络确实具有学习两个任务的能力;问题在于学习过程的顺序性,其中学习新任务会覆盖先前学习的知识。

network capacity (source: https://speech.ee.ntu.edu.tw/~hylee/ml/ml2021-course-data/life_v2.pdf)

灾难性遗忘背后的核心问题在于不同任务之间的优化方向存在冲突。当神经网络在一个任务上进行训练时,它会调整其参数(用 θ 表示)以最小化该特定任务的损失函数。这个过程会找到一组对于该任务表现良好的最优参数( θ∗ )。然而,当网络随后在新的任务上进行训练时,它会再次调整其参数以最小化新任务的损失。这个新的优化过程通常会将参数从先前为原始任务找到的最优解中拉开,有效地“覆盖”了为第一个任务学习到的知识。当任务之间差异较大时,这种现象尤为明显。

why catastrophic forgetting (source: https://speech.ee.ntu.edu.tw/~hylee/ml/ml2021-course-data/life_v2.pdf)

鉴于这一挑战,我们如何缓解灾难性遗忘?这篇综合综述论文概述了当前最先进的方法(截至 2024 年),将其分为五个关键方法。

A Comprehensive Survey of Continual Learning: Theory, Method and Application​icon-default.png?t=O83Ahttp://arxiv.org/abs/2302.00487

Continual Learning Method (source: https://arxiv.org/abs/2302.00487)

基于正则化的方法中一个值得注意的技术是选择性突触可塑性。“突触权重”表示神经元(节点)之间连接的强度,“可塑性”被用作对生物学概念神经可塑性的类比,后者描述了大脑改变神经元之间连接强度(突触权重)的能力。选择性可塑性是指神经网络期望具有的特性,即选择性地调节其整个结构中单个突触的可塑性。

Selective Synaptic Plasticity (source: https://speech.ee.ntu.edu.tw/~hylee/ml/ml2021-course-data/life_v2.pdf)

如图所示,参数 b 控制着可塑性的水平。在一个极端情况下,当 b 等于 0 时,正则化项消失,有效地消除了对参数更新的任何约束。这种约束的缺失导致了灾难性遗忘,其中学习新任务完全覆盖了先前获得的知识。在另一个极端情况下,当 b 接近无穷大时,正则化变得无限强,阻止了对参数的任何重大更改。在这种情况下,模型变得“固执”,无法学习任何新东西,只能停留在其初始知识上。

how b affects the performance (source: https://speech.ee.ntu.edu.tw/~hylee/ml/ml2021-course-data/life_v2.pdf)

所以,关键问题是如何计算这种“可塑性”?李宏毅教授在课程中推荐了以下论文:

Elastic Weight Consolidation (EWC) (弹性权重巩固 ):

Overcoming catastrophic forgetting in neural networksicon-default.png?t=O83Ahttp://​arxiv.org/abs/1612.00796

EWC 使用 Fisher 信息矩阵 (FFF) 来衡量每个权重的重要性,并在学习新任务时惩罚对关键权重的更改:

L_{\text{total}} = L_{\text{task}} + \frac{\lambda}{2} \sum_i F_i (\theta_i - \theta^*_{i})^2 \\

  • L_{\text{task}}​: 任务特定的损失

  • F_i : 权重 \theta_i 的 Fisher 信息

  • \theta^*_{i} ​: 来自先前任务的最优权重

  • \lambda: 正则化强度

F 的定义如下所示:

F = [ \nabla \log(p(y_n | x_n, \theta^{*})) \nabla \log(p(y_n | x_n, \theta^{*}))^T ] \\

我们仅取矩阵的对角线值来近似每个参数的 F_i .

相应的代码实现为:

# EWC
class ewc(object):"""@article{kirkpatrick2017overcoming,title={Overcoming catastrophic forgetting in neural networks},author={Kirkpatrick, James and Pascanu, Razvan and Rabinowitz, Neil and Veness, Joel and Desjardins, Guillaume and Rusu, Andrei A and Milan, Kieran and Quan, John and Ramalho, Tiago and Grabska-Barwinska, Agnieszka and others},journal={Proceedings of the national academy of sciences},year={2017},url={https://arxiv.org/abs/1612.00796}}"""def __init__(self, model, dataloader, device, prev_guards=[None]):self.model = modelself.dataloader = dataloaderself.device = device# extract all parameters in modelsself.params = {n: p for n, p in self.model.named_parameters() if p.requires_grad}# initialize parametersself.p_old = {}# save previous guardsself.previous_guards_list = prev_guards# generate Fisher (F) matrix for EWCself._precision_matrices = self._calculate_importance()# keep the old parameter in self.p_oldfor n, p in self.params.items():self.p_old[n] = p.clone().detach()def _calculate_importance(self):precision_matrices = {}# initialize Fisher (F) matrix(all fill zero)and add previous guardsfor n, p in self.params.items():precision_matrices[n] = p.clone().detach().fill_(0)for i in range(len(self.previous_guards_list)):if self.previous_guards_list[i]:precision_matrices[n] += self.previous_guards_list[i][n]self.model.eval()if self.dataloader is not None:number_data = len(self.dataloader)for data in self.dataloader:self.model.zero_grad()# get image datainput = data[0].to(self.device)# image data forward modeloutput = self.model(input)# Simply use groud truth label of dataset.label = data[1].to(self.device)# generate Fisher(F) matrix for EWCloss = F.nll_loss(F.log_softmax(output, dim=1), label)loss.backward()for n, p in self.model.named_parameters():# get the gradient of each parameter and square it, then average it in all validation set.precision_matrices[n].data += p.grad.data ** 2 / number_dataprecision_matrices = {n: p for n, p in precision_matrices.items()}return precision_matricesdef penalty(self, model: nn.Module):loss = 0for n, p in model.named_parameters():# generate the final regularization term by the ewc weight (self._precision_matrices[n]) and the square of weight difference ((p - self.p_old[n]) ** 2)._loss = self._precision_matrices[n] * (p - self.p_old[n]) ** 2loss += _loss.sum()return lossdef update(self, model):# do nothingreturn

Synaptic Intelligence (SI) (突触智能):

Continual Learning Through Synaptic Intelligenceicon-default.png?t=O83Ahttp://arxiv.org/abs/1703.04200

SI 通过计算参数 i 的重要权重 \Omega_i 来衡量其重要性,计算方法如下:

\Omega_i^{\text{new}} \leftarrow \Omega_i^{\text{old}} + \frac{W_i}{(\theta_i - \theta_i^*)^2 + \epsilon} \\

其中:

  • \Omega_i^{\text{new}} :参数 i 的更新重要权重

  • \Omega_i^{\text{old}}​:来自先前任务的重要权重

  • W_i​:累积梯度信息

  • \theta_i - \theta_i^* ​:任务期间的参数变化

  • \epsilon : 防止出现零除数的小正数常量

然后,正则化惩罚项 LSI 被计算为:

http://www.mmbaike.com/news/108878.html

相关文章:

  • 大连中小企业网络营销seo在线外链
  • 制造业小程序网站开发淘宝推广平台有哪些
  • 成品影视app开发工具网站优化流程
  • 用手机制作游戏的软件汕头百度seo公司
  • 毕节网站建设国际新闻头条今日国际大事
  • 旅游类网站开发任务书bing搜索引擎国际版
  • 网站建设及使用免费平台
  • 网站建设贰金手指下拉站长之家查询网站
  • 小游戏网页版链接关键词排名优化提升培训
  • 天天联盟没网站怎么做标题seo是什么意思
  • 自己的公司怎么做网站淘宝seo对什么内容优化
  • 网站做等保三级建设网络营销专业是干什么的
  • wordpress安装权限管理刷移动关键词优化
  • 网站建设推广平台免费开源网站
  • 合肥房产信息网关键词优化排名首页
  • 网站建设步骤详解全国疫情今天最新消息
  • 如何做医药类网站爱站工具包的主要功能
  • 做批发的有哪些网站江西优化中心
  • 软件开发包括网站开发吗优化推广方案
  • 济南 制作网站 公司吗百度关键词优化曝光行者seo
  • 网站的功能和作用是什么南宁做网站公司
  • 网站快照长期不更新网站如何推广营销
  • 用jquery打造个性网站关键词排名技巧
  • pc网站平台sem是什么职位
  • 网络短剧免费观看广东seo快速排名
  • 做网站的服务器cpu异常2024很有可能再次封城吗
  • seo网站制作seo是什么意思电商
  • 开网店 建网站要钱吗文件外链
  • 自己做的网站如何赚钱吗江苏seo排名
  • discuz插件seo关键词优化策略