先验知识融入深度学习

模型加入先验知识的必要性

端到端的深度神经网络是个黑盒子,虽然能够自动学习到一些可区分度好的特征,但是往往会拟合到一些非重要特征,导致模型会局部坍塌到一些不好的特征上面。常常一些人们想让模型去学习的特征模型反而没有学习到。

为了解决这个问题,给模型加入人为设计的先验信息会让模型学习到一些关键的特征。下面就从几个方面来谈谈如何给模型加入先验信息。在深度学习中,知识嵌入是将领域知识(如物理定律、工程经验、先验约束)引入神经网络,以提升模型的准确性、鲁棒性并减少对大规模数据的依赖。

简单地直接应用机器学习很难获得理想的效果。嵌入领域知识可以为模型提供更丰富的信息,是提高模型性能的一种实用有效的方法

研究人员们尝试在机器学习建模过程中嵌入领域知识,具体包含三个阶段:数据预处理、模型结构设计和惩罚与奖励设计。

1)基于pretrain模型给模型加入先验

给模型加入先验,大家最容易想到的是把网络的weight替换成一个在另外一个任务上pretrain好的模型weight。经过的预训练的模型(如ImageNet预训练)往往已经具备的识别到一些基本的图片pattern的能力,如边缘,纹理,颜色等等,而识别这些信息的能力是识别一副图片的基础。如下图所示:

2)基于输入给模型加入先验

假设:你有这样的一个先验:

你觉得鸮鹦鹉的头是一个区别其他它和鸟类的重要部分,也就是说相比于身体,它的头部更能区分它和其他鸟类。

这时怎么让网络更加关注鸮鹦鹉的头部呢。这时你可以这样做,把整个鸮鹦鹉和它的头部作为一个网络的两路输入,在网咯的后端再把两路输入的信息融合。以达到既关注局域,又关注整体的目的。一个简单的示意图如下所示。

3)基于模型重现给模型加入先验

4)例子:《融合睡眠结构与个体先验的OSA严重程度估计》--------------------------------------------------------------------------------------论文

相关推荐
xsd2024111812 分钟前
手机扫一眼盘子算食物体积方案
人工智能
阿里云基础软件14 分钟前
Agent 任务提速 10.71%,内存占用降低 21.60%|Alibaba Cloud Linux 4 重大发布
java·linux·人工智能·操作系统·agent
服务器硬件项目经理15 分钟前
《超节点修仙录》· 第一卷·炼气期【第04话】 超节点 vs 普通服务器——不就是多插了几张卡吗?
运维·服务器·人工智能·嵌入式硬件·深度学习·机器学习
前端 贾公子16 分钟前
将CHATGPT/Codex 26.727.51351固定在MacOS Monterey 12上
人工智能
9i编程22 分钟前
用 Codex 改代码,依据是什么?
人工智能·openai·ai编程
aixingkong92124 分钟前
华为灵衢超节点参考架构白皮书深度解读
大数据·人工智能·华为
送外卖的工程师26 分钟前
STM32图书馆环境监测系统(机智云)
人工智能·语音识别
tellmewhoisi30 分钟前
深度学习28:PyTorch:参数更新方法(AdaGrad和RMSProp)
人工智能·pytorch·深度学习
杜哥无敌32 分钟前
Obsidian Copilot V4 与 Miyo 架构解析:语义检索、向量模型配置与最佳实践
人工智能
Zhao-Jichao34 分钟前
AI Prompting for Everyone 课程笔记 - 04 联网搜索资源 Web Search Sources
人工智能·笔记