GW Data Analysis

& Machine Learning

2023 Summer School on GW @TianQin

He Wang (王赫)

2023/08/22

ICTP-AP, UCAS

Who am I?

王赫 He Wang,
LIGO-VTRGO-KAGRA 科学合作组成员。2020 年博士毕业于北京师范大学物理系,2020-2022 年于中科院理论物理研究所从事博士后研究,2021-2022 年赴鹏城实验室担任访问学者,2022 年至今为国科大国际理论物理中心(亚太地区)特别研究助理,2022 年获国家天文科学数据中心青年数据科学家称号。

GitHub: github.com/iphysresearch

Blog:IPhysResearch.github.io

我是谁?

  • Jan 2022 - May 2022
    • 《数据可视化初了解》:知乎盐选
  • Apr 2021 – Jul 2021
    • 人工智能从业者认证课程:腾讯云·课程开发
  • Dec 2020 – Jul 2021
    • 《深度学习之 PyTorch 实战》:万⻔大学(已倒)
  • Jun 2020 – Nov 2020
    • 《Python 数据可视化与实战》:万⻔大学(已倒)
  • Apr 2020 – Oct 2020
    • 《大数据预处理》国家开放大学·大数据挖掘与技术系列课程
  • Feb 2020 – Nov 2020
    • 《Python 程序设计》国家开放大学·大数据挖掘与技术系列课程
  • Aug 2019 – Aug 2019
    • 《Python 数据挖掘工具》中原银行·校招生培训系列课程

The knowledge framework covered in this course?

本课程相关的知识框架?

  • 理论基础:
    • 引力波物理
    • 数字信号处理
    • 数理统计
  • 编程基础:
    •  
    •  
    •  
  • 硬件基础:
    •  
    •  

The knowledge framework covered in this course?

本课程相关的知识框架?

  • 理论基础:
    • 引力波物理 (pycbc, lalsuite, lisacode, bilby, ...)
    • 数字信号处理 (scipy, stat, ...)
    • 数理统计 (bilby, emcee, ptemcee, ptmcmc, …)
  • 编程基础:
    • Python (numpy, pandas; matplotlib; ...),
    • AI (scikit-learn, XGBoost pytorch, tensorflow, jax, ...)
    • Linux (docker, github, bash, vim, emacs …)
  • 硬件基础:

The knowledge framework covered in this course?

本课程相关的知识框架?

一、引力波数据分析与机器学习

  • 概述:引力波数据分析 vs 人工智能
  • 人工智能 vs 机器学习 vs 深度学习
  • 机器学习的定义、目标和过程;常见类型
  • 机器学习项目开发规划与准备
  • 机器学习开发任务实例

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

  • 深度学习技术的概述
  • 深度学习技术的不能与可解释性
  • 神经网络基础 ANN
  • 卷积神经网络 CNN
  • PyTorch 项目实战:CNN 识别 BBH 信号
    • 数据预处理
    • 模型搭建
    • 模型验证

三、Kaggle 黑客马拉松

  • 题目:CNN 识别 BBH 信号

四、引力波数据分析与人工智能(前沿)

  • 深度生成模型
  • 生成对抗网络(GAN)
  • 流模型(Flow-based model)
  • Transformer,LLM,GPT
  • (optional) Diffusion

What this course is, and what it is not?

本课程是什么?不是什么?

  • 不是完整覆盖所有 API 等控件的 PyTorch 使用指南;
  • 不涉及过于细节的机器学习理论和艰深的算法原理,忽略绝大多数无关紧要的数学细节
  • 不会系统概述数据清理、特征工程等数据准备工作;
  • 无需精通编程,了解最基本的数据驱动思维方式;
  • 完整机器学习项目的基本流程和思维套路;
  • 深度学习技术导论
  • 深刻理解“学习”是什么意思
  • PyTorch 的入门级项目代码;
  • 引力波数据处理与人工智能技术结合的常见科研套路
  • 前沿深度学习模型的训练逻辑和引力波数据应用案例

How can I effectively study for this course?

