【人工智能】-- 迁移学习

news/2024/9/11 3:40:28/ 标签: 人工智能, 迁移学习, 机器学习, VGG16, python

2a20c54b85e042bfa2440367ae4807e9.gif

https://blog.csdn.net/2302_76516899?spm=1000.2115.3001.5343

个人主页:欢迎来到 Papicatch的博客

 课设专栏 :学生成绩管理系统

专业知识专栏: 专业知识 

文章目录

🍉引言

🍉迁移学习

🍈基本概念

🍍定义

🍌归纳迁移学习(Inductive Transfer Learning):

🍌直推式迁移学习(Transductive Transfer Learning):

🍌跨领域迁移学习(Cross-Domain Transfer Learning):

🍌实例迁移学习(Instance Transfer Learning):

🍌特征迁移学习(Feature Transfer Learning):

🍌参数迁移学习(Parameter Transfer Learning):

🍍优势

🍌数据高效性

🍌节省时间和计算资源

🍌提高模型性能

🍌跨领域应用:

🍌加速创新和研究

🍍缺点

🍌负迁移问题

🍌领域适配难度

🍌模型复杂度增加

🍌隐私和法律问题

🍌依赖已有模型

🍈核心方法

🍍基于实例的迁移学习

🍍基于特征的迁移学习

🍍基于模型的迁移学习

🍍基于关系的迁移学习

🍈应用领域

🍍计算机视觉

🍍自然语言处理

🍍医疗领域

🍍金融领域

🍍工业领域

🍍教育领域

VGG16%E5%AE%9E%E7%8E%B0%E5%9B%BE%E5%83%8F%E9%A3%8E%E6%A0%BC%E8%BD%AC%E7%A7%BB-toc" style="margin-left:0px;">🍉VGG16实现图像风格转移

🍈步骤

🍍环境及数据集准备

🍍原理理解

🍈代码实现

🍉总结


2a20c54b85e042bfa2440367ae4807e9.gif

🍉引言

        在当今数字化和智能化的时代,数据的价值日益凸显,而如何高效地利用数据成为了摆在研究者和从业者面前的重要课题。迁移学习作为一种创新的机器学习方法,应运而生,为解决数据利用和知识迁移的难题提供了全新的思路和有力的工具。

        迁移学习旨在将从一个或多个相关领域中学习到的知识和模式,应用到新的、但具有一定相似性的领域或任务中。它打破了传统机器学习中每个任务都需要大量特定标注数据的限制,使得我们能够在数据稀缺的情况下,借助已有的知识和经验,快速有效地开展新的学习和分析。

        例如,在图像识别领域,我们可以利用在大规模自然图像数据集上训练好的模型,将其迁移到医学图像诊断任务中,从而节省大量的训练时间和数据标注成本。同样,在语言处理中,从大规模通用文本数据中学习到的语言模型,可以被迁移到特定领域的文本分类或情感分析任务中。

🍉迁移学习

        迁移学习(Transfer Learning) 是一种机器学习方法,其核心在于将从一个或多个源领域(Source Domain)和源任务(Source Task)中学习到的知识、模式或模型参数,有效地应用到目标领域(Target Domain)和目标任务(Target Task)中。

        具体来说,迁移学习旨在利用已有的相关数据和模型的学习成果,来改善在新的、但具有一定相关性的任务中的学习效果。这种方法突破了传统机器学习中每个任务都需要独立收集大量特定标注数据并从头开始训练模型的限制。

        例如,假如在一个大规模的图像数据集(如 ImageNet)上训练了一个深度卷积神经网络来识别各种常见物体,这就是源任务。当我们想要构建一个模型来识别特定类型的医学图像中的病变时,就可以将在 ImageNet 上学到的关于图像特征提取和分类的知识,迁移到这个新的医学图像识别任务中,这就是目标任务。

        迁移学习的关键在于发现源领域和目标领域之间的相似性和相关性,并利用这些共性来加速和优化目标任务的学习过程。这可能涉及到对源模型的参数调整、特征选择和转换,或者采用特定的适应策略来弥合源领域和目标领域的数据分布差异。

        在实际应用中,迁移学习具有诸多优势,如减少目标任务所需的数据标注量、降低训练成本、提高模型的收敛速度和泛化能力等。它使得在数据稀缺或新领域探索等场景下,能够更高效地构建有效的机器学习模型。

