引力波数据探索:编程与分析实战训练营

第 0 部分 课程介绍会

主讲老师:王赫

2023/11/08

ICTP-AP, UCAS

  • 办课初衷与学员构成
  • 讲师介绍
  • 与本课程相关的知识架构
    • 引力波数据分析
    • 课程大纲
    • 本课程是什么,不是什么
  • 本课程的学习方法与教学团队
  • 本课程的考核规则和项目作业
  • 通向自我实现之路
    • 如何自学
    • 如何提问
  • 提问环节

目录

  • 课程题目 首页 承办单位
  • 目录 今天的内容 测试
  • 办课初衷与学员构成
  • 讲师介绍
  • 与本课程相关的知识架构
    • 引力波数据分析
    • 课程大纲
    • 本课程是什么,不是什么
  • 本课程的学习方法与教学团队
  • 本课程的考核规则和项目作业
  • 通向自我实现之路
  • 提问环节

目录

# Motivation

办课初衷

  • 发现物理系研究生新生普遍缺乏基本的计算机常识,尤其是集群维护、Python编程、数据分析流程等等。
  • 因此,期望能快速提升国科大新生的基本编程素养。
# Motivation

学员构成

  • 有效申请的学员人数共 432 人,来自各行各业。其中一半以上来自理论物理、物理学、天体物理和天文学等专业方向。
  • 在“其他”专业类别中,包含心理学、生物信息与医药、工商管理、材料与化工、地震与地球物理、金融、控制工程等等。
  • 在学员填写的 “个人研究的主要障碍” 和 “对本课程的期望” 的词云分析中,“引力波”、“机器学习”、“数据处理”、“深度学习”、“能力”、“编程”等是最常见的关键词。
# Who am I

讲师介绍

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

GitHub: github.com/iphysresearch

Blog:IPhysResearch.github.io

  • Aug 2023
    • 引力波暑期学校《引力波数据处理与机器学习》:中山大学天琴中心
  • 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
    • 《Python 数据挖掘工具》中原银行 · 校招生培训系列课程

引力波数据分析?

# Knowledge Framework

程序猿?

运维工程师?

数据分析师?

# Knowledge Framework

引力波数据分析!

引力波物理科学家

数据科学家

人工智能
算法工程师

引力波数据分析:知识框架

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


  •  

数字信号处理 (DSP)

R.C. Cofer, Benjamin F. Harding, in Rapid System Prototyping with FPGAs, 2006

引力波物理与引力波天文学

Miller, M.C., Yunes, N. The new frontier of gravitational waves. Nature 568, 469–476 (2019).

Dieter Rasch, Dieter Schott. Mathematical Statistics, (2018)

数理统计

引力波数据分析:知识框架

# Knowledge Framework
  • 理论基础:
    • 引力波物理 (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 …)
  • 硬件基础:

  •  

本实战训练营的课程大纲

# Knowledge Framework
  • 第零部分:打鸡血!
  • 第一部分:编程开发环境与工作流
    1. Linux 中常见指令与 shell 文本编辑
    2. Git 版本控制 (GitHub / GitLab)
    3. SSH 远程服务器 (Shell / VSCode)
    4. 基于 Docker 的容器化技术与开发环境
    5. 实战项目:Python / Jupyter 开发环境搭建
    6. 实战项目:LALsuite / LISAcode 的源码编译
  • 第二部分:基于 Python 的数据分析基础
    1. Python 程序语言入门
    2. 基于 Numpy / Pandas / Scipy 的算法基础
    3. 实战项目:GW Event Catalog / Glitch data 的探索性数据分析
    4. 实战项目:针对 GW150914 匹配滤波数据处理
    5. 基于 Python 的数据可视化理论与实践
    6. 实战项目:GWTC 论文中的 Figures
  • 第三部分:机器学习基础
    1. 人工智能概述
    2. 机器学习的定义、目标和过程,及其常见类型
    3. 机器学习项目开发流程与准备
    4. 实战项目:对 LIGO 的 Glitch 数据实现聚类分析
  • 第四部分:深度学习基础
    1. 深度学习技术概述
    2. 神经网络基础ANN
    3. 卷积神经网络 CNN
    4. 项目实战:使用 CNN 识别双黑洞系统引力波信号
    5. 引力波数据分析与人工智能前沿
  • Linux 文件系统简介,权限和进程管理; 创建和管理用户,设置文件权限,基本的进程管理等
  • 合并冲突解决,分支管理和协作工作流程;在团队中协作一个小项目,学习如何解决合并冲突
  • 基本的网络安全和SSH密钥管理;设置SSH密钥和远程访问服务器
  • 基础运维技术
  • 基础容器化技术
  • Docker 简介和基本操作指令;使用 Docker 创建容器应用和开发环境
  • 利用Docker在远端服务器上,实现 Python/Jupyter 运行环境的搭建和维护
  • 在Docker上配置合适的 Linux 编译环境,并打包包含有 LALsuite / LISAcode 和发布软件

