贝叶斯深度学习的温和介绍

news2024/10/7 10:15:00

一、说明

        欢迎来到令人兴奋的概率编程世界!本文是对这个领域的温和介绍,你只需要对深度学习和贝叶斯统计有一个基本的了解。如果像我一样,你听说过贝叶斯深度学习,并且你猜它涉及贝叶斯统计,但你不知道它是如何使用的,那么你来对地方了。

         在本文结束时,您应该对该领域、其应用以及它与更传统的深度学习方法有何不同有了基本的了解。

二、传统深度学习的局限性

        传统深度学习的主要局限性之一是,尽管它们是非常强大的工具,但它们并不能衡量其不确定性。

        聊天 GPT 可以公然自信地说出虚假信息。分类器输出的概率通常未经校准。

        不确定性估计是决策过程的一个重要方面,特别是在医疗保健、自动驾驶汽车等领域。我们希望一个模型能够估计何时非常不确定将受试者归类为脑癌,在这种情况下,我们需要医学专家的进一步诊断。同样,我们希望自动驾驶汽车在识别新环境时能够减速。

        为了说明神经网络估计风险有多糟糕,让我们看一个非常简单的分类器神经网络,最后有一个softmax层。

        softmax有一个非常容易理解的名字,它是一个Soft Max函数,这意味着它是max函数的“更平滑”版本。这样做的原因是,如果我们选择一个“硬”max函数,只是以最高概率取类,那么所有其他类的梯度将为零。

        使用 softmax,类的概率可以接近 1,但永远不会完全为 1。由于所有类的概率总和为 1,因此仍有一些梯度流向其他类。

硬最大与软最大,图片由作者提供

但是,softmax函数也存在一个问题。它输出校准不佳的概率。应用 softmax 函数之前值的微小变化会被指数压缩,从而导致输出概率的最小变化。

这通常会导致过度自信,即使面对不确定性,模型也会为某些类提供高概率,这是softmax函数的“max”性质所固有的特征。

将传统神经网络(NN)与贝叶斯神经网络(BNN)进行比较可以突出不确定性估计的重要性。当 BNN 遇到来自训练数据的熟悉分布时,它的确定性很高,但随着我们远离已知分布,不确定性会增加,从而提供更真实的估计。

以下是对不确定性的估计:

传统 NN 与贝叶斯 NN,图片由作者提供

您可以看到,当我们接近在训练期间观察到的分布时,模型是非常确定的,但是随着我们远离已知分布,不确定性会增加。

三、贝叶斯统计简要回顾

贝叶斯统计中有一个中心定理需要知道:贝叶斯定理。

贝叶斯定理,图片来源:作者

  • 先验是我们认为在任何观察之前最有可能的θ分布。例如,对于抛硬币,我们可以假设正面朝上的概率是高斯的概率,大约p = 0.5
  • 如果我们想尽可能少地放置感应偏置,我们也可以说 p 在 [0,1] 之间是均匀的。
  • 给出参数θ的可能性,我们得到观测值X,Y的可能性有多大
  • 边际可能性是在所有可能的θ上积分的可能性。它之所以被称为“边际”,是因为我们通过对所有概率进行平均来边缘化θ。

贝叶斯统计中要理解的关键思想是,您从先验开始,这是您对参数可能是什么(它是一个分布)的最佳猜测。通过你所做的观察,你调整你的猜测,你得到一个后验分布。

请注意,先验和后验不是对θ的准时估计,而是概率分布。

为了说明这一点:

图片来源:作者

在这张图片上,你可以看到先验向右移动,但可能性重新平衡了我们的先验向左,后验介于两者之间。

四、贝叶斯深度学习简介

贝叶斯深度学习是一种结合了两种强大数学理论的方法:贝叶斯统计深度学习。

与传统深度学习的本质区别在于对模型权重的处理:

在传统的深度学习中,我们从头开始训练一个模型,我们随机初始化一组权重,并训练模型,直到它收敛到一组新的参数。我们学习一组权重。