🍈基本概念

🍍定义

通过在源领域(source domain)或任务(source task)中学得的知识来帮助目标领域(target domain)或任务(target task)的学习。其利用已有的模型或知识,减少在目标任务中对大规模标注数据的依赖。

🍍类型

🍌归纳迁移学习(Inductive Transfer Learning)
  • 特点:源任务和目标任务不同,但源领域和目标领域可以相同或不同。
  • 示例:在图像分类任务中,先在大规模的自然图像数据集上训练一个模型(源任务),然后将学习到的特征提取和分类能力应用于医学图像的分类任务(目标任务)。源领域是自然图像,目标领域是医学图像,领域可以不同。
  • 优势:能够将从一个一般性任务中获得的知识应用到特定的、不同的任务中,拓展了模型的应用范围。
🍌直推式迁移学习(Transductive Transfer Learning)
  • 特点:源领域和目标领域不同,但任务相同。
  • 举例:假设源领域是已标注的网页文本数据,目标领域是未标注的社交媒体文本数据,任务都是文本分类。通过利用源领域已有的标注信息和模型,对目标领域的未标注数据进行分类。
  • 优点:适用于任务相同但数据分布不同的情况,有助于利用已有数据和模型解决新领域中的相同任务。
🍌跨领域迁移学习(Cross-Domain Transfer Learning)
  • 特点:源领域和目标领域不同,且任务也不同。
  • 比如:源任务是在电商网站上预测用户的购买行为,目标任务是在社交媒体平台上预测用户的兴趣偏好。领域和任务均存在差异,但可以尝试寻找两者之间的潜在关联和共性进行知识迁移。
  • 价值:这种类型具有更大的挑战性和创新性,能够充分挖掘不同领域和任务之间的潜在联系,实现更广泛的知识迁移和应用。
🍌实例迁移学习(Instance Transfer Learning)
  • 特性:直接从源领域中选择一部分有代表性的实例数据,并将其应用于目标领域的学习。
  • 例如:从大量的已标注图像数据中挑选出与目标任务相关的图像实例,用于辅助目标任务的模型训练。
  • 好处:可以快速地为目标任务提供有价值的参考数据,特别是在目标数据量有限的情况下。
🍌特征迁移学习(Feature Transfer Learning)
  • 重点:将在源领域中学习到的有用特征表示,应用于目标领域的模型训练。
  • 比方说:在语音识别中,将从一种语言的语音数据中提取的特征,应用于另一种语言的语音识别任务。
  • 优点:能够有效地利用已有的特征提取方法和知识,提高目标任务的特征表示能力。
🍌参数迁移学习(Parameter Transfer Learning)
  • 关键:将源模型的参数直接或经过适当调整后应用于目标模型。
  • 举个例子:在深度神经网络中,将在大规模数据集上训练好的模型的部分参数,初始化目标模型的相应参数。
  • 优势:能够加快目标模型的收敛速度,提高训练效率和性能。

🍍优势

🍌数据高效性
  • 减少了对大量标注数据的需求。在目标任务数据稀缺的情况下,借助源任务中的丰富数据,可以构建有效的模型。
  • 例如,在医学图像分析中,某些罕见疾病的图像数据有限,但可以利用在常见疾病或通用图像上训练的模型进行迁移。
🍌节省时间和计算资源
  • 避免了从头开始训练模型的漫长过程。使用预训练模型并进行微调,可以大大缩短训练时间。
  • 比如在自然语言处理中,使用预训练的语言模型如 GPT 系列,然后在特定任务上进行微调,能快速得到较好的结果。
🍌提高模型性能
  • 利用在大规模数据上学习到的通用知识和特征,能够提升目标任务模型的泛化能力和准确性。
  • 以图像识别为例,使用在 ImageNet 上训练的模型来初始化新的模型,通常能比随机初始化获得更高的准确率。