本实战训练营的课程大纲

# Knowledge Framework
  • 第零部分:打鸡血!
  • 第一部分:编程开发环境与工作流
    1. Linux 中常见指令与 shell 文本编辑
    2. Git 版本控制 (GitHub / GitLab)
    3. SSH 远程服务器 (Shell / VSCode)
    4. 基于 Docker 的容器化技术与开发环境
    5. 实战项目:Python / Jupyter 开发环境搭建
    6. 实战项目:LALsuite / LISAcode 的源码编译
  • 第二部分:基于 Python 的数据分析基础
    1. Python 程序语言入门
    2. 基于 Numpy / Pandas / Scipy 的算法基础
    3. 实战项目:GW Event Catalog / Glitch data 的探索性数据分析
    4. 实战项目:针对 GW150914 匹配滤波数据处理
    5. 基于 Python 的数据可视化理论与实践
    6. 实战项目:GWTC 论文中的 Figures
  • 第三部分:机器学习基础
    1. 人工智能概述
    2. 机器学习的定义、目标和过程,及其常见类型
    3. 机器学习项目开发流程与准备
    4. 实战项目:对 LIGO 的 Glitch 数据实现聚类分析
  • 第四部分:深度学习基础
    1. 深度学习技术概述
    2. 神经网络基础ANN
    3. 卷积神经网络 CNN
    4. 项目实战:使用 CNN 识别双黑洞系统引力波信号
    5. 引力波数据分析与人工智能前沿
  • 常见的数据结构和高级特性;面向对象程序设计;异常处理和调试技巧
  • Numpy 和 Pandas 的数据结构和常用方法;Scipy 简介
  • 数据清洗与特征工程基础;线性代数等编程实现
  • Python 程序语言
  • 数据可视化的基本理论与美学基础;
  • 基于 Matplotlib / Seaborn 的绘图编程技术
  • 分析LVK合作组论文中的绘图技巧和绘图流水线的实现方法
  • 引力波数据处理
  • 引力波数据和数字信号处理的基本操作流程
  • Python 数据可视化

本实战训练营的课程大纲

# Knowledge Framework
  • 第零部分:打鸡血!
  • 第一部分:编程开发环境与工作流
    1. Linux 中常见指令与 shell 文本编辑
    2. Git 版本控制 (GitHub / GitLab)
    3. SSH 远程服务器 (Shell / VSCode)
    4. 基于 Docker 的容器化技术与开发环境
    5. 实战项目:Python / Jupyter 开发环境搭建
    6. 实战项目:LALsuite / LISAcode 的源码编译
  • 第二部分:基于 Python 的数据分析基础
    1. Python 程序语言入门
    2. 基于 Numpy / Pandas / Scipy 的算法基础
    3. 实战项目:GW Event Catalog / Glitch data 的探索性数据分析
    4. 实战项目:针对 GW150914 匹配滤波数据处理
    5. 基于 Python 的数据可视化理论与实践
    6. 实战项目:GWTC 论文中的 Figures
  • 第三部分:机器学习基础
    1. 人工智能概述
    2. 机器学习的定义、目标和过程,及其常见类型
    3. 机器学习项目开发流程与准备
    4. 实战项目:对 LIGO 的 Glitch 数据实现聚类分析
  • 第四部分:深度学习基础
    1. 深度学习技术概述
    2. 神经网络基础ANN
    3. 卷积神经网络 CNN
    4. 项目实战:使用 CNN 识别双黑洞系统引力波信号
    5. 引力波数据分析与人工智能前沿
  • 机器学习的定义、目标和过程,及其常见类型
  • 认识到引力波数据分析与机器学习之间的联系
  • 掌握完整机器学习项目的基本流程和思维套路
  • 基于 Scikit-learn 实现机器学习算法的搭建
  • 人工智能
  • 了解人工智能的发展背景和相关概念
  • 人工智能 vs 机器学习 vs 深度学习
  • 机器学习
  • 了解深度学习技术的发展背景和相关概念
  • 人工神经网络的编程实现方法
  • 卷积的定义和编程实现方法,及其与匹配滤波之间的关系
  • 论文复现 CNN 识别引力波信号
  • 熟悉数据预处理、模型搭建和模型验证的全流程
  • 了解深度生成模型(GAN, Flow等)的原理和实现方法,以及相关的引力波数据应用案例
  • Kaggle 黑客马拉松
  • 深度学习