相反,贝叶斯深度学习采用更动态的方法。我们从对权重的先验信念开始,通常假设它们服从正态分布。当我们向数据公开我们的模型时,我们调整了这个信念,从而更新了权重的后验分布。从本质上讲,我们学习权重的概率分布,而不是单个集合。

在推理过程中,我们平均所有模型的预测,并根据后验加权它们的贡献。这意味着,如果一组权重极有可能,则其相应的预测被赋予更多的权重。

让我们将所有这些形式化:

推理,图片来自作者

贝叶斯深度学习中的推理使用后验分布对θ(权重)的所有潜在值进行积分。

我们还可以看到,在贝叶斯统计中,积分无处不在。这实际上是贝叶斯框架的主要限制。这些积分通常是难以处理的(我们并不总是知道后验的基元)。因此,我们必须进行计算成本非常高的近似。

五、贝叶斯深度学习的优势

优势1:不确定性估计

  • 可以说,贝叶斯深度学习最突出的好处是它的不确定性估计能力。在医疗保健、自动驾驶、语言模型、计算机视觉和定量金融等许多领域,量化不确定性的能力对于做出明智的决策和管理风险至关重要。

优势2:提高培训效率

  • 与不确定性估计概念密切相关的是提高训练效率。由于贝叶斯模型意识到自己的不确定性,因此它们可以优先从不确定性(因此,学习潜力)最高的数据点学习。这种方法被称为主动学习,可以带来令人印象深刻的有效和高效的培训。

主动学习有效性的演示,图片来自作者

如下图所示,使用主动学习的贝叶斯神经网络只需 98,1 张训练图像即可达到 000% 的准确率。相比之下,不利用不确定性估计的模型往往以较慢的速度学习。

优势3:电感偏置

贝叶斯深度学习的另一个优点是通过先验有效地使用归纳偏置。先验允许我们对模型参数的初始信念或假设进行编码,这在存在领域知识的情况下特别有用。

考虑生成AI,其想法是创建类似于训练数据的新数据(如医学图像)。例如,如果你正在生成大脑图像,并且你已经知道大脑的总体布局——里面的白质,外面的灰质——这些知识可以包含在你的先验中。这意味着您可以为图像中心白质的存在以及两侧的灰质的存在分配更高的概率。

从本质上讲,贝叶斯深度学习不仅使模型能够从数据中学习,而且还使它们能够从知识点开始学习,而不是从头开始。这使其成为适用于各种应用的有力工具。

白质和灰质,图片由作者提供

六、贝叶斯深度学习的局限性

看来贝叶斯深度学习太不可思议了!那么,为什么这个领域被如此低估呢?事实上,我们经常谈论生成AI,聊天GPT,SAM或更传统的神经网络,但我们几乎从未听说过贝叶斯深度学习,为什么会这样?

限制1:贝叶斯深度学习很糟糕

理解贝叶斯深度学习的关键是我们“平均”模型的预测,只要有平均值,就会在参数集上有一个积分

但是计算积分通常是棘手的,这意味着没有封闭或显式的形式可以使该积分的计算变得快速。所以我们不能直接计算它,我们必须通过采样一些点来近似积分,这使得推理非常慢。

想象一下,对于每个数据点x,我们必须平均出10,000个模型的预测,并且每个预测可能需要1秒才能运行,我们最终得到一个无法扩展大量数据的模型。

在大多数商业案例中,我们需要快速且可扩展的推理,这就是为什么贝叶斯深度学习不那么受欢迎的原因。

限制2:近似误差

在贝叶斯深度学习中,通常需要使用近似方法(如变分推理)来计算权重的后验分布。这些近似值可能会导致最终模型中的错误。近似的质量取决于变分族和散度的选择,正确选择和调整可能具有挑战性。

限制 3:模型复杂性和可解释性增加

虽然贝叶斯方法提供了改进的不确定性度量,但这是以增加模型复杂性为代价的。BNN 可能很难解释,因为我们现在对可能的权重进行了分布,而不是一组权重。这种复杂性可能会导致解释模型决策的挑战,尤其是在可解释性是关键的领域。