🍌跨领域应用
  • 可以将在一个领域中学习到的模式和知识应用到其他相关领域。
  • 比如将在电商领域的用户行为分析模型迁移到金融领域的客户分析中。
🍌加速创新和研究
  • 使得研究人员能够更快地尝试新的想法和应用,专注于解决特定领域的关键问题。

🍍缺点

🍌负迁移问题
  • 如果源任务和目标任务差异过大,可能会导致负迁移,即从源任务中学习到的知识对目标任务产生负面影响。
  • 例如,将在色彩丰富的自然图像上训练的模型直接应用于灰度医学图像分类,可能会引入不相关的特征。
🍌领域适配难度
  • 源领域和目标领域的数据分布差异可能较大,需要进行复杂的领域适配工作。
  • 像将在城市交通数据上训练的模型应用于乡村交通场景,可能会因为环境差异导致模型不适用。
🍌模型复杂度增加
  • 为了实现迁移学习,可能需要引入额外的机制和参数来处理领域差异,增加了模型的复杂度。
🍌隐私和法律问题
  • 当使用外部数据或预训练模型时,可能会涉及到数据隐私和法律合规性的问题。
🍌依赖已有模型
  • 可能会限制创新和对全新模型架构的探索,过度依赖现有的预训练模型。

🍈核心方法

🍍基于实例的迁移学习

        这种方法的核心思想是从源域中选择对目标域学习有帮助的实例数据,并将其与目标域数据一起用于模型训练。

  • 权重分配:根据一定的准则为源域中的实例分配权重,例如相似度、重要性等。权重高的实例在训练中对模型的影响更大。
    • 例如,可以通过计算源域实例与目标域实例的特征距离来确定权重。
  • 实例筛选:直接筛选出一部分具有代表性或与目标域相似性较高的源域实例。
    • 比如,使用聚类算法对源域和目标域数据进行聚类,然后选择与目标域聚类中心较近的源域实例。

🍍基于特征的迁移学习

        重点在于将源域和目标域的数据映射到一个共同的特征空间,使得在这个空间中,源域和目标域的数据分布尽可能相似,从而便于模型学习。

  • 特征变换:通过线性或非线性变换,将源域和目标域的特征映射到一个新的空间,以减小领域间的差异。
    • 主成分分析(PCA)和核主成分分析(KPCA)是常见的特征变换方法。
  • 特征选择:从原始特征中挑选出对迁移学习有益的特征子集。
    • 可以基于统计指标、相关性分析等方法进行特征选择。

🍍基于模型的迁移学习

        利用源域训练好的模型,并将其应用于目标域的学习任务。

  • 微调(Fine-tuning):在目标域数据上继续训练源域模型的部分或全部参数。通常会先冻结模型的某些层,然后对其余层进行训练,或者使用较小的学习率对整个模型进行微调。
    • 例如,在图像分类任务中,使用在大规模图像数据集上训练好的卷积神经网络,然后在目标数据集上微调最后的全连接层。
  • 模型适配:对源域模型的结构或参数进行调整,以适应目标域的任务。
    • 可能会增加或删除一些层,或者修改层的连接方式。

🍍基于关系的迁移学习

        关注源域和目标域数据之间的关系,利用这些关系进行知识迁移。

  • 关系映射:建立源域和目标域数据之间的关系映射,将源域中的关系知识应用到目标域。
    • 比如,在社交网络分析中,将一个社交网络中的用户关系知识迁移到另一个相似的社交网络。

🍈应用领域

🍍计算机视觉

  • 图像分类:利用在大规模通用图像数据集(如 ImageNet)上训练的模型,如 VGG、ResNet 等,对特定领域的图像进行分类,例如医疗图像中的疾病诊断、工业产品的质量检测等。
    • 例如,将在自然图像中训练好的模型迁移到卫星图像的地物分类任务中。
  • 目标检测:预训练的目标检测模型可以在新的场景中进行微调,以检测特定的目标。比如从常见物体检测迁移到交通标志检测。
    • 像将在 COCO 数据集上训练的模型用于自动驾驶场景中的行人与车辆检测。
  • 图像生成:将在大量真实图像上学习到的特征和模式应用于生成新的图像,如风格迁移、图像超分辨率等。
    • 例如,将艺术作品的风格迁移到普通照片上,使其具有艺术效果。

