李宏毅老师2020机器学习(深度学习)——知识点总结篇(41-更新)
李宏毅老师2020机器学习课程主页:
http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML20.html
视频链接地址:
https://www.bilibili.com/video/BV11E41137sE?p=1
目录
注:本知识点仅供大家参考和快速了解这门课,每一节均为笔者听后仅总结细节和重点(而无基础知识),李宏毅老师的课程非常好,详细学习的读者还是请自行一一观看学习。作业代码也在持续整理。
以下顺序均参照视频顺序,无缺无改
41 Adversarial Attack(助教)
41.1 Images
One pixel attack
One pixel attack只能选择图中1pixel进行攻击,该选择哪一个pixel以及改变的值应该为多少?
Differential Evolution:每次迭代都会产生一组小孩,小孩在下一个迭代中会变成父母并再产生一组小孩,如果小孩比父母好就留下来,否则留父母。这些小孩在产生时是有随机性的,会找到一个比较好的解(并不要求是最好的)。且不需要算梯度。
42 Attacks on Audio
ASR语音辨识与ASV语者辨识
通过FGSM产生杂讯(噪音),并加入到原音讯中,就可以做到模型对语音转文字的不同以及不同的语者判断
Hidden Voice Attack
讲一个指令,做些修改将像一段杂讯
Hidden Voice Attack与之前的攻击不同,它并不希望被攻击的目标错误,比如将猫的图片辨识成狗,反而希望辨识成正确答案越好。它所攻击的是Signal Processing,将原本的“Hi Siri”语音修改成一段人类无法听懂的语音,但对被攻击模型来说还是“Hi Siri”。
43 HW6
作业6,FGSM攻击图片,已整理完
44 Network Compression-1
如何使得network嵌入到各种设备上?
Network Pruning
Network Pruning的假设是我们训练出来的network大多数参数都是没用的,over-parameterized。故基本思想就是减少无用参数。
45 Network Compression-2
Why Pruning
Why Pruning?为何不直接训练一个参数少的小模型,却要先训练大模型再减参得到小模型
常见的说法是小模型更难训练,一个可能的原因是一个大的模型更容易优化
大乐透假说,基本想法:大模型更容易训练是因为大模型中只要有一个subset“小模型”训练的好,大模型就完成训练了。而直接用裁剪完成的小模型进行训练却并不能得到相同的结果。但是如果用原本大模型的随机参数来初始化小模型是能够得到好的结果的。
与大乐透想法正好矛盾的一篇论文是,真正的随机小模型也能得到很好的结果。
实作的方法并不是真正地prun掉无用参数,因为这样会改变神经网络各层的输入和输出的结构,无法GPU加速。实作中都是将无用参数用0代替,并非真正地去除
46 Network Compression-3
Knowledge Distillation
用小模型不是跟真正的数据去学习,而是去模仿大的模型的预测结果。和大模型去学,是能够学到更多的讯息的。
Temperature
为了让大模型更容易被小模型学到,故常在最后的softmax加Temperature