本课程的学习方法是什么?

  • 本课程的 slides 等所有资料都会分享出来
  • 只全神贯注的听讲即可,不需要边听讲边做笔记或者模仿操作
    • 培养直觉和联觉
  • 课下要学会做技术笔记,积累个人技术财富
    • 用自己的话总结(Feynman 方法,写技术博客,...)
  • 要坚持每天敲代码! “…everything became much clearer when I started writing code.
  • 要学会自学,学会利用网络资源解决自己遇到的问题
# GWDA: ML

GWDA:

Machine Learning

引力波数据分析与机器学习

# GWDA: ML

Gravitational Wave Data Analysis

引力波天文学:引力波数据分析

©Floor Broekgaarden (repo)

GWTC-3

  • Detecting gravitational waves require a mix of FIVE key ingredients:
    1. good detector technology
    2. good waveform predictions
    3. good data analysis methodology and technology
    4. coincident observations in several independent detectors
    5. coincident observations in electromagnetic astronomy

—— Bernard F. Schutz

​​DOI:10.1063/1.1629411 

# GWDA: ML

AI for Gravitational Wave Astronomy

人工智能时代的引力波天文学

  • AI for Science \(\rightarrow\) AI for GW
  • AI has great potential to revolutionize GW astronomy by improving data analysis, modeling, and detector development.

1701.00008 (PRD)
1712.06041 (PRL)

# GWDA: ML

AI > ML > DL

人工智能 > 机器学习 > 深度学习

  • ​机器学习:

    • 机器学习是人工智能的一个分支,该领域的主要研究对象是人工智能,特别是如何在经验学习中改善具体算法的性能。
    • ​​线性回归模型、决策树模型、支撑向量机、马尔科夫链-蒙特卡洛方法 (MCMC) ...
  • 深度学习:

    • 深度学习就是一种典型的机器学习方法,属于机器学习的分支。是一种用神经网络实现自动特征提取的模型

    • 深度神经网络是一个万能的函数拟合器​​,可以表征任意复杂度的非线性函数映射

    • 特点:端到端、数据驱动、过参数化 ...

  • 传统​引力波数据分析方法 ~ 传统机器学习方法

人工智能 > 机器学习 > 深度学习

人工智能

机器学习

深度学习

人工智能的一个分支。机器学习是用数据或以往的经验,以此优化计算机程序的性能标准

机器学习的一个分支。基于神经网络结构实现端到端的一种建模方法

任何能实现以人类智能相似的方式做出反应的技术

# GWDA: ML

Machine Learning: Definition

机器学习的定义

  • “机器学习是对能通过经验自动改进的计算机算法的研究。”
    Machine Learning is the study of computer algorithms that improve automatically through experience.

  • “机器学习是用数据或以往的经验,以此优化计算机程序的性能标准。”
    Machine learning is programming computers to optimize a performance criterion using example data or past experience. ——Alpaydin (2004)

  • A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E. ——Tom Mitchell (1997)

# GWDA: ML

Machine Learning: Objective

机器学习的目标

  • 任务 [task]:判断某草莓是否是甜草莓

    • 机器学习就是找到草莓的不同 特征 [feature] 维度(尺寸、颜色、成熟度、...)与草莓 标签 [label](酸、甜)之间的映射关系。

# GWDA: ML

Machine Learning: Process

机器学习的过程

  • 机器学习就是找到 特征 [feature] 标签 [label] 之间的关系,利用算法从一类训练数据或信息中自动分析并获得该类数据或信息的规律,并利用获取的规律对未知数据进行预测。

  • 上述寻找关系和规律的过程,称为 训练 [train]。训练完成后的结果,是得到一个 机器学习模型 [machine learning model]

# GWDA: ML

Machine Learning: Common Types

  • 机器学习模型可以根据训练数据标签、与环境交互的方式,大致分为三种常见类型:

    • 监督学习 (supervised learning)

    • 无监督学习 (un-supervised learning)

    • 强化学习 (reinforcement learning)

机器学习的常见类型

# GWDA: ML

Machine Learning: Supervised Learning