🍍自然语言处理

  • 文本分类:使用在大规模文本数据集上训练的语言模型,如 BERT、GPT 等,对特定领域的文本进行分类,如新闻分类、情感分析等。
    • 比如将通用的语言模型迁移到金融领域的新闻分类任务中。
  • 机器翻译:预训练的语言模型可以为新的语言对的翻译提供初始化参数和语言理解能力。
    • 例如,从常见语言对的翻译模型迁移到稀有语言对的翻译。
  • 问答系统:利用已有的语言知识和模式来回答特定领域的问题。
    • 像将通用的问答模型迁移到法律领域的咨询系统中。

🍍医疗领域

  • 疾病诊断:基于在大量医疗影像数据上训练的模型,对新患者的影像进行诊断,如 X 光、CT、MRI 等图像的分析。
    • 比如,将在常见疾病影像上训练的模型迁移到罕见疾病的诊断中。
  • 基因分析:将从其他基因数据中学习到的特征和模式应用于新的基因序列分析,以预测疾病风险或药物反应。
    • 例如,利用在大规模基因数据集上训练的模型来分析特定患者的基因变异。

🍍金融领域

  • 风险评估:使用在历史金融数据上训练的模型来评估新客户的信用风险或投资风险。
    • 比如,将以往市场数据训练的模型迁移到对新的金融产品的风险评估中。
  • 股票预测:基于已有的市场数据和交易模式,对未来的股票走势进行预测。
    • 像将在成熟市场的股票数据上训练的模型应用于新兴市场的股票预测。

🍍工业领域

  • 故障诊断:通过在大量设备运行数据上训练的模型,对新设备或不同工况下的设备进行故障诊断和预测性维护。
    • 例如,将在相似类型设备上训练的模型迁移到新生产线的设备故障检测中。
  • 质量控制:利用在以往产品质量数据上学习到的知识,对新生产批次的产品质量进行评估和控制。
    • 比如,将在标准产品质量检测中训练的模型用于定制化产品的质量判断。

🍍教育领域

  • 个性化学习:根据学生在某些学科或知识点上的学习表现,迁移到其他相关学科或知识点的学习推荐和评估。
    • 例如,基于学生在数学学习中的表现数据,为其在物理学习中提供个性化的学习路径。
  • 智能辅导系统:将从大量学生学习行为数据中获取的模式应用于为特定学生提供个性化的辅导和反馈。
    • 像将通用的学习行为分析模型迁移到特定学科的辅导系统中。

VGG16%E5%AE%9E%E7%8E%B0%E5%9B%BE%E5%83%8F%E9%A3%8E%E6%A0%BC%E8%BD%AC%E7%A7%BB">🍉VGG16实现图像风格转移

🍈步骤

🍍环境及数据集准备

  • 安装所需的库,如 PyTorch、torchvision 等。
  • 准备在 ImageNet 上预训练好的 VGG16 模型文件(如 vgg16-397923af.pth)。
  • 选择合适的数据集,例如 COCO2014 的 train2014 训练集或其他类似的数据集。

🍍原理理解

  • 深度学习中的 VGG16 网络具有多层结构,不同层学习到的是图像不同层面的特征信息。较低层关注线条、颜色等基础信息,较高层关注更抽象的特征。
  • 风格迁移追求生成图片和输入图片具有相似的特征。使用中间某些层的特征作为目标,使输入图片和生成图片在这些层的特征尽可能相似。
  • 一般用 Gram 矩阵来表示图像的风格特征。对于卷积层输出的形状为 c×h×w 的 feature maps f,Gram matrix 的第 i、j 个元素g_{i,j}的计算方式为g_{i,j}=\sum_{k}^{}f_{ik}f_{jk},其中f_{ik}代表第 i 个 feature map 的第 k 个像素点。Gram matrix 抛弃了元素之间的空间信息,只与通道数有关,注重风格纹理等特征。
  • 定义损失函数来衡量生成图片与内容图片的内容相似程度(content loss)和与风格图片的风格相似程度(style loss)。

