IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 2021-07-21 深度学习基础与实践(六) -> 正文阅读

[人工智能]2021-07-21 深度学习基础与实践(六)


今天再来介绍一些概念性知识

一、信息熵

  • 热力学中的熵: 是表示分子状态混乱程度的物理量
  • 信息论中的熵:用来描述信源的不确定性的大小
  • 经常使用的熵概念有下列几种:
    信息熵
    交叉熵
    相对熵
    条件熵
    互信息

1.信息熵

  • 信源信息的不确定性函数 f f f通常满足两个条件:

    1. 是概率 p p p的单调递减函数
    2. 两个独立符号所产生的不确定性应等于各自不确定性之和,即 f ( p 1 , p 2 ) = f ( p 1 ) + f ( p 2 ) f(p_1,p_2) = f(p_1) + f(p_2) f(p1?,p2?)=f(p1?)+f(p2?)
  • 对数函数同时满足这两个条件: f ( p ) = l o g 1 p = ? l o g p f(p) = log\frac{1}{p} = -logp f(p)=logp1?=?logp

  • 信息熵:要考虑信源所有可能发生情况的平均不确定性。若信源符号有n种取值: U 1 , . . , U i , . . . , U n U_1,..,U_i,...,U_n U1?,..,Ui?,...,Un?,对应概率为 p 1 , . . . , p i , . . . , p n p_1,...,p_i,...,p_n p1?,...,pi?,...,pn?,且各种出现彼此独立。此时信源的平均不确定性应当为单个符号不确定性 log ? p i \log p_i logpi?的统计平均值(E),称为信息熵,即 H ( U ) = E [ ? l o g p i ] = ? ∑ i = 1 n p i l o g p i = ∑ i = 1 n = p i l o g ( 1 p i ) H(U) = E[-log p_i] = -\sum_{i = 1}^{n}{p_i logp_i} = \sum_{i = 1}^{n} = p_i log(\frac{1}{p_i}) H(U)=E[?logpi?]=?i=1n?pi?logpi?=i=1n?=pi?log(pi?1?)

2.交叉熵

  • 定义:交叉熵是信息论中一个重要的概念,用于表征两个变量概率分布P、Q(假设P表示真实分布,Q为模型预测的分布)的差异性。交叉熵越大,两个变量差异程度越大。
  • 公式: H ( P , Q ) = ? ∑ x ∈ X P ( x ) l o g Q ( x ) = ∑ x ∈ X P ( x ) l o g 1 Q ( x ) H(P,Q) = -\sum_{x\in X}{P(x)logQ(x)} = \sum_{x\in X}P(x)log\frac{1}{Q(x)} H(P,Q)=?xX?P(x)logQ(x)=xX?P(x)logQ(x)1?

3.相对熵KL散度

  • 也成为KL散度(Kullback–Leibler divergence,简称KLD)、信息散度(information divergence)、信息增益(information gain)。
  • 定义:是交叉熵与信息熵的差值。表示用分布Q模拟真实分布P,所需的额外信息。是两个概率分布P和Q差别的非对称性的度量。
  • 公式: D K L ( P ∣ ∣ Q ) = ∑ x ∈ X P ( x ) l o g 1 Q ( x ) ? ∑ x ∈ X P ( x ) l o g 1 P ( x ) = ∑ x ∈ X P ( x ) l o g P ( x ) Q ( x ) D_{KL}(P||Q) = \sum_{x\in X}P(x)log\frac{1}{Q(x)} - \sum_{x\in X}P(x)log\frac{1}{P(x)} = \sum_{x\in X}P(x)log\frac{P(x)}{Q(x)} DKL?(PQ)=xX?P(x)logQ(x)1??xX?P(x)logP(x)1?=xX?P(x)logQ(x)P(x)?
  • 举例:假设某字符发射器随机发出0和1两种字符。且其真实发出概率分布为A。现在有两人的观察概率分布B与C。各个分布如下:
  • 性质:
    • 相对熵(KL散度)不具有对称性,即 D K L ( P ∣ ∣ Q ) ≠ D K L ( Q ∣ ∣ P ) D_{KL}(P||Q) \neq D_{KL}(Q||P) DKL?(PQ)?=DKL?(QP)
    • 相对熵具有非负性。即 D K L ( P ∣ ∣ Q ) ≥ 0 D_{KL}(P||Q) \geq 0 DKL?(PQ)0

4.JS散度

  • JS散度(Jensen–Shannon divergence)具有对称性:
    由于KL散度不具对称性,因此JS散度在KL散度的基础上进行了改进。现有两个分布p1和p2,其JS散度公式为: J S ( P 1 ∣ ∣ P 2 ) = 1 2 K L ( P 1 ∣ ∣ P 1 + P 2 2 ) + 1 2 K L ( P 2 ∣ ∣ P 1 + P 2 2 ) JS(P_1||P_2) = \frac{1}{2}KL(P_1||{\frac{P_1+P_2}{2}} )+ \frac{1}{2}KL({P_2||\frac{P_1+P_2}{2}}) JS(P1?P2?)=21?KL(P1?2P1?+P2??)+21?KL(P2?2P1?+P2??)

