Skip to content

Commit

Permalink
docs: 补充 AI 伦理安全、多媒体安全课程内容,调整部分阅读书目推荐 (#187)
Browse files Browse the repository at this point in the history
* 补充了 AI 伦理安全、多媒体安全两门课程, 并调整了少部分阅读书目推荐。

* Update 人工智能伦理与安全

* minor changes

* minor changes
  • Loading branch information
GoldfishHorse authored Jul 4, 2024
1 parent 986b674 commit 5cc6211
Show file tree
Hide file tree
Showing 11 changed files with 170 additions and 33 deletions.
25 changes: 18 additions & 7 deletions docs/major_basic/convex_optimization/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,13 +47,11 @@

* Yurii Nesterov. (2014). *Introductory Lectures on Convex Optimization: A Basic Course.* Springer.

作者是凸优化领域的大佬。前半学期的内容大部分都来自这里。(不要相信书名中的 “basic” :-
作者是凸优化领域的巨擘。前半学期的内容大部分都来自这里。(不要相信书名中的 “basic” :-)

* Yurii Nesterov. (2018). *Lectures on Convex Optimization.* Springer.

中文版书名《凸优化教程》,机械工业出版社;前面的内容和上一本差不多,但是许多地方有改动(改正了旧版的一些错误,笔者学习时主要参考的书)。

(PS:虽然这本书是课程的主要教材,但是其内容有些晦涩抽象,越到后面越如此,任何对优化感兴趣的初学者都不应该使用这本书自学。)
第二本书是第一本的修正和扩充,但是许多地方有改动(改正了旧版的一些错误,笔者学习时主要参考的书)。作者的出发视角很高,且极具理论性,这使得本书与其它优化书籍有截然不同的内容,但是其内容也因此有些晦涩抽象,尤其第二本书越到后面越如此。同时,在某种程度上,本书缺少清晰的脉络,定理也缺乏直观解释或者例题说明,笔者认为初学者都不应该使用这本书自学。

## 分数构成

Expand Down Expand Up @@ -89,20 +87,31 @@

* Dimitri P. Bertsekas. (2009). *Convex Optimization Theory*. Athena Scientific.

中文名《凸优化理论》,清华大学出版社;个人觉得比较细节,相之于前面的好读很多
中文名《凸优化理论》,清华大学出版社; 并不厚, 个人觉得相之于前面的好读很多

* Sra, Nowozin, Wright. (2011). *Optimization for Machine Learning*. MIT Press.

* R. T. Rockafellar. (1970). *Convex Analysis*. Princeton.

Rockafellar 是优化领域绕不开的祖师级人物,不过他的文章有些太难了。他的《凸分析》还有《变分分析(Variational Analysis)》等书感觉更适合数学专业的看……
Rockafellar 是优化领域绕不开的祖师级人物,不过他的文章有些太难了。本书包含了对凸集、凸函数、凸几何、约束凸优化的详尽理论推导。他的这本《凸分析》还有《变分分析(Variational Analysis)》等书感觉更适合数学专业的看……

* Giuseppe C. Calafiore, \& Laurent El Ghaoui (2014), *Optimization Models*, Cambridge University Press. 据说难度适中:[https://people.eecs.berkeley.edu/~elghaoui/optmodbook.html](https://people.eecs.berkeley.edu/~elghaoui/optmodbook.html)
* Giuseppe C. Calafiore, \& Laurent El Ghaoui (2014), *Optimization Models*, Cambridge University Press. 据说难度适中, 包含了许多应用举例和分析[https://people.eecs.berkeley.edu/~elghaoui/optmodbook.html](https://people.eecs.berkeley.edu/~elghaoui/optmodbook.html)
* 这个领域有很多人喜欢直接把自己写的书挂在 arxiv 上,下面几个都是不错的资料:
+ Sébastien Bubeck, *Convex Optimization: Algorithms and Complexity*, [https://arxiv.org/abs/1405.4980](https://arxiv.org/abs/1405.4980)
+ Léon Bottou et al., *Optimization Methods for Large-Scale Machine Learning*, [https://arxiv.org/abs/1606.04838](https://arxiv.org/abs/1606.04838)
+ Francesco Orabona, *A Modern Introduction to Online Learning*, [https://arxiv.org/abs/1912.13213](https://arxiv.org/abs/1912.13213).

就中文书而言,笔者知道的有:

+ 袁亚湘, & 孙文瑜. (1997).最优化理论与方法. 科学出版社. (基本都是算法的纯数学分析和证明)
+ 陈宝林. (2005).最优化理论与算法. 清华大学出版社. (教材)

近年,北京大学文再文老师课题组编写了两本教材:

+ (详细版) 刘浩洋, 户将, 李勇锋,文再文,最优化:建模、算法与理论, 高教出版社;
+ (简化版)刘浩洋, 户将, 李勇锋,文再文,最优化计算方法,高教出版社;
介绍了的最优化的基本概念、典型案例、基本算法和理论,内容紧凑,理论充实(美中不足的缺点可能是印刷质量有点差 :-)网页:http://faculty.bicmr.pku.edu.cn/~wenzw/optbook.html。

### 课程

* CMU 课程 Convex Optimization. 深入浅出的优秀课程:<https://www.stat.cmu.edu/~ryantibs/convexopt/>
Expand All @@ -112,6 +121,8 @@
* ELE522: Large-Scale Optimization for Data Science. 钱老师的授课内容有所参考:<https://yuxinchen2020.github.io/ele522_optimization/>
* IE 598: Big Data Optimization. 钱老师的授课内容有所参考:<https://github.com/niaohe/Big-Data-Optimization-Course>

除此之外,如果仅是为了机器学习和深度学习的工作,其实并不一定要深入了解凸优化,一些基本优化算法在深度学习教材或者课程里都会提及。

### 笔记

* 20 级的金鱼马同学为这门课总结了详细的笔记:[https://www.zhihu.com/column/c_1676006565717573634](https://www.zhihu.com/column/c_1676006565717573634),如果你发现笔记有错误,请联系他指出问题
Expand Down
7 changes: 4 additions & 3 deletions docs/major_basic/object_oriented_programming/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@

“面向已经了解 C++ 或至少是经验丰富的程序员的人”。覆盖 C++11 标准。

* 如果你想知道为什么 C++ 的历史,请看 [*The Design and Evolution of C++*](https://link.zhihu.com/?target=https%3A//www.stroustrup.com/dne.html)(《C++语言的设计与演化》)。[*Thriving in a Crowded and Changing World: C++ 2006-2020*](https://link.zhihu.com/?target=https%3A//dl.acm.org/doi/pdf/10.1145/3386320) 可以被视为 D&E 的最新后续。
* 如果你想了解 C++ 的历史,请看 [*The Design and Evolution of C++*](https://link.zhihu.com/?target=https%3A//www.stroustrup.com/dne.html)(《C++语言的设计与演化》)。[*Thriving in a Crowded and Changing World: C++ 2006-2020*](https://link.zhihu.com/?target=https%3A//dl.acm.org/doi/pdf/10.1145/3386320) 可以被视为 D&E 的最新后续。
* [*A Tour of C++* (second edition)](https://link.zhihu.com/?target=https%3A//www.stroustrup.com/tour2.html)(《C++语言导学》)

适合去快速了解 C++ 所提供的功能。这本书以 200 页的篇幅介绍了 C++ 及其标准库的主要特性,且覆盖 C++17 标准(及少量 C++20 标准),对于了解新标准特性也不错。
Expand Down Expand Up @@ -113,8 +113,9 @@
* 其他,如:《深入探索 C++14(Discovering Modern C++)》《现代 C++ 语言核心特性解析》《C++20 高级编程》等

* 可参考 [The Definitive C++ Book Guide and List](https://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list),Stack Overflow 上整理的书单。也可以逛逛 [Quora](https://www.quora.com/What-is-the-best-C-book-for-a-beginner)
* C++ 之父 Bjanre Stroustrup 的 [FAQ](https://www.stroustrup.com/bs_faq.html) 很有意思,值得一看!此外他还有 [C++ Style and Technique FAQ](https://www.stroustrup.com/bs_faq2.html)
* 一些 C++ 书籍的**电子版资源**https://www.aliyundrive.com/s/z5hLRAELpPP
* C++ 之父 Bjanre Stroustrup 的 [FAQ](https://www.stroustrup.com/bs_faq.html) 很有意思,值得一看!此外他还有 [C++ Style and Technique FAQ](https://www.stroustrup.com/bs_faq2.html) 。十分建议大大多逛逛 [BS 的主页](https://www.stroustrup.com)
<!-- * 一些 C++ 书籍的**电子版资源**:https://www.aliyundrive.com/s/z5hLRAELpPP -->
<!-- 这里资源已经远不止 C++ 了, 故在此删除 -->

## 参考资料
- RyanFcr 整理的笔记和历年卷:[:material-github: RyanFcr/ZJU_Course:大二春夏/面向对象程序设计OOP](https://github.com/RyanFcr/ZJU_Course/tree/main/%E5%A4%A7%E4%BA%8C%E6%98%A5%E5%A4%8F/%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1OOP)
Expand Down
4 changes: 3 additions & 1 deletion docs/major_basic/theory_of_computation/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,10 +62,12 @@

21 级无教材,全靠毛哥手写讲义。20 级曾用教材如下:

*《计算理论基础》Elements of the Theory of Computation*
***《计算理论基础》Elements of the Theory of Computation***

有中文版,但有一些小错误,英文版笔者未发现错误。中文版部分地方没有照抄英文版,做出了一些修改,经过笔者和一位 dl 的合力验证英文版部分地方确实太拗口,中文版做出了一些更易于理解的修改,所以需要批判性阅读。

***Introduction to the Theory of Computation. Michael Sipser*** 亦是一本不错的参考教材。

## 分数构成

- 作业(0%)
Expand Down
8 changes: 5 additions & 3 deletions docs/major_elective/computer_vision/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,12 @@

整体课程以课程讲义为主,没有指定教材,相关的原理可以查询维基或者 OpenCV 等库的说明。不过潘老师课件中有给出一些关于 OpenCV 的书籍,如:

- *Learning OpenCV:Computer Vision with the OpenCVLibrary*, Gary Bradski, Adrian Kaebler
- 《OpenCV教程—基础篇》,刘瑞祯、于仕琪
- *Learning OpenCV:Computer Vision with the OpenCVLibrary*, Gary Bradski, Adrian Kaebler (此书使用的 OpenCV 2.0 版本过于老旧, 不建议阅读)
- 《OpenCV教程—基础篇》,刘瑞祯、于仕琪 (这本比上一本还老 :-)

不过并不是特别需要,使用的相关文档可以直接参考 OpenCV 的 [Documents](https://docs.opencv.org/4.x/d1/dfb/intro.html)
建议直接参考 OpenCV 的 [Documents](https://docs.opencv.org/4.x/d1/dfb/intro.html)

相比其它参考书, 笔者比较推荐 ***Robot Vision .Berthold K.P. Horn*** (中文名《机器视觉》) , 十分经典的一本教材, 侧重数学理论, 与本课程内容更加接近。

## 分数构成

Expand Down
2 changes: 1 addition & 1 deletion docs/major_elective/digital_image_processing/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@

## 推荐书单
- *Digital Image Processing Using MATLAB*, Gonzalez
- *Digital Image Processing Using MATLAB*, Gonzalez. 此书最新有第 4 版, 增加了神经网络等内容。但就课程内容仅用第 3 版也足够。
- *《数字图像处理编程入门》*,吕凤军

## 分数构成
Expand Down
52 changes: 52 additions & 0 deletions docs/major_elective/multimedia_security/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# 多媒体安全
<div class="badges">
<span class="badge is-badge">IS 专业选修</span>
</div>


## 课程学习内容

本课程旧名 "信息隐藏与数字水印", 是黄劲老师开设的课程。主要授课内容基本可以概括为 "水印" 和 "隐写" 两个部分。课程内容较多, 且十分理论, 包括

+ 水印和隐写的介绍和性质
+ 水印:
+ 水印模型
+ 多比特信息嵌入
+ ECC(校验编码)
+ 应用原图作为辅助增强
+ Dirty-paper code, Lattice Code
+ 鲁棒水印
+ Content Authentication, 也就是 erasable 水印
+ 隐写
+ 经典算法: LSB对DCT系数(JSteg),OutGuess,F3,F4,F5(矩阵编码)以及混淆方法(random walk);
+ Wet Paper, 对隐写的检测与攻击
+ 使用 Sample pairs 进行隐写分析
+ 电子取证、利用指纹信息进行身份认证等。
老师会在最后一节课进行总复习。

## 任课教师

仅有黄劲老师一位。黄老师授课很有个性, 思维跳脱、富有热情, 很喜欢跟学生交流。但是本课程内容较多也较杂, 可能稍难跟上。不过课余时间老师比较亲和, 有任何问题都会耐心解答。

## 课程教材

Cox, I., Miller, M., Bloom, J., Fridrich, J., & Kalker, T. (2007). *Digital watermarking and steganography*. Morgan kaufmann. 一本十分厚的书, 本课程内容除了取证部分外基本都是基于课本展开。虽然此书叙述<del>啰嗦</del>细致, 但也有未能讲清楚的地方。

## 分数构成
一般来说分数构成为: lab 40\%, 期末 40\%, 课堂表现 20\%, 可能有稍许浮动。
+ lab 为 4~5 次, 基本包括
+ E_BLIND/D_LC 水印系统实现
+ E_SIMPLE_8/D_SIMPLE_8 多位信息水印系统实现
+ E_BLK_8/D_BLK_8 w/ Hamming Code 或 Trellis Code 水印系统实现
+ F4, F5 隐写算法实现

lab 不限定编程语言。代码量约在数百行, 虽不算难但也对编程能力稍有要求。
+ 期末开卷, 包括少量选择、判断以及 8 道简答, 主要侧重课程内容的理解。要求英文作答。
+ 课堂表现分为两个部分:
+ 老师不会点名, 但会随堂 quiz 9 次之多 :-)
+ 每次课前会让两人一组进行一个简短的展示, 10 分钟左右; Topic 包括书中未讲到的部分, 也包括 lab 实现等。

## 参考资料

+ https://www.cc98.org/topic/5362725
+ https://github.com/QinJiuJiu/Information-hiding-and-digital-watermarking
51 changes: 50 additions & 1 deletion docs/major_mandatory/ai_ethics_security/index.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,52 @@
---
abbrs:
- AI 伦理安全
---
# 人工智能伦理与安全
<div class="badges">
<span class="badge is-badge">AI 专业必修</span>
</div>

\#TODO: 目前还没有内容,待完善。


## 学习内容

+ 伦理部分(摘自潘恩荣老师课件)
+ 第1次 人工智能与伦理
+ 第2次 人工智能伦理谱系
+ 第3次 人工智能如何以人为本?
+ 第4次 人工智能伦理研究与设计方法
+ 第5次 应用场景与伦理:自动驾驶专题
+ 第6次 数据与伦理:隐私保护专题
+ 第7次 算法与伦理:“人工智能+”专题
+ 第8次 算力与伦理:机器换人专题
+ 安全部分
+ 包括概论、介绍对抗样本攻击与 AI 隐私相关攻击

安全部分内容与 IS 专业[人工智能安全](https://zju-turing.github.io/TuringCourses/major_mandatory/ai_security/)课程完全相同。<del>估计学院没想到会有人把这俩门课都选了……</del>

## 授课老师

伦理部分由马院的潘恩荣老师授课。根据查老师以及笔者本人体验, 大家对他评价普遍较低。
<!-- 别听 -->

安全部分由计院的杨子祺老师授课。杨老师还是很不错的, 授课比较清晰, 他本人也是从事 AI 安全方面研究。

## 分数构成
课堂表现占 20\% , 作业占 80\%。作业仅包括一篇伦理论文和一篇安全论文, 由小组组队完成。2-5人自由组队。
课堂表现包括
+ 潘老师上课点名,
+ 关于 AI 论题的一次辩论。两个小组组成辩论组, 自行寻找辩题。
+ 《人工智能伦理》网课, 以看完网课占一半考勤分数。

2023-24 春夏选题如下:
+ 伦理方面
+ 根据辩论内容, 提出一个伦理问题的应对方案, 可用课程中的理论与方法进行分析, 从技术角度提出应对伦理问题的思路。
+ 安全方面
+ 完成一份对抗样本攻防或者人工智能数据隐私保护的调研报告。
+ CV、NLP、语音、LLM 方面的对抗样本生成、检测、防御等均可。 参考主题包括鲁棒性研究、对抗性训练、大模型越狱攻击等。
+ 数据窃取、隐私防御等隐私保护方向均可。参考主题: ML 模型隐私攻防、大模型数据隐私推断。
至于报告内容、结构, 会给出具体的模板。

## 学习建议
本课程有一种 "思政课和专业课" 强行拼成一节课的割裂感, 给笔者的体验较差, 尤其伦理部分。对杨老师安全部分若有感兴趣的同学不妨一听。建议水过。
5 changes: 4 additions & 1 deletion docs/major_mandatory/computer_vision/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,10 @@

## 推荐书目

关于三维重建,因为这是这门课的一个重点,推荐 [Richard Hartley 和 Andrew Zisserman 的 *Multiple View Geometry in Computer Vision*](https://www.cambridge.org/core/books/multiple-view-geometry-in-computer-vision/0B6F289C78B2B23F596CAA76D3D43F7A) ,这本书中的推导可能比课上的更加简单明快,感兴趣的同学也可以翻阅。
+ Richard Hartley 和 Andrew Zisserman 的 [ *Multiple View Geometry in Computer Vision*](https://www.cambridge.org/core/books/multiple-view-geometry-in-computer-vision/0B6F289C78B2B23F596CAA76D3D43F7A) , 从射影几何角度出发, 极其经典, 但较难读。
+ 三维重建是本课程的重点, 可选读高翔《视觉 SLAM 十四讲》部分章节。
<!-- ,这本书中的推导可能比课上的更加简单明快,感兴趣的同学也可以翻阅。 -->
<!-- 我对上一行的内容有异议 -->

## 参考笔记

Expand Down
Loading

0 comments on commit 5cc6211

Please sign in to comment.