🍈代码实现

        构建预训练的 VGG16 模型:可以参考如下示例代码创建一个简化的 VGG16 模型,以便提取中间层的输出。

python">import torch
import torch.nn as nn
from torchvision.models import vgg16class VGG16(nn.Module):def __init__(self):super(VGG16, self).__init__()features = list(vgg16(pretrained=True).features)[:]  # 加载预训练的 VGG16 特征提取部分self.features = nn.Sequential(*features)  # 使用 Sequential 容器组合各层def forward(self, x):outputs = []for layer in self.features:x = layer(x)if isinstance(layer, nn.ReLU):  # 如果是 ReLU 激活层outputs.append(x)  # 保存该层的输出return outputs

        加载内容图片和风格图片,并进行预处理,例如调整大小、转换为张量等。

        定义内容损失(Content_loss)和风格损失(Style_loss)类,用于计算相应的损失。示例代码如下:

python">class Content_loss(torch.nn.Module):def __init__(self, weight, target):super(Content_loss, self).__init__()self.weight = weightself.target = target.detach() * weight  # 将目标内容从计算图中分离self.loss_fn = torch.nn.MSELoss()  # 使用均方误差作为损失函数def forward(self, input):self.loss = self.loss_fn(input * self.weight, self.target)return inputclass Style_loss(torch.nn.Module):def __init__(self, weight, target):super(Style_loss, self).__init__()self.weight = weightself.target = target.detach() * weightself.loss_fn = torch.nn.MSELoss()self.gram = Gram_matrix()  # 用于计算 Gram 矩阵def forward(self, input):self.Gram = self.gram(input.clone())  # 计算输入的 Gram 矩阵并乘以权重self.Gram.mul_(self.weight)return inputclass Gram_matrix(torch.nn.Module):def forward(self, input):a, b, c, d = input.size() feature = input.view(a * b, c * d)  # 调整形状gram = torch.mm(feature, feature.t())  # 计算 Gram 内积return gram.div(a * b * c * d)  # 归一化

        进行风格迁移的训练过程,将生成图片输入到风格迁移网络中,计算内容损失和风格损失,并反向传播更新生成图片的参数。训练步骤大致如下:

  1. 将一张图片输入到风格迁移网络中得到生成的图片。
  2. 将生成的图片和内容图片输入到 VGG16 模型中,计算在指定层(如 relu3_3)的输出,并计算它们之间的均方误差作为 content loss。
  3. 将生成的图片和风格图片输入到 VGG16 模型中,计算在多个层(如 relu1_2、relu2_2、relu3_3 和 relu4_4)的输出,计算它们的 Gram 矩阵的均方误差作为 style loss。
  4. 将 content loss 和 style loss 相加,进行反向传播,更新风格迁移网络的参数,但固定 VGG16 模型的参数不动。
  5. 重复上述步骤,直到达到满意的效果或训练轮数。

        通过不断迭代训练,生成的图片会逐渐在内容上与内容图片相似,在风格上与风格图片相似,从而实现图像风格的转移。

        请注意,实际实现中可能需要根据具体情况进行一些调整和优化,例如调整损失函数的权重、选择不同的 VGG16 层、使用不同的优化算法等,以获得更好的风格迁移效果。此外,还可以参考相关的开源项目和代码示例,以便更深入地理解和实现图像风格转移任务。上述代码只是一个简单的示例,实际应用中可能需要更复杂的架构和处理逻辑。