机器学习的常见类型:监督学习

  • 监督学习 是在有指导的前提下让机器进行学习,这种指导的关键是给训练数据标注好 标签 [label]

  • 监督学习的目标在观察完一些事先标注过的训练数据(输入和预期输出)后,这个模型对任何可能出现的输入去预测其输出。要达到此目的,学习者必须以“合理”(归纳规律)的方式从现有的数据中一般化到未观察到的情况。在人类和动物感知中,则通常被称为 概念学习

# GWDA: ML

Machine Learning: Supervised Learning vs MF

机器学习的常见类型:监督学习 vs 匹配滤波

  • 监督学习 是在有指导的前提下让机器进行学习,这种指导的关键是给训练数据标注好 标签 [label]

  • 监督学习的目标在观察完一些事先标注过的训练数据(输入和预期输出)后,这个模型对任何可能出现的输入去预测其输出。要达到此目的,学习者必须以“合理”(归纳规律)的方式从现有的数据中一般化到未观察到的情况。在人类和动物感知中,则通常被称为 概念学习

  • 基于模板的引力波信号搜寻:
    • 若某一段时域数据流作为输入,探测统计量 (即匹配滤波信噪比) 是另一段输出的时序数据流,问怎样的线性滤波器 (模板) 可以使得输出结果最大?
# GWDA: ML

Machine Learning: Un-supervised Learning

机器学习的常见类型:非监督学习

  • 无监督学习 是没有指导的学习过程,待学习的训练数据没有标签的。

  • 机器学习算法通过某种方式在数据中寻找共同特征,并将有共同特征的数据聚合在一起。有时也会把这个过程成为“聚类” (cluster) 。

  • 聚类是把相似的对象通过静态分类的方法分成不同的组别或者更多的子集,这样让在同一个子集中的成员对象都有相似的一些属性。

  • 无监督学习算法通过自由的探索数据,所学到的大部分内容必须包括理解数据本身,而不是将这种理解应用于特定任务。所以,通往通用智能的道路上必须要掌握无监督学习的技能。

  • 无监督学习的过程和人类的 归纳 学习过程相似。

# GWDA: ML

Machine Learning: Un-supervised Learning

机器学习的常见类型:非监督学习

  • 无监督学习 是没有指导的学习过程,待学习的训练数据没有标签的。

  • 机器学习算法通过某种方式在数据中寻找共同特征,并将有共同特征的数据聚合在一起。有时也会把这个过程成为“聚类” (cluster) 。

  • 聚类是把相似的对象通过静态分类的方法分成不同的组别或者更多的子集,这样让在同一个子集中的成员对象都有相似的一些属性。

  • 无监督学习算法通过自由的探索数据,所学到的大部分内容必须包括理解数据本身,而不是将这种理解应用于特定任务。所以,通往通用智能的道路上必须要掌握无监督学习的技能。

  • 无监督学习的过程和人类的 归纳 学习过程相似。

# GWDA: ML

Machine Learning: Other Types

  • 半监督学习 (semi-supervised learning)

  • 自监督学习 (self-supervised learning)

  • ...

机器学习的其他类型

2002.08721

# GWDA: ML

Machine Learning: Other Types

机器学习模型的分类

分类

回归

聚类

降维

TSNE

UMAP

  • 根据 数据标签 分类

# GWDA: ML

Machine Learning: Other Types

机器学习模型的分类

  • 非参数模型

    • 不对数据分布进行假设,数据的所有统计特性都来源于数据本身

    • 非参数模型的时空复杂度一般比参数模型大得多

    • 非参数模型是自适应数据的,模型参数随样本变化而变化

条件概率 \(P(Y|X)\) 属于高斯分布

线性回归模型

  • 根据 数据分布 分类:参数 vs 非参数模型

    • 这里的“参数”并不是模型中的参数,而是数据分布的参数

  • 参数模型

    • 对数据分布进行假设,待求解的数据模式/映射可以用一组有限且固定数目的模型参数进行刻画

x

y

y=mx+b

K 近邻模型

如:线性/逻辑回归、感知机、K 均值聚类

