GW Data Analysis

& Deep Learning

2023 Summer School on GW @TianQin

He Wang (王赫)

2023/08/22

ICTP-AP, UCAS

# DL: Intro

Deep Learning:
Introduction

深度学习技术:概述

Deep Learning: Introducion

深度学习技术的起源

  • 机器学习: 人工智能的一个重要学科分支,多领域交叉学科
  • 数据驱动: 在数据上通过算法总结规律模式,应用在新数据上
# DL: Intro

Knowledge Discovery in Database, KDD

Deep Learning: Introducion

深度学习技术的起源

  • 人工智能发展标志事件 (Before 2017~)

人工智能(Artificial Intelligence) 使一部机器像人一样进行感知、认知、决策、执行的人工程序或系统。

# DL: Intro

Deep Learning: Introducion

深度学习技术的起源

# DL: Intro
  • 人工智能发展标志事件 (Before 2017~)

Deep Learning: Introducion

深度学习技术的起源

  • 神经网络的三起两落
# DL: Intro

Deep Learning: Introducion

深度学习技术的起源

  • 神经网络的三起两落
# DL: Intro

Deep Learning: Introducion

一切的开始:感知器

  • Rosenblatt & Perceptron (感知器)
    • 计算模型:1943 年最初由 Warren McCulloch 和Walter Pitts 提出
    • 康奈尔大学 Frank Rosenblatt 1957年提出
    • Perceptron 是第一个具有自组织自学习能力的数学模型
    • Rosenblatt 乐观预测:感知器最终可以“学习,做决定,翻译语言”
    • 感知器技术六十年代一度走红,美国海军曾出自支持,期望它“以后可以自己走,说活看,读,自我复制,甚至拥有自我意识”
