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

网站源码如何优化如何制作网址图片

网站源码如何优化,如何制作网址图片,中国e网网站建设,宝安做网站的公司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​http://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 networkshttp://​arxiv.org/abs/1612.00796 EWC 使用 Fisher 信息矩阵 (FFF) 来衡量每个权重的重要性,并在学习新任务时惩罚对关键权重的更改: ​: 任务特定的损失 : 权重 的 Fisher 信息 ​: 来自先前任务的最优权重 : 正则化强度 F 的定义如下所示: 我们仅取矩阵的对角线值来近似每个参数的 . 相应的代码实现为: # 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 Intelligencehttp://arxiv.org/abs/1703.04200​ SI 通过计算参数 i 的重要权重 来衡量其重要性,计算方法如下: 其中: :参数 i 的更新重要权重 ​:来自先前任务的重要权重 ​:累积梯度信息 ​:任务期间的参数变化 : 防止出现零除数的小正数常量 然后,正则化惩罚项 LSI 被计算为:
http://www.dnsts.com.cn/news/11439.html

相关文章:

  • 做地方门户网站怎样自媒体营销
  • 北海做网站有哪家好北京建设网站兼职普工
  • 营销管理网站10m网站空间
  • 网站优化+山东柳州做网站有kv
  • 南宁优化网站网络服务汕头澄海玩具厂
  • 做淘宝联盟网站成都网站建设易维达好
  • 如何设置便于搜索引擎收录的网站结构做一个网站价格
  • 文章类型网站电商软文范例
  • 蜘蛛网站长工作职责网站建设与管理大作业总结
  • 平湖网站建设如何快速备案网站
  • 网站侧栏设计网站需要每个城市做推广吗
  • 无锡网站策划公司网络设计的最后一个步骤是
  • 静态网站添加到织梦wordpress图片预加载
  • 网站建设为什么需要备案西安网站建设 至诚
  • 2017网站开发主流工具台州关键词优化平台
  • 网站建设开发企业怎么看网站制作
  • 云电脑注册网站首页seo综合查询工具
  • 起飞页做网站淘宝官网首页进入
  • 七宝做网站公司双语网站模板下载
  • 什么网站做外贸最好中国卫生健康网官网
  • 常德网站建设厦门网站制作网站的结构布局
  • 三站合一网站网站开发企业部门
  • 免费个人网站怎么注册wordpress 图片 空间
  • 个体工商户是否能够做网站安徽省最新消息
  • 架设网站的目的电脑上制作ppt的步骤
  • 手机网站存储登录信息营销网讯
  • 那些做seo的网站建设部执业注册网站
  • 印刷下单网站开发wordpress 简洁
  • 网站的死链如何做网站宣传
  • 宿迁建设网站php网站空间购买