优点:简洁、快速、数据需求更少

局限性:指定函数形式、有限的复杂度、易欠拟合

如:随机森林、朴素贝叶斯、SVM、神经网络

优势:函数可变性、模型强大假设少、拟合性好

局限性:数据需求量大、速度慢、易过拟合、预测解释性不高

注: 有些时候数据没有提供足够信息来事先假设分布、或者问题本身没有明显的分布特性

# GWDA: ML

Machine Learning: Other Types

机器学习模型的分类

# GWDA: ML

Machine Learning: Other Types

机器学习模型的分类

# GWDA: ML

Machine Learning: Planning and Preparation

  • 发现与明确问题

    • AI 开发的目标是将隐藏在海量数据背后的信息集中处理并进行提炼,从而总结得到研究对象的内在规律。

    • 在开始 AI 开发之前,需要进行多角度思考:

      • 科学(痛点)

        • 要解决什么科学问题?目标是什么?

        • 预期结果是什么?

      • 技术(难点)

        • 要 AI 从数据中学习的是什么 表征 [representation]

        • 与非 AI 方法相比,预期结果是什么?

        • 需要多少数据?能获取到足够数据吗?需要多长时间?...

    • 对数据进行分析,一般通过使用适当的统计、机器学习、深度学习等方法,对收集的大量数据进行计算、汇总和整理,以求最大化地开发数据价值,发挥数据作用。

机器学习项目开发规划与准备

# GWDA: ML

Machine Learning Program: Planning and Preparation

  • 开发流程

机器学习项目开发规划与准备

# GWDA: ML

Machine Learning Program: Planning and Preparation

  • 数据准备

机器学习项目开发规划与准备

  • 在大部分人工智能项目工作时间中,数据的准备和数据 pipeline 的搭建占到近 80% 的工作量。

# GWDA: ML

Machine Learning Program: Planning and Preparation

  • 数据准备

机器学习项目开发规划与准备

  • 在大部分人工智能项目工作时间中,数据的准备和数据 pipeline 的搭建占到近 80% 的工作量。

  • 一般来说,训练数据规模越大,越可以带来更好的 AI 模型性能。

# GWDA: ML

Machine Learning Program: Planning and Preparation

  • 数据划分

机器学习项目开发规划与准备

  • 数据标注后需要划分为训练集 [train]测试集 [test] (简版)

    • 训练集:用于完成模型训练任务

    • 测试集:用于对模型的泛化效果进行检验

    • 拆分比例根据具体任务决定,通常训练集的比重较大,一个可能的划分比例是:训练集数据数量:测试集数据数量=8:2

# GWDA: ML

Machine Learning Program: Planning and Preparation

  • 特征工程 [feature engineering]

    • 特征工程是指从原始数据转换为特征向量的过程。

    • 特征工程是机器学习中最重要的起始步骤,会直接影响模型的效果,通常需要大量的时间来完成。

    • 数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限。

机器学习项目开发规划与准备

# GWDA: ML

Machine Learning Program: Planning and Preparation

  • 特征工程 [feature engineering]

    • 特征提取(feature extraction)一般是在特征选择之前,它提取的对象是原始数据,目的就是自动地构建新的特征,将原始数据转换为一组具有明显物理意义(比如 Gabor、几何特征、纹理特征)或者统计意义的特征(也包括PCA,SVD等方法在内)

机器学习项目开发规划与准备

# GWDA: ML

Machine Learning Program: Planning and Preparation

  • 特征工程 [feature engineering]

    • 特征构建(feature construction) 指从原始数据中人工的构建新的特征。

    • 需要花时间去观察原始数据,思考问题的潜在形式和数据结构,对数据敏感性和机器学习实战经验能帮助特征构建。

机器学习项目开发规划与准备

# GWDA: ML

Machine Learning Program: Pipeline

  • 人工设计特征:在实际的应用中,特征 往往比模型本身更重要

  • 训练模式与测试模式

  • 超参数调参

  • 尽快搭建端到端的 baseline

机器学习项目:流水线