人们对XAI(可解释AI)的兴趣越来越大,传统的深度神经网络已经很难解释,因为很难理解权重,贝叶斯深度学习更具挑战性。

无论您是有反馈,想法要分享,想与我合作,还是只是想打个招呼,请填写下面的表格,让我们开始对话。

打招呼 🌿

七、引用

  1. 加拉马尼,Z.(2015)。概率机器学习和人工智能。自然,521(7553),452-459。链接
  2. Blundell,C.,Cornebise,J.,Kavukcuoglu,K.和Wierstra,D.(2015)。神经网络中的权重不确定性。arXiv预印本arXiv:1505.05424。链接
  3. Gal, Y., & Ghahramani, Z. (2016).作为贝叶斯近似的 Dropout:表示深度学习中的模型不确定性。在机器学习国际会议上(第1050-1059页)。链接
  4. Louizos,C.,Welling,M.和Kingma,D.P.(2017)。通过 L0 正则化学习稀疏神经网络。arXiv预印本arXiv:1712.01312。链接
  5. 尼尔,R.M.(2012)。神经网络的贝叶斯学习(第118卷)。施普林格科学与商业媒体。链接

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/851422.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SaaS化大型微服务架构智慧工地云平台源码

智慧工地云平台建设是采用先进的移动互联、物联网、云计算、大数据等新一代信息技术,主要由信息采集层、网络接入层、网络传输层、信息储存与处理层组成,主要包括云管理平台、综合管理系统、质量管理系统、安全管理系统等模块。施工管理人员可通过PC端&a…

【2.1】Java微服务: Nacos的使用

目录 Nacos介绍 Nacos安装 下载和安装 修改端口 启动 服务注册与发现 导入Nacos管理依赖 导入服务依赖 配置Nacos的服务地址 启动服务,查看已注册的服务 服务分级存储模型 分级存储模型介绍 具体结构 配置实例集群 同集群优先的负载均衡策略 服务权重配置…

spring-boot webservice的例子

webservice发布服务 源码下载地址 spring-boot-webservice例子资源-CSDN文库 webservice cilent调用 源码下载地址 spring-boot-clintwebservice调用服务的例子资源-CSDN文库

CSS的引入方式有哪些?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 内联样式(Inline Styles)⭐ 内部样式表(Internal Stylesheet)⭐ 外部样式表(External Stylesheet)⭐ 导入样式表(Import Stylesheet)⭐ 写在最…

Netty:ChannelHandler的两个生命周期监听事件方法:handlerAdded 和 handlerRemoved

说明 io.netty.channel.ChannelHandler有两个生命周期监听事件方法: handlerAdded(ChannelHandlerContext ctx):当ChannelHandler被添加到实际的上下文、并且已经准备就绪等待处理事件的时候被调用。 handlerRemoved(ChannelHandlerContext ctx)&#…

光猫棒是什么?

名称: 光猫棒 问题描述: 光猫棒是什么? 回答: 1.PON STICK光模块也被称之为猫棒,可以充分满足电信级FTTB、FTTH、FTTO设备要求,可以热插拔到MikroTik软路由或者交换机的SFP插槽工作,整机就可作为ONT甚…

35岁是人生的分水岭,前后精力大不一样!

目录 【前言】 一、35岁,除了步入国内职场世俗意义上的尴尬期,也是体能下滑的断崖期 二、肥胖、疼痛、体能下滑,35岁的身体焦虑 三、35岁不是体能衰老的分界线 四、35岁不是年龄焦虑的节点,运动让人更能掌控身体 【写在最后…

笔记本电脑如何把sd卡数据恢复

在使用笔记本电脑过程中,如果不小心将SD卡里面的重要数据弄丢怎么办呢?别着急,本文将向您介绍SD卡数据丢失常见原因和恢复方法。 ▌一、SD卡数据丢失常见原因 - 意外删除:误操作或不小心将文件或文件夹删除。 - 误格式化&#…

【leetcode】394. 字符串解码