🍉总结

        迁移学习机器学习领域中一项极具创新性和实用价值的技术。它打破了传统机器学习中每个任务都需从零开始训练模型的局限性,通过巧妙地利用已在相关领域或任务中积累的知识和经验,极大地提高了学习效率和模型性能。

        在迁移学习中,我们可以从大规模的、通用的数据源中获取有价值的信息,并将其应用到特定的、数据稀缺的目标任务中。这种跨领域和任务的知识迁移不仅节省了大量的数据标注时间和计算资源,还能够在目标任务数据有限的情况下,使模型快速达到较好的效果。

        迁移学习的方法多种多样,包括基于实例、特征、模型和关系的迁移等。每种方法都有其独特的优势和适用场景,能够根据具体问题灵活选择和组合使用。

        在实际应用中,迁移学习已经在计算机视觉、自然语言处理、医疗、金融、工业等众多领域取得了显著的成果。例如在图像分类、文本情感分析、疾病诊断、风险评估等任务中,迁移学习都发挥了重要作用,为解决实际问题提供了高效且准确的解决方案。

        然而,迁移学习也并非完美无缺,可能存在负迁移、领域适配困难、模型复杂度增加等问题。但随着技术的不断发展和研究的深入,相信这些问题将逐步得到解决,迁移学习也将在未来的人工智能发展中发挥更加重要的作用,为推动各领域的智能化进程做出更大的贡献。

        总的来说,迁移学习为我们提供了一种更智能、高效的数据利用方式,是机器学习领域的一个重要发展方向。

2a20c54b85e042bfa2440367ae4807e9.gif


http://www.ppmy.cn/news/1474727.html

相关文章

LeetCode HOT100(四)字串

和为 K 的子数组(mid) 给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的子数组的个数 。 子数组是数组中元素的连续非空序列。 输入:nums [1,1,1], k 2 输出:2 解法1:前缀和Map 这…

租用海外服务器需要考虑哪些因素

当企业选择租用海外服务器时需要考虑到哪些因素呢? 对于海外服务器的租用我们需要考虑到机房的位置以及服务器的稳定性如何,所以企业可以选择离目标用户群体比较近一点的机房,以此来降低服务器的延迟度并且能够提高用户的访问速度。 对于机房…

WEB07Vue+Ajax