本实战训练营是什么,不是什么

# About the Course
  • 不是运维工程师的考证培训
  • 不是算法工程师的求职培训
  • 不会系统概述数据清理、特征工程等数据准备工作;
  • 不是完整覆盖所有 API 等控件的 PyTorch / ... 使用指南;
  • 不涉及过于细节的机器学习理论和艰深的算法原理,忽略绝大多数无关紧要的数学细节
  • 无需精通编程,了解最基本的本地电脑、远端服务器或集群环境的运维常识
  • Python 程序设计的入门级启蒙
  • Python 数据可视化的美学启蒙和学术绘图入门
  • Python 数据挖掘基础
  • 完整机器学习项目的基本流程和思维套路;
  • 深度学习技术导论
  • 深刻理解“学习”是什么意思,及其基于数据驱动的思维方式
  • 基于 PyTorch 的入门级项目代码;
  • 引力波数据处理与人工智能技术结合的常见科研套路
  • 前沿深度学习模型的训练逻辑和引力波数据应用案例
  • Yes
  • No

本实战训练营的学习方法与教学团队

  • 如何跟随本课程学习
  • 本课程的 slides / codes 等所有静态资料都会分享出来,录屏回放将限期开放
  • 课程开始前,最好提前对Python编程有一些了解为最好。
    • 学会在实践中培养自己能发现问题,自己能解决问题的能力。
  • 授课过程中,只全神贯注的听讲即可,不需要边听讲,边做笔记或者模仿操作
    • 目的是培养直觉联觉
    • 线下同学可直接提问;线上同学可在腾讯会议聊天框中留言提问
    • 为了保证最佳听课效果,授课形式以面向线上学员为主
  • 课程结束后,一定要学会做技术笔记,积累个人技术财富
    • 用自己的话总结(Feynman 方法,写技术博客,...);写给未来的自己看;
  • 要坚持每天敲代码
    • …everything became much clearer when I started writing code.
  • 要学会自学,学会利用网络资源解决自己遇到的问题
  • 课程安排
  • 灵活的授课时间:一般是在周三、五、日的某天晚上19点,每次上课时间将会提前一周在微信群内通知,预计2024年1月结课。
  • 班主任:关于课程咨询,请找张乐老师 或 刘颖慧老师
  • 助教:孙慧赖景祺梁博郭意扬
# About the Course

本实战训练营的考核规则和项目作业

  • 考核规则
  • 本课程是免费培训,没有学分,课程结束后的考核达标学员将会有结业证书发放。
  • 达标要求:30%反馈问卷 + 20%考勤 + 50%基础作业
    • 反馈问卷:关于课程难度、课程内容和课程期待等
    • 考勤方法:上线考勤;若能按时完整完成相应的作业,也记作考勤达标
  • 彩蛋:
    • 课程结束后,将会以一部分比例给优秀的达标学员赠送小礼品
  • 项目作业
  • 本课程会有一些【基础作业】考验学员听课时能否快速吸收和认真听讲,难度偏低
  • 另外,【拓展作业】将会作为与本课程内容密切相关,但需要学员自己拓展相关知识或快速自学一些技术才能完成的作业/项目。
    • 对于引力波数据处理研究方向的学员,【扩展作业】为必做内容。
    • 课上的实践内容与作业内容的占比大概是各占一半。
    • 【基础作业】与【拓展作业】的占比也大概是各占一半。
# About the Course

通向自我实现之路

# Self-Mastery
  • 对“卷”的理性认识
  • 人多,竞争激烈?
  • 奋斗、努力、上进?
  • 恶性的规则与制度。

通向自我实现之路:用心卷动每一步

  • 对“卷”的理性认识
  • 人多,竞争激烈?
  • 奋斗、努力、上进?
  • 恶性的规则与制度。

 

  • 心之所向,行之力
# Self-Mastery

通向自我实现之路:Evolving into a Self-Taught Expert

  • 对“卷”的理性认识
  • 做研究所需要的范式转换
  • 读本科 vs 读研究生:
    • 把让我做的都做了,不就行了?
    • 我该不该买本书系统性学习一下 XX?
  • 研究本身之外的必备技能/心态:
    • 英语
    • 科学上网
    • 表达
    • 速记
    • 知识管理
    • 打磨
    • 时间管理
    • ...