y(x)=Sgn(\sum_{i=1}^{n}w_ix_i-\theta) \\ =\left\{\begin{matrix} 1,& \sum_{i=1}^{n}w_ix_i-\theta \ge 0 \\ 0,& otherwise \end{matrix}\right.
# DL: Intro

Deep Learning: Introducion

一切的开始:感知器

  • Rosenblatt & Minsky
    • Rosenblatt 和 Minsky 是间隔一级的高中校友。但是六十年代,两个人在感知器的问题上展开了长时间的激辩:R 认为感知器将无所不能,M 则认为它应用有限
    • 1969 年,Marvin Minsky 和 Seymour Papert 出版了新书:《感知器:计算几何简介》。
      书中论证了感知器模型的两个关键问题:
      • 第一,单层的神经网络无法解决不可线性划分的问题,典型例子如异或门
      • 第二,更致命的问题是:当时的电脑完全没有能力完成神经网络模型所需的超大计算量
    • 此后的十几年,以神经网络为基础的人工智能研究进入低潮业界的核冬天
y(x)=Sgn(\sum_{i=1}^{n}w_ix_i-\theta) \\ =\left\{\begin{matrix} 1,& \sum_{i=1}^{n}w_ix_i-\theta \ge 0 \\ 0,& otherwise \end{matrix}\right.
# DL: Intro

Deep Learning: Introducion

深度学习技术的发展

  • Geoffrey Hinton & Neural Networks
    • 1970 年,当神经网络研究的第一个寒冬降临时,在英国的爱丁堡大学,一位 23 岁的年轻人 Geoffrey Hinton,刚刚获得心理学的学士学位。
    • Hinton 六十年代还是中学生就对脑科学着迷。当时一个同学给他介绍关于大脑记忆的理论是:大脑对于事物和概念的记忆,不是存储在某个单一的地点,而是像全息照片一样,分布式地存在于一个巨大的神经元的网络里。
    • 分布式表征(Distributed Rep.)和传统的局部表征(Localized Rep.)相比:
      • 存储效率高:线性增加的神经元数目,可以表达指数级增加的大量不同概念。
      • 鲁棒性好:即使局部出现硬件故障,信息的表达不会受到根本性的破坏。
    • 这个理念让 Hinton 顿悟,使他 40 多年来一致在神经网络研究的领域内坚持。
      • 本科毕业后,Hinton 选择继续在爱丁堡大学读研,把人工智能作为自己的博士研究方向。
      • 1978 年,Hinton 在爱丁堡获得博士学位后,来到美国继续他的研究工作。
# DL: Intro

Deep Learning: Introducion

深度学习技术的发展

  • D. Rumelhart & BP Algorithm
    • 神经网络被 Minsky 诟病的问题:巨大的计算量;XOR 问题
    • 传统的感知器用所谓“梯度下降”的算法纠错时,耗费的计算量和神经元数目的平方成正比,当神经元数目增多,庞大的计算量是当时的硬件无法胜任的。
    • 1986 年 7 月,HintonDavid Rumelhart 合作在 Nature 杂志上发表论文:Learning Representations by Back-propagating Errors. 第一次系统简洁地阐述 BP 算法及其应用:
      • 反向传播算法把纠错的运算量下降到只和神经元数目本身成正比;
      • BP 算法通过在神经网络里增加一个所谓隐层(hidden layer),解决了 XOR 难题
      • 使用了 BP 算法的神经网络在做如形状识别之类的简单工作时,效率比感知器大大提高,八十年代末计算机的运行速度,也比二十年前高了几个数量级
    • 神经网络及其应用的研究开始复苏
h_j=Sgn(\sum_{i=1}^{n}w_{ji}x_i-\theta_j) \\ y=Sgn(\sum_{j=1}^{m}w_jh_j-\theta)
# DL: Intro

Deep Learning: Introducion

深度学习技术的发展

  • Yann Lecun (杨立昆) & CNN
    • Yann Lecun 于 1960 年出生于巴黎。
    • 1987 年在法国获得博士学位后,他曾追随 Hinton 教授到多伦多大学做了一年博士后的工作,随后搬到新泽西州的 Bell Lab 继续研究工作。
    • Bell Lab, Lecun 1989 年发表了论文,“反向传播算法在手写邮政编码上的作用”。他用美国邮政系统提供的近万个手写数字的样本来训练神经网络系统,训练好的系统在独立的测试样本中,错误率只有 5%
    • Lecun 进一步运用一种叫做“卷积神经网络”(Convolutional Neural Networks, CNN)的技术,开发出商业软件,用于读取银行支票上的手写数字,这个支票识别系统在九十年代末占据了美国接近 20% 的市场。

2003 年,Yann LeCun 等人在 NEC 实验室的使用CNN进行人脸检测。

# DL: Intro

Deep Learning: Introducion

深度学习技术的发展

  • Yann Lecun (杨立昆) & CNN
    • Yann Lecun 于 1960 年出生于巴黎。
    • 1987 年在法国获得博士学位后,他曾追随 Hinton 教授到多伦多大学做了一年博士后的工作,随后搬到新泽西州的 Bell Lab 继续研究工作。
    • Bell Lab, Lecun 1989 年发表了论文,“反向传播算法在手写邮政编码上的作用”。他用美国邮政系统提供的近万个手写数字的样本来训练神经网络系统,训练好的系统在独立的测试样本中,错误率只有 5%
    • Lecun 进一步运用一种叫做“卷积神经网络”(Convolutional Neural Networks, CNN)的技术,开发出商业软件,用于读取银行支票上的手写数字,这个支票识别系统在九十年代末占据了美国接近 20% 的市场。
    • 此时就在 Bell Lab,Yann Lecun 临近办公室的一个同事 Vladimir Vapnik 的工作,又把神经网络研究带入第二个寒冬

SVM (support vector machines)

# DL: Intro

Deep Learning: Introducion

深度学习技术的发展

  • Hinton & Deep Learning
    • 2003年,Geoffrey Hinton 还在多伦多大学,在神经网络的领域苦苦坚守
    • 2003 年在温哥华大都会酒店,以 Hinton 为首的十五名来自各地的不同专业的科学家,和加拿大先进研究员(Canadian Institute of Advanced Research, CIFAR)的基金管理负责人 Melvin Silverman 交谈。
      • Silverman 问大家,为什么 CIFAR 要支持他们的研究项目。
      • 计算神经科学研究者,Sebastian Sung(现为普林斯顿大学教授)回答道:“喔,因为我们有点古怪。如果 CIFAR 要跳出自己的舒适区,寻找一个高风险,极具探索性的团体,就应当资助我们了!”
      • 最终 CIFAR 同意从 2004 年开始资助这个团体十年,总额一千万加元。CIFAR 成为当时世界上唯一支持神经网络研究的机构。
  • Hinton 拿到资金支持不久做的第一件事,就是把“神经网络”改名换姓为“深度学习”。
  • 此后,Hinton 的同时不时会听到他突然在办公室大叫:“我知道人脑是如何工作的了!”
  • 2006 年 Hinton 和合作者发表革命性的论文:A Fast Learning Algorithm for Deep Belief Nets .
# DL: Intro

Deep Learning: Introducion

深度学习技术的发展

  • Andrew Y. Ng & GPU
    • 2007 年之前,用 GPU 编程缺乏一个简单的软件接口,编程繁琐,Debug 困难。2007 年 NVIDIA 推出 CUDA 的 GPU 软件接口后才真正改善。
    • 2009 年 6 月,斯坦福大学的 Rajat Raina 和吴恩达合作发表论文:Large-scale Deep Unsupervised Learning using Graphic Processors (ICML09);论文采用 DBNs 模型和稀疏编码(Sparse Coding),模型参数达到一亿(与 Hinton 模型参数的对比见下表)。
    • 结论结果显示:使用 GPU 运行速度和用传统双核 CPU 相比,最快时要快近 70 倍。在一个四层,一亿个参数的 DBN 网络上使用 GPU 把程序运行时间从几周降到一天
# DL: Intro

Deep Learning: Introducion

深度学习技术的发展

  • Jen-Hsun Huang & GPU
    • 黄仁轩,1963 年出生于台湾。1993 年斯坦福大学硕士毕业后不久创立了 NVIDIA
    • NVIDIA 起家时做的是图像处理的芯片,主要面对电脑游戏市场。1999 年 NVIDIA 推销自己的 Geforce 256 芯片时,发明了 GPU(Graphics Processing Unit)这个名词。
    • GPU 的主要任务,是要在最短时间内显示上百万、千万甚至更多的像素。这在电脑游戏中是最核心的需求。这个计算工作的核心特点,是要同时并行处理海量的数据
    • 传统的 CPU 芯片架构,关注点不在并行处理,一次只能同时做一两个加减法运算。而 GPU 在最底层的算术逻辑单元(ALU,Arithmetic Logic Unit),是基于所谓的 Single Instruction Multiple Data(单指令多数据流)的架构,擅长对于大批量数据并行处理
    • 一个 GPU,往往包含几百个 ALU,并行计算能力极高。所以尽管 GPU 内核的时钟速度往往比 CPU 的还要慢,但对大规模并行处理的计算工作,速度比 CPU 快许多。
    • 神经网络的计算工作,本质上就是大量的矩阵计算的操作,因此特别适合于使用 GPU
# DL: Intro

Deep Learning: Introducion

深度学习技术的发展

  • Big Data:ImageNet
    • 2009 年,一群普林斯顿大学计算机系的华人学者(李飞飞教授领衔)发表了论文:ImageNet:A large scale hierarchical image database,宣布建立了第一个超大型图像数据库供计算机视觉研究者使用。
    • 数据库建立之初,包含了 320 万个图像。它的目的,是要把英文里的 8 万个名词,每个词收集到五百到一千个高清图片,存放到数据库里,最终达到五千万以上的图像。
    • 2010 年,以 ImageNet 为基础的大型图像识别竞赛,ImageNet Large Scale Visual Recognition Challenge 2010 (ILSVRC2010) 第一次举办。 [http://www.image-net.org/ ]
    • 竞赛最初的规则:以数据库内 120 万个图像为训练样本,这些图像从属于一千多个不同的类别,都被手工标记。经过训练的程序,再用于 5 万个测试图像评估分类准确率。
# DL: Intro

Deep Learning: Introducion

深度学习技术的发展

  • Image Classification: ILSVRC 竞赛
    • 2010 年冠军:NEC 和伊利诺伊大学香槟分校的联合团队,用支持向量机(SVM)的技术识别分类的错误率 28%
    • 2011 年冠军:用 Fisher Vector 的计算方法(类似 SVM),将错误率降到了 25.7%
    • 2012 年冠军:Hinton 和两个 Alex Krizhevsky,Illya Sutskever,利用 CNN+Dropout 算法+RELU 激励函数,用了两个 NVIDIA 的 GTX580 GPU(内存 3GB,计算速度 1.6 TFLOPS),花了接近 6 天时间,错误率只有 15.3%
      • 2012 年 10 月 13 日,当竞赛结果公布后,学术界沸腾了。这是神经网络二十多年来,第一次在图像识别领域,毫无疑义的,大幅度挫败了别的技术。
    • 这是人工智能技术突破的一个重要转折点
# DL: Intro

Deep Learning: Introducion

深度学习技术的应用

  • 深度学习的三个助推剂

大数据(海量)

算法(神经网络)

计算力(GPU硬件)

算法(神经网络)

人工智能

  • 深度学习三巨头+粉丝

LeCun, Yann, Yoshua Bengio, and Geoffrey Hinton. “Deep Learning.” Nature 521, no. 7553 (May 1, 2015): 436–44. https://doi.org/10.1038/nature14539.

# DL: Intro

Deep Learning: Introducion

深度学习技术的特点

  • 人工智能 > 机器学习 > 深度学习
# DL: Intro

Deep Learning: Introducion

深度学习技术的特点

  • 传统机器学习 vs 深度学习
    • 传统机器学习:人工设计特征
      • 在实际应用中,设计特征往往比分类器更重要
      • 预处理:经过数据的预处理,如去除噪声等。比如在文本分类中,去除停用词等。
      • 特征提取:从原始数据中提取一些有效的特征。比如在图像分类中,提取边缘、尺度不变特征变换特征等。
      • 特征转换:对特征进行一定的加工,比如降维和升维。降维包括
        • 特征抽取(Feature Extraction):PCA、SVD、LDA
        • 特征选择(Feature Selection):互信息、TF-IDF
    • 深度学习:一种端到端 [end-to-end] 的学习范式
# DL: Intro

Deep Learning: Introducion

深度学习技术的特点

  • 传统机器学习 vs 深度学习
# DL: Intro

Deep Learning: Introducion

深度学习:工程技术 or 科学研究 ?

  • 工程低门槛 & 科研高门槛
  • "科学为技术的发展提供基础和支撑,而技术进步则不断地向科学研究提出新的课题,反过来激励科学发展。"
  • "不应该简单地把发展技术的思路和措施直接搬过来为发展科学铺路,也不应该简单地套用管理技术发展的政策和方式来经营科学发展。"
# DL: Intro

Deep Learning: Introducion

机器学习与深度学习技术的学习材料

书中例子多而形象,适合当做工具书

模型+策略+算法
(从概率角度)

机器学习
(公理化角度)

讲理论,不讲推导

经典,缺前沿

神书(从贝叶斯角度)

2k 多页,难啃,概率模型的角度出发

花书:DL 圣经

科普,培养直觉

# DL: Intro

Deep Learning: Introducion

机器学习与深度学习技术的学习材料

工程角度,无需高等
数学背景

参数非参数
+频率贝叶
斯角度

统计角度

统计方法集大成的书

讲理论,
不会讲推导

贝叶斯角度

DL 应用角度

贝叶斯角度完整介绍

大量数学推导

# DL: Intro

Deep Learning: Introducion

机器学习与深度学习技术的学习材料

优秀课程资源:

  • CS231n(Stanford 李飞飞)  /  CS229  / CS230
  • 吴恩达(ML / DL  ...)
  • 李宏毅(最佳中文课程,没有之一)
  • 邱锡鹏
  • 李沐-动手学深度学习(MXNet / PyTorch / TensorFlow)
  • ... (多翻翻 Bilibili 就对了)
# DL: Intro

值得关注的公众号:

  • 机器之心(顶流)

  • 量子位(顶流)

  • 新智元(顶流)

  • 专知(偏学术)

  • 微软亚洲研究院

  • 将门创投

  • 旷视研究院

  • DeepTech 深科技(麻省理工科技评论)

  • 极市平台(技术分享)

  • ...
  • 爱可可-爱生活(微博、公众号、知乎、b站...)

    • 陈光老师,北京邮电大学PRIS模式识别实验室

Deep Learning's Bottlenecks

深度学习技术的“不能”

# DL: Intro

Deep Learning's Bottlenecks

深度学习技术的“不能”

  • Deep learning thus far
    • is data hungry
    • is shallow & has limited capacity for transfer
    • has no natural way to deal with hierarchical structure
    • has struggled with open-ended inference
    • is not sufficiently transparent
    • has not been well integrated with prior knowledge
    • cannot inherently distinguish causation from correlation
    • presumes a largely stable world
    • its answer often cannot be fully trusted
    • is difficult to engineer with

Despite all of the problems I have sketched, I don't think that we need to abandon deep learning... Rather, we need to reconceptualize it: not as a universal solvent, but simply as one tool among many

# DL: Intro

Deep Learning's Bottlenecks

深度学习技术的“不能” (1/n)

  • 算法输出不稳定,容易被“攻击”

Su J, Vargas D V, Sakurai K. One pixel attack for fooling deep neural networks. IEEE Trans. Evol. Comput. (2019)

arXiv:1312.6199

vs

Jadhav et al. 2306.11797

# DL: Intro

Deep Learning's Bottlenecks

深度学习技术的“不能” (2/n)

  • 模型复杂度高,难以纠错和调试

大众眼中的我们

工程师眼中的我们

数学家眼中的我们

我们眼中的自己

实际的我们

# DL: Intro

Deep Learning's Bottlenecks

深度学习技术的“不能” (3/n)

  • 模型层级复合程度高,参数不透明

on the top activated
neurals

Conv-1

Conv-2

Conv-3

Dense-1

# DL: Intro

Deep Learning's Bottlenecks

深度学习技术的“不能” (4/n)

  • 端到端训练方式对数据依赖性很强,模型增量性差
    • 当样本数据量小的时候,深度学习无法体现强大拟合能力
    • 模型有效容量 (effective capacity) 的上界:参数 / VC 维/ Rademacher 复杂度
# DL: Intro

Deep Learning's Bottlenecks

深度学习技术的“不能” (5/n)

  • 专注直观感知累问题,对开放性推理问题无能为力
    • 乌鸦给我们的启示:
      • 完全自主的智能
      • 大数据非必须
      • 海量计算非必须

“鹦鹉”智能

“乌鸦”智能

# DL: Intro

Deep Learning's Bottlenecks

深度学习技术的“不能”与解释性

深度学习的“不能”

解释性的三个层次

“对症下药”(找得到

知道那些特征输出有重要影响,出了问题准确快速纠错

不再“对牛弹琴”(看得懂

双向:算法能被人的知识体系理解+利用和结合人类知识

稳定性低

可调试性差

参数不透明

机器偏见

增量性差

推理能力差

“站在巨人的肩膀上”(留得下

知识得到有效存储、积累和复用
\(\rightarrow\) 越学越聪明

# DL: Intro

Deep Learning: Neural Networks

深度学习:神经网络基础

# DL: Intro

Deep Learning: Neural Networks

深度学习:神经网络基础

  • 神经元
  • 激活函数 \(f\)
    • 没有激活函数的话,
      相当于一维矩阵相乘:

      • 多层和一层一样

      • 只能拟合线性函数

\sum_{i} w_{i} x_{i}+b=w_{1} x_{1}+\cdots+w_{D} x_{D}+b
\underbrace{\left[\sum_{i} w_{i} x_{i}+b\right]}_{1 \times 1}=\underbrace{\left[\begin{array}{lll} \cdots & x_{i} & \cdots \end{array}\right]}_{1 \times D} \cdot \underbrace{\left[\begin{array}{c} \vdots \\ w_{i} \\ \vdots \end{array}\right]}_{D \times 1}+\underbrace{[b]}_{1 \times 1}
# DL: Intro

Deep Learning: Neural Networks

深度学习:神经网络基础

  • 激活函数 \(f\) 举例
    • S 性函数(sigmoid)
    • ReLU 修正线性单元
    • 双性 S 性函数(tanh)
    • Leaky ReLU
    • ELU 指数线性单元
    • ...
# DL: Intro

Deep Learning: Neural Networks

深度学习:神经网络基础

  • 一个神经元
    • Input:一个样本



       
    • Input:N 个样本






       
    • 线性矩阵操作之后,会经过激活函数实现元素级操作
      使得神经元“非线性化”。
\underbrace{\left[\sum_{i} w_{i} x_{i}+b\right]}_{1 \times 1}=\underbrace{\left[\begin{array}{lll} \cdots & x_{i} & \cdots \end{array}\right]}_{1 \times D} \cdot \underbrace{\left[\begin{array}{c} \vdots \\ w_{i} \\ \vdots \end{array}\right]}_{D \times 1}+\underbrace{[b]}_{1 \times 1}
\underbrace{\begin{bmatrix} \sum_jw_jx_{ij}+b_j \\ \vdots \end{bmatrix}}_{N\times1 } = \underbrace{\begin{bmatrix} \cdots & x_{ij} & \cdots \\ & \vdots & \end{bmatrix}}_{N\times D} \cdot \underbrace{\begin{bmatrix} \vdots \\ w_j \\ \vdots \end{bmatrix}}_{D\times 1} + \underbrace{\begin{bmatrix} \vdots \\ b_j\\ \vdots \end{bmatrix}}_{N\times 1}
\hat{x}_i=f\left(\sum_iw_ix_i+b\right)=\max\left(0,\sum_iw_ix_i+b\right)
# DL: Intro

Deep Learning: Neural Networks

深度学习:神经网络基础

  • M 个神经元
    • Input:一个样本



       
    • Input:N 个样本 (with activation function)






       
  • 留意:
    • 数据矩阵的行(样本数)、列(特征维度)
    • 一个隐层的行(对应于数据特征维度)、列(神经元的个数)
    • 每一层的非线性映射过程中,输入输出的数据矩阵行(样本数)保持不变
    • 过参数化 (Over-parameterization) 的神经网络
\underbrace{\begin{bmatrix} \sum_iw_{ij}x_i+b & \cdots & \end{bmatrix}}_{1\times M} = \underbrace{\begin{bmatrix} \cdots & x_i & \cdots \end{bmatrix}}_{1\times D} \cdot \underbrace{\begin{bmatrix} \vdots & & \\ \cdots & w_{ij} & \cdots \\ \vdots & & \end{bmatrix}}_{D\times M} + \underbrace{\begin{bmatrix} b &\cdots & \end{bmatrix}}_{\underset{\text{Broadcasting}}{1\times M}}
\underbrace{\begin{bmatrix} & \vdots& \\ \cdots& \hat{x}_{ik} &\cdots \\ & \vdots& \end{bmatrix}}_{N\times M} = f\left( \underbrace{\begin{bmatrix} & \vdots& \\ \cdots& x_{ij} &\cdots \\ & \vdots & \end{bmatrix}}_{N\times D} \cdot \underbrace{\begin{bmatrix} & \vdots& \\ \cdots& w_{jk} & \cdots\\ & \vdots & \end{bmatrix}}_{D\times M} + \underbrace{\begin{bmatrix} & \vdots & \\ \cdots & b_i & \cdots\\ & \vdots & \end{bmatrix}}_{\underset{\text{Broadcasting}}{N\times M}} \right)
f\sim \text{non-linear operation}
# DL: Intro

Deep Learning: Neural Networks

深度学习:神经网络基础

  • 万有逼近定理 (Universal Approximation Theorem)
    • 只要函数 \(y=\varphi(x)\) 是连续的,就存在神经网络以任意精度逼近它。
    • 如果一个隐层包含足够多的神经元,三层前馈神经网络(输入-隐层-输出)能以任意精度逼近任意预定的连续函数。

 

 

 

 

  • 注意:
    • 上述定理只是给出了存在性结论,实际应用时\(n,N\)可能非常大,导致运算规模异常庞大。(70年代低谷)
    • 神经网络相当于解决了最小二乘法拟合数据时“如何选取函数型”这一本质难点。但是因为参数过多,从神经网络中很难反映出数据背后的机理,所以不适用于机理建模
# DL: Intro

Deep Learning: Neural Networks

深度学习:神经网络基础

  • 更宽还是更深?更深!
    • 在神经元总数相当的情况下,增加网络深度可以比增加宽度带来更强的网络表示能力
    • 深度和宽度对函数复杂度的贡献是不同的,深度的贡献是指数增长的,而宽度的贡献是线性的。

Seide F, Li G, Yu D. Conversational speech transcription using context-dependent deep neural networks[C] Interspeech. 2011.

# DL: Intro

Deep Learning: Neural Networks

深度学习:神经网络基础

# DL: Intro

Deep Learning: Neural Networks

深度学习:神经网络基础

  • 神经网络的参数学习:误差反向传播
    • 多层神经网络可看成是一个复合的非线性多元函数 \(\mathrm{F}(\cdot): X \rightarrow Y\)

       

    • 给定训练数据 \(\left\{x^i, y^i\right\}_{i=1: N}\),希望损失 \(\sum_i \operatorname{loss}\left(F_w\left(x^i\right), y^i\right)\) 尽可能小.

图片取自李宏毅老师《机器学习》课程
F_{w}(x)=f_n\left(\ldots f_3\left(f_2\left(f_1(x) * \theta_1+b\right) * \theta_2+b\right) \ldots\right)
# DL: Intro

Deep Learning: Neural Networks

深度学习:神经网络基础

  • 神经网络的参数学习:误差反向传播
    • 多层神经网络可看成是一个复合的非线性多元函数 \(\mathrm{F}(\cdot): X \rightarrow Y\)

       

    • 给定训练数据 \(\left\{x^i, y^i\right\}_{i=1: N}\),希望损失 \(\sum_i \operatorname{loss}\left(F_w\left(x^i\right), y^i\right)\) 尽可能小

  • 反向传播算法 (BP) 的目标是找损失函数关于神经网络中可学习参数 (\(w\)) 的偏导数(证明略)

F_{w}(x)=f_n\left(\ldots f_3\left(f_2\left(f_1(x) * \theta_1+b\right) * \theta_2+b\right) \ldots\right)
# DL: Intro
  • 优化算法的选择(略)

Deep Learning: Neural Networks

深度学习:神经网络基础

F_{w}(x)=f_n\left(\ldots f_3\left(f_2\left(f_1(x) * \theta_1+b\right) * \theta_2+b\right) \ldots\right)
  • 神经网络的参数学习:误差反向传播
    • 多层神经网络可看成是一个复合的非线性多元函数 \(\mathrm{F}(\cdot): X \rightarrow Y\)

       

    • 给定训练数据 \(\left\{x^i, y^i\right\}_{i=1: N}\),希望损失 \(\sum_i \operatorname{loss}\left(F_w\left(x^i\right), y^i\right)\) 尽可能小

  • 反向传播算法 (BP) 的目标是找损失函数关于神经网络中可学习参数 (\(w\)) 的偏导数(证明略)

# DL: Intro
  • 学习率 \(\eta\) 与学习率策略

From here

Deep Learning:
ConvNet

深度学习:卷积神经网络

# DL: Intro

Deep Learning: Convolutional Neural Networks

深度学习:卷积神经网络

  • 无处不在的卷积神经网络

Gebru et al. ICCV (2017)

Zhou et al. CVPR (2018)

Shen et al. CVPR (2018)

Image courtesy of Tesla (2020)

# DL: Intro

深度学习:卷积神经网络

  • 卷积(一维)
s(t)=\int x(\tau) w(t-\tau) d \tau=:(x * w)(t)
\begin{aligned} \left(a_{1} x_{1}+a_{2} x_{2}\right) * w &=a_{1}\left(x_{1} * w\right)+a_{2}\left(x_{2} * w\right) \,&(\text{linearity})\\ (x * w)(t-T) &=x(t-T) * w(t) \,&(\text{time invariance}) \end{aligned}
s[n]=\sum_{m=\max (0, n-D)}^{\min (n, M)} x[m] \cdot w[n-m], n=0,1, \ldots, D+M
\begin{aligned} &x[n], n=0,1, \ldots, D-1;\\ &w[n], n=0,1, \ldots, M-1 \end{aligned}
  • Integral Form
  • Discrete Form
\begin{aligned} & s_0=w_0 x_0 \\ & s_1=w_0 x_1+w_1 x_0 \\ & s_2=w_0 x_2+w_1 x_1+w_2 x_0 \\ & s_3=w_0 x_3+w_1 x_2+w_2 x_1+w_3 x_0 \\ & s_4=w_0 x_4+w_1 x_3+w_2 x_2+w_3 x_1 \\ & s_5=w_1 x_4+w_2 x_3+w_3 x_2 \\ & s_6=w_2 x_4+w_3 x_3 \\ & s_7=w_3 x_4 \end{aligned}
D=5, M=4 :

Deep Learning: Convolutional Neural Networks

# DL: Intro

深度学习:卷积神经网络

  • 卷积(一维)
\begin{aligned} & s_0=w_0 x_0 \\ & s_1=w_0 x_1+w_1 x_0 \\ & s_2=w_0 x_2+w_1 x_1+w_2 x_0 \\ & s_3=w_0 x_3+w_1 x_2+w_2 x_1+w_3 x_0 \\ & s_4=w_0 x_4+w_1 x_3+w_2 x_2+w_3 x_1 \\ & s_5=w_1 x_4+w_2 x_3+w_3 x_2 \\ & s_6=w_2 x_4+w_3 x_3 \\ & s_7=w_3 x_4 \end{aligned}
D=5, M=4 :

Deep Learning: Convolutional Neural Networks

# DL: Intro
  • Flip-and-slide Form
M-1
M-1
M-1
M-1
M-2
D-2+M

深度学习:卷积神经网络

  • 卷积(一维)
\begin{aligned} & s_0=w_0 x_0 \\ & s_1=w_0 x_1+w_1 x_0 \\ & s_2=w_0 x_2+w_1 x_1+w_2 x_0 \\ & s_3=w_0 x_3+w_1 x_2+w_2 x_1+w_3 x_0 \\ & s_4=w_0 x_4+w_1 x_3+w_2 x_2+w_3 x_1 \\ & s_5=w_1 x_4+w_2 x_3+w_3 x_2 \\ & s_6=w_2 x_4+w_3 x_3 \\ & s_7=w_3 x_4 \end{aligned}
D=5, M=4 :

Deep Learning: Convolutional Neural Networks

# DL: Intro
\mathbf{s}=\left[\begin{array}{llll} s_{0} & s_{1} & \cdots & s_{7} \end{array}\right]=\left[\begin{array}{llll} x_{0} & x_{1} & \cdots & x_{4} \end{array}\right] \cdot\left[\begin{array}{cccccccc} w_{0} & w_{1} & w_{2} & w_{3} & 0 & 0 & 0 & 0 \\ 0 & w_{0} & w_{1} & w_{2} & w_{3} & 0 & 0 & 0 \\ 0 & 0 & w_{0} & w_{1} & w_{2} & w_{3} & 0 & 0 \\ 0 & 0 & 0 & w_{0} & w_{1} & w_{2} & w_{3} & 0 \\ 0 & 0 & 0 & 0 & w_{0} & w_{1} & w_{2} & w_{3} \end{array}\right]=\mathbf{x} \cdot \mathbf{w}
  • Matrix Form :
D=5, M=4
  • It corresponds to a convolutional layer in deep learning with one kernel (channel);
  • kernel size (K)  of 4; padding (P) is 3; stride (S) is 1.

深度学习:卷积神经网络

  • 卷积(一维)

Deep Learning: Convolutional Neural Networks

# DL: Intro
\mathbf{s}=\left[\begin{array}{llll} s_{0} & s_{1} & \cdots & s_{6} \end{array}\right]=\left[\begin{array}{llll} x_{0} & x_{1} & \cdots & x_{4} \end{array}\right] \cdot\left[\begin{array}{ccccccc} w_{0} & w_{1} & w_{2} & 0 & 0 & 0 & 0 \\ 0 & w_{0} & w_{1} & w_{2} & 0 & 0 & 0 \\ 0 & 0 & w_{0} & w_{1} & w_{2} & 0 & 0 \\ 0 & 0 & 0 & w_{0} & w_{1} & w_{2} & 0 \\ 0 & 0 & 0 & 0 & w_{0} & w_{1} & w_{2} \end{array}\right]=\mathbf{x} \cdot \mathbf{w}
  • Matrix Form :
D=5, M=3
  • It corresponds to a convolutional layer in deep learning with one kernel (channel);
  • kernel size (K)  of 3; padding (P) is 2; stride (S) is 1.
  • 卷积层
D=5, M=3

[1,1,3] \(\star\) [1,1,3] \(\rightarrow\) [1,1,3/5/7]

样本个数

“深度”维度

卷积核个数

深度学习:卷积神经网络

  • 卷积(一维)

Deep Learning: Convolutional Neural Networks

# DL: Intro
  • 卷积层
D=5, M=3

[1,1,3] \(\star\) [1,1,3] \(\rightarrow\) [1,1,3/5/7]

样本个数

“深度”维度

卷积核个数

  • 具备“深度”维度的输入序列
    • 输入张量的深度和卷积核的深度是相等的

[1,3,3] \(\star\) [1,3,2] \(\rightarrow\) [1,1,3]

“深度”维度

深度学习:卷积神经网络

  • 卷积(一维)

Deep Learning: Convolutional Neural Networks

# DL: Intro
  • 具备“深度”维度的输入序列
    • 输入张量的深度和卷积核的深度是相等的

[1,3,3] \(\star\) [1,3,2] \(\rightarrow\) [1,1,3]

“深度”维度

  • 具备深度的张量与多个卷积核的卷积
    • 同一个张量与多个卷积核本质上是该张量分别于每一个卷积核卷积,然后将每一个卷积结果在深度方向连接起来.

[1,3,3] \(\star\) [2,3,2] \(\rightarrow\) [1,2,3]

“深度”维度

样本个数

卷积核个数

深度学习:卷积神经网络

  • 卷积(二维)
  • 深度 \(\rightarrow\) channel
  • 卷积的本质
    • 有效提取相邻像素间的相关特征

[1,2,3,3] \(\star\) [1,2,2,2] \(\rightarrow\) [1,1,2,2]

样本个数

channel

卷积核个数

长和宽

Deep Learning: Convolutional Neural Networks

# DL: Intro

深度学习:卷积神经网络

  • 卷积(二维)
  • 深度 \(\rightarrow\) channel
  • \(1\times1\) 卷积层
    • 唯一计算发生在channel上

[1,3,3,3] \(\star\) [2,3,1,1] \(\rightarrow\) [1,2,3,3]

样本个数

channel

卷积核个数

长和宽

Deep Learning: Convolutional Neural Networks

# DL: Intro

深度学习:卷积神经网络

  • 卷积(二维)
  • 深度 \(\rightarrow\) channel
  • 池化层 (Pooling layer)
    • 池化层的提出是为了缓解卷积层对位置的过度敏感性。
    • 在处理多通道输入数据时,池化层对每个输入通道分别池化,而不是像卷积层那样将各通道的输入按通道相加。

Deep Learning: Convolutional Neural Networks

# DL: Intro

深度学习:卷积神经网络

  • 传统神经网络 vs 卷积神经网络
    • 卷积层是全连接层的一种特例
      • 全连接层:参数太多,易过拟合
      • 卷积层:稀疏连接 (sparse connectivity)+权重参数共享 (parameter sharing) 。

Deep Learning: Convolutional Neural Networks

# DL: Intro

Deep Learning: Convolutional Neural Networks

深度学习:卷积神经网络

  • Vanilla CNN
    • 卷积神经网络 (Convolutional Neural Network, CNN) 就是含卷积层的网络。这里介绍一个早期用来识别手写数字图像的卷积神经网络:LeNet。这个名字来源于 LeNet 论文的第一作者 Yann LeCun。LeNet展示了通过梯度下降训练卷积神经网络可以达到手写数字识别在当时最先进的结果。这个奠基性的工作第一次将卷积神经网络推上舞台,为世人所知。LeNet 的网络结构如下图所示。
# DL: Intro

Deep Learning: Convolutional Neural Networks

深度学习:卷积神经网络

  • Vanilla CNN
    • LeNet 分为两个部分组成:
      • 卷积层块:由两个卷积层块组成;
      • 全连接层块:由三个全连接层组成。
    • 每个卷积块中的基本单元是一个卷积层、一个 sigmoid 激活函数和平均池化层。
    • 请注意,虽然 ReLU 和最大池化层更有效,但它们在20世纪90年代还没有出现。每个卷积层使用  5×5  卷积核,这些层将输入映射到多个二维特征输出,通常同时增加通道的数量。第一卷积层有 6 个输出通道,而第二个卷积层有 16 个输出通道。每个  2×2  池化操作通过空间下采样将维数减少 4 倍。卷积的输出形状由批量大小、通道数、高度、宽度决定。
    • 为了将卷积层块的输出传递给全连接层块,我们必须在小批量中展平 (flatten) 每个样本。换言之,我们将这个四维输入转换成全连接层所期望的二维输入。这里的二维表示的第一个维度索引小批量中的样本,第二个维度给出每个样本的平面向量表示。LeNet 有三个全连接层,分别有 120、84 和 10 个输出。因为我们仍在执行分类,所以输出层的 10 维对应于最后输出结果的数量。
# DL: Intro

Deep Learning: Convolutional Neural Networks

深度学习:卷积神经网络

  • ResNet
    • 残差学习网络 (deep residual learning network)
    • 残差的思想: 去掉相同的主体部分,从而突出微小的变化。

    • 可以被用来训练非常深的网络

He K, Zhang X, Ren S, et al. Deep residual learning for image recognition. CVPR (2016)

# DL: Intro

Deep Learning: Convolutional Neural Networks

深度学习:卷积神经网络

  • ResNet
    • 残差模块关于 GW + AI 的应用已经非常广泛
    • 最普遍且直接的理解角度 CV \(\rightarrow\) GWDA:
      • 像素点 \(\rightarrow\) 采样点
# DL: Intro
# GWDA: DL

GWDA:

Deep Learning

引力波数据分析与深度学习

Gravitational-wave searches

引力波信号搜寻

  • Deep convolutional neural network to search for binary black hole gravitational-wave signals.
  • Input is the whitened time series of measured gravitational- wave strain in Gaussian noise.
  • Sensitivity comparable to match filtering.
# GWDA: DL

See also:
D. George and E.A. Huerta Phys. Lett. B 778 64–70 (2018)

What is ROC?

Gravitational-wave searches

引力波信号搜寻

  • 目标:复现这个学习任务,搭建一个 Baseline
  • 理解什么是 ROC?
  • ELU? Dropout? Softmax?
  • ...
# GWDA: DL

Gravitational-wave searches

引力波信号搜寻

  • 目标:复现这个学习任务,搭建一个 Baseline
  • 任务:判断一段含有引力波信号的时序数据 (H1/L1),是否含有引力波信号(二分类问题)
# GWDA: DL

0.99

0.05

期望达到的效果(Evaluation):

H1

L1

CNN

Gravitational-wave searches

引力波信号搜寻

# GWDA: DL

训练的过程(Train):

1

0

H1

L1

  • 目标:复现这个学习任务,搭建一个 Baseline
  • 任务:判断一段含有引力波信号的时序数据 (H1/L1),是否含有引力波信号(二分类问题)

Labels

\hat{y}_0

CNN

[6,2,16384]
[6,2]
\hat{y}_1
\rho_0
\rho_0
\rho_0
\rho_1
\rho_1

1

1

0

0

Gravitational-wave searches

引力波信号搜寻

# GWDA: DL
  • 目标:复现这个学习任务,搭建一个 Baseline
  • 任务:判断一段含有引力波信号的时序数据 (H1/L1),是否含有引力波信号(二分类问题)

CNN

[6,2,16384] -> 

Reshape your input data:

[6,1,2,16384]

样本个数

channel

长和宽

Gravitational-wave searches

引力波信号搜寻

# GWDA: DL
  • 目标:复现这个学习任务,搭建一个 Baseline
  • 任务:判断一段含有引力波信号的时序数据 (H1/L1),是否含有引力波信号(二分类问题)

CNN

[6,2,16384] -> 

Reshape your input data:

[6,1,2,16384]

样本个数

in channel

长和宽

Conv2D:

Conv2d(1, 8, kernel_size=(1, 32), stride=(1, 1))
[8,1,1,32]
[6,8,2,16353]

卷积核个数 / out channel

in channel

out channel

Gravitational-wave searches

引力波信号搜寻

# GWDA: DL
  • 目标:复现这个学习任务,搭建一个 Baseline
  • 任务:判断一段含有引力波信号的时序数据 (H1/L1),是否含有引力波信号(二分类问题)

CNN

ELU activation

[6,8,2,16353]
[6,8,2,16353]
ELU(alpha=0.01)
\text{ELU}(x) = \begin{cases} x, & \text{ if } x > 0\\ \alpha * (\exp(x) - 1), & \text{ if } x \leq 0 \end{cases}

Credit: 1, 2

Gravitational-wave searches

引力波信号搜寻

# GWDA: DL
  • 目标:复现这个学习任务,搭建一个 Baseline
  • 任务:判断一段含有引力波信号的时序数据 (H1/L1),是否含有引力波信号(二分类问题)

CNN

Batch Normalization

[6,8,2,16353]
[6,8,2,16353]
BatchNorm2d(8, eps=1e-05, momentum=0.1)

in channel

  • BN 批归一化可以加快模型的收敛速度,缓解“梯度弥散”的问题
  • See more
y = \frac{x - \mathrm{E}[x]}{ \sqrt{\mathrm{Var}[x] + \epsilon}} * \gamma + \beta

Gravitational-wave searches

引力波信号搜寻

# GWDA: DL
  • 目标:复现这个学习任务,搭建一个 Baseline
  • 任务:判断一段含有引力波信号的时序数据 (H1/L1),是否含有引力波信号(二分类问题)

CNN

Max Pooling

[6,8,2,16353]
[6,8,2,2044]
MaxPool2d(kernel_size=[1, 8],
          stride=[1, 8],
          padding=0)

Gravitational-wave searches

引力波信号搜寻

# GWDA: DL
  • 目标:复现这个学习任务,搭建一个 Baseline
  • 任务:判断一段含有引力波信号的时序数据 (H1/L1),是否含有引力波信号(二分类问题)

CNN

Flatten

[6,128,2,79]
[6,20224]

Linear

[6,20224]
[6,64]
[6,64]
[20224,64]
[64,2]
[6,2]

Gravitational-wave searches

引力波信号搜寻

# GWDA: DL
  • 目标:复现这个学习任务,搭建一个 Baseline
  • 任务:判断一段含有引力波信号的时序数据 (H1/L1),是否含有引力波信号(二分类问题)

CNN

Dropout

[6,20224]
[6,64]
[20224,64]
Dropout(p=0.5)
  • Dropout 随机失活: 以一定概率 p 要求中间层的部分神经元临时删除。
  • 大部分实验表明,Dropout 可以有效地防止过拟合问题的发生。
  • 机制:相当于对大量不同网络子模型的性能做了近似平均,不同的子网络会以不同的方式过度拟合,模型集成后就会减轻过度拟合的效果。

Gravitational-wave searches

引力波信号搜寻

# GWDA: DL

训练的过程(Train):

1

0

H1

L1

  • 目标:复现这个学习任务,搭建一个 Baseline
  • 任务:判断一段含有引力波信号的时序数据 (H1/L1),是否含有引力波信号(二分类问题)

Labels

\hat{y}_0

CNN

[6,2,16384]
\hat{y}_1
\rho_0
\rho_0
\rho_0
\rho_1
\rho_1

1

1

0

0

[6,2]

Gravitational-wave searches

引力波信号搜寻

# GWDA: DL

Dataset containing \(N\) examples sampling from true but unknown data generating distribution \(p_{\text {data }}(\mathbf{x})\):

\mathbf{X}=\left\{\mathbf{x}^{(i)} \mid i=1,2, \cdots, N\right\},
\mathbf{x} \in \mathbb{R}^{n}

with coressponding ground-truth labels:

\mathbf{Y}=\left\{\mathbf{y}^{(i)} \mid i=1,2, \cdots, N\right\},
\mathbf{y} \in \{0, 1\}

Machine learning model is nothing but a map \(f\) from samples to labels:

where \(\mathbb{\Theta}\) is parameters of the model and the outputs are predicted labels:

\hat{\mathbf{Y}}=\left\{\hat{\mathbf{y}}^{(i)} \mid i=1,2, \cdots, N\right\},
0\le \hat{\mathbf{y}} \le 1
\mathbf{X} \longrightarrow \hat{\mathbf{Y}}=f(\mathbf{X} ; \Theta)

described by \(p_{\text {model }}(\mathbf{y}|\mathbf{x} ; \boldsymbol{\Theta})\), a parametric family of probability distributions over the same space indexed by \(\Theta\).

\mathbf{x} \longmapsto \hat{\mathbf{y}}=f(\mathbf{x} ; \Theta) \in \mathbb{R}

Gravitational-wave searches

引力波信号搜寻

# GWDA: DL

Dataset containing \(N\) examples sampling from true but unknown data generating distribution \(p_{\text {data }}(\mathbf{x})\):

\mathbf{X}=\left\{\mathbf{x}^{(i)} \mid i=1,2, \cdots, N\right\},
\mathbf{x} \in \mathbb{R}^{n}

with coressponding ground-truth labels:

\mathbf{Y}=\left\{\mathbf{y}^{(i)} \mid i=1,2, \cdots, N\right\},
\mathbf{y} \in \{0, 1\}

Machine learning model is nothing but a map \(f\) from samples to labels:

where \(\mathbb{\Theta}\) is parameters of the model and the outputs are predicted labels:

\hat{\mathbf{Y}}=\left\{\hat{\mathbf{y}}^{(i)} \mid i=1,2, \cdots, N\right\},
0\le \hat{\mathbf{y}} \le 1
\mathbf{X} \longrightarrow \hat{\mathbf{Y}}=f(\mathbf{X} ; \Theta)

described by \(p_{\text {model }}(\mathbf{y}|\mathbf{x} ; \boldsymbol{\Theta})\), a parametric family of probability distributions over the same space indexed by \(\Theta\).

\mathbf{x} \longmapsto \hat{\mathbf{y}}=f(\mathbf{x} ; \Theta) \in \mathbb{R}

Objective:

  • For each sample, 
  • Find the best \(\Theta\) that 
\hat{\mathbf{y}}^{(i)} \rightarrow \mathbf{y}^{(i)}
p_{\text {model }}(\mathbf{x} ; \boldsymbol{\Theta}) \rightarrow p_{\text {data }}(\mathbf{x})

Gravitational-wave searches

引力波信号搜寻

# GWDA: DL

Objective:

  • For each sample, 
  • Find the best \(\Theta\) that 
\hat{\mathbf{y}}^{(i)} \rightarrow \mathbf{y}^{(i)}
p_{\text {model }}(\mathbf{x} ; \boldsymbol{\Theta}) \rightarrow p_{\text {data }}(\mathbf{x})
\begin{aligned} \boldsymbol{\theta}_{\mathrm{ML}} &= \arg \max _{\theta} p_{\text {model }}(\hat{\mathbf{Y}} | \mathbf{X} ; \boldsymbol{\theta}) \\ &=\arg \max _{\theta} \prod_{i=1}^{N} p_{\text {model }}\left(\hat{\mathbf{y}}^{(i)} | \mathbf{x}^{(i)} ; \boldsymbol{\theta}\right) \\ &=\arg \max _{\theta} \sum_{i=1}^{N} \log p_{\text {model }}\left(\hat{\mathbf{y}}^{(i)} | \mathbf{x}^{(i)} ; \boldsymbol{\theta}\right) \\ &=\arg \max _{\boldsymbol{\theta}} \mathbb{E}_{\mathbf{x}, \mathbf{y} \sim \hat{p}_{\text {data }}} \log p_{\text {model }}(\mathbf{y} | \mathbf{x} ; \boldsymbol{\theta}) \end{aligned}

to construct cost function \(J(\Theta)\) (also called loss func. or error func.)

For classification problem, we always use maximum likelihood estimator for \(\Theta\)

 
  • Minimizing the KL divergence corresponds exactly to minimizing the cross-entropy (negative log-likelihood of a Bernoulli/Softmax distribution) between the distributions.
 
\boldsymbol{J}(\boldsymbol{\theta})=-\mathbb{E}_{\mathbf{x}, \mathbf{y} \sim \hat{p}_{\text {data }}} \log p_{\text {model }}(\mathbf{y} \mid \mathbf{x} ; \theta) \\
\boldsymbol{\theta}_{\mathrm{ML}}=\arg \min _{\theta} \boldsymbol{J}(\theta)

Gravitational-wave searches

引力波信号搜寻

# GWDA: DL

Objective:

  • For each sample, 
  • Find the best \(\Theta\) that 
\hat{\mathbf{y}}^{(i)} \rightarrow \mathbf{y}^{(i)}
p_{\text {model }}(\mathbf{x} ; \boldsymbol{\Theta}) \rightarrow p_{\text {data }}(\mathbf{x})

在信息论中,可以通过某概率分布函数 \(p(x),x\in X\) 作为变量,定义一个关于 \(p(x)\) 的单调函数 \(h(x)\),称其为概率分布 \(p(x)\) 的信息量(measure of information):   \(h(x) \equiv -\log p(x)\)

定义所有信息量的期望为随机变量 \(x\) 的 熵 (entropy)

 
H(x) \equiv -\sum_xp(x)\log p(x) = -\mathbb{E}_ {x\sim p}\log p(x)

若同一个随机变量 \(x\) 有两个独立的概率分布 \(p(x)\) 和 \(q(x)\),则可以定义这两个分布的相对熵 (relative entropy),也常称为 KL 散度 (Kullback-Leibler divergence),来衡量两个分布之间的差异:

 
\begin{aligned} \mathrm{KL}(p \| q) & \equiv-\sum_x p(x) \log q(x)-\left(-\sum_x p(x) \log p(x)\right) \\ & =-\sum_x p(x) \log \left\{\frac{q(x)}{p(x)}\right\} \\ & =-H_p(x)+H_{(p, q)}(x) \end{aligned}

可见 KL 越小,表示 \(p(x)\) 和 \(q(x)\) 两个分布越接近。上式中,我们已经定义了交叉熵 (cross entropy) 为

 
H_{(p,q)}(x)\equiv-\sum_x p(x)\log q(x) = -\mathbb{E}_ {x\sim p}\log q(x)

Gravitational-wave searches

引力波信号搜寻

# GWDA: DL

Objective:

  • For each sample, 
  • Find the best \(\Theta\) that 
\hat{\mathbf{y}}^{(i)} \rightarrow \mathbf{y}^{(i)}
p_{\text {model }}(\mathbf{x} ; \boldsymbol{\Theta}) \rightarrow p_{\text {data }}(\mathbf{x})

当对应到机器学习中最大似然估计方法时,训练集上的经验分布 \(\hat{p}_ \text{data}\) 和模型分布之间的差异程度可以用 KL 散度度量为:

 
\mathrm{KL}(p \| q) =-H_p(x)+H_{(p, q)}(x)
H_{(p,q)}(x)\equiv -\mathbb{E}_ {x\sim p}\log q(x)
\text{KL}(\hat{p}_ \text{data}|p_\text{model}) = -H_{p_\text{data}}(\mathbf{X}) - \mathbb{E}_ {\mathbf{x}\sim \hat{p}_ \text{data}}\log p_\text{model}(\mathbf{x};\mathbf{\theta})

由上式可知,等号右边第一项仅涉及数据的生成过程,和机器学习模型无关。这意味着当我们训练机器学习模型最小化 KL 散度时,我们只需要等价优化地最小化等号右边的第二项,即有

 
\arg\min_\theta \text{KL}(\hat{p}_ \text{data}|p_\text{model} ) = -\arg\min_\mathbf{\theta}\mathbb{E}_ {\mathbf{x}\sim\hat{p}_ \text{data}}\log p_\text{model}(\mathbf{x};\mathbf{\theta})
\boldsymbol{J}(\boldsymbol{\theta})=-\mathbb{E}_{\mathbf{x}, \mathbf{y} \sim \hat{p}_{\text {data }}} \log p_{\text {model }}(\mathbf{y} \mid \mathbf{x} ; \theta) \\

Recall:

由此可知,对于任何一个由负对数似然组成的代价函数都是定义在训练集上的经验分布和定义在模型上的概率分布之间的交叉熵

 

Gravitational-wave searches

引力波信号搜寻

# GWDA: DL

训练的过程(Train):

1

0

H1

L1

  • 目标:复现这个学习任务,搭建一个 Baseline
  • 任务:判断一段含有引力波信号的时序数据 (H1/L1),是否含有引力波信号(二分类问题)

Labels

\hat{y}_0

CNN

[6,2,16384]
\hat{y}_1
\rho_0
\rho_0
\rho_0
\rho_1
\rho_1

1

1

0

0

[6,2]

Gravitational-wave searches

引力波信号搜寻

# GWDA: DL

训练的过程(Train):

1

0

H1

L1

  • 目标:复现这个学习任务,搭建一个 Baseline
  • 任务:判断一段含有引力波信号的时序数据 (H1/L1),是否含有引力波信号(二分类问题)

Labels

\hat{y}_0

CNN

[6,2,16384]
\hat{y}_1
\rho_0
\rho_0
\rho_0
\rho_1
\rho_1

1

1

0

0

[6,2]
0\le \hat{\mathbf{y}} \le 1

Gravitational-wave searches

引力波信号搜寻

# GWDA: DL

基于分类问题的网络模型里,我们都是用 softmax 函数作为模型最终输出数据时的非线性计算单元,其函数形式为:

1

0

Labels

\hat{y}_0
\hat{y}_1
\rho_0
\rho_0
\rho_0
\rho_1
\rho_1

1

1

0

0

[6,2]
0\le \hat{\mathbf{y}} \le 1
\text{softmax}(\mathbf{{y}})_i = \frac{\exp({y}_i)}{\sum_j\exp({y}_j)} = \hat{y}_i

由于该函数的输出元素都介于 0 和 1 之间,且向量之和为 1,这使得其可以作为一个有效的“概率分布” \(p_\text{model}(y=k|\mathbf{x}^{(i)})\)
由此,我们使用最大化条件对数似然输出某样本的目标分类 \(y\) 时,即等价于对下式最大化,

\begin{aligned} \log p_{\text {model }}(\hat{y}_{k=\text{label}} \mid {\mathbf{y}}) & =\log \operatorname{softmax}({\mathbf{y}})_k \\ & ={y}_k-\log \sum_j^N \exp \left({y}_j\right) \end{aligned}

上式中的第一项表示模型的直接输出结果 \(\hat{y}_k\),对优化目标有着直接的贡献。在最大化对数似然时,当然是第一项越大越好,而第二项是鼓励越小越好。根据 \(\log\sum^N_j\exp(\hat{y}_ j)\sim\max_j\hat{y}_ j\) 近似关系,可以发现负对数似然代价函数总是强烈的想要惩罚最活跃的不正确预测。如果某样本的正确 label 对应了 softmax 的最大输入,那么 \(-{y}_k\) 项和 \(\log \sum_j^N \exp \left({y}_j\right)\sim\max_jy_j=y_j\) 项将大致抵消。

{y}_i
\mathbf{y} \in \mathbb{R}

Gravitational-wave searches

引力波信号搜寻

# GWDA: DL

对于二值型的分类学习任务,softmax 函数会退化到 sigmoid 函数:

1

0

Labels

\hat{y}_0
\hat{y}_1
\rho_0
\rho_0
\rho_0
\rho_1
\rho_1

1

1

0

0

[6,2]
0\le \hat{\mathbf{y}} \le 1
{y}_i
\mathbf{y} \in \mathbb{R}
\hat{y}=\frac{1}{1+e^{-y}}

由此可以证明,cost funcion 可以表示为

N=2:
\boldsymbol{J}(\boldsymbol{\theta})= -\sum^N_{i=1} y^{(i)}\log\hat{y}^{(i)} + (1-y^{(i)})\log(1-\hat{y}^{(i)})
\begin{aligned} J(\theta) & = \begin{cases}-\log (1-{y}) & \text { if } \text{label}=0 \\ -\log ({y}) & \text { if } \text{label}=1\end{cases} \end{aligned}

Gravitational-wave searches

引力波信号搜寻

# GWDA: DL
  • 因此,单纯用 Softmax 函数代表 p-value 表示引力波信号是否存在,会造成在正负样本上 p-value 概率密度分布的不单调性。

Menéndez-Vázquez A, et al.PRD 2021

  • 机器学习算法输出的信号存在与否的“概率” (p-value),不能作为探测统计量,其无法对疑似信号的统计显著性进行排序
  • "The negative log-likelihood cost function always strongly penalizes the most active incorrect prediction.
    And the correctly classified examples will contribute little to the overall training cost.
    "
    —— I. Goodfellow, Y. Bengio, A. Courville. Deep Learning. 2016.

arXiv: 2307.09268

Gravitational-wave searches

引力波信号搜寻

# GWDA: DL

训练的过程(Train):

1

0

H1

L1

  • 目标:复现这个学习任务,搭建一个 Baseline
  • 任务:判断一段含有引力波信号的时序数据 (H1/L1),是否含有引力波信号(二分类问题)

Labels

\hat{y}_0

CNN

[6,2,16384]
\hat{y}_1
\rho_0
\rho_0
\rho_0
\rho_1
\rho_1

1

1

0

0

[6,2]
0\le \hat{\mathbf{y}} \le 1

Gravitational-wave searches

引力波信号搜寻

# GWDA: DL
  • 从假设空间中 学习/选择 最优模型的准则?
  • “最合适”的模型:机器学习从有限的观测数据中学习出规律 [训练误差 (training error)],

    并将总结的规律推广应用到未观测样本上 \(\rightarrow\) 追求泛化性能 [泛化误差 (generalization error)]。

  • 所以,我们认定机器学习算法效果是否很好,两个学习目标:

    1. 降低训练误差。

    2. 缩小训练误差和测试误差的差距。

  • 这两个目标分别对应了机器学习的两个重要挑战:

    • 欠拟合 (underfitting):模型不能在训练集上获得足够低的误差。

    • 过拟合 (overfitting):训练误差与测试误差之间的差距过大。

Gravitational-wave searches

引力波信号搜寻

# GWDA: DL
  • 从假设空间中 学习/选择 最优模型的准则?
  • “最合适”的模型:机器学习从有限的观测数据中学习出规律 [训练误差 (training error)],

    并将总结的规律推广应用到未观测样本上 \(\rightarrow\) 追求泛化性能 [泛化误差 (generalization error)]。

  • 所以,我们认定机器学习算法效果是否很好,两个学习目标:

    1. 降低训练误差。

    2. 缩小训练误差和测试误差的差距。

  • 这两个目标分别对应了机器学习的两个重要挑战:

    • 欠拟合 (underfitting):模型不能在训练集上获得足够低的误差。

    • 过拟合 (overfitting):训练误差与测试误差之间的差距过大。

  • 泛化性能 是由

    1. 学习算法的能力、

    2. 数据的充分性以及

    3. 学习任务本身的难度共同决定。

模型的容量 Capacity 是指其拟合各种函数的能力,一般也可以代表模型的复杂程度。(“计算学习理论”)

奥卡姆剃刀原理:
惩罚大模型复杂度

训练集的一般性质尚未被
学习器学好

学习器把训练集特点当做样本的 一般特点.

偏差-方差窘境(bias-variance dilemma)

Gravitational-wave searches

引力波信号搜寻

# GWDA: DL
  • 模型调优时,如何判断是否过拟合?

early stop、dropout

参数调得好不好,往往对最终性能有关键影响。

Gravitational-wave searches

引力波信号搜寻

# GWDA: DL
  • 模型调优时,如何判断是否过拟合?
  • 数据增广 (训练集越大,越不容易过拟合)
    • 计算机视觉:图像旋转、缩放、剪切
    • 自然语言处理:同义词替换
    • 语音识别:添加随机噪声

SpecAugment

Gravitational-wave searches

引力波信号搜寻

# GWDA: DL
  • 模型调优时,如何判断是否过拟合?
  • 数据增广 (训练集越大,越不容易过拟合)
    • 计算机视觉:图像旋转、缩放、剪切
    • 自然语言处理:同义词替换
    • 语音识别:添加随机噪声
    • 引力波数据处理

1.

Source: X

PSD

2.

\left\{\begin{matrix} & \\ & \\ & \end{matrix}\right.

noise instance

...

...

\left\{\begin{matrix} & \\ & \\ & \end{matrix}\right.

 waveform

...

...

Jadhav et al. 2306.11797

\left\{\begin{matrix} & \\ & \\ & \end{matrix}\right.

merger location

...

...

where\,\, \left\{\begin{matrix} & \\ & \\ & \end{matrix}\right.: \,\,\, \text{randomly sampled / added / positioned}

Gravitational-wave searches

引力波信号搜寻

  • 目标:复现这个学习任务,搭建一个 Baseline
  • 任务:判断一段含有引力波信号的时序数据 (H1/L1),是否含有引力波信号(二分类问题)
# GWDA: DL

期望达到的效果(Evaluation):

H1

L1

CNN

0\le \hat{\mathbf{y}} \le 1

0.99

0.05

Gravitational-wave searches

引力波信号搜寻

# GWDA: DL
  • 分类模型泛化性能评估:混淆矩阵/ROC/AUC

  • 目标:复现这个学习任务,搭建一个 Baseline
  • 任务:判断一段含有引力波信号的时序数据 (H1/L1),是否含有引力波信号(二分类问题)

期望达到的效果(Evaluation):

H1

L1

CNN

0.54

有信号?无信号?

0\le \hat{\mathbf{y}} \le 1

Gravitational-wave searches

引力波信号搜寻

# GWDA: DL

CNN

0.54

有信号?无信号?

  • 分类模型泛化性能评估:混淆矩阵/ROC/AUC

H1

L1

0\le \hat{\mathbf{y}} \le 1
  • 确定阈值(threshold),才能把分类模型真的确定确定下来。
    • 0.5 阈值仅代表模型最大梯度更新的极值点,并没有理论上明确的理想分类阈值取法。
    • 不过对于一个训练好的分类模型而言,分类阈值的选取会直接影响模型的泛化考量。

threshold = 0.5,这里有引力波信号!

threshold = 0.6,这里没有引力波信号!

Gravitational-wave searches

引力波信号搜寻

# GWDA: DL

CNN

0.54

有信号?无信号?

  • 分类模型泛化性能评估:混淆矩阵/ROC/AUC

H1

L1

0\le \hat{\mathbf{y}} \le 1

threshold = 0.5,这里有引力波信号!

threshold = 0.6,这里没有引力波信号!

  • 性能度量 (performance measure):
  • 在模型的训练过程中,一般会用错误率 (error rate) 和准确率 (accuracy) 来定量衡量分类模型的性能。准确率是指该模型输出分类正确的样本数占样本总数的比例,错误率是其补集。
  • 对于引力波信号凑寻,我们更加关心是:
    • “引力波信号中有多少是可以被探测到”
    • “探测到的信号中有多少其实是假的引力波信号”
  • 确定阈值(threshold),才能把分类模型真的确定确定下来。
    • 0.5 阈值仅代表模型最大梯度更新的极值点,并没有理论上明确的理想分类阈值取法。
    • 不过对于一个训练好的分类模型而言,分类阈值的选取会直接影响模型的泛化考量。

Gravitational-wave searches

引力波信号搜寻

# GWDA: DL
  • 构建分类结果的混淆矩阵 (confusion matrix)
    • 对于某测试数据集中 + 取定某 threshold 的情况下




       
    • 可以计算出真正例率 (True Positive Rate, TPR) 和假正例率 (False Positive Rate, FPR):
真实情况 正例(预测结果) 反例(预测结果)
正例 TP (真正例) FN (假反例)
反例 FP (假正例) TN (真反例)
\begin{aligned} & \mathrm{TPR}=\frac{\mathrm{TP}}{\mathrm{TP}+\mathrm{FN}} \\ & \mathrm{FPR}=\frac{\mathrm{TP}}{\mathrm{TN}+\mathrm{FP}} \end{aligned}

arXiv: 2302.00666

Gravitational-wave searches

引力波信号搜寻

# GWDA: DL
  • 构建分类结果的混淆矩阵 (confusion matrix)
    • 对于某测试数据集中 + 取定某 threshold 的情况下




       
    • 可以计算出真正例率 (True Positive Rate, TPR) 和假正例率 (False Positive Rate, FPR):
真实情况 正例(预测结果) 反例(预测结果)
正例 TP (真正例) FN (假反例)
反例 FP (假正例) TN (真反例)

arXiv: 2302.00666

Source: Wiki-en

Gravitational-wave searches

引力波信号搜寻

# GWDA: DL
  • 真正例率 (True Positive Rate, TPR) 和假正例率 (False Positive Rate, FPR)
  • 在引力波数据处理中,TPR 和 FPR 可以分别与引力波信号预警模型在引力波数据上的探测灵敏度 (sensitivity) [或 \(P_{astro}\)] 和误报率 (false alarm rate, FAR) 相对应。

Source: Wiki-en

Gravitational-wave searches

引力波信号搜寻

# GWDA: DL
  • 在不同的阈值选取下,我们分别以 TPR 和 FPR 为纵、横轴作图,就得到了 ROC (Receiver Operating Characteristic, 受试者工作特征) 曲线。

Source: Wiki-en

  • 图上的每一点,都对应于一种阈值选取可能。
  • 对角线对应于“随机猜测”模型,而过左上点 (0,1)的曲线就是预测最佳的“理想模型”。
    • 阈值越大,对应于 ROC 的左下角方向,
    • 阈值越小,对应于 ROC 右上角的方向。

Gravitational-wave searches

引力波信号搜寻

# GWDA: DL
  • 在不同的阈值选取下,我们分别以 TPR 和 FPR 为纵、横轴作图,就得到了 ROC (Receiver Operating Characteristic, 受试者工作特征) 曲线。
  • 对不同的机器学习模型进行比较时,若某模型的 ROC 曲线可以“包住”另一个模型的曲线,则可断言前者的性能优于后者。
  • 为了能避免曲线交叉会带来的含糊,一个定量的合理判据就是比较 ROC 曲线下的面积,即 AUC (Area Under ROC Curve)

Source: Wiki-en

# GWDA: DL

很多其实很重要但没能讲到的内容:

  • 网络权重初始化
  • 输入数据的标准化
  • 感受野
  • 正则化
  • 类别不均衡
  • K 折交叉验证
  • 模型的集成与融合
  • Fine-tune(迁移学习)
  • ...

Hackathon

Can you find the GW signals?

# Hackathon

Hackathon: Can you find the GW signals?

数据科学挑战:引力波信号搜寻

# GWDA: DL

@TianQin GWML Tutorial 2

By He Wang

@TianQin GWML Tutorial 2

He Wang. (2023). Can you find the GW signals?. Kaggle. https://kaggle.com/competitions/can-you-find-the-gw-signals. (引力波暑期学校 Summer School on Gravitational Waves) [Repo: https://github.com/iphysresearch/2023gwml4tianqin]

  • 327