1. Vue概述 Vue(读音 /vjuː/, 类似于 view),是一款用于构建用户界面的渐进式的JavaScript框架(官方网站:https://cn.vuejs.org)。 在上面的这句话中呢,出现了三个词,分别是&#x…

Memcached负载均衡:揭秘高效缓存分发策略

标题:Memcached负载均衡:揭秘高效缓存分发策略 在分布式缓存系统中,Memcached通过负载均衡技术来提高缓存效率和系统吞吐量。负载均衡确保了缓存请求能够均匀地分配到多个缓存节点上,从而防止任何一个节点过载。本文将深入探讨Me…

对话大模型Prompt是否需要礼貌点?

大模型相关目录 大模型,包括部署微调prompt/Agent应用开发、知识库增强、数据库增强、知识图谱增强、自然语言处理、多模态等大模型应用开发内容 从0起步,扬帆起航。 基于Dify的QA数据集构建(附代码)Qwen-2-7B和GLM-4-9B&#x…

6-6 Ant.design配置(react+区块链实战)

6-6 Ant.design配置(react区块链实战) https://ant.design/index-cn 直接点击开始使用ant进行button等按钮的样式 https://ant.design/docs/react/use-with-create-react-app-cn 在 create-react-app 中使用 安装antd,在react项目woniu-pet-…

react学习——29react之useState使用

useState 是 React Hooks 中的一个重要函数,它用于在函数组件中添加状态。在类组件中,我们通常使用 this.state 和 this.setState 来管理组件的状态,而在函数组件中,我们可以使用 useState 来达到同样的目的。 1、导入 useState&…

MyBatis(35)如何在 MyBatis 中实现软删除

实现软删除在MyBatis中通常意味着更新数据库记录的某个字段,而不是真正地从数据库中删除记录。这个字段(通常是is_deleted、deleted或status等)被用来标记记录是否被删除。下面我们将详细探讨如何在MyBatis中实现软删除,包括数据库…

Hadoop-25 Sqoop迁移 增量数据导入 CDC 变化数据捕获 差量同步数据 触发器 快照 日志

章节内容 上节我们完成了如下的内容: Sqoop MySQL迁移到HiveSqoop Hive迁移数据到MySQL编写脚本进行数据导入导出测试 背景介绍 这里是三台公网云服务器,每台 2C4G,搭建一个Hadoop的学习环境,供我学习。 之前已经在 VM 虚拟机…

在分布式环境中,怎样保证 PostgreSQL 数据的一致性和完整性?

文章目录 在分布式环境中保证 PostgreSQL 数据的一致性和完整性一、数据一致性和完整性的重要性二、分布式环境对数据一致性和完整性的挑战(一)网络延迟和故障(二)并发操作(三)数据分区和复制 三、保证 Pos…

解读网络安全公司F5:助企业高效简化多云和应用部署

伴随企业加速数字化转型工作、扩展到新的基础设施环境并采用微服务架构,企业正拥抱混合和多云基础设施所带来的灵活性。Ernst & Young调查数据显示,84%的企业正处于向现有网络安全解决方案套件添加多种新技术的早期阶段。企业同样意识到,…

Perl语言之标量

Perl对于变量的定义,分为三种类型:标量、数组和哈希。   标量是 Perl 语言中最简单的一种数据类型。标量中可以存储整数、字符串、浮点数、字符等,数据格式不做严格区分。在使用标量时需要再变量前面加$,如: #! /us…

Chain-of-Verification Reduces Hallucination in Lagrge Language Models阅读笔记

来来来,继续读文章了,今天这个是meta的研究员们做的一个关于如何减少LLM得出幻觉信息的工作,23年底发表。文章链接:https://arxiv.org/abs/2309.11495 首先,这个工作所面向的LLM的问答任务,是list-based q…

使用Nginx实现高效负载均衡

概述 Nginx是一款高性能的HTTP和反向代理服务器,广泛用于Web服务的负载均衡。它能有效分发流量至多个后端服务器,提高网站的可用性和响应速度,同时增强系统的可扩展性和安全性。本文将介绍如何配置Nginx进行负载均衡,并提供具体的…

服务发现与注册:Eureka与Consul

在微服务架构中,服务发现与注册是一个非常重要的部分。通过服务发现机制,微服务能够相互找到并进行通信,而不需要了解彼此的具体地址。本文将详细介绍两种主流的服务发现与注册框架:Eureka和Consul,并提供相应的代码示…

Web开发 —— 放大镜效果(HTML、CSS、JavaScript)

目录 一、需求描述 二、实现效果 三、完整代码 四、实现过程 1、HTML 页面结构 2、CSS 元素样式 3、JavaScript动态控制 (1)获取元素 (2)控制大图和遮罩层的显隐性 (3)遮罩层跟随鼠标移动 &…

C# Winform 系统方案目录的管理开发

在做一个中等复杂程度项目时,我们通常有系统全局配置,还要有对应的方案目录的管理和更新。 比如我们有如下需求:开发一个方案管理,可以新建、打开和保存方案,同时还需要保存方案中的各种文件。我设计的采用目录管理和…

【YashanDB知识库】表收集统计信息默认阈值引起SQL执行效率差

【问题分类】性能优化 【关键字】统计信息,阈值,执行计划 【问题描述】表新增87w数据自动收集统计信息任务没有启动导致SQL执行计划变差 【问题原因分析】 CUS_REGISTER_READ 数据总量是18374074,插入81万,统计信息失效的阈值是…

流程图怎么做?有三种制作方法

流程图怎么做?在日常生活和工作中,流程图作为一种直观展示步骤、流程或决策路径的工具,扮演着不可或缺的角色。它不仅能够帮助我们理清思路、规划任务,还能促进团队协作与沟通。那么,如何高效地绘制流程图呢&#xff1…

Objective-C 自定义渐变色Slider

文章目录 一、前情概要二、具体实现 一、前情概要 系统提供UISlider,但在开发过程中经常需要自定义,本次需求内容是实现一个拥有渐变色的滑动条,且渐变色随着手指touch的位置不同改变区域,类似如下 可以使用CAGradientLayer实现渐…