题目链接:力扣 给定一个经过编码的字符串,返回它解码后的字符串。 编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。 你可以认为输入字符串总是有效的;输入字符串中没…

SLL VPN

1. SSL工作过程是什么? 第一阶段:客户端首先发送client hello消息到服务端,服务端收到client hello信息后,再发送 server hello消息到客户端。 第二阶段: 第三阶段: 第四阶…

Spring Boot Admin 环境搭建与基本使用

Spring Boot Admin 环境搭建与基本使用 一、Spring Boot Admin是什么二、提供了那些功能三、 使用Spring Boot Admin3.1搭建Spring Boot Admin服务pom文件yml配置文件启动类启动admin服务效果 3.2 common-apipom文件feignhystrix 3.3服务消费者pom文件yml配置文件启动类control…

代码随想录算法训练营之JAVA|第二十四天| 93. 复原 IP 地址

今天是第24天刷leetcode,立个flag,打卡60天。 算法挑战链接 93. 复原 IP 地址https://leetcode.cn/problems/restore-ip-addresses/ 第一想法 题目理解:将一串数字字符串变成正确的ip格式的字符串。 这类题目是切分字符串,ip一…

SpringMVC文件上传

文章目录 文件上传配置案例 文件上传配置 提示:这里可以添加本文要记录的大概内容: 在MvcConfig配置中: /*** 配置文件上传解析器*/Beanpublic CommonsMultipartResolver multipartResolver() {CommonsMultipartResolver commonsMultipartR…

IDEA设置项目编码格式【修改为GBK 或 UTF-8】

文章底部有个人公众号:热爱技术的小郑。主要分享开发知识、有兴趣的可以关注一下。为何分享? 踩过的坑没必要让别人在再踩,自己复盘也能加深记忆。利己利人、所谓双赢。 出现问题 IDEA导入Eclipse项目、出现编码格式问题。以下过程为将编码格…

尚硅谷张天禹Vue2+Vue3笔记(待续)

简介 什么是Vue? 一套用于构建用户界面的渐进式JavaScript框架。将数据转变成用户可看到的界面。 什么是渐进式? Vue可以自底向上逐层的应用 简单应用:只需一个轻量小巧的核心库 复杂应用:可以引入各式各样的Vue插件 Vue的特点是什么? 1.采…

TCP/IP四层模型对比OSI七层网络模型的区别是啥?数据传输过程原来是这样的

一、TCP/IP四层模型对比OSI七层模型 它们两个定义的一些功能和协议都是差不多的。TCP/IP四层协议模型比我们的七层少了三层,把我们的数据链路层和物理层放在一层里面了,叫做数据链路层(网络接口层),对应网络协议也没有…

在 Android 上使用机器学习套件检测人脸

须知事项 此 API 需要 Android API 级别 19 或更高级别。确保应用的 build 文件使用的 minSdkVersion 值不小于 19。 请务必在您的项目级 build.gradle 文件中的 buildscript 和 allprojects 部分添加 Google 的 Maven 代码库。 将 Android 版机器学习套件库的依赖项添加到模…

SpringMVC的架构有什么优势?——控制器(三)

前言 「作者主页」:雪碧有白泡泡 「个人网站」:雪碧的个人网站 「推荐专栏」: ★java一站式服务 ★ ★ React从入门到精通★ ★前端炫酷代码分享 ★ ★ 从0到英雄,vue成神之路★ ★ uniapp-从构建到提升★ ★ 从0到英雄&#xff…

Python练习 linux系统资源监控

yum install python3 yum -y install python3-pip yum -y install epel-release yum -y install gcc python-devel pip install --trusted-host pypi.tuna.tsinghua.edu.cn psutil 初版: import os import sys import time import platform import subprocess …

Lombok 中 @EqualsAndHashCode注解的使用

Lombok 中 EqualsAndHashCode注解的使用 EqualsAndHashCode注解的作用 EqualsAndHashCode注解的作用就是自动实现model类的equals方法和hashcode方法。我们在实际工作中经常会使用lombok来简化我们的开发,例如我们可以在定义的model类上添加Data注解,从…