5.联合熵

  • 用H(X, Y)表示。两个随机变量X、Y的联合分布的熵,形成联合熵

6.条件熵

  • 条件熵(the conditional entropy):H(X|Y)表示在已知随机变量Y的条件下随机变量X的不确定性。
  • 公式:表示(X, Y)的联合熵,减去Y单独发生包含的熵 H ( X ∣ Y ) = H ( X , Y ) ? H ( Y ) H(X|Y) = H(X,Y) - H(Y) H(XY)=H(X,Y)?H(Y)

7.互信息

  • 互信息(Mutual Information)可以被看成是一个随机变量中包含的关于另一个随机变量的信息量,或者说是一个随机变量由于已知另一个随机变量而减少的不确定性 。

  • 公式: I ( X ; Y ) = H ( X ) ? H ( X ∣ Y ) = H ( X ) + H ( Y ) ? H ( X , Y ) = ∑ x p ( x ) l o g 1 p ( x ) + ∑ y p ( y ) l o g 1 p ( y ) ? ∑ x , y p ( x , y ) l o g 1 p ( x , y ) = ∑ x , y p ( x , y ) l o g p ( x , y ) p ( x ) p ( y ) I(X;Y) = H(X) - H(X|Y) = H(X) + H(Y) - H(X,Y) = \sum_{x}p(x)log\frac{1}{p(x)} + \sum_{y}p(y)log\frac{1}{p(y)} - \sum_{x,y}p(x,y)log\frac{1}{p(x,y)} = \sum_{x,y}p(x,y)log\frac{p(x,y)}{p(x)p(y)} I(X;Y)=H(X)?H(XY)=H(X)+H(Y)?H(X,Y)=x?p(x)logp(x)1?+y?p(y)logp(y)1??x,y?p(x,y)logp(x,y)1?=x,y?p(x,y)logp(x)p(y)p(x,y)?

  • 即互信息 I ( X ; Y ) I(X;Y) I(X;Y)是联合分布 p ( x , y ) p(x,y) p(x,y)与乘积分布 p ( x ) p ( y ) p(x)p(y) p(x)p(y)的相对熵

8.文氏图图解

请添加图片描述

二、反向传播中的梯度

  • 反向传播(BP)算法的学习过程由正向传播过程和反向传播过程组成。
    请添加图片描述

  • 反向传播需要通过递归调用链规则(chain rule)计算表达式的梯度

  • 链式原则,大家应该微积分都学过吧,不做过多介绍了,直接上例子,冲冲冲!!!

  • 例1:sigmoid的反向传播
    sigmoid函数 σ ( x ) = 1 1 + e ? z \sigma (x) = \frac{1}{1+e^{-z}} σ(x)=1+e?z1?,则 d σ ( z ) d z = e ? z ( 1 + e ? z ) 2 = ( 1 + e ? z ? 1 1 + e ? z ) ( 1 1 + e ? z ) = ( 1 ? σ ( z ) ) σ ( z ) \frac{d\sigma (z)}{dz} = \frac{e^{-z}}{(1+e^{-z})^2} = (\frac{1+e^{-z}-1}{1+e^{-z}})(\frac{1}{1+e^{-z}}) = (1-\sigma (z))\sigma(z) dzdσ(z)?=(1+e?z)2e?z?=(1+e?z1+e?z?1?)(1+e?z1?)=(1?σ(z))σ(z)
    假设有 f ( w , x ) = 1 1 + e ? ( w 0 x 0 + w 1 x 1 + w 2 ) f(w,x) = \frac{1}{1+e^{-(w_0x_0+w_1x_1+w_2)}} f(w,x)=1+e?(w0?x0?+w1?x1?+w2?)1?,则其正、反传播过程为:

import math
w = [3, 4, 5] 
x = [6, 7]
# 正向传播
dot = w[0]*x[0] + w[1]*x[1] + w[2]
f = 1.0 / (1 + math.exp(-dot))
# 反向传播
dfddot = (1 - f) * f
dfdx = [w[0] * dfddot, w[1] * dfddot] 
dfdw = [x[0] * dfddot, x[1] * dfddot, 1.0 * dfddot]
  • 例2:矩阵相乘的梯度
    矩阵相乘的梯度需要注意维度和转置操作
import numpy as np
# 正向传播
W = np.random.randn(5, 10)
X = np.random.randn(10, 2)
D = W.dot(X)
# 反向传播
dD = np.random.randn(*D.shape)
dDdW = dD.dot(X.T)
dDdX = W.T.dot(dD)
  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-07-24 11:26:17  更:2021-07-24 11:30:03 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年4日历 -2024/4/26 20:15:30-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码