全文总结于哔哩大学的视频:李宏毅2020机器学习深度学习(完整版)国语
2020版课后作业范例和作业说明在github上:点击此处
李宏毅上传了2020版本的机器学习视频和吴恩达的CS229机器学习相比,中文版本的机器学习显得亲民了许多,李宏毅的机器学习是英文的ppt+中文讲解,非常有利于大家入门。吴恩达的CS229中偏向于传统机器学习(线性回归、逻辑回归、Naive Bayes、决策树、支持向量机等),李宏毅2020版本的机器学习中除了最前面的回归、分类,后面更多篇幅涉及卷积神经网络(CNN)、循环神经网络(RNN)、强化学习(RL)等深度学习的内容。
博客内容多为转载。结合哔哩大学的视频观看效果更佳。
文章图片
文章目录
-
- Why CNN for image?
-
- property1:对于整张图来说,一些局部是很小的
- property2:相同的部分会出现在不同的图片中
- property3:对一个图片二次抽样不会影响人对这个图片的理解
- The whole CNN
-
- 三条性质及其对应的实现方法
- CNN-Convolution
-
- 体现property1
- 体现property2
- CNN - Colorful image
-
- Convolution vs Fully Connected
- 局部感知+权值共享
- CNN - Max Pooling
- Flatten
- CNN in Keras
- What does CNN learn?
- Deep Dream
- Deep Style
- More Application: Playing Go
- Why CNN for playing Go?
- 当把CNN用在一个新的application上的时候,要思考这个application的特性是什么,由此来设计CNN的结构
-
- More Application: speech
- More Application:Text
- To learn more
Why CNN for image? 每一个neural代表一个最基本的分类器,使用全连接网络的话,100x100的图片,拉成向量是1001003个像素,但是图片要是30000x30000呢?这样的话,会需要很多很多的参数。。。
CNN的作用就是简化这个神经网络的结构,去掉一些用不到的weight。事实上,CNN模型比DNN还简单,把原来全连接网络中的layer里的一些参数去掉就得到CNN。
![深度学习|【李宏毅机器学习】Convolutiona Neural Network 卷积神经网络(p17) 学习笔记](https://img.it610.com/image/info8/a042643d2f6d4775b816d296d91c5f6a.jpg)
文章图片
property1:对于整张图来说,一些局部是很小的
为什么可以像上面说的那么做呢
一个neural并不需要取观察整张图片,而是只需要观察一个小部分即可,所以,一个neural只需要连接到一个小块的区域就好,不需要连接到整张图,这样参数更少。
![深度学习|【李宏毅机器学习】Convolutiona Neural Network 卷积神经网络(p17) 学习笔记](https://img.it610.com/image/info8/899b87ec17ed4bfd831e95850c1a4ce8.jpg)
文章图片
property2:相同的部分会出现在不同的图片中
下图中,由于侦测鸟嘴的事情是相同的,所以可以共用一套参数,减少用到的参数的量
![深度学习|【李宏毅机器学习】Convolutiona Neural Network 卷积神经网络(p17) 学习笔记](https://img.it610.com/image/info8/7027d6c3b61b4adab3630c6f99ed4235.jpg)
文章图片
property3:对一个图片二次抽样不会影响人对这个图片的理解
例如:去除奇数行偶数列的像素之后,图片大小变成了之前的十分之一大小,不会影响人对这个图片的理解。
所以我们可以把图片变小,用更少的参数来处理图片。
![深度学习|【李宏毅机器学习】Convolutiona Neural Network 卷积神经网络(p17) 学习笔记](https://img.it610.com/image/info8/b2cf3c7d6dbf40f69f71373708fedf2f.jpg)
文章图片
The whole CNN
![深度学习|【李宏毅机器学习】Convolutiona Neural Network 卷积神经网络(p17) 学习笔记](https://img.it610.com/image/info8/36712faf3cb046df87598b5b03bbddde.jpg)
文章图片
三条性质及其对应的实现方法
![深度学习|【李宏毅机器学习】Convolutiona Neural Network 卷积神经网络(p17) 学习笔记](https://img.it610.com/image/info8/92f594fb6ab24c599ec5749eea9d7ea3.jpg)
文章图片
CNN-Convolution 体现property1
每个filter中的值都是从训练数据中学出来的,而不是认为设计的。
![深度学习|【李宏毅机器学习】Convolutiona Neural Network 卷积神经网络(p17) 学习笔记](https://img.it610.com/image/info8/48ee3bb5c7f04fb296a1c082587d963a.jpg)
文章图片
将filter放在左上角,将image和filter做内积,并且不断按照stride步长移动,不断计算,直到移动到右下角。
![深度学习|【李宏毅机器学习】Convolutiona Neural Network 卷积神经网络(p17) 学习笔记](https://img.it610.com/image/info8/ac2bfe3e528c43f28591476df05d12c4.jpg)
文章图片
体现property2
filter斜对角都是1,1,1,作用就是检测数据中有没有1,1,1。
不论是左上角还是右下角,只要用一个filter即可检测出来,体现property2。
![深度学习|【李宏毅机器学习】Convolutiona Neural Network 卷积神经网络(p17) 学习笔记](https://img.it610.com/image/info8/dbe18684b72e4ce39371d1e7c0105d73.jpg)
文章图片
用另外一个filter得到蓝色的矩阵,红色和蓝色的矩阵结合起来,叫做feature map,有几个filter就会有多少个image。
![深度学习|【李宏毅机器学习】Convolutiona Neural Network 卷积神经网络(p17) 学习笔记](https://img.it610.com/image/info8/f96da18c04274562833d3ec075a9abe1.jpg)
文章图片
CNN - Colorful image 彩色图片,分成好几个矩阵叠加在一起,处理彩色图片的filter也得是立方体。
![深度学习|【李宏毅机器学习】Convolutiona Neural Network 卷积神经网络(p17) 学习笔记](https://img.it610.com/image/info8/b4aeb8edaad94289b4ff95eefa8633aa.jpg)
文章图片
卷积的值大意味着和patten相似所以是featureConvolution vs Fully Connected
Convolution 其实是Fully Connected layer拿掉一些weight 的结果
![深度学习|【李宏毅机器学习】Convolutiona Neural Network 卷积神经网络(p17) 学习笔记](https://img.it610.com/image/info8/e4fdf812db9e42f886fb31123b48147c.jpg)
文章图片
例如,下图例子有一个neutral的weight只连接到1,2,3,7,8,9,13,14,15,其他的weight都没有。而这几个weight恰好就是filter里的参数。
![深度学习|【李宏毅机器学习】Convolutiona Neural Network 卷积神经网络(p17) 学习笔记](https://img.it610.com/image/info8/1c4f7622aef848e5823b49748163d539.jpg)
文章图片
较少的参数!!!
![深度学习|【李宏毅机器学习】Convolutiona Neural Network 卷积神经网络(p17) 学习笔记](https://img.it610.com/image/info8/86f3a1d039cb4169a0bc37c8400e15da.jpg)
文章图片
局部感知+权值共享
本来在fully connected layer中,两个neural有着各自独立的weight,但是在做convolution的时候,首先把每个neural前面连接的weight减少了,切让两个neural共用同一组weight,weight的sharing
![深度学习|【李宏毅机器学习】Convolutiona Neural Network 卷积神经网络(p17) 学习笔记](https://img.it610.com/image/info8/094b9abeeae843569acef50dbf08116f.jpg)
文章图片
CNN - Max Pooling
![深度学习|【李宏毅机器学习】Convolutiona Neural Network 卷积神经网络(p17) 学习笔记](https://img.it610.com/image/info8/1a5fdcc32c2c4effba54a318cc88c81d.jpg)
文章图片
保留最大的
![深度学习|【李宏毅机器学习】Convolutiona Neural Network 卷积神经网络(p17) 学习笔记](https://img.it610.com/image/info8/7b8eb96bfe2847ed9d444e735d03e5ec.jpg)
文章图片
![深度学习|【李宏毅机器学习】Convolutiona Neural Network 卷积神经网络(p17) 学习笔记](https://img.it610.com/image/info8/fd51f754d7cf4cb19ccf03c953322d2d.jpg)
文章图片
重复多次,可以得到一个新image
这个新的image比原来的小,不断重复,,,
![深度学习|【李宏毅机器学习】Convolutiona Neural Network 卷积神经网络(p17) 学习笔记](https://img.it610.com/image/info8/f08f2b13fa364bfe87ce1c8d2bc600e7.jpg)
文章图片
Flatten
![深度学习|【李宏毅机器学习】Convolutiona Neural Network 卷积神经网络(p17) 学习笔记](https://img.it610.com/image/info8/37305e08c88649f4ac9f21ce85d368ab.jpg)
文章图片
拉直
![深度学习|【李宏毅机器学习】Convolutiona Neural Network 卷积神经网络(p17) 学习笔记](https://img.it610.com/image/info8/f119a2804b0943798182e1775161426c.jpg)
文章图片
CNN in Keras
![深度学习|【李宏毅机器学习】Convolutiona Neural Network 卷积神经网络(p17) 学习笔记](https://img.it610.com/image/info8/bc2d057596d6489c8e6803f020439e6e.jpg)
文章图片
这里的50要注意一下,就是25个channel分别和50个filter进行内积,然后再相加
![深度学习|【李宏毅机器学习】Convolutiona Neural Network 卷积神经网络(p17) 学习笔记](https://img.it610.com/image/info8/e3703eb8363b4b08b002c8e21e2c2f9c.jpg)
文章图片
![深度学习|【李宏毅机器学习】Convolutiona Neural Network 卷积神经网络(p17) 学习笔记](https://img.it610.com/image/info8/1ae8d1e88384475a9dc44b4f8a865f38.jpg)
文章图片
What does CNN learn?
![深度学习|【李宏毅机器学习】Convolutiona Neural Network 卷积神经网络(p17) 学习笔记](https://img.it610.com/image/info8/58b104477e8f4bab82c36818b459db1d.jpg)
文章图片
- 每个滤波器学习出来的特征不同吧
- 网络参数固定,去计算最优的输入图像
- filter的参数都是学好的,然后最大化activation来找可以最大程度激活filter的输入图案
- 参数是不变的,只有改变输入的值
![深度学习|【李宏毅机器学习】Convolutiona Neural Network 卷积神经网络(p17) 学习笔记](https://img.it610.com/image/info8/e84294e8074e4b4685d18f6fd66138c8.jpg)
文章图片
![深度学习|【李宏毅机器学习】Convolutiona Neural Network 卷积神经网络(p17) 学习笔记](https://img.it610.com/image/info8/176a75c0068b433bad56c96937817218.jpg)
文章图片
![深度学习|【李宏毅机器学习】Convolutiona Neural Network 卷积神经网络(p17) 学习笔记](https://img.it610.com/image/info8/a1f40396817747099d7147b6afd604fc.jpg)
文章图片
![深度学习|【李宏毅机器学习】Convolutiona Neural Network 卷积神经网络(p17) 学习笔记](https://img.it610.com/image/info8/3670aaff4a7c4cbd8320757d6b6b75f8.jpg)
文章图片
Deep Dream CNN夸大他看到的东西
![深度学习|【李宏毅机器学习】Convolutiona Neural Network 卷积神经网络(p17) 学习笔记](https://img.it610.com/image/info8/129bc6725cca4e88b87828f097b598ed.jpg)
文章图片
![深度学习|【李宏毅机器学习】Convolutiona Neural Network 卷积神经网络(p17) 学习笔记](https://img.it610.com/image/info8/b4fc3b3193d84f4e8d39ed777db1c967.jpg)
文章图片
Deep Style
![深度学习|【李宏毅机器学习】Convolutiona Neural Network 卷积神经网络(p17) 学习笔记](https://img.it610.com/image/info8/aab2bbb7fa72452c8336957508f5ad5f.jpg)
文章图片
![深度学习|【李宏毅机器学习】Convolutiona Neural Network 卷积神经网络(p17) 学习笔记](https://img.it610.com/image/info8/fe6aae6e4bc84b0fb2d121a3665b8846.jpg)
文章图片
![深度学习|【李宏毅机器学习】Convolutiona Neural Network 卷积神经网络(p17) 学习笔记](https://img.it610.com/image/info8/a4f7a4b3cf5a46ce819c40dd8b7e9a86.jpg)
文章图片
More Application: Playing Go
![深度学习|【李宏毅机器学习】Convolutiona Neural Network 卷积神经网络(p17) 学习笔记](https://img.it610.com/image/info8/94ee36294ab34799a6d7aacce8f3982e.jpg)
文章图片
![深度学习|【李宏毅机器学习】Convolutiona Neural Network 卷积神经网络(p17) 学习笔记](https://img.it610.com/image/info8/3bd968f6245f4751a5c262f46d420b5f.jpg)
文章图片
![深度学习|【李宏毅机器学习】Convolutiona Neural Network 卷积神经网络(p17) 学习笔记](https://img.it610.com/image/info8/cae8ae6db33f4b878a90343c45257f3b.jpg)
文章图片
![深度学习|【李宏毅机器学习】Convolutiona Neural Network 卷积神经网络(p17) 学习笔记](https://img.it610.com/image/info8/e1a44fd93ed44f7493f56fc332bde28c.jpg)
文章图片
Why CNN for playing Go?
![深度学习|【李宏毅机器学习】Convolutiona Neural Network 卷积神经网络(p17) 学习笔记](https://img.it610.com/image/info8/171cf9a967b143c0abfe5c2338e27165.jpg)
文章图片
当把CNN用在一个新的application上的时候,要思考这个application的特性是什么,由此来设计CNN的结构 More Application: speech
Spectrogram:声谱图
在时间方向上移动的话意义不大,而是在频率方向上移动才有意义。
eg:男女说你好,可能pattern是一样的,只是频率不一样。
![深度学习|【李宏毅机器学习】Convolutiona Neural Network 卷积神经网络(p17) 学习笔记](https://img.it610.com/image/info8/e452d2a5bd24456aa7b6c57e6de4d572.jpg)
文章图片
More Application:Text
input:word sequence
output:积极/中性/消极
filter沿着句子中词的方向移动,相当于在sentence/时间序列上移动,而不是在embedding dimension上移动,因为每一个dimension的含义是独立的。
![深度学习|【李宏毅机器学习】Convolutiona Neural Network 卷积神经网络(p17) 学习笔记](https://img.it610.com/image/info8/5610ac46fbc14cffb7aa29dbcb7e7fee.jpg)
文章图片
To learn more 【深度学习|【李宏毅机器学习】Convolutiona Neural Network 卷积神经网络(p17) 学习笔记】
![深度学习|【李宏毅机器学习】Convolutiona Neural Network 卷积神经网络(p17) 学习笔记](https://img.it610.com/image/info8/433ab4202b4d49cfb9b0576f51e9bee9.jpg)
文章图片
![深度学习|【李宏毅机器学习】Convolutiona Neural Network 卷积神经网络(p17) 学习笔记](https://img.it610.com/image/info8/76fe56aa81e048468f208edc394ab729.jpg)
文章图片
推荐阅读
- 机器学习|【学习笔记】李宏毅2021春机器学习课程第三节(卷积神经网络(CNN))
- 李宏毅2022ML学习笔记|李宏毅老师2022机器学习课程笔记 01 Introduction of Deep Learning
- 机器学习|联邦学习后门攻击总结(2019-2022)
- 李宏毅机器学习笔记|李宏毅机器学习Task06——卷积神经网络CNN
- 深度学习|Tensorflow2.0 U-Net医学图像分割(胸部X光图像分割)
- 深度学习|将多类分割灰度标签图转RGB三通道图
- 深度学习|DSC和HD医学图像分割评价指标
- 深度学习|TransUnet官方代码测试自己的数据集(已训练完毕)
- 计算机视觉|TransUnet官方代码训练自己数据集(彩色RGB3通道图像的分割)