# Self-Mastery

通向自我实现之路:Evolving into a Self-Taught Expert

  • 对“卷”的理性认识
  • 做研究所需要的范式转换
  • 读本科 vs 读研究生:
    • 把让我做的都做了,不就行了?
    • 我该不该买本书系统性学习一下 XX?
  • 研究本身之外的必备技能/心态:
    • 英语
    • 科学上网
    • 表达
    • 速记
    • 知识管理
    • 打磨
    • 时间管理
    • ...

“输出”

# Self-Mastery

通向自我实现之路:Teaching is Learning

  • 对“卷”的理性认识
  • 做研究所需要的范式转换
  • 做好笔记是自我学习的不二捷径
  • 笔记软件推荐: Typora,...
  • 好笔记是要用心做出来的
  • 你做的笔记是写给未来的自己看的
# Self-Mastery

通向自我实现之路:学会搜索答案

  • 对“卷”的理性认识
  • 做研究所需要的范式转换
  • 做好笔记是自我学习的不二捷径
  • 自学路上必会之 “上下求索"的技能
  • 正确的态度:不存在能够知道一切答案并能轻松提供给你的人,但所有与答案相关的信息都一定能在互联网上找到蛛丝马迹。
  • 要充分利用百度Google等搜索引擎
  • 基本搜索技巧:

    关键词取的越多,显示的网页信息会越准确相关,但是真正相关的网页条目越少。关键词取的越少,自然地搜索结果会越泛。

# Self-Mastery

通向自我实现之路:学会搜索答案

  • 对“卷”的理性认识
  • 做研究所需要的范式转换
  • 做好笔记是自我学习的不二捷径
  • 自学路上必会之 “上下求索"的技能
  • 正确的态度:不存在能够知道一切答案并能轻松提供给你的人,但所有与答案相关的信息都一定能在互联网上找到蛛丝马迹。
  • 要充分利用百度Google等搜索引擎
  • 基本搜索技巧:

    关键词取的越多,显示的网页信息会越准确相关,但是真正相关的网页条目越少。关键词取的越少,自然地搜索结果会越泛。

只要它存在,就没有查不到的!
因为善于搜索,所以了解世界。

Because it’s there!

# Self-Mastery

通向自我实现之路:学会请教问题

  • 对“卷”的理性认识
  • 做研究所需要的范式转换
  • 做好笔记是自我学习的不二捷径
  • 自学路上必会之 “上下求索"的技能
  • 自学路上必会之 “提问的艺术”
# Self-Mastery

通向自我实现之路:学会请教问题

  • 对“卷”的理性认识
  • 做研究所需要的范式转换
  • 做好笔记是自我学习的不二捷径
  • 自学路上必会之 “上下求索"的技能
  • 自学路上必会之 “提问的艺术”
  • 要知道,只有真正清楚和了解自己是遇到了什么问题,才能给出合理和清晰的提问。
  • 当你不知道自己遇到什么问题的时候,先了解一下该如何提问。

提问的内容尽量包含:

  1. 你为了解决这个问题,你是做了哪些操作?你希望这些操作是什么效果和实际的效果是什么?
  2. 你猜测这个问题的根源是什么,以及你认为解决该问题可能需要如何做?
  3. 请告知你的基本电脑环境:如什么操作系统?在云平台?你的库版本是啥等~
  4. 如果你的操作步骤不同于课程给的notebook模板,请强调出来~
  5. 你收到的报错信息是什么(很重要!)
  6. 如果可以,请截图
  7. 如果和课程中操作的返回结果不一致,请指明~
  8. 你已经解决的部分问题是怎么做的?比方说你重启了电脑?重启了kernel?
  9. 你发觉到某些可行的解决方案,可以贴出来,如来自csdn、简书等~
# Self-Mastery

提问环节

# Q&A
  • 请关注公众号,了解更多信息
    • 国际理论物理中心(亚太地区)
  • 主办单位
    • 中国科学院大学 · 国际理论物理中心(亚太地区)
    • 引力波宇宙太极实验室

 

 



 

  • 赞助单位
    • 中科曙光

通向自我实现之路:Teaching is Learning

# Knowledge Framework
  • 对“卷”的理性认识
  • 做研究所需要的泛式转换
  •  

第 0 部分 课程介绍会 (通向自我实现之路)

By He Wang

第 0 部分 课程介绍会 (通向自我实现之路)

引力波数据探索:编程与分析实战训练营。课程网址:https://github.com/iphysresearch/GWData-Bootcamp

  • 518