From 3a29e1efb28e0a386e876101d3935ca7faa7cd87 Mon Sep 17 00:00:00 2001 From: pc-dell-liu <2904500451@qq.com> Date: Tue, 6 Nov 2018 22:43:31 +0800 Subject: [PATCH 01/26] =?UTF-8?q?ch12=E6=89=A9=E5=85=85=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../第十二章_网络搭建及训练.md | 61 ++++++++++++++----- 1 file changed, 45 insertions(+), 16 deletions(-) diff --git a/ch12_网络搭建及训练/第十二章_网络搭建及训练.md b/ch12_网络搭建及训练/第十二章_网络搭建及训练.md index 7a60ce7..06cfca4 100644 --- a/ch12_网络搭建及训练/第十二章_网络搭建及训练.md +++ b/ch12_网络搭建及训练/第十二章_网络搭建及训练.md @@ -1,24 +1,30 @@ -10.1 网络搭建有什么原则? -10.1.1新手原则。 +###10.1 网络搭建有什么原则? + +####10.1.1新手原则。 + 刚入门的新手不建议直接上来就开始搭建网络模型。比较建议的学习顺序如下: - 1.了解神经网络工作原理,熟悉基本概念及术语。 - 2.阅读经典网络模型论文+实现源码(深度学习框架视自己情况而定)。 - 3.找数据集动手跑一个网络,可以尝试更改已有的网络模型结构。 - 4.根据自己的项目需要设计网络。 -10.1.2深度优先原则。 -通常增加网络深度可以提高准确率,但同时会牺牲一些速度和内存。 +####10.1.2深度优先原则。 + +通常增加网络深度可以提高准确率,但同时会牺牲一些速度和内存。但深度不是盲目堆起来的,一定要在浅层网络有一定效果的基础上,增加深度。深度增加是为了增加模型的准确率,如果浅层都学不到东西,深了也没效果。 + +####10.1.3卷积核size一般为奇数。 -10.1.3卷积核size一般为奇数。 卷积核为奇数有以下好处: - 1 保证锚点刚好在中间,方便以 central pixel为标准进行滑动卷积,避免了位置信息发生偏移 。 - 2 保证在填充(Padding)时,在图像之间添加额外的零层,图像的两边仍然对称。 -10.1.4卷积核不是越大越好。 +####10.1.4卷积核不是越大越好。 + AlexNet中用到了一些非常大的卷积核,比如11×11、5×5卷积核,之前人们的观念是,卷积核越大,感受野越大,看到的图片信息越多,因此获得的特征越好。但是大的卷积核会导致计算量的暴增,不利于模型深度的增加,计算性能也会降低。于是在VGG、Inception网络中,利用2个3×3卷积核的组合比1个5×5卷积核的效果更佳,同时参数量(3×3×2+1=19<26=5×5×1+1)被降低,因此后来3×3卷积核被广泛应用在各种模型中。 -10.2 有哪些经典的网络模型值得我们去学习的? +###10.2 有哪些经典的网络模型值得我们去学习的? + 提起经典的网络模型就不得不提起计算机视觉领域的经典比赛:ILSVRC .其全称是 ImageNet Large Scale Visual Recognition Challenge.正是因为ILSVRC 2012挑战赛上的AlexNet横空出世,使得全球范围内掀起了一波深度学习热潮。这一年也被称作“深度学习元年”。而在历年ILSVRC比赛中每次刷新比赛记录的那些神经网络也成为了人们心中的经典,成为学术界与工业届竞相学习与复现的对象,并在此基础上展开新的研究。 @@ -40,7 +46,7 @@ AlexNet中用到了一些非常大的卷积核,比如11×11、5×5卷积核, >- 2 VGGNet 论文:[Very Deep Convolutional Networks for Large-Scale Image Recognition](https://arxiv.org/abs/1409.1556) -代码实现:[tensorflow]https://github.com/tensorflow/tensorflow/blob/361a82d73a50a800510674b3aaa20e4845e56434/tensorflow/contrib/slim/python/slim/nets/vgg.py) +代码实现:[tensorflow](https://github.com/tensorflow/tensorflow/blob/361a82d73a50a800510674b3aaa20e4845e56434/tensorflow/contrib/slim/python/slim/nets/vgg.py) 主要特点: >> - 1.网络结构更深。 >> - 2.普遍使用小卷积核。 @@ -64,35 +70,58 @@ AlexNet中用到了一些非常大的卷积核,比如11×11、5×5卷积核, >> 提出了feature recalibration,通过引入 attention 重新加权,可以得到抑制无效特征,提升有效特征的权重,并很容易地和现有网络结合,提升现有网络性能,而计算量不会增加太多。 **CV领域网络结构演进历程:** -![CV领域网络结构演进历程](http://wx2.sinaimg.cn/mw690/005B3ViFly1fwthh0jw58j30q80aldgw.jpg) +![CV领域网络结构演进历程](./img/ch12/网络结构演进.png) **ILSVRC挑战赛历年冠军:** -![ILSVRC挑战赛历年冠军](http://wx4.sinaimg.cn/mw690/005B3ViFly1fwswhzquw2j31810or78b.jpg) +![ILSVRC挑战赛历年冠军](./img/ch12/历年冠军.png) 此后,ILSVRC挑战赛的名次一直是衡量一个研究机构或企业技术水平的重要标尺。 ILSVRC 2017 已是最后一届举办.2018年起,将由WebVision竞赛(Challenge on Visual Understanding by Learning from Web Data)来接棒。因此,即使ILSVRC挑战赛停办了,但其对深度学习的深远影响和巨大贡献,将永载史册。 -10.3 网络训练有哪些技巧吗? -10.3.1.合适的数据集。 +###10.3 网络训练有哪些技巧吗? + +####10.3.1.合适的数据集。 + - 1 没有明显脏数据(可以极大避免Loss输出为NaN)。 - 2 样本数据分布均匀。 -10.3.2.合适的预处理方法。 +####10.3.2.合适的预处理方法。 + 关于数据预处理,在Batch Normalization未出现之前预处理的主要做法是减去均值,然后除去方差。在Batch Normalization出现之后,减均值除方差的做法已经没有必要了。对应的预处理方法主要是数据筛查、数据增强等。 -10.3.3.网络的初始化。 +####10.3.3.网络的初始化。 + 网络初始化最粗暴的做法是参数赋值为全0,这是绝对不可取的。因为如果所有的参数都是0,那么所有神经元的输出都将是相同的,那在back propagation的时候同一层内所有神经元的行为也是相同的,这可能会直接导致模型失效,无法收敛。吴恩达视频中介绍的方法是将网络权重初始化均值为0、方差为1符合的正态分布的随机数据。 -10.3.4.小规模数据试练。 +####10.3.4.小规模数据试练。 + 在正式开始训练之前,可以先用小规模数据进行试练。原因如下: - 1 可以验证自己的训练流程对否。 - 2 可以观察收敛速度,帮助调整学习速率。 - 3 查看GPU显存占用情况,最大化batch_size(前提是进行了batch normalization,只要显卡不爆,尽量挑大的)。 -10.3.5.设置合理Learning Rate。 +####10.3.5.设置合理Learning Rate。 + - 1 太大。Loss爆炸、输出NaN等。 - 2 太小。收敛速度过慢,训练时长大大延长。 - 3 可变的学习速率。比如当输出准确率到达某个阈值后,可以让Learning Rate减半继续训练。 +####10.3.6.损失函数 + +损失函数主要分为两大类:分类损失和回归损失 +>1.回归损失: +>> - 1 均方误差(MSE 二次损失 L2损失) +它是我们的目标变量与预测值变量差值平方。 +>> - 2 平均绝对误差(MAE L1损失) +它是我们的目标变量与预测值变量差值绝对值。 +>关于MSE与MAE的比较。MSE更容易解决问题,但是MAE对于异常值更加鲁棒。更多关于MAE和MSE的性能,可以参考[L1vs.L2 Loss Function](https://rishy.github.io/ml/2015/07/28/l1-vs-l2-loss/) + + +>2.分类损失: +>> - 1 交叉熵损失函数。 +是目前神经网络中最常用的分类目标损失函数。 +>> - 2 合页损失函数 +>>合页损失函数广泛在支持向量机中使用,有时也会在损失函数中使用。缺点:合页损失函数是对错误越大的样本施以更严重的惩罚,但是这样会导致损失函数对噪声敏感。 + From b47491ab8e46b20301ce5e06aab2f5e6d460c57d Mon Sep 17 00:00:00 2001 From: pc-dell-liu <2904500451@qq.com> Date: Tue, 6 Nov 2018 22:53:41 +0800 Subject: [PATCH 02/26] =?UTF-8?q?=E6=A0=BC=E5=BC=8F=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../第十二章_网络搭建及训练.md | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/ch12_网络搭建及训练/第十二章_网络搭建及训练.md b/ch12_网络搭建及训练/第十二章_网络搭建及训练.md index 06cfca4..e8ab814 100644 --- a/ch12_网络搭建及训练/第十二章_网络搭建及训练.md +++ b/ch12_网络搭建及训练/第十二章_网络搭建及训练.md @@ -1,6 +1,6 @@ -###10.1 网络搭建有什么原则? +### 10.1 网络搭建有什么原则? -####10.1.1新手原则。 +#### 10.1.1新手原则。 刚入门的新手不建议直接上来就开始搭建网络模型。比较建议的学习顺序如下: - 1.了解神经网络工作原理,熟悉基本概念及术语。 @@ -8,22 +8,22 @@ - 3.找数据集动手跑一个网络,可以尝试更改已有的网络模型结构。 - 4.根据自己的项目需要设计网络。 -####10.1.2深度优先原则。 +#### 10.1.2深度优先原则。 通常增加网络深度可以提高准确率,但同时会牺牲一些速度和内存。但深度不是盲目堆起来的,一定要在浅层网络有一定效果的基础上,增加深度。深度增加是为了增加模型的准确率,如果浅层都学不到东西,深了也没效果。 -####10.1.3卷积核size一般为奇数。 +#### 10.1.3卷积核size一般为奇数。 卷积核为奇数有以下好处: - 1 保证锚点刚好在中间,方便以 central pixel为标准进行滑动卷积,避免了位置信息发生偏移 。 - 2 保证在填充(Padding)时,在图像之间添加额外的零层,图像的两边仍然对称。 -####10.1.4卷积核不是越大越好。 +#### 10.1.4卷积核不是越大越好。 AlexNet中用到了一些非常大的卷积核,比如11×11、5×5卷积核,之前人们的观念是,卷积核越大,感受野越大,看到的图片信息越多,因此获得的特征越好。但是大的卷积核会导致计算量的暴增,不利于模型深度的增加,计算性能也会降低。于是在VGG、Inception网络中,利用2个3×3卷积核的组合比1个5×5卷积核的效果更佳,同时参数量(3×3×2+1=19<26=5×5×1+1)被降低,因此后来3×3卷积核被广泛应用在各种模型中。 -###10.2 有哪些经典的网络模型值得我们去学习的? +### 10.2 有哪些经典的网络模型值得我们去学习的? 提起经典的网络模型就不得不提起计算机视觉领域的经典比赛:ILSVRC .其全称是 ImageNet Large Scale Visual Recognition Challenge.正是因为ILSVRC 2012挑战赛上的AlexNet横空出世,使得全球范围内掀起了一波深度学习热潮。这一年也被称作“深度学习元年”。而在历年ILSVRC比赛中每次刷新比赛记录的那些神经网络也成为了人们心中的经典,成为学术界与工业届竞相学习与复现的对象,并在此基础上展开新的研究。 @@ -79,35 +79,35 @@ AlexNet中用到了一些非常大的卷积核,比如11×11、5×5卷积核, 此后,ILSVRC挑战赛的名次一直是衡量一个研究机构或企业技术水平的重要标尺。 ILSVRC 2017 已是最后一届举办.2018年起,将由WebVision竞赛(Challenge on Visual Understanding by Learning from Web Data)来接棒。因此,即使ILSVRC挑战赛停办了,但其对深度学习的深远影响和巨大贡献,将永载史册。 -###10.3 网络训练有哪些技巧吗? +### 10.3 网络训练有哪些技巧吗? -####10.3.1.合适的数据集。 +#### 10.3.1.合适的数据集。 - 1 没有明显脏数据(可以极大避免Loss输出为NaN)。 - 2 样本数据分布均匀。 -####10.3.2.合适的预处理方法。 +#### 10.3.2.合适的预处理方法。 关于数据预处理,在Batch Normalization未出现之前预处理的主要做法是减去均值,然后除去方差。在Batch Normalization出现之后,减均值除方差的做法已经没有必要了。对应的预处理方法主要是数据筛查、数据增强等。 -####10.3.3.网络的初始化。 +#### 10.3.3.网络的初始化。 网络初始化最粗暴的做法是参数赋值为全0,这是绝对不可取的。因为如果所有的参数都是0,那么所有神经元的输出都将是相同的,那在back propagation的时候同一层内所有神经元的行为也是相同的,这可能会直接导致模型失效,无法收敛。吴恩达视频中介绍的方法是将网络权重初始化均值为0、方差为1符合的正态分布的随机数据。 -####10.3.4.小规模数据试练。 +#### 10.3.4.小规模数据试练。 在正式开始训练之前,可以先用小规模数据进行试练。原因如下: - 1 可以验证自己的训练流程对否。 - 2 可以观察收敛速度,帮助调整学习速率。 - 3 查看GPU显存占用情况,最大化batch_size(前提是进行了batch normalization,只要显卡不爆,尽量挑大的)。 -####10.3.5.设置合理Learning Rate。 +#### 10.3.5.设置合理Learning Rate。 - 1 太大。Loss爆炸、输出NaN等。 - 2 太小。收敛速度过慢,训练时长大大延长。 - 3 可变的学习速率。比如当输出准确率到达某个阈值后,可以让Learning Rate减半继续训练。 -####10.3.6.损失函数 +#### 10.3.6.损失函数 损失函数主要分为两大类:分类损失和回归损失 >1.回归损失: From 474bedd8dfcef19c718714bc7a39f80dfe41d826 Mon Sep 17 00:00:00 2001 From: pc-dell-liu <2904500451@qq.com> Date: Tue, 6 Nov 2018 22:57:47 +0800 Subject: [PATCH 03/26] =?UTF-8?q?=E6=A0=BC=E5=BC=8F=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../第十二章_网络搭建及训练.md | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/ch12_网络搭建及训练/第十二章_网络搭建及训练.md b/ch12_网络搭建及训练/第十二章_网络搭建及训练.md index e8ab814..0cee9a6 100644 --- a/ch12_网络搭建及训练/第十二章_网络搭建及训练.md +++ b/ch12_网络搭建及训练/第十二章_网络搭建及训练.md @@ -1,6 +1,7 @@ -### 10.1 网络搭建有什么原则? +# 第十二章 网络搭建及训练。 +## 10.1 网络搭建有什么原则? -#### 10.1.1新手原则。 +### 10.1.1新手原则。 刚入门的新手不建议直接上来就开始搭建网络模型。比较建议的学习顺序如下: - 1.了解神经网络工作原理,熟悉基本概念及术语。 @@ -8,22 +9,22 @@ - 3.找数据集动手跑一个网络,可以尝试更改已有的网络模型结构。 - 4.根据自己的项目需要设计网络。 -#### 10.1.2深度优先原则。 +### 10.1.2深度优先原则。 通常增加网络深度可以提高准确率,但同时会牺牲一些速度和内存。但深度不是盲目堆起来的,一定要在浅层网络有一定效果的基础上,增加深度。深度增加是为了增加模型的准确率,如果浅层都学不到东西,深了也没效果。 -#### 10.1.3卷积核size一般为奇数。 +### 10.1.3卷积核size一般为奇数。 卷积核为奇数有以下好处: - 1 保证锚点刚好在中间,方便以 central pixel为标准进行滑动卷积,避免了位置信息发生偏移 。 - 2 保证在填充(Padding)时,在图像之间添加额外的零层,图像的两边仍然对称。 -#### 10.1.4卷积核不是越大越好。 +### 10.1.4卷积核不是越大越好。 AlexNet中用到了一些非常大的卷积核,比如11×11、5×5卷积核,之前人们的观念是,卷积核越大,感受野越大,看到的图片信息越多,因此获得的特征越好。但是大的卷积核会导致计算量的暴增,不利于模型深度的增加,计算性能也会降低。于是在VGG、Inception网络中,利用2个3×3卷积核的组合比1个5×5卷积核的效果更佳,同时参数量(3×3×2+1=19<26=5×5×1+1)被降低,因此后来3×3卷积核被广泛应用在各种模型中。 -### 10.2 有哪些经典的网络模型值得我们去学习的? +## 10.2 有哪些经典的网络模型值得我们去学习的? 提起经典的网络模型就不得不提起计算机视觉领域的经典比赛:ILSVRC .其全称是 ImageNet Large Scale Visual Recognition Challenge.正是因为ILSVRC 2012挑战赛上的AlexNet横空出世,使得全球范围内掀起了一波深度学习热潮。这一年也被称作“深度学习元年”。而在历年ILSVRC比赛中每次刷新比赛记录的那些神经网络也成为了人们心中的经典,成为学术界与工业届竞相学习与复现的对象,并在此基础上展开新的研究。 @@ -79,35 +80,35 @@ AlexNet中用到了一些非常大的卷积核,比如11×11、5×5卷积核, 此后,ILSVRC挑战赛的名次一直是衡量一个研究机构或企业技术水平的重要标尺。 ILSVRC 2017 已是最后一届举办.2018年起,将由WebVision竞赛(Challenge on Visual Understanding by Learning from Web Data)来接棒。因此,即使ILSVRC挑战赛停办了,但其对深度学习的深远影响和巨大贡献,将永载史册。 -### 10.3 网络训练有哪些技巧吗? +## 10.3 网络训练有哪些技巧吗? -#### 10.3.1.合适的数据集。 +### 10.3.1.合适的数据集。 - 1 没有明显脏数据(可以极大避免Loss输出为NaN)。 - 2 样本数据分布均匀。 -#### 10.3.2.合适的预处理方法。 +### 10.3.2.合适的预处理方法。 关于数据预处理,在Batch Normalization未出现之前预处理的主要做法是减去均值,然后除去方差。在Batch Normalization出现之后,减均值除方差的做法已经没有必要了。对应的预处理方法主要是数据筛查、数据增强等。 -#### 10.3.3.网络的初始化。 +### 10.3.3.网络的初始化。 网络初始化最粗暴的做法是参数赋值为全0,这是绝对不可取的。因为如果所有的参数都是0,那么所有神经元的输出都将是相同的,那在back propagation的时候同一层内所有神经元的行为也是相同的,这可能会直接导致模型失效,无法收敛。吴恩达视频中介绍的方法是将网络权重初始化均值为0、方差为1符合的正态分布的随机数据。 -#### 10.3.4.小规模数据试练。 +### 10.3.4.小规模数据试练。 在正式开始训练之前,可以先用小规模数据进行试练。原因如下: - 1 可以验证自己的训练流程对否。 - 2 可以观察收敛速度,帮助调整学习速率。 - 3 查看GPU显存占用情况,最大化batch_size(前提是进行了batch normalization,只要显卡不爆,尽量挑大的)。 -#### 10.3.5.设置合理Learning Rate。 +### 10.3.5.设置合理Learning Rate。 - 1 太大。Loss爆炸、输出NaN等。 - 2 太小。收敛速度过慢,训练时长大大延长。 - 3 可变的学习速率。比如当输出准确率到达某个阈值后,可以让Learning Rate减半继续训练。 -#### 10.3.6.损失函数 +### 10.3.6.损失函数 损失函数主要分为两大类:分类损失和回归损失 >1.回归损失: From 9a9fb92421a773c53c1abeb21da62f818ac7f441 Mon Sep 17 00:00:00 2001 From: aa12356jm <624848668@qq.com> Date: Wed, 7 Nov 2018 11:13:05 +0800 Subject: [PATCH 04/26] =?UTF-8?q?Update=20=E7=AC=AC=E5=8D=81=E4=BA=94?= =?UTF-8?q?=E7=AB=A0=5F=E5=BC=82=E6=9E=84=E8=BF=90=E7=AE=97=E3=80=81GPU?= =?UTF-8?q?=E5=8F=8A=E6=A1=86=E6=9E=B6=E9=80=89=E5=9E=8B.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../第十五章_异构运算、GPU及框架选型.md | 72 ++++++++++++++++--- 1 file changed, 61 insertions(+), 11 deletions(-) diff --git a/ch15_GPU和框架选型/第十五章_异构运算、GPU及框架选型.md b/ch15_GPU和框架选型/第十五章_异构运算、GPU及框架选型.md index fefbd09..708f81a 100644 --- a/ch15_GPU和框架选型/第十五章_异构运算、GPU及框架选型.md +++ b/ch15_GPU和框架选型/第十五章_异构运算、GPU及框架选型.md @@ -77,19 +77,64 @@ Nvidia有面向个人用户(例如GTX系列)和企业用户(例如Tesla系 Nvidia一般每一两年发布一次新版本的GPU,例如2017年发布的是GTX 1000系列。每个系列中会有数个不同的型号,分别对应不同的性能。 ## 15.6 软件环境搭建 -深度学习其实就是指基于一套完整的软件系统来构建算法,训练模型,如何搭建一套完整的软件系统,比如操作系统的选择?安装环境中遇到的问题等等,本节做一个简单的总结。 +深度学习其实就是指基于一套完整的软件系统来构建算法,训练模型。如何搭建一套完整的软件系统,比如操作系统的选择?安装环境中遇到的问题等等,本节做一个简单的总结。 ### 15.6.1 操作系统选择? -针对硬件厂商来说,比如NVIDIA,对各个操作系统的支持都是比较好的 ,比如windows10,linux系列,但是由于linux系统对专业技术人员是非常友好的,所以目前几乎所有的深度学习系统构建都是基于linux的,比较常用的系统如ubuuntu系列,centos系列等等。 +针对硬件厂商来说,比如NVIDIA,对各个操作系统的支持都是比较好的 ,比如windows系列,linux系列,但是由于linux系统对专业技术人员比较友好,所以目前几乎所有的深度学习系统构建都是基于linux的,比较常用的系统如ubuuntu系列,centos系列等等。 在构建系统的时候,如何选择合适的操作系是一个刚刚入门深度学习的工作者面临的问题,在这里给出几点建议: -(1)刚刚入门,熟悉windows系统,但是对linux和深度学习都不太熟,这个时候可以基于windows10等系统来做入门学习 -(2)简单了解linux的使用,不太懂深度学习相关知识,可以直接基于linux系统来搭建框架,跑一些开源的项目,慢慢研究 -(3)熟悉linux,毫无疑问,强烈推荐使用linux系统,安装软件简单,工作效率高 +(1)刚刚入门,熟悉windows系统,但是对linux和深度学习都不太熟,这个时候可以基于windows系列系统来做入门学习 +(2)简单了解linux的使用,不太懂深度学习相关知识,可以直接基于linux系统来搭建框架,跑一些开源的项目,慢慢深入研究学习 +(3)熟悉linux,不熟悉深度学习理论,毫无疑问,强烈推荐使用linux系统,安装软件简单,工作效率高 总之一句话,如果不熟悉linux,就先慢慢熟悉,最终还是要回归到linux系统来构建深度学习系统 -### 15.6.2 本机安装还是使用docker? +### 15.6.2 常用基础软件安装? +目前有众多深度学习框架可供大家使用,但是所有框架基本都有一个共同的特点,目前几乎都是基于nvidia的gpu来训练模型,要想更好的使用nvidia的gpu,cuda和cudnn就是必备的软件安装。 +1,安装cuda +上文中有关于cuda的介绍,这里只是简单介绍基于linux系统安装cuda的具体步骤,可以根据自己的需要安装cuda8.0或者cuda9.0,这两种版本的安装步骤基本一致,这里以最常用的ubuntu 16.04 lts版本为例: +(1)官网下载,地址 +cuda8.0 https://developer.nvidia.com/cuda-80-ga2-download-archive +cuda9.0 https://developer.nvidia.com/cuda-90-download-archive +进入网址之后选择对应的系统版本即可,如下图所示: +![cuda8.0](./img/ch15/cuda8.0.png) +![cuda9.0](./img/ch15/cuda9.0.png) -### 15.6.3 GPU驱动问题 +(2)命令行中进入到cuda所在的位置,授予运行权限: +cuda8.0: sudo chmod +x cuda_8.0.61_375.26_linux.run +cuda9.0: sudo chmod +x cuda_9.0.176_384.81_linux.run + +(3)执行命令安装cuda: +cuda8.0: sudo sh cuda_8.0.61_375.26_linux.run +cuda9.0: sudo sh cuda_9.0.176_384.81_linux.run +之后命令之后下面就是安装步骤,cuda8.0和cuda9.0几乎一致: +1) 首先出现cuda软件的版权说明,可以直接按q键跳过阅读 + +2) Do you accept the previously read EULA? +accept/decline/quit: **accept** + +3) Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 384.81? +(y)es/(n)o/(q)uit: **no** + +4) Install the CUDA 9.0 Toolkit? +(y)es/(n)o/(q)uit: **yes** + +5) Enter Toolkit Location + [ default is /usr/local/cuda-9.0 ]: 直接按enter键即可 + +6)Do you want to install a symbolic link at /usr/local/cuda? +(y)es/(n)o/(q)uit: **yes** + +7) Install the CUDA 9.0 Samples? +(y)es/(n)o/(q)uit: **yes** + +以上步骤基本就是cuda的安装步骤。 + + +2,安装cudnn +cudnn是nvidia的专门针对深度学习的加速库。。。 + +### 15.6.3 本机安装还是使用docker? + +### 15.6.4 GPU驱动问题 ## 15.7 框架选择 @@ -102,6 +147,13 @@ Nvidia一般每一两年发布一次新版本的GPU,例如2017年发布的是G * Tensorflow * PyTorch +pytorch是Facebook于2017年才推出的深度学习框架,相对于其它框架,算是比较晚的了,但是这个同时也是优势,在设计的时候就会避免很多之前框架的问题,所以一经推出,就收到大家极大的欢迎 +优点:接口简洁且规范,和python无缝结合,代码设计优秀且易懂,社区非常活跃,官方修复bug及时 +缺点: 目前模型在工业界部署相对其它框架稍有劣势,不过后续的pytorch1.0版本应该会有很大改善,和caffe2合并后,caffe2的优秀的模型部署能力可以弥补这个不足 +相关资源链接: +(1)官网教程:https://pytorch.org/tutorials/ +(2)基于pytorch的开源项目汇总:https://github.com/bharathgs/Awesome-pytorch-list +(3) * Keras @@ -158,7 +210,7 @@ mxnet的最知名的优点就是其对多GPU的支持和扩展性强,其优秀 * Tensorflow -* PyTorch +* PyTorch ### 15.8.2 是不是可以分布式训练? @@ -234,9 +286,7 @@ keras是一种高层编程接口,其可以选择不同的后端,比如tensor 缺点: 封装的太好了导致不理解其技术细节 3,pytorch: -pytorch是Facebook于2017年才推出的深度学习框架,相对于其它框架,算是比较晚的了,但是这个同时也是优势,在设计的时候就会避免很多之前框架的问题,所以一经推出,就收到大家极大的欢迎 -优点:接口简洁且规范,和python无缝结合,代码设计优秀且易懂,社区非常活跃,官方修复bug及时 -缺点: 目前模型在工业界部署相对其它框架稍有劣势,不过后续的pytorch1.0版本应该会有很大改善,和caffe2合并后,caffe2的优秀的模型部署能力可以弥补这个不足 + 4,caffe2: caffe2是在caffe之后的第二代版本,同属于Facebook。。。 From 1e03a46013a2e3443927cebbaaa74fc1bcc1b9ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=8D=E8=BF=B7=E8=8C=AB=EF=BC=8C=E4=B8=8D=E7=AD=89?= =?UTF-8?q?=E5=BE=85?= Date: Wed, 7 Nov 2018 12:53:23 +0800 Subject: [PATCH 05/26] update chap9 --- ch3_深度学习基础/第三章_深度学习基础.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ch3_深度学习基础/第三章_深度学习基础.md b/ch3_深度学习基础/第三章_深度学习基础.md index 93ecb41..edab6dd 100644 --- a/ch3_深度学习基础/第三章_深度学习基础.md +++ b/ch3_深度学习基础/第三章_深度学习基础.md @@ -865,7 +865,7 @@ BN比较适用的场景是:每个mini-batch比较大,数据分布比较接 经过预训练最终能得到比较好的局部最优解。 -### 3.7.2 什么是模型微调f ine tuning +### 3.7.2 什么是模型微调fine tuning 用别人的参数、修改后的网络和自己的数据进行训练,使得参数适应自己的数据,这样一个过程,通常称之为微调(fine tuning). From c95c33a0294a59e887b18d29e0307f5714d3e120 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=8D=E8=BF=B7=E8=8C=AB=EF=BC=8C=E4=B8=8D=E7=AD=89?= =?UTF-8?q?=E5=BE=85?= Date: Wed, 7 Nov 2018 12:55:25 +0800 Subject: [PATCH 06/26] update chap9 --- ch9_图像分割/modify_log.txt | 3 +++ ch9_图像分割/第九章_图像分割.md | 9 ++++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/ch9_图像分割/modify_log.txt b/ch9_图像分割/modify_log.txt index 242f677..f18ca4b 100644 --- a/ch9_图像分割/modify_log.txt +++ b/ch9_图像分割/modify_log.txt @@ -28,6 +28,9 @@ modify_log---->用来记录修改日志 4. 修改或者删除部分9.9.3公式、部分说法(可讨论),增加论文链接 5. 修改或者删除部分9.9.4公式、部分说法(可讨论),增加论文链接 +<----qjhuang-2018-11-7----> +1. 修改9.5答案部分说法(可讨论) + 其他---->待增加 2. 修改readme内容 3. 修改modify内容 diff --git a/ch9_图像分割/第九章_图像分割.md b/ch9_图像分割/第九章_图像分割.md index 4a406a7..4da48eb 100644 --- a/ch9_图像分割/第九章_图像分割.md +++ b/ch9_图像分割/第九章_图像分割.md @@ -368,11 +368,14 @@ RefineNet block的作用就是把不同resolution level的feature map进行融
   -Residual convolution unit就是普通的去除了BN的residual unit; +Residual convolution unit就是普通的去除了BN的residual unit; +    -Multi-resolution fusion是先对多输入的feature map都用一个卷积层进行adaptation(都化到最小的feature map的shape),再上采样再做element-wise的相加。注意如果是像RefineNet-4那样的单输入block这一部分就直接pass了; +Multi-resolution fusion是先对多输入的feature map都用一个卷积层进行adaptation(都化到最小的feature map的shape),再上采样再做element-wise的相加。注意如果是像RefineNet-4那样的单输入block这一部分就直接pass了; +    -Chained residual pooling 没太看懂怎么残差相加的(其中的ReLU非常重要),之后再修改; +Chained residual pooling中的ReLU对接下来池化的有效性很重要,还可以使模型对学习率的变化没这么敏感。这个链式结构能从很大范围区域上获取背景context。另外,这个结构中大量使用了identity mapping这样的连接,无论长距离或者短距离的,这样的结构允许梯度从一个block直接向其他任一block传播。 +    Output convolutions就是输出前再加一个RCU。 From fae564932050e24af3e313fc90f72c950b60670b Mon Sep 17 00:00:00 2001 From: aa12356jm <624848668@qq.com> Date: Wed, 7 Nov 2018 13:34:12 +0800 Subject: [PATCH 07/26] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=9B=BE=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ch15_GPU和框架选型/img/ch15/cuda8.0.png | Bin 0 -> 77680 bytes ch15_GPU和框架选型/img/ch15/cuda9.0.png | Bin 0 -> 74536 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 ch15_GPU和框架选型/img/ch15/cuda8.0.png create mode 100644 ch15_GPU和框架选型/img/ch15/cuda9.0.png diff --git a/ch15_GPU和框架选型/img/ch15/cuda8.0.png b/ch15_GPU和框架选型/img/ch15/cuda8.0.png new file mode 100644 index 0000000000000000000000000000000000000000..661c4e8a9a4d94ff4a286b463ebe0699fec75322 GIT binary patch literal 77680 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 literal 0 HcmV?d00001 diff --git a/ch15_GPU和框架选型/img/ch15/cuda9.0.png b/ch15_GPU和框架选型/img/ch15/cuda9.0.png new file mode 100644 index 0000000000000000000000000000000000000000..cdc6206d4a4f53726b397f1e5f05bfd37419432a GIT binary patch literal 74536 zcmd43Wl&sA)IZ1*L4reo-~ocWJ0!Tf+XNXL26vbwxCeI#?htHn2<{MUaCdhZWcW|s zt^K?ocB}TCx>enGq;DVT)2Gk*oe5V{k;QyR@(u|J2~%E9N&^Y$wI>qNt6S7ph<6-@ z@52zyYgY+*EmTz0r47|}#4WL#w4R$L$kNTz)CGuSBvbvhP0D+FK)*!dD*PUWW zNFR~prM_r+Wgf5iYH3<^h{KDqrTuHy{r~q2;8!I4 zUl7KsPNuka(bNoY<9<|s0JC`!7>Qkgi%sUEw@vdWuCFtcb}lb#A*wdskR-|U6B z{Ma&+iU)?r&*K29?YmuMwS8NTjiNP{^0-Nqd≪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≺uQ%*Qr)&j|I{JPH2eANZ(PeHHlxrt1aQkBn^> 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 literal 0 HcmV?d00001 From 25b49ab2c43bb36d6ae76d3ab5a9526bb2184c5c Mon Sep 17 00:00:00 2001 From: aa12356jm <624848668@qq.com> Date: Wed, 7 Nov 2018 13:37:04 +0800 Subject: [PATCH 08/26] =?UTF-8?q?Update=20=E7=AC=AC=E5=8D=81=E4=BA=94?= =?UTF-8?q?=E7=AB=A0=5F=E5=BC=82=E6=9E=84=E8=BF=90=E7=AE=97=E3=80=81GPU?= =?UTF-8?q?=E5=8F=8A=E6=A1=86=E6=9E=B6=E9=80=89=E5=9E=8B.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ch15_GPU和框架选型/第十五章_异构运算、GPU及框架选型.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ch15_GPU和框架选型/第十五章_异构运算、GPU及框架选型.md b/ch15_GPU和框架选型/第十五章_异构运算、GPU及框架选型.md index 708f81a..4087b88 100644 --- a/ch15_GPU和框架选型/第十五章_异构运算、GPU及框架选型.md +++ b/ch15_GPU和框架选型/第十五章_异构运算、GPU及框架选型.md @@ -94,8 +94,9 @@ Nvidia一般每一两年发布一次新版本的GPU,例如2017年发布的是G (1)官网下载,地址 cuda8.0 https://developer.nvidia.com/cuda-80-ga2-download-archive cuda9.0 https://developer.nvidia.com/cuda-90-download-archive -进入网址之后选择对应的系统版本即可,如下图所示: +进入网址之后选择对应的系统版本即可,如下图所示: ![cuda8.0](./img/ch15/cuda8.0.png) + ![cuda9.0](./img/ch15/cuda9.0.png) (2)命令行中进入到cuda所在的位置,授予运行权限: From bd690571eec9052ca86f88fd922bb1c41b711fed Mon Sep 17 00:00:00 2001 From: aa12356jm <624848668@qq.com> Date: Wed, 7 Nov 2018 13:42:31 +0800 Subject: [PATCH 09/26] =?UTF-8?q?Update=20=E7=AC=AC=E5=8D=81=E4=BA=94?= =?UTF-8?q?=E7=AB=A0=5F=E5=BC=82=E6=9E=84=E8=BF=90=E7=AE=97=E3=80=81GPU?= =?UTF-8?q?=E5=8F=8A=E6=A1=86=E6=9E=B6=E9=80=89=E5=9E=8B.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../第十五章_异构运算、GPU及框架选型.md | 54 ++++++++++--------- 1 file changed, 29 insertions(+), 25 deletions(-) diff --git a/ch15_GPU和框架选型/第十五章_异构运算、GPU及框架选型.md b/ch15_GPU和框架选型/第十五章_异构运算、GPU及框架选型.md index 4087b88..6ab5a51 100644 --- a/ch15_GPU和框架选型/第十五章_异构运算、GPU及框架选型.md +++ b/ch15_GPU和框架选型/第十五章_异构运算、GPU及框架选型.md @@ -99,39 +99,43 @@ cuda9.0 https://developer.nvidia.com/cuda-90-download-archive ![cuda9.0](./img/ch15/cuda9.0.png) -(2)命令行中进入到cuda所在的位置,授予运行权限: -cuda8.0: sudo chmod +x cuda_8.0.61_375.26_linux.run -cuda9.0: sudo chmod +x cuda_9.0.176_384.81_linux.run +(2)命令行中进入到cuda所在的位置,授予运行权限: +cuda8.0: sudo chmod +x cuda_8.0.61_375.26_linux.run +cuda9.0: sudo chmod +x cuda_9.0.176_384.81_linux.run -(3)执行命令安装cuda: -cuda8.0: sudo sh cuda_8.0.61_375.26_linux.run -cuda9.0: sudo sh cuda_9.0.176_384.81_linux.run -之后命令之后下面就是安装步骤,cuda8.0和cuda9.0几乎一致: -1) 首先出现cuda软件的版权说明,可以直接按q键跳过阅读 +(3)执行命令安装cuda: +cuda8.0: sudo sh cuda_8.0.61_375.26_linux.run +cuda9.0: sudo sh cuda_9.0.176_384.81_linux.run +之后命令之后下面就是安装步骤,cuda8.0和cuda9.0几乎一致: + 1) 首先出现cuda软件的版权说明,可以直接按q键跳过阅读 + -2) Do you accept the previously read EULA? -accept/decline/quit: **accept** + 2) Do you accept the previously read EULA? + accept/decline/quit: **accept** -3) Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 384.81? -(y)es/(n)o/(q)uit: **no** + 3) Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 384.81? + (y)es/(n)o/(q)uit: **no** + + + 4) Install the CUDA 9.0 Toolkit? + (y)es/(n)o/(q)uit: **yes** + -4) Install the CUDA 9.0 Toolkit? -(y)es/(n)o/(q)uit: **yes** + 5) Enter Toolkit Location + [ default is /usr/local/cuda-9.0 ]: 直接按enter键即可 -5) Enter Toolkit Location - [ default is /usr/local/cuda-9.0 ]: 直接按enter键即可 + 6)Do you want to install a symbolic link at /usr/local/cuda? + (y)es/(n)o/(q)uit: **yes** -6)Do you want to install a symbolic link at /usr/local/cuda? -(y)es/(n)o/(q)uit: **yes** - -7) Install the CUDA 9.0 Samples? -(y)es/(n)o/(q)uit: **yes** - -以上步骤基本就是cuda的安装步骤。 + 7) Install the CUDA 9.0 Samples? + (y)es/(n)o/(q)uit: **yes** + +以上步骤基本就是cuda的安装步骤。 -2,安装cudnn -cudnn是nvidia的专门针对深度学习的加速库。。。 +2,安装cudnn +cudnn是nvidia的专门针对深度学习的加速库。。。 + ### 15.6.3 本机安装还是使用docker? From 3bbae33e57aa611e0c543a52d1baff8390231304 Mon Sep 17 00:00:00 2001 From: aa12356jm <624848668@qq.com> Date: Wed, 7 Nov 2018 13:44:11 +0800 Subject: [PATCH 10/26] =?UTF-8?q?Update=20=E7=AC=AC=E5=8D=81=E4=BA=94?= =?UTF-8?q?=E7=AB=A0=5F=E5=BC=82=E6=9E=84=E8=BF=90=E7=AE=97=E3=80=81GPU?= =?UTF-8?q?=E5=8F=8A=E6=A1=86=E6=9E=B6=E9=80=89=E5=9E=8B.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../第十五章_异构运算、GPU及框架选型.md | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/ch15_GPU和框架选型/第十五章_异构运算、GPU及框架选型.md b/ch15_GPU和框架选型/第十五章_异构运算、GPU及框架选型.md index 6ab5a51..c248391 100644 --- a/ch15_GPU和框架选型/第十五章_异构运算、GPU及框架选型.md +++ b/ch15_GPU和框架选型/第十五章_异构运算、GPU及框架选型.md @@ -113,21 +113,19 @@ cuda9.0: sudo sh cuda_9.0.176_384.81_linux.run 2) Do you accept the previously read EULA? accept/decline/quit: **accept** - 3) Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 384.81? + 3) Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 384.81? (y)es/(n)o/(q)uit: **no** - - + 4) Install the CUDA 9.0 Toolkit? (y)es/(n)o/(q)uit: **yes** - - 5) Enter Toolkit Location + 5) Enter Toolkit Location [ default is /usr/local/cuda-9.0 ]: 直接按enter键即可 - 6)Do you want to install a symbolic link at /usr/local/cuda? - (y)es/(n)o/(q)uit: **yes** + 6) Do you want to install a symbolic link at /usr/local/cuda? + (y)es/(n)o/(q)uit: **yes** - 7) Install the CUDA 9.0 Samples? + 7) Install the CUDA 9.0 Samples? (y)es/(n)o/(q)uit: **yes** 以上步骤基本就是cuda的安装步骤。 From 48ee3a3cd8e726d5ca6c13102425164d19c05a39 Mon Sep 17 00:00:00 2001 From: Lixiaodan Date: Tue, 6 Nov 2018 21:48:11 -0800 Subject: [PATCH 12/26] chapter for rnns has been modified carefully. --- .../第六章_循环神经网络(RNN).md | 100 +++++++++++------- 1 file changed, 60 insertions(+), 40 deletions(-) diff --git a/ch6_循环神经网络(RNN)/第六章_循环神经网络(RNN).md b/ch6_循环神经网络(RNN)/第六章_循环神经网络(RNN).md index 33675c7..c301cff 100644 --- a/ch6_循环神经网络(RNN)/第六章_循环神经网络(RNN).md +++ b/ch6_循环神经网络(RNN)/第六章_循环神经网络(RNN).md @@ -1,5 +1,10 @@ # 第六章 循环神经网络(RNN) + Markdown Revision 2; + Date: 2018/11/04 + Editor: 李骁丹-杜克大学 + Contact: xiaodan.li@duke.edu + Markdown Revision 1; Date: 2018/10/26 Editor: 杨国峰-中国农业科学院 @@ -9,14 +14,17 @@ http://blog.csdn.net/heyongluoyao8/article/details/48636251 ## 6.1 RNNs和FNNs有什么区别? -不同于传统的前馈神经网络(FNNs),RNNs引入了定向循环,能够处理那些输入之间前后关联的问题。**定向循环结构如下图所示**: +1. 不同于传统的前馈神经网络(FNNs),RNNs引入了定向循环,能够处理输入之间前后关联问题。 +2. RNNs可以记忆之前步骤的训练信息。 +**定向循环结构如下图所示**: ![](./img/ch6/figure_6.1_1.jpg) ## 6.2 RNNs典型特点? -RNNs的目的使用来处理序列数据。在传统的神经网络模型中,是从输入层到隐含层再到输出层,层与层之间是全连接的,每层之间的节点是无连接的。但是这种普通的神经网络对于很多问题却无能无力。例如,你要预测句子的下一个单词是什么,一般需要用到前面的单词,因为一个句子中前后单词并不是独立的。 -RNNs之所以称为循环神经网路,即一个序列当前的输出与前面的输出也有关。具体的表现形式为网络会对前面的信息进行记忆并应用于当前输出的计算中,即隐藏层之间的节点不再无连接而是有连接的,并且隐藏层的输入不仅包括输入层的输出还包括上一时刻隐藏层的输出。理论上,RNNs能够对任何长度的序列数据进行处理。但是在实践中,为了降低复杂性往往假设当前的状态只与前面的几个状态相关,**下图便是一个典型的RNNs**: +1. RNNs主要用于处理序列数据。对于传统神经网络模型,从输入层到隐含层再到输出层,层与层之间一般为全连接,每层之间神经元是无连接的。但是传统神经网络无法处理数据间的前后关联问题。例如,为了预测句子的下一个单词,一般需要该词之前的语义信息,因为一个句子中前后单词是存在语义联系的。 +2. RNNs中当前单元的输出与上一步输出也有关,因此称之为循环神经网络。具体的表现形式为当前单元(cell)会对上一步的信息进行储存并应用于当前输出的计算中。隐藏层之间的节点连接起来,并且隐藏层当前输出由当前时刻输入向量和上一时刻隐藏层状态共同决定。 +3. 理论上,RNNs能够对任何长度的序列数据进行处理。但是在实践中,为了降低复杂度往往假设当前的状态只与上一时刻状态相关,**下图便是一个典型的RNNs**: ![](./img/ch6/figure_6.2_1.png) @@ -30,21 +38,22 @@ RNNs之所以称为循环神经网路,即一个序列当前的输出与前面 **图中信息传递特点:** -1. 有一条单向流动的信息流是从输入单元到达隐藏单元; -2. 与此同时,另一条单向流动的信息流从隐藏单元到达输出单元; -3. 在某些情况下,RNNs会打破后者的限制,引导信息从输出单元返回隐藏单元,这些被称为“Back Projections”; -4. 在某些情况下,隐藏层的输入还包括上一隐藏层的状态,即隐藏层内的节点可以自连也可以互连。 +1. 一条单向流动的信息流是从输入单元到隐藏单元。 +2. 一条单向流动的信息流从隐藏单元到输出单元。 +3. 在某些情况下,RNNs会打破后者的限制,引导信息从输出单元返回隐藏单元,这些被称为“Back Projections”。 +4. 在某些情况下,隐藏层的输入还包括上一时刻隐藏层的状态,即隐藏层内的节点可以自连也可以互连。 +5. 当前单元(cell)输出是由当前时刻输入和上一时刻隐藏层状态共同决定。 -## 6.3RNNs能干什么? +## 6.3 RNNs能干什么? -RNNs已经被在实践中证明对NLP是非常成功的。如词向量表达、语句合法性检查、词性标注等。在RNNs中,目前使用最广泛最成功的模型便是LSTMs(Long Short-Term Memory,长短时记忆模型)模型,该模型通常比 vanilla RNNs 能够更好地对长短时依赖进行表达,该模型相对于一般的RNNs,只是在隐藏层做了改变。 +RNNs在自然语言处理领域取得了巨大成功,如词向量表达、语句合法性检查、词性标注等。在RNNs及其变型中,目前使用最广泛最成功的模型是LSTMs(Long Short-Term Memory,长短时记忆模型)模型,该模型相比于RNNs,能够更好地对长短时依赖进行描述。 ## 6.4 RNNs在NLP中典型应用? **(1)语言模型与文本生成(Language Modeling and Generating Text)** -给一个单词序列,需要根据前面的单词预测每一个单词的可能性。语言模型能够一个语句正确的可能性,这是机器翻译的一部分,往往可能性越大,语句越正确。另一种应用便是使用生成模型预测下一个单词的概率,从而生成新的文本根据输出概率的采样。 +给定一组单词序列,需要根据前面单词预测每个单词出现的可能性。语言模型能够评估某个语句正确的可能性,可能性越大,语句越正确。另一种应用便是使用生成模型预测下一个单词的出现概率,从而利用输出概率的采样生成新的文本。 **(2)机器翻译(Machine Translation)** @@ -52,74 +61,85 @@ RNNs已经被在实践中证明对NLP是非常成功的。如词向量表达、 **(3)语音识别(Speech Recognition)** -语音识别是指给一段声波的声音信号,预测该声波对应的某种指定源语言的语句以及该语句的概率值。 +语音识别是指给定一段声波的声音信号,预测该声波对应的某种指定源语言语句以及计算该语句的概率值。 **(4)图像描述生成 (Generating Image Descriptions)** -和卷积神经网络(convolutional Neural Networks, CNNs)一样,RNNs已经在对无标图像描述自动生成中得到应用。将CNNs与RNNs结合进行图像描述自动生成。 +同卷积神经网络(convolutional Neural Networks, CNNs)一样,RNNs已经在对无标图像描述自动生成中得到应用。CNNs与RNNs结合也被应用于图像描述自动生成。 ![](./img/ch6/figure_6.4_1.png) ## 6.5 RNNs训练和传统ANN训练异同点? -**相同点**:同样使用BP误差反向传播算法。 +**相同点**: +1. RNNs与传统ANN都使用BP(Back Propagation)误差反向传播算法。 **不同点**: -1. 如果将RNNs进行网络展开,那么参数W,U,V是共享的,而传统神经网络却不是的。 -2. 在使用梯度下降算法中,每一步的输出不仅依赖当前步的网络,并且还以来前面若干步网络的状态。 +1. RNNs网络参数W,U,V是共享的,而传统神经网络各层参数间没有直接联系。 +2. 对于RNNs,在使用梯度下降算法中,每一步的输出不仅依赖当前步的网络,还依赖于之前若干步的网络状态。 -## 6.6常见的RNNs扩展和改进模型 +## 6.6 常见的RNNs扩展和改进模型 -### 6.6.1Simple RNNs(SRNs) +### 6.6.1 Simple RNNs(SRNs) -SRNs是RNNs的一种特例,它是一个三层网络,并且在隐藏层增加了上下文单元,下图中的**y**便是隐藏层,**u**便是上下文单元。上下文单元节点与隐藏层中的节点的连接是固定(谁与谁连接)的,并且权值也是固定的(值是多少),其实是一个上下文节点与隐藏层节点一一对应,并且值是确定的。在每一步中,使用标准的前向反馈进行传播,然后使用学习算法进行学习。上下文每一个节点保存其连接的隐藏层节点的上一步的输出,即保存上文,并作用于当前步对应的隐藏层节点的状态,即隐藏层的输入由输入层的输出与上一步的自己的状态所决定的。因此SRNs能够解决标准的多层感知机(MLP)无法解决的对序列数据进行预测的任务。 +1. SRNs是RNNs的一种特例,它是一个三层网络,其在隐藏层增加了上下文单元。下图中的**y**是隐藏层,**u**是上下文单元。上下文单元节点与隐藏层中节点的连接是固定的,并且权值也是固定的。上下文节点与隐藏层节点一一对应,并且值是确定的。 +2. 在每一步中,使用标准的前向反馈进行传播,然后使用学习算法进行学习。上下文每一个节点保存其连接隐藏层节点上一步输出,即保存上文,并作用于当前步对应的隐藏层节点状态,即隐藏层的输入由输入层的输出与上一步的自身状态所决定。因此SRNs能够解决标准多层感知机(MLP)无法解决的对序列数据进行预测的问题。 **SRNs网络结构如下图所示**: ![](./img/ch6/figure_6.6.1_1.png) -### 6.6.2Bidirectional RNNs +### 6.6.2 Bidirectional RNNs -Bidirectional RNNs(双向网络)的改进之处便是,假设当前的输出(第t步的输出)不仅仅与前面的序列有关,并且还与后面的序列有关。例如:预测一个语句中缺失的词语那么就需要根据上下文来进行预测。Bidirectional RNNs是一个相对较简单的RNNs,是由两个RNNs上下叠加在一起组成的。输出由这两个RNNs的隐藏层的状态决定的。**如下图所示**: +Bidirectional RNNs(双向网络)将两层RNNs叠加在一起,当前时刻输出(第t步的输出)不仅仅与之前序列有关,还与之后序列有关。例如:为了预测一个语句中的缺失词语,就需要该词汇的上下文信息。Bidirectional RNNs是一个相对较简单的RNNs,是由两个RNNs上下叠加在一起组成的。输出由前向RNNs和后向RNNs共同决定。**如下图所示**: ![](./img/ch6/figure_6.6.2_1.png) -### 6.6.3Deep(Bidirectional) RNNs +### 6.6.3 Deep RNNs -Deep(Bidirectional)RNNs与Bidirectional RNNs相似,只是对于每一步的输入有多层网络。这样,该网络便有更强大的表达与学习能力,但是复杂性也提高了,同时需要更多的训练数据。**Deep(Bidirectional)RNNs的结构如下图所示**: +Deep RNNs与Bidirectional RNNs相似,其也是又多层RNNs叠加,因此每一步的输入有了多层网络。该网络具有更强大的表达与学习能力,但是复杂性也随之提高,同时需要更多的训练数据。**Deep RNNs的结构如下图所示**: ![](./img/ch6/figure_6.6.3_1.png) -### 6.6.4Echo State Networks(ESNs) -ESNs(回声状态网络)虽然也是一种RNNs,但是它与传统的RNNs相差很大。 +### 6.6.4 Echo State Networks(ESNs) +ESNs(回声状态网络)虽然也是一种RNNs,但它与传统的RNNs相差较大。 **ESNs具有三个特点**: -(1)它的核心结构时一个随机生成、且保持不变的储备池(Reservoir),储备池是大规模的、随机生成的、稀疏连接(SD通常保持1%~5%,SD表示储备池中互相连接的神经元占总的神经元个数N的比例)的循环结构; +1. 它的核心结构为一个随机生成、且保持不变的储备池(Reservoir)。储备池是大规模随机生成稀疏连接(SD通常保持1%~5%,SD表示储备池中互相连接的神经元占总神经元个数N的比例)的循环结构; -(2)其储备池到输出层的权值矩阵是唯一需要调整的部分; +2. 从储备池到输出层的权值矩阵是唯一需要调整的部分; -(3)简单的线性回归就可完成网络的训练。 +3. 简单的线性回归便能够完成网络训练; -从结构上讲,ESNs是一种特殊类型的循环神经网络,其基本思想是:使用大规模随机连接的循环网络取代经典神经网络中的中间层,从而简化网络的训练过程。因此ESNs的关键是中间的储备池。网络中的参数包括:W为储备池中节点的连接权值矩阵,Win为输入层到储备池之间的连接权值矩阵,表明储备池中的神经元之间是连接的,Wback为输出层到储备池之间的反馈连接权值矩阵,表明储备池会有输出层来的反馈,Wout为输入层、储备池、输出层到输出层的连接权值矩阵,表明输出层不仅与储备池连接,还与输入层和自己连接。Woutbias表示输出层的偏置项。 -对于ESNs,关键是储备池的四个参数,如储备池内部连接权谱半径SR(SR=λmax=max{|W的特征指|},只有SR <1时,ESNs才能具有回声状态属性)、储备池规模N(即储备池中神经元的个数)、储备池输入单元尺度IS(IS为储备池的输入信号连接到储备池内部神经元之前需要相乘的一个尺度因子)、储备池稀疏程度SD(即为储备池中互相连接的神经元个数占储备池神经元总个数的比例)。对于IS,如果需要处理的任务的非线性越强,那么输入单元尺度越大。该原则的本质就是通过输入单元尺度IS,将输入变换到神经元激活函数相应的范围(神经元激活函数的不同输入范围,其非线性程度不同)。 +从结构上讲,ESNs是一种特殊类型的循环神经网络,其基本思想是:使用大规模随机连接的循环网络取代经典神经网络中的中间层,从而简化网络的训练过程。因此ESNs的关键是储备池。 +网络中的参数包括: +W - 储备池中节点间连接权值矩阵; +Win - 输入层到储备池之间连接权值矩阵,表明储备池中的神经元之间是相互连接; +Wback - 输出层到储备池之间的反馈连接权值矩阵,表明储备池会有输出层来的反馈; +Wout - 输入层、储备池、输出层到输出层的连接权值矩阵,表明输出层不仅与储备池连接,还与输入层和自己连接。 +Woutbias - 输出层的偏置项。 +对于ESNs,关键是储备池的四个参数,如储备池内部连接权谱半径SR(SR=λmax=max{|W的特征指|},只有SR <1时,ESNs才能具有回声状态属性)、储备池规模N(即储备池中神经元的个数)、储备池输入单元尺度IS(IS为储备池的输入信号连接到储备池内部神经元之前需要相乘的一个尺度因子)、储备池稀疏程度SD(即为储备池中互相连接的神经元个数占储备池神经元总个数的比例)。对于IS,待处理任务的非线性越强,输入单元尺度越大。该原则本质就是通过输入单元尺度IS,将输入变换到神经元激活函数相应的范围(神经元激活函数的不同输入范围,其非线性程度不同)。 **ESNs的结构如下图所示**: ![](./img/ch6/figure_6.6.4_1.png) ![](./img/ch6/figure_6.6.4_2.png) ![](./img/ch6/figure_6.6.4_3.png) -### 6.6.5Gated Recurrent Unit Recurrent Neural Networks -GRUs也是一般的RNNs的改良版本,主要是从以下**两个方面**进行改进。 +### 6.6.5 Gated Recurrent Unit Recurrent Neural Networks +GRUs是一般的RNNs的变型版本,其主要是从以下**两个方面**进行改进。 -**一是**,序列中不同的位置处的单词(已单词举例)对当前的隐藏层的状态的影响不同,越前面的影响越小,即每个前面状态对当前的影响进行了距离加权,距离越远,权值越小。 +**一是**,序列中不同单词处(以语句为例)的数据对当前隐藏层状态的影响不同,越前面的影响越小,即每个之前状态对当前的影响进行了距离加权,距离越远,权值越小。 -**二是**,在产生误差error时,误差可能是由某一个或者几个单词而引发的,所以应当仅仅对对应的单词weight进行更新。GRUs的结构如下图所示。GRUs首先根据当前输入单词向量word vector已经前一个隐藏层的状态hidden state计算出update gate和reset gate。再根据reset gate、当前word vector以及前一个hidden state计算新的记忆单元内容(new memory content)。当reset gate为1的时候,new memory content忽略之前的所有memory content,最终的memory是之前的hidden state与new memory content的结合。 +**二是**,在产生误差error时,其可能是由之前某一个或者几个单词共同造成,所以应当对对应的单词weight进行更新。GRUs的结构如下图所示。GRUs首先根据当前输入单词向量word vector以及前一个隐藏层状态hidden state计算出update gate和reset gate。再根据reset gate、当前word vector以及前一个hidden state计算新的记忆单元内容(new memory content)。当reset gate为1的时候,new memory content忽略之前所有memory content,最终的memory是由之前的hidden state与new memory content一起决定。 ![](./img/ch6/figure_6.6.5_1.png) -### 6.6.6LSTM Netwoorks -LSTMs与GRUs类似,目前非常流行。它与一般的RNNs结构本质上并没有什么不同,只是使用了不同的函数去去计算隐藏层的状态。在LSTMs中,i结构被称为cells,可以把cells看作是黑盒用以保存当前输入xt之前的保存的状态ht−1,这些cells更加一定的条件决定哪些cell抑制哪些cell兴奋。它们结合前面的状态、当前的记忆与当前的输入。已经证明,该网络结构在对长序列依赖问题中非常有效。**LSTMs的网络结构如下图所示**。 +### 6.6.6 LSTM Netwoorks +1. LSTMs是当前一种非常流行的深度学习模型。为了解决RNNs存在的长时记忆问题,LSTMs利用了之前更多步的训练信息。 +2. LSTMs与一般的RNNs结构本质上并没有太大区别,只是使用了不同函数控制隐藏层的状态。 +3. 在LSTMs中,基本结构被称为cell,可以把cell看作是黑盒用以保存当前输入之前Xt的隐藏层状态ht−1。 +4. LSTMs有三种类型的门:遗忘门(forget gate), 输入门(input gate)以及输出门(output gate)。遗忘门(forget gate)是用来决定 哪个cells的状态将被丢弃掉。输入门(input gate)决定哪些cells会被更新. 输出门(output gate)控制了结果输出. 因此当前输出依赖于cells状态以及门的过滤条件。实践证明,LSTMs可以有效地解决长序列依赖问题。**LSTMs的网络结构如下图所示**。 ![](./img/ch6/figure_6.6.6_1.png) @@ -127,15 +147,15 @@ LSTMs与GRUs的区别如图所示: ![](./img/ch6/figure_6.6.6_2.png) -从上图可以看出,它们之间非常相像,**不同在于**: +从上图可以看出,二者结构十分相似,**不同在于**: -(1)new memory的计算方法都是根据之前的state及input进行计算,但是GRUs中有一个reset gate控制之前state的进入量,而在LSTMs里没有这个gate; +(1)new memory都是根据之前state及input进行计算,但是GRUs中有一个reset gate控制之前state的进入量,而在LSTMs里没有类似gate; -(2)产生新的state的方式不同,LSTMs有两个不同的gate,分别是forget gate (f gate)和input gate(i gate),而GRUs只有一个update gate(z gate); +(2)产生新的state的方式不同,LSTMs有两个不同的gate,分别是forget gate (f gate)和input gate(i gate),而GRUs只有一种update gate(z gate); -(3)LSTMs对新产生的state又一个output gate(o gate)可以调节大小,而GRUs直接输出无任何调节。 +(3)LSTMs对新产生的state可以通过output gate(o gate)进行调节,而GRUs对输出无任何调节。 -### 6.6.7Clockwork RNNs(CW-RNNs) +### 6.6.7 Clockwork RNNs(CW-RNNs) CW-RNNs是较新的一种RNNs模型,其论文发表于2014年Beijing ICML。 CW-RNNs也是一个RNNs的改良版本,是一种使用时钟频率来驱动的RNNs。它将隐藏层分为几个块(组,Group/Module),每一组按照自己规定的时钟频率对输入进行处理。并且为了降低标准的RNNs的复杂性,CW-RNNs减少了参数的数目,提高了网络性能,加速了网络的训练。CW-RNNs通过不同的隐藏层模块工作在不同的时钟频率下来解决长时间依赖问题。将时钟时间进行离散化,然后在不同的时间点,不同的隐藏层组在工作。因此,所有的隐藏层组在每一步不会都同时工作,这样便会加快网络的训练。并且,时钟周期小的组的神经元的不会连接到时钟周期大的组的神经元,只会周期大的连接到周期小的(认为组与组之间的连接是有向的就好了,代表信息的传递是有向的),周期大的速度慢,周期小的速度快,那么便是速度慢的连速度快的,反之则不成立。现在还不明白不要紧,下面会进行讲解。 From 6c852fd974056296116b076ecd2129923efb0ef5 Mon Sep 17 00:00:00 2001 From: Limber Cheng Date: Wed, 7 Nov 2018 21:50:27 +0800 Subject: [PATCH 13/26] :sparkles: Fix some errors, add "Can GAN do ..." --- .../第七章_生成对抗网络(GAN).md | 28 ++++++++++++++----- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/ch7_生成对抗网络(GAN)/第七章_生成对抗网络(GAN).md b/ch7_生成对抗网络(GAN)/第七章_生成对抗网络(GAN).md index b032d5b..0fd800a 100644 --- a/ch7_生成对抗网络(GAN)/第七章_生成对抗网络(GAN).md +++ b/ch7_生成对抗网络(GAN)/第七章_生成对抗网络(GAN).md @@ -1,15 +1,19 @@ -# 第七章 生成对抗网络(GAN) +# 第七章_生成对抗网络(GAN) -## GAN生成概率的本质是什么? +## GAN的「生成」的本质是什么? GAN的形式是:两个网络,G(Generator)和D(Discriminator)。Generator是一个生成图片的网络,它接收一个随机的噪声z,记做G(z)。Discriminator是一个判别网络,判别一张图片是不是“真实的”。它的输入是x,x代表一张图片,输出D(x)代表x为真实图片的概率,如果为1,就代表100%是真实的图片,而输出为0,就代表不可能是真实的图片。 -GAN*生成*能力是学习*分布*,引入的latent variable的noise使习得的概率分布进行偏移。因此在训练GAN的时候,latent variable**不能**引入均匀分布(uniform distribution),因为均匀分布的数据的引入并不会改变概率分布。 +GAN*生成*能力是*学习分布*,引入的latent variable的noise使习得的概率分布进行偏移。因此在训练GAN的时候,latent variable**不能**引入均匀分布(uniform distribution),因为均匀分布的数据的引入并不会改变概率分布。 + +## GAN能做数据增广吗? +GAN能够从一个模型引入一个随机数之后「生成」无限的output,用GAN来做数据增广似乎很有吸引力并且是一个极清晰的一个insight。然而,纵观整个GAN的训练过程,Generator习得分布再引入一个Distribution(Gaussian或其他)的噪声以「骗过」Discriminator,并且无论是KL Divergence或是Wasserstein Divergence,本质还是信息衡量的手段(在本章中其余部分介绍),能「骗过」Discriminator的Generator一定是能在引入一个Distribution的噪声的情况下最好的结合已有信息。 + +训练好的GAN应该能够很好的使用已有的数据的信息(特征或分布),现在问题来了,这些信息本来就包含在数据里面,有必要把信息丢到Generator学习使得的结果加上噪声作为训练模型的输入吗? ## VAE与GAN有什么不同? 1. VAE可以直接用在离散型数据。 2. VAE整个训练流程只靠一个假设的loss函数和KL Divergence逼近真实分布。GAN没有假设单个loss函数, 而是让判别器D和生成器G互相博弈,以期得到Nash Equilibrium。 - ## 有哪些优秀的GAN? ### DCGAN @@ -22,7 +26,7 @@ WGAN及其延伸是被讨论的最多的部分,原文连发两文,第一篇( **KL/JS Divergence为什么不好用?Wasserstein Divergence牛逼在哪里?** -**KL Divergence**是两个概率分布P和Q差别的**非对称性**的度量。KL Divergence是用来度量使用基于Q的编码来编码来自P的样本平均所需的额外的位元数。 而**JS Divergence**是KL Divergence的升级版,解决的是**对称性**的问题。即:JS Divergence是对称的。 +**KL Divergence**是两个概率分布P和Q差别的**非对称性**的度量。KL Divergence是用来度量使用基于Q的编码来编码来自P的样本平均所需的额外的位元数(即分布的平移量)。 而**JS Divergence**是KL Divergence的升级版,解决的是**对称性**的问题。即:JS Divergence是对称的。并且由于KL Divergence不具有很好的对称性,将KL Divergence考虑成距离可能是站不住脚的,并且可以由KL Divergence的公式中看出来,平移量$\to 0$的时候,KL Divergence直接炸了。 KL Divergence: $$D_{KL}(P||Q)=-\sum_{x\in X}P(x) log\frac{1}{P(x)}+\sum_{x\in X}p(x)log\frac{1}{Q(x)}=\sum_{x\in X}p(x)log\frac{P(x)}{Q(x)}$$ @@ -40,9 +44,14 @@ $$JS(P_1||P_2)=\frac{1}{2}KL(P_1||\frac{P_1+P_2}{2})$$ 3. 对更新后的权重强制截断到一定范围内,比如[-0.01,0.01],以满足lipschitz连续性条件。 4. 论文中也推荐使用SGD,RMSprop等优化器,不要基于使用动量的优化算法,比如adam。 -然而,就实际而言,最优的选择其实应该是 +然而,由于D和G其实是各自有一个loss的,G和D是可以**用不同的优化器**的。个人认为Best Practice是G用SGD或RMSprop,而D用Adam。 -**如何理解Wass距离?** +很期待未来有专门针对寻找均衡态的优化方法。 + +**WGAN-GP的改进有哪些?** + +**如何理解Wasserstein距离?** +Wasserstein距离与optimal transport有一些关系,并且从数学上想很好的理解需要一定的测度论的知识。 ### condition GAN @@ -58,6 +67,9 @@ $$L^{infoGAN}_{G}=L^{GAN}_G-\lambda L_1(c,c')$$ ### StarGAN 目前Image-to-Image Translation做的最好的GAN。 + +## Self-Attention GAN + ## GAN训练有什么难点? 由于GAN的收敛要求**两个网络(D&G)同时达到一个均衡**, @@ -71,6 +83,8 @@ GAN是一种半监督学习模型,对训练集不需要太多有标签的数 Instance Norm比Batch Norm的效果要更好。 +使用逆卷积来生成图片会比用全连接层效果好,全连接层会有较多的噪点,逆卷积层效果清晰。 + ## GAN如何解决NLP问题 GAN只适用于连续型数据的生成,对于离散型数据效果不佳,因此假如NLP方法直接应用的是character-wise的方案,Gradient based的GAN是无法将梯度Back propagation(BP)给生成网络的,因此从训练结果上看,GAN中G的表现长期被D压着打。 From a299f66d946b317f6219ed467d3e129a66e5073b Mon Sep 17 00:00:00 2001 From: guoxiaofeng Date: Wed, 7 Nov 2018 22:24:49 +0800 Subject: [PATCH 14/26] add chapter7.1.1 --- ch7_生成对抗网络(GAN)/7.1.1_what_gan.md | 38 ++++++++++++++++++ .../img/ch7/7.1-gan_structure.png | Bin 0 -> 213503 bytes 2 files changed, 38 insertions(+) create mode 100644 ch7_生成对抗网络(GAN)/7.1.1_what_gan.md create mode 100644 ch7_生成对抗网络(GAN)/img/ch7/7.1-gan_structure.png diff --git a/ch7_生成对抗网络(GAN)/7.1.1_what_gan.md b/ch7_生成对抗网络(GAN)/7.1.1_what_gan.md new file mode 100644 index 0000000..6972a08 --- /dev/null +++ b/ch7_生成对抗网络(GAN)/7.1.1_what_gan.md @@ -0,0 +1,38 @@ +# 什么是生成对抗网络 +## GAN的通俗化介绍 + +生成对抗网络(GAN, Generative adversarial network)自从2014年被Ian Goodfellow提出以来,掀起来了一股研究热潮。GAN由生成器和判别器组成,生成器负责生成样本,判别器负责判断生成器生成的样本是否为真。生成器要尽可能迷惑判别器,而判别器要尽可能区分生成器生成的样本和真实样本。 + +在GAN的原作[1]中,作者将生成器比喻为印假钞票的犯罪分子,判别器则类比为警察。犯罪分子努力让钞票看起来逼真,警察则不断提升对于假钞的辨识能力。二者互相博弈,随着时间的进行,都会越来越强。 + +# GAN的形式化表达 +上述例子只是简要介绍了一下GAN的思想,下面对于GAN做一个形式化的,更加具体的定义。通常情况下,无论是生成器还是判别器,我们都可以用神经网络来实现。那么,我们可以把通俗化的定义用下面这个模型来表示: +![GAN网络结构](/images/7.1-gan_structure.png) + +上述模型左边是生成器G,其输入是$$z$$,对于原始的GAN,$$z$$是由高斯分布随机采样得到的噪声。噪声$$z$$通过生成器得到了生成的假样本。 + +生成的假样本与真实样本放到一起,被随机抽取送入到判别器D,由判别器去区分输入的样本是生成的假样本还是真实的样本。整个过程简单明了,生成对抗网络中的“生成对抗”主要体现在生成器和判别器之间的对抗。 + +# GAN的目标函数 +对于上述神经网络模型,如果想要学习其参数,首先需要一个目标函数。GAN的目标函数定义如下: + +$$\mathop {\min }\limits_G \mathop {\max }\limits_D V(D,G) = {{\rm E}_{x\sim{p_{data}}(x)}}[\log D(x)] + {{\rm E}_{z\sim{p_z}(z)}}[\log (1 - D(G(z)))]$$ + +这个目标函数可以分为两个部分来理解: + +判别器的优化通过$$\mathop {\max}\limits_D V(D,G)$$实现,$$V(D,G)$$为判别器的目标函数,其第一项$${{\rm E}_{x\sim{p_{data}}(x)}}[\log D(x)]$$表示对于从真实数据分布 中采用的样本 ,其被判别器判定为真实样本概率的数学期望。对于真实数据分布 中采样的样本,其预测为正样本的概率当然是越接近1越好。因此希望最大化这一项。第二项$${{\rm E}_{z\sim{p_z}(z)}}[\log (1 - D(G(z)))]$$表示:对于从噪声P_z(z)分布当中采样得到的样本经过生成器生成之后得到的生成图片,然后送入判别器,其预测概率的负对数的期望,这个值自然是越大越好,这个值越大, 越接近0,也就代表判别器越好。 + +生成器的优化通过$$\mathop {\min }\limits_G({\mathop {\max }\limits_D V(D,G)})$$实现。注意,生成器的目标不是$$\mathop {\min }\limits_GV(D,G)$$,即生成器**不是最小化判别器的目标函数**,生成器最小化的是**判别器目标函数的最大值**,判别器目标函数的最大值代表的是真实数据分布与生成数据分布的JS散度(详情可以参阅附录的推导),JS散度可以度量分布的相似性,两个分布越接近,JS散度越小。 + + +# GAN的目标函数和交叉熵 +判别器目标函数写成离散形式即为$$V(D,G)=-\frac{1}{m}\sum_{i=1}^{i=m}logD(x^i)-\frac{1}{m}\sum_{i=1}^{i=m}log(1-D(\tilde{x}^i))$$ +可以看出,这个目标函数和交叉熵是一致的,即**判别器的目标是最小化交叉熵损失,生成器的目标是最小化生成数据分布和真实数据分布的JS散度** + + + + + +------------------- +[1]: Goodfellow, Ian, et al. "Generative adversarial nets." Advances in neural information processing systems. 2014. +[2] \ No newline at end of file diff --git a/ch7_生成对抗网络(GAN)/img/ch7/7.1-gan_structure.png b/ch7_生成对抗网络(GAN)/img/ch7/7.1-gan_structure.png new file mode 100644 index 0000000000000000000000000000000000000000..b2d6213b1a90f15e6d43ae822e339991da1c7af0 GIT binary patch literal 213503 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�s9>OGwEc}oUy}Av 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
@@ -630,6 +629,7 @@ UC Berkeley的Deepak Pathak使用了一个具有图像级别标记的训练数    该方法把训练过程看作是有线性限制条件的最优化过程: + $$ \underset{\theta ,P}{minimize}\qquad D(P(X)||Q(X|\theta ))\\ From b45df0c5eed9f8ba01845fffd0c887975bfb6307 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=8D=E8=BF=B7=E8=8C=AB=EF=BC=8C=E4=B8=8D=E7=AD=89?= =?UTF-8?q?=E5=BE=85?= Date: Fri, 9 Nov 2018 19:03:11 +0800 Subject: [PATCH 24/26] little mmodify --- ch9_图像分割/第九章_图像分割.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/ch9_图像分割/第九章_图像分割.md b/ch9_图像分割/第九章_图像分割.md index 9636d82..e97ba8d 100644 --- a/ch9_图像分割/第九章_图像分割.md +++ b/ch9_图像分割/第九章_图像分割.md @@ -603,12 +603,14 @@ Why K个mask?通过对每个 Class 对应一个Mask可以有效避免类间竞    ScribbleSup分为两步,第一步将像素的类别信息从scribbles传播到其他未标记的像素,自动完成所有的训练图像的标记工作; 第二步使用这些标记图像训练CNN。在第一步中,该方法先生成super-pxels, 然后基于graph cut的方法对所有的super-pixel进行标记。
+    Graph Cut的能量函数为: $$ \sum_{i}\psi _i\left(y_i|X,S\right)+\sum_{i,j}\psi_{ij}\left(y_i,y_j,X\right) $$ +    在这个graph中,每个super-pixel是graph中的一个节点,相接壤的super-pixel之间有一条连接的边。这个能量函数中的一元项包括两种情况,一个是来自于scribble的,一个是来自CNN对该super-pixel预测的概率。整个最优化过程实际上是求graph cut能量函数和CNN参数联合最优值的过程: @@ -632,9 +634,8 @@ UC Berkeley的Deepak Pathak使用了一个具有图像级别标记的训练数 $$ \underset{\theta ,P}{minimize}\qquad D(P(X)||Q(X|\theta ))\\ - subject\to\qquad A\overrightarrow{P}\geqslant\overrightarrow{b},\sum_{X}^{ }P(X)=1 -$$ +$$    其中的线性限制条件来自于训练数据上的标记,例如一幅图像中前景类别像素个数期望值的上界或者下界(物体大小)、某个类别的像素个数在某图像中为0,或者至少为1等。该目标函数可以转化为为一个loss function,然后通过SGD进行训练。 @@ -667,7 +668,7 @@ $$ 论文地址:[Learning to Segment Under Various Forms of Weak Supervision (CVPR 2015)](https://www.cv-foundation.org/openaccess/content_cvpr_2015/papers/Xu_Learning_to_Segment_2015_CVPR_paper.pdf)    -Wisconsin-Madison大学的Jia Xu提出了一个统一的框架来处理各种不同类型的弱标记:图像级别的标记、bounding box和部分像素标记如scribbles。该方法把所有的训练图像分成共计 个super-pixel,对每个super-pixel提取一个 维特征向量。因为不知道每个super-pixel所属的类别,相当于无监督学习,因此该方法对所有的super-pixel做聚类,使用的是最大间隔聚类方法(max-margin clustering, MMC),该过程的最优化目标函数是: +Wisconsin-Madison大学的Jia Xu提出了一个统一的框架来处理各种不同类型的弱标记:图像级别的标记、bounding box和部分像素标记如scribbles。该方法把所有的训练图像分成共计$n$个super-pixel,对每个super-pixel提取一个$d$维特征向量。因为不知道每个super-pixel所属的类别,相当于无监督学习,因此该方法对所有的super-pixel做聚类,使用的是最大间隔聚类方法(max-margin clustering, MMC),该过程的最优化目标函数是: $$ \underset{W,H}{min} \qquad \frac{1}{2}tr\left ( W^TW \right ) + \lambda\sum_{p=1}^{n}\sum_{c=1}^{C}\xi \left ( w_c;x_p;h_p^c \right) From 5e07e1f036a9ca2c2ca8e8bd15f47beccebfd3db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=8D=E8=BF=B7=E8=8C=AB=EF=BC=8C=E4=B8=8D=E7=AD=89?= =?UTF-8?q?=E5=BE=85?= Date: Fri, 9 Nov 2018 19:07:03 +0800 Subject: [PATCH 25/26] little mmodify --- ch9_图像分割/第九章_图像分割.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ch9_图像分割/第九章_图像分割.md b/ch9_图像分割/第九章_图像分割.md index e97ba8d..52cf436 100644 --- a/ch9_图像分割/第九章_图像分割.md +++ b/ch9_图像分割/第九章_图像分割.md @@ -617,8 +617,9 @@ $$ $$ \sum_{i}\psi _i^{scr}\left(y_i|X,S\right)+\sum _i-logP\left(y_i| X,\theta\right)+\sum_{i,j}\psi _{ij}\left(y_i,y_j|X\right) $$ +    -上式的最优化是通过交替求$Y$和$\theta$的最优值来实现的。文章中发现通过三次迭代就能得到比较好的结果。 +上式的最优化是通过交替求 $Y$ 和 $\theta$ 的最优值来实现的。文章中发现通过三次迭代就能得到比较好的结果。
**9.9.2 图像级别标记** From eea50e9e616ce81502ba1fd7c1ceacb6254d4ece Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=8D=E8=BF=B7=E8=8C=AB=EF=BC=8C=E4=B8=8D=E7=AD=89?= =?UTF-8?q?=E5=BE=85?= Date: Fri, 9 Nov 2018 19:09:36 +0800 Subject: [PATCH 26/26] little mmodify --- ch9_图像分割/第九章_图像分割.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ch9_图像分割/第九章_图像分割.md b/ch9_图像分割/第九章_图像分割.md index 52cf436..0fd722d 100644 --- a/ch9_图像分割/第九章_图像分割.md +++ b/ch9_图像分割/第九章_图像分割.md @@ -635,7 +635,7 @@ UC Berkeley的Deepak Pathak使用了一个具有图像级别标记的训练数 $$ \underset{\theta ,P}{minimize}\qquad D(P(X)||Q(X|\theta ))\\ -subject\to\qquad A\overrightarrow{P}\geqslant\overrightarrow{b},\sum_{X}^{ }P(X)=1 +subject\to\qquad A\overrightarrow{P} \geqslant \overrightarrow{b},\sum_{X}^{ }P(X)=1 $$   

r(btc}#18j4O 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 literal 0 HcmV?d00001 From de7e9b37a2edaeaba7f8bfe371e2073387ebd5ea Mon Sep 17 00:00:00 2001 From: scutan90 <31844692+scutan90@users.noreply.github.com> Date: Thu, 8 Nov 2018 09:29:10 +0800 Subject: [PATCH 15/26] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index ee0d3a7..5da3908 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # 1. 版权声明 -请尊重作者的知识产权,版权所有,翻版必究。 -请大家一起维护自己的劳动成果,进行监督。 +请尊重作者的知识产权,版权所有,翻版必究。 未经许可,严禁转发内容! +请大家一起维护自己的劳动成果,进行监督。 未经许可, 严禁转发内容!     2018.6.27 TanJiyong # 2. 概述 From 7e8a2406fc11221e389173d9df266e2ebfc0318e Mon Sep 17 00:00:00 2001 From: Lixiaodan Date: Wed, 7 Nov 2018 20:23:18 -0800 Subject: [PATCH 16/26] add more models related to RNNs --- .../第六章_循环神经网络(RNN).md | 45 ++++++++++++------- 1 file changed, 28 insertions(+), 17 deletions(-) diff --git a/ch6_循环神经网络(RNN)/第六章_循环神经网络(RNN).md b/ch6_循环神经网络(RNN)/第六章_循环神经网络(RNN).md index c301cff..7f41126 100644 --- a/ch6_循环神经网络(RNN)/第六章_循环神经网络(RNN).md +++ b/ch6_循环神经网络(RNN)/第六章_循环神经网络(RNN).md @@ -1,7 +1,7 @@ # 第六章 循环神经网络(RNN) Markdown Revision 2; - Date: 2018/11/04 + Date: 2018/11/07 Editor: 李骁丹-杜克大学 Contact: xiaodan.li@duke.edu @@ -22,9 +22,9 @@ http://blog.csdn.net/heyongluoyao8/article/details/48636251 ## 6.2 RNNs典型特点? -1. RNNs主要用于处理序列数据。对于传统神经网络模型,从输入层到隐含层再到输出层,层与层之间一般为全连接,每层之间神经元是无连接的。但是传统神经网络无法处理数据间的前后关联问题。例如,为了预测句子的下一个单词,一般需要该词之前的语义信息,因为一个句子中前后单词是存在语义联系的。 -2. RNNs中当前单元的输出与上一步输出也有关,因此称之为循环神经网络。具体的表现形式为当前单元(cell)会对上一步的信息进行储存并应用于当前输出的计算中。隐藏层之间的节点连接起来,并且隐藏层当前输出由当前时刻输入向量和上一时刻隐藏层状态共同决定。 -3. 理论上,RNNs能够对任何长度的序列数据进行处理。但是在实践中,为了降低复杂度往往假设当前的状态只与上一时刻状态相关,**下图便是一个典型的RNNs**: +1. RNNs主要用于处理序列数据。对于传统神经网络模型,从输入层到隐含层再到输出层,层与层之间一般为全连接,每层之间神经元是无连接的。但是传统神经网络无法处理数据间的前后关联问题。例如,为了预测句子的下一个单词,一般需要该词之前的语义信息。这是因为一个句子中前后单词是存在语义联系的。 +2. RNNs中当前单元的输出与之前步骤输出也有关,因此称之为循环神经网络。具体的表现形式为当前单元(cell)会对之前步骤信息进行储存并应用于当前输出的计算中。隐藏层之间的节点连接起来,隐藏层当前输出由当前时刻输入向量和之前时刻隐藏层状态共同决定。 +3. 理论上,RNNs能够对任何长度序列数据进行处理。但是在实践中,为了降低复杂度往往假设当前的状态只与之前某几个时刻状态相关,**下图便是一个典型的RNNs**: ![](./img/ch6/figure_6.2_1.png) @@ -114,10 +114,10 @@ ESNs(回声状态网络)虽然也是一种RNNs,但它与传统的RNNs相差较 从结构上讲,ESNs是一种特殊类型的循环神经网络,其基本思想是:使用大规模随机连接的循环网络取代经典神经网络中的中间层,从而简化网络的训练过程。因此ESNs的关键是储备池。 网络中的参数包括: -W - 储备池中节点间连接权值矩阵; -Win - 输入层到储备池之间连接权值矩阵,表明储备池中的神经元之间是相互连接; -Wback - 输出层到储备池之间的反馈连接权值矩阵,表明储备池会有输出层来的反馈; -Wout - 输入层、储备池、输出层到输出层的连接权值矩阵,表明输出层不仅与储备池连接,还与输入层和自己连接。 +(1)W - 储备池中节点间连接权值矩阵; +(2)Win - 输入层到储备池之间连接权值矩阵,表明储备池中的神经元之间是相互连接; +(3)Wback - 输出层到储备池之间的反馈连接权值矩阵,表明储备池会有输出层来的反馈; +(4)Wout - 输入层、储备池、输出层到输出层的连接权值矩阵,表明输出层不仅与储备池连接,还与输入层和自己连接。 Woutbias - 输出层的偏置项。 对于ESNs,关键是储备池的四个参数,如储备池内部连接权谱半径SR(SR=λmax=max{|W的特征指|},只有SR <1时,ESNs才能具有回声状态属性)、储备池规模N(即储备池中神经元的个数)、储备池输入单元尺度IS(IS为储备池的输入信号连接到储备池内部神经元之前需要相乘的一个尺度因子)、储备池稀疏程度SD(即为储备池中互相连接的神经元个数占储备池神经元总个数的比例)。对于IS,待处理任务的非线性越强,输入单元尺度越大。该原则本质就是通过输入单元尺度IS,将输入变换到神经元激活函数相应的范围(神经元激活函数的不同输入范围,其非线性程度不同)。 **ESNs的结构如下图所示**: @@ -129,9 +129,9 @@ Woutbias - 输出层的偏置项。 ### 6.6.5 Gated Recurrent Unit Recurrent Neural Networks GRUs是一般的RNNs的变型版本,其主要是从以下**两个方面**进行改进。 -**一是**,序列中不同单词处(以语句为例)的数据对当前隐藏层状态的影响不同,越前面的影响越小,即每个之前状态对当前的影响进行了距离加权,距离越远,权值越小。 +1. 序列中不同单词处(以语句为例)的数据对当前隐藏层状态的影响不同,越前面的影响越小,即每个之前状态对当前的影响进行了距离加权,距离越远,权值越小。 -**二是**,在产生误差error时,其可能是由之前某一个或者几个单词共同造成,所以应当对对应的单词weight进行更新。GRUs的结构如下图所示。GRUs首先根据当前输入单词向量word vector以及前一个隐藏层状态hidden state计算出update gate和reset gate。再根据reset gate、当前word vector以及前一个hidden state计算新的记忆单元内容(new memory content)。当reset gate为1的时候,new memory content忽略之前所有memory content,最终的memory是由之前的hidden state与new memory content一起决定。 +2. 在产生误差error时,其可能是由之前某一个或者几个单词共同造成,所以应当对对应的单词weight进行更新。GRUs的结构如下图所示。GRUs首先根据当前输入单词向量word vector以及前一个隐藏层状态hidden state计算出update gate和reset gate。再根据reset gate、当前word vector以及前一个hidden state计算新的记忆单元内容(new memory content)。当reset gate为1的时候,new memory content忽略之前所有memory content,最终的memory是由之前的hidden state与new memory content一起决定。 ![](./img/ch6/figure_6.6.5_1.png) @@ -149,18 +149,29 @@ LSTMs与GRUs的区别如图所示: 从上图可以看出,二者结构十分相似,**不同在于**: -(1)new memory都是根据之前state及input进行计算,但是GRUs中有一个reset gate控制之前state的进入量,而在LSTMs里没有类似gate; +1. new memory都是根据之前state及input进行计算,但是GRUs中有一个reset gate控制之前state的进入量,而在LSTMs里没有类似gate; -(2)产生新的state的方式不同,LSTMs有两个不同的gate,分别是forget gate (f gate)和input gate(i gate),而GRUs只有一种update gate(z gate); +2. 产生新的state的方式不同,LSTMs有两个不同的gate,分别是forget gate (f gate)和input gate(i gate),而GRUs只有一种update gate(z gate); -(3)LSTMs对新产生的state可以通过output gate(o gate)进行调节,而GRUs对输出无任何调节。 +3. LSTMs对新产生的state可以通过output gate(o gate)进行调节,而GRUs对输出无任何调节。 -### 6.6.7 Clockwork RNNs(CW-RNNs) -CW-RNNs是较新的一种RNNs模型,其论文发表于2014年Beijing ICML。 -CW-RNNs也是一个RNNs的改良版本,是一种使用时钟频率来驱动的RNNs。它将隐藏层分为几个块(组,Group/Module),每一组按照自己规定的时钟频率对输入进行处理。并且为了降低标准的RNNs的复杂性,CW-RNNs减少了参数的数目,提高了网络性能,加速了网络的训练。CW-RNNs通过不同的隐藏层模块工作在不同的时钟频率下来解决长时间依赖问题。将时钟时间进行离散化,然后在不同的时间点,不同的隐藏层组在工作。因此,所有的隐藏层组在每一步不会都同时工作,这样便会加快网络的训练。并且,时钟周期小的组的神经元的不会连接到时钟周期大的组的神经元,只会周期大的连接到周期小的(认为组与组之间的连接是有向的就好了,代表信息的传递是有向的),周期大的速度慢,周期小的速度快,那么便是速度慢的连速度快的,反之则不成立。现在还不明白不要紧,下面会进行讲解。 +### 6.6.7 Bidirectional LSTMs +1. 与bidirectional RNNs 类似,bidirectional LSTMs有两层LSTMs。一层处理过去的训练信息,另一层处理将来的训练信息。 +2. 在bidirectional LSTMs中,通过前向LSTMs获得前向隐藏状态,后向LSTMs获得后向隐藏状态,当前隐藏状态是前向隐藏状态与后向隐藏状态的组合。 -CW-RNNs与SRNs网络结构类似,也包括输入层(Input)、隐藏层(Hidden)、输出层(Output),它们之间也有向前连接,输入层到隐藏层的连接,隐藏层到输出层的连接。但是与SRN不同的是,隐藏层中的神经元会被划分为若干个组,设为$g$,每一组中的神经元个数相同,设为$k$,并为每一个组分配一个时钟周期$T_i\epsilon\{T_1,T_2,...,T_g\}$,每一个组中的所有神经元都是全连接,但是组$j$到组$i$的循环连接则需要满足$T_j$大于$T_i$。如下图所示,将这些组按照时钟周期递增从左到右进行排序,即$T_1 Date: Thu, 8 Nov 2018 12:50:34 +0800 Subject: [PATCH 17/26] Create GPL License --- LICENSE | 674 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 674 insertions(+) create mode 100644 LICENSE diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..f288702 --- /dev/null +++ b/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. From e73bc854f06bdea137d19a7dd75c87ca784192ed Mon Sep 17 00:00:00 2001 From: scutan90 <31844692+scutan90@users.noreply.github.com> Date: Thu, 8 Nov 2018 17:24:31 +0800 Subject: [PATCH 18/26] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5da3908..b585d4d 100644 --- a/README.md +++ b/README.md @@ -63,7 +63,7 @@ 1. 寻求有愿意继续完善的朋友、编辑、写手; 如有意合作,完善出书(成为共同作者)。 所有提交内容的贡献者,将会在文中体现贡献者个人信息(大佬-西湖大学)。 -2. 联系方式 : 请联系scutjy2015@163.com (唯一官方邮箱); 微信Tan: tan_weixin88 +2. 联系方式 : 请联系scutjy2015@163.com (唯一官方邮箱); 微信Tan: (进群先在MD版本增加、改善、提交内容后,更易进群,享受分享知识帮助他人。) From 35711e60db5d1f388db3ff0c5c6257f7010f6313 Mon Sep 17 00:00:00 2001 From: Dong Gang Date: Fri, 9 Nov 2018 09:03:21 +0800 Subject: [PATCH 19/26] =?UTF-8?q?Fix=20the=20Typo=20=E2=80=98=E4=BA=8B?= =?UTF-8?q?=E4=BB=B6=E2=80=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ch1_数学基础/第一章_数学基础.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ch1_数学基础/第一章_数学基础.md b/ch1_数学基础/第一章_数学基础.md index 3574e6d..1b3708d 100644 --- a/ch1_数学基础/第一章_数学基础.md +++ b/ch1_数学基础/第一章_数学基础.md @@ -159,7 +159,7 @@ $$ 右边的三个矩阵相乘的结果将会是一个接近于$A$的矩阵,在这儿,$r$越接近于$n$,则相乘的结果越接近于$A$。 ## 1.10 机器学习为什么要使用概率? -事件的概率是衡量该时间发生的可能性的量度。虽然在一次随机试验中某个事件的发生是带有偶然性的,但那些可在相同条件下大量重复的随机试验却往往呈现出明显的数量规律。 +事件的概率是衡量该事件发生的可能性的量度。虽然在一次随机试验中某个事件的发生是带有偶然性的,但那些可在相同条件下大量重复的随机试验却往往呈现出明显的数量规律。 机器学习除了处理不确定量,也需处理随机量。不确定性和随机性可能来自多个方面,使用概率论来量化不确定性。 概率论在机器学习中扮演着一个核心角色,因为机器学习算法的设计通常依赖于对数据的概率假设。 From 5e03948228bfb0418ae39a36665cfff16240f6c9 Mon Sep 17 00:00:00 2001 From: jindongwang Date: Fri, 9 Nov 2018 11:14:13 +0800 Subject: [PATCH 20/26] add: 4 transfer learning questions --- ch11_迁移学习/第十一章_迁移学习.md | 34 ++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/ch11_迁移学习/第十一章_迁移学习.md b/ch11_迁移学习/第十一章_迁移学习.md index 830f922..e41005b 100644 --- a/ch11_迁移学习/第十一章_迁移学习.md +++ b/ch11_迁移学习/第十一章_迁移学习.md @@ -107,3 +107,37 @@ Reference: 1. 所以端到端深度学习的弊端之一是它把可能有用的人工设计的组件排除在外了,精心设计的人工组件可能非常有用,但它们也有可能真的伤害到你的算法表现。 例如,强制你的算法以音位为单位思考,也许让算法自己找到更好的表示方法更好。 所以这是一把双刃剑,可能有坏处,可能有好处,但往往好处更多,手工设计的组件往往在训练集更小的时候帮助更大。 + +## 10.8 什么是负迁移?产生负迁移的原因有哪些?(中科院计算所-王晋东) + +负迁移(Negative Transfer)指的是,在源域上学习到的知识,对于目标域上的学习产生负面作用。 + +产生负迁移的原因主要有: +- 数据问题:源域和目标域压根不相似,谈何迁移? +- 方法问题:源域和目标域是相似的,但是,迁移学习方法不够好,没找到可迁移的成分。 + +负迁移给迁移学习的研究和应用带来了负面影响。在实际应用中,找到合理的相似性,并且选择或开发合理的迁移学习方法,能够避免负迁移现象。 + +## 10.9 迁移学习的基本问题有哪些?(中科院计算所-王晋东) + +基本问题主要有3个: +- How to transfer: 如何进行迁移学习?(设计迁移方法) +- What to transfer: 给定一个目标领域,如何找到相对应的源领域,然后进行迁移?(源领域选择) +- When to transfer: 什么时候可以进行迁移,什么时候不可以?(避免负迁移) + +## 10.10 迁移学习的基本思路?(中科院计算所-王晋东) + +迁移学习的总体思路可以概括为:开发算法来最大限度地利用有标注的领域的知识,来辅助目标领域的知识获取和学习。 + +迁移学习的核心是,找到源领域和目标领域之间的相似性,并加以合理利用。这种相似性非常普遍。比如,不同人的身体构造是相似的;自行车和摩托车的骑行方式是相似的;国际象棋和中国象棋是相似的;羽毛球和网球的打球方式是相似的。这种相似性也可以理解为不变量。以不变应万变,才能立于不败之地。 + +有了这种相似性后,下一步工作就是, 如何度量和利用这种相似性。度量工作的目标有两点:一是很好地度量两个领域的相似性,不仅定性地告诉我们它们是否相似,更定量地给出相似程度。二是以度量为准则,通过我们所要采用的学习手段,增大两个领域之间的相似性,从而完成迁移学习。 + +**一句话总结: 相似性是核心,度量准则是重要手段。** + +## 10.11 为什么需要迁移学习?(中科院计算所-王晋东) + +1. 大数据与少标注的矛盾:虽然有大量的数据,但往往都是没有标注的,无法训练机器学习模型。人工进行数据标定太耗时。 +2. 大数据与弱计算的矛盾:普通人无法拥有庞大的数据量与计算资源。因此需要借助于模型的迁移。 +3. 普适化模型与个性化需求的矛盾:即使是在同一个任务上,一个模型也往往难以满足每个人的个性化需求,比如特定的隐私设置。这就需要在不同人之间做模型的适配。 +4. 特定应用(如冷启动)的需求。 \ No newline at end of file From 23a8c758f59a609f25ed5de132a9357ad134aceb Mon Sep 17 00:00:00 2001 From: Lixiaodan Date: Thu, 8 Nov 2018 22:23:27 -0800 Subject: [PATCH 21/26] ch5 cnn has been modified --- .../第五章_卷积神经网络(CNN).md | 72 ++++++++++--------- 1 file changed, 40 insertions(+), 32 deletions(-) diff --git a/ch5_卷积神经网络(CNN)/第五章_卷积神经网络(CNN).md b/ch5_卷积神经网络(CNN)/第五章_卷积神经网络(CNN).md index ac922ad..7c8cb8d 100644 --- a/ch5_卷积神经网络(CNN)/第五章_卷积神经网络(CNN).md +++ b/ch5_卷积神经网络(CNN)/第五章_卷积神经网络(CNN).md @@ -1,33 +1,40 @@ -# 第五章 卷积神经网络(CNN) +# 第五章 卷积神经网络(CNN) 标签(空格分隔): 深度学习 - --- + Markdown Revision 1; + Date: 2018/11/08 + Editor: 李骁丹-杜克大学 + Contact: xiaodan.li@duke.edu ## 5.1 卷积神经网络的组成层 -在卷积神经网络中,有3种最主要的层: -> * 卷积运算层 -> * 池化层 -> * 全连接层 +1. 卷积神经网络主要应用于具有网格拓扑结构的数据集。 +2. 卷积神经网络在语音识别,图像处理以及人脸识别方面有了广泛的应用并取得了巨大的成功。 +3. 卷积神经网络主要包含3种层: + +> * 卷积运算层:该层利用过滤器对输入特征进行卷积化以获得本地特征。本地特征构成特征图(feature map)。 +> * 池化层: 池化操作包括取最值,取和以及取平均。池化操作将作用于特征图(feature map)。 +> * 全连接层:基于池化层结果,全连接层将进行将分类预测等操作。 一个完整的神经网络就是由这三种层叠加组成的。 **结构示例** -拿CIFAR-10数据集举例,一个典型的该数据集上的卷积神经网络分类器应该有[INPUT - CONV - RELU - POOL - FC]的结构, +拿CIFAR-10数据集举例,一个典型的卷积神经网络分类器应该有[INPUT - CONV - RELU - POOL - FC]的结构, > * INPUT[32\*32\*3]包含原始图片数据中的全部像素,长宽都是32,有RGB 3个颜色通道。 -> * CONV卷积层中,每个神经元会和上一层的若干小区域连接,计算权重和小区域像素的内积,举个例子可能产出的结果数据是[32\*32\*12]的。 +> * CONV卷积层中,每个神经元会和上一层的若干小区域连接,计算权重和小区域像素的内积,比如结果数据为[32\*32\*12]的。 > * RELU层,就是神经元激励层,主要的计算就是max(0,x),结果数据依旧是[32\*32\*12]。 -> * POOLing层做的事情,可以理解成一个下采样,可能得到的结果维度就变为[16\*16\*12]了。 -> * 全连接层一般用于最后计算类别得分,得到的结果为[1\*1\*10]的,其中的10对应10个不同的类别。和名字一样,这一层的所有神经元会和上一层的所有神经元有连接。 +> * POOLing层操作可以理解成一个下采样,得到的结果维度就变为[16\*16\*12]。 +> * 全连接层一般用于最后计算类别得分,得到的结果为[1\*1\*10],其中的10对应10个不同的类别。该层的所有神经元会和上一层的所有神经元连接。 -这样,卷积神经网络作为一个中间的通道,就一步步把原始的图像数据转成最后的类别得分了。有一个点我们要提一下,刚才说到了有几种不同的神经网络层,其中有一些层是有待训练参数的,另外一些没有。详细一点说,卷积层和全连接层包含权重和偏移的;而RELU和POOLing层只是一个固定的函数运算,是不包含权重和偏移参数的。不过POOLing层包含了我们手动指定的超参数,这个我们之后会提到。 +这样,卷积神经网络作为一个中间通道,就一步步把原始图像数据转成最后的类别得分。有一点我们要提一下,刚才提及的几种不同神经网络层,其中有一些层是需要进行参数训练,另外一些不需要。详细一点说,卷积层和全连接层包含权重和偏移;而RELU和POOLing层只是一个固定的函数运算,是不包含权重和偏移参数的。不过POOLing层包含了我们手动指定的超参数。 **总结一下**: -* (1)一个卷积神经网络由多种不同类型的层(卷积层/RELU层/POOLing层/全连接层等)叠加而成。 -* (2)每一层的输入结构是3维的数据,计算完输出依旧是3维的数据。 -* (3)卷积层和全连接层包含训练参数,RELU 和 POOLing 层不包含。 -* (4)卷积层,全连接层和 POOLing 层包含超参数,RELU 层没有。 + +* 一个卷积神经网络由多种不同类型的层(卷积层/RELU层/POOLing层/全连接层等)叠加而成。 +* 每一层的输入结构是3维的数据,计算完输出依旧是3维的数据。 +* 卷积层和全连接层包含训练参数,但是RELU 和 POOLing 层不包含。 +* 卷积层,全连接层和 POOLing 层包含超参数,RELU 层没有。 下图为 CIFAR-10 数据集构建的一个卷积神经网络结构示意图: @@ -35,7 +42,7 @@ ## 5.2 卷积如何检测边缘信息? -卷积运算是卷积神经网络最基本的组成部分,神经网络的前几层首先检测边缘,然后,后面的层有可能检测到物体的部分区域,更靠后的一些层可能检测到完整的物体。 +卷积运算是卷积神经网络最基本的组成部分。神经网络的前几层首先检测边缘,接下来的层有可能检测到物体的部分区域,更靠后的一些层可能检测到完整的物体。 先介绍一个概念,过滤器: ![image](./img/ch5/img2.png) @@ -50,37 +57,37 @@ ![image](./img/ch5/img4.png) -我们看一下发生了什么事,把过滤器最准图像左上方3*3的范围,逐一相乘并相加,得到-5。 +如图深蓝色区域所示,过滤器在图像左上方3*3的范围内,逐一加权相加,得到-5。 同理,将过滤器右移进行相同操作,再下移,直到过滤器对准图像右下角最后一格。依次运算得到一个4*4的矩阵。 -OK,了解了过滤器以及卷积运算后,让我们看看为何过滤器能检测物体边缘: +在了解了过滤器以及卷积运算后,让我们看看为何过滤器能检测物体边缘: 举一个最简单的例子: ![image](./img/ch5/img5.png) -这张图片如上所示,左半边全是白的,右半边全是灰的,过滤器还是用之前那个,把他们进行卷积: +这张图片如上所示,左半边全是白的,右半边全是灰的,我们仍然使用之前的过滤器,对该图片进行卷积处理: ![image](./img/ch5/img6.png) 可以看到,最终得到的结果中间是一段白色,两边为灰色,于是垂直边缘被找到了。为什么呢?因为在6*6图像中红框标出来的部分,也就是图像中的分界线所在部分,与过滤器进行卷积,结果是30。而在不是分界线的所有部分进行卷积,结果都为0. -在这个图中,白色的分界线很粗,那是因为6*6的图像实在太小了,若是换成1000*1000的图像,我们会发现在最终结果中,分界线不粗且很明显。 +在这个图中,白色的分界线很粗,那是因为6\*6的图像尺寸过小,对于1000\*1000的图像,我们会发现在最终结果中,分界线较细但很明显。 这就是检测物体垂直边缘的例子,水平边缘的话只需将过滤器旋转90度。 ## 5.3 卷积的几个基本定义? -首先,我们需要就定义一个卷积层的几个参数达成一致。 +首先,我们需要定义卷积层参数。 ### 5.3.1 卷积核大小 -(Kernel Size): 卷积核的大小定义了卷积的视图范围。二维的常见选择大小是3,即3×3像素。 +(Kernel Size): 卷积核大小定义了卷积的视图范围。针对二维,通常选择大小是3,即3×3像素。 ### 5.3.2 卷积核的步长 -(Stride): Stride定义了内核的步长。虽然它的默认值通常为1,但我们可以将步长设置为2,然后对类似于MaxPooling的图像进行向下采样。 +(Stride): Stride定义了卷积核步长。虽然它的默认值通常为1,但我们可以将步长设置为2,然后对类似于MaxPooling的图像进行向下采样。 ### 5.3.3 边缘填充 @@ -88,40 +95,41 @@ OK,了解了过滤器以及卷积运算后,让我们看看为何过滤器能 ### 5.3.4 输入和输出通道 - 一个卷积层接受一定数量的输入通道(I),并计算一个特定数量的输出通道(O),这一层所需的参数可以由I*O*K计算,K等于卷积核中值的数量。 + 一个卷积层接受一定数量的输入通道(I),并计算一个特定数量的输出通道(O),这一层所需的参数可以由I\*O\*K计算,K等于卷积核中值的数量。 ## 5.4 卷积的网络类型分类? ### 5.4.1 普通卷积 +普通卷积如下图所示。 ![image](./img/ch5/img7.png) ### 5.4.2 扩张卷积 -又名空洞(atrous)卷积,扩张的卷积引入了另一个被称为扩张率(dilation rate)的卷积层。这定义了卷积核中值之间的间隔。一个3×3卷积核的扩张率为2,它的视图与5×5卷积核相同,而只使用9个参数。想象一下,取一个5×5卷积核,每两行或两列删除一行或一列。 +又名空洞(atrous)卷积,扩张的卷积引入了另一个被称为扩张率(dilation rate)的卷积层。扩张率定义了卷积核中值之间的间隔。一个3×3卷积核的扩张率为2,它的视图与5×5卷积核相同,而只使用9个参数。一个5×5卷积核,每两行或两列删除一行或一列。 -这将以同样的计算代价提供更广阔的视角。扩张的卷积在实时分割领域特别受欢迎。如果需要广泛的视图,并且不能负担多个卷积或更大的卷积核,那么就使用它们。 +这将以同样的计算代价提供更广阔的视角。扩张的卷积在实时分割领域特别受欢迎。如果需要广泛视图,但不能负担较多个卷积或更大的卷积核,往往会使用扩张卷积。 举例: ![image](./img/ch5/img8.png) ### 5.4.3 转置卷积 -转置卷积也就是反卷积(deconvolution)。虽然有些人经常直接叫它反卷积,但严格意义上讲是不合适的,因为它不符合一个反卷积的概念。反卷积确实存在,但它们在深度学习领域并不常见。一个实际的反卷积会恢复卷积的过程。想象一下,将一个图像放入一个卷积层中。现在把输出传递到一个黑盒子里,然后你的原始图像会再次出来。这个黑盒子就完成了一个反卷积。这是一个卷积层的数学逆过程。 +转置卷积也称反卷积(deconvolution)。虽然有些人经常直接叫其反卷积,但严格意义上讲是不合适的,因为它不符合反卷积的基本概念。反卷积确实存在,但它们在深度学习领域并不常见。一个实际的反卷积会恢复卷积的过程。将一个图像放入一个卷积层中。接着把输出传输到一个黑盒子里,最后该黑盒将输出原始图像。这个黑盒子就完成了一个反卷积。其是卷积层的数学逆过程。 -一个转置的卷积在某种程度上是相似的,因为它产生的相同的空间分辨率是一个假设的反卷积层。然而,在值上执行的实际数学操作是不同的。一个转置的卷积层执行一个常规的卷积,但是它会恢复它的空间变换(spatial transformation)。 +转置卷积在某种程度上与反卷积类似,因为它在相同的空间分辨率下,是一个假设的反卷积层。然而,在数值上执行的实际数学操作是不同的。一个转置卷积层执行一个常规的卷积,但是它会恢复它的空间变换(spatial transformation)。 在这一点上,你应该非常困惑,让我们来看一个具体的例子: 5×5的图像被馈送到一个卷积层。步长设置为2,无边界填充,而卷积核是3×3。结果得到了2×2的图像。 -如果我们想要逆转这个过程,我们需要反向的数学运算,以便从我们输入的每个像素中生成9个值。然后,我们将步长设置为2来遍历输出图像。这就是一个反卷积过程。 +如果想要逆转这个过程,我们需要反向的数学运算,以便从我们输入的每个像素中生成9个值。我们将步长设置为2来遍历输出图像。这就是一个反卷积过程。 ![image](./img/ch5/img9.png) -一个转置的卷积并不会这样做。唯一的共同点是,它保证输出将是一个5×5的图像,同时仍然执行正常的卷积运算。为了实现这一点,我们需要在输入上执行一些奇特的填充。 +一个转置的卷积做法与此不同。唯一的共同点是,它的输出仍然是一个5×5的图像,但其实际上执行的是正常卷积运算。为了实现这一点,我们需要在输入上执行一些奇特的填充。 -正如你现在所能想象的,这一步不会逆转上面的过程。至少不考虑数值。 +因此这一步不会逆转上面的过程。至少不考虑数值。 -它仅仅是重新构造了之前的空间分辨率并进行了卷积运算。这可能不是数学上的逆过程,但是对于编码-解码器(Encoder-Decoder)架构来说,这仍然是非常有用的。这样我们就可以把图像的尺度上推(upscaling)和卷积结合起来,而不是做两个分离的过程。 +它仅仅是重新构造了之前的空间分辨率并进行了卷积运算。这不是数学上的逆过程,但是对于编码-解码器(Encoder-Decoder)架构来说,这仍然是非常有用的。这样我们就可以把图像的尺度上推(upscaling)和卷积结合起来,而不是做两个分离的过程。 如果我们想反转这个过程,我们需要反数学运算,以便从我们输入的每个像素中生成9个值。之后,我们以2步幅的设置来遍历输出图像。这将是一个反卷积。 From 1f7018cc98b43b09d6dd57af0c1bd8959bac3e0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=8D=E8=BF=B7=E8=8C=AB=EF=BC=8C=E4=B8=8D=E7=AD=89?= =?UTF-8?q?=E5=BE=85?= Date: Fri, 9 Nov 2018 18:51:48 +0800 Subject: [PATCH 22/26] little mmodify --- ch4_经典网络/modify_log.txt | 3 +++ ch4_经典网络/第四章_经典网络.md | 4 +--- ch9_图像分割/第九章_图像分割.md | 12 +++++------- 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/ch4_经典网络/modify_log.txt b/ch4_经典网络/modify_log.txt index 330454f..1388880 100644 --- a/ch4_经典网络/modify_log.txt +++ b/ch4_经典网络/modify_log.txt @@ -24,6 +24,9 @@ modify_log---->用来记录修改日志 1. 删除4.6.3,4.8.4 2. 修改4.3问题答案,添加部分论文链接 +<----qjhuang-2018-11-9----> +1. 修改部分书写错误 + 其他---->待增加 2. 修改readme内容 3. 修改modify内容 diff --git a/ch4_经典网络/第四章_经典网络.md b/ch4_经典网络/第四章_经典网络.md index 7e78952..480508e 100644 --- a/ch4_经典网络/第四章_经典网络.md +++ b/ch4_经典网络/第四章_经典网络.md @@ -421,7 +421,7 @@ figure 6' 17/8之间的特征图尺寸缩小 ![](./img/ch4/image47.png)      -Inception v4 中的Inception模块(分别为Inception A Inception B Inception C +Inception v4 中的Inception模块(分别为Inception A Inception B Inception C) ![](./img/ch4/image48.png) @@ -466,8 +466,6 @@ Inception-ResNet-v2中的reduction模块(分别为reduction A reduction B) ![](./img/ch4/image63.png) # 4.8 ResNet及其变体 -     -http://www.sohu.com/a/157818653_390227      自从AlexNet在LSVRC2012分类比赛中取得胜利之后,深度残差网络(Deep Residual Network)可以说成为过去几年中,在计算机视觉、深度学习社区领域中最具突破性的成果了。ResNet可以实现高达数百,甚至数千个层的训练,且仍能获得超赞的性能。 diff --git a/ch9_图像分割/第九章_图像分割.md b/ch9_图像分割/第九章_图像分割.md index 4da48eb..d98254b 100644 --- a/ch9_图像分割/第九章_图像分割.md +++ b/ch9_图像分割/第九章_图像分割.md @@ -219,9 +219,7 @@ learning rate:0.001。    (2) 左边的网络是收缩路径:使用卷积和maxpooling。    -(3) 右边的网络是扩张路径:使用上采样产生的特征图与左侧收缩路径对应层产生的特征图进行concatenate操作。(pooling层会丢失图像信息和降低图像分辨率且是不可逆的操作,对图像分割任务有一些影响,对图像分类任务的影响不大,为什么要做上采样? -   -因为上采样可以补足一些图片的信息,但是信息补充的肯定不完全,所以还需要与左边的分辨率比较高的图片相连接起来(直接复制过来再裁剪到与上采样图片一样大小),这就相当于在高分辨率和更抽象特征当中做一个折衷,因为随着卷积次数增多,提取的特征也更加有效,更加抽象,上采样的图片是经历多次卷积后的图片,肯定是比较高效和抽象的图片,然后把它与左边不怎么抽象但更高分辨率的特征图片进行连接)。 +(3) 右边的网络是扩张路径:使用上采样产生的特征图与左侧收缩路径对应层产生的特征图进行concatenate操作。(pooling层会丢失图像信息和降低图像分辨率且是不可逆的操作,对图像分割任务有一些影响,对图像分类任务的影响不大,为什么要做上采样?因为上采样可以补足一些图片的信息,但是信息补充的肯定不完全,所以还需要与左边的分辨率比较高的图片相连接起来(直接复制过来再裁剪到与上采样图片一样大小),这就相当于在高分辨率和更抽象特征当中做一个折衷,因为随着卷积次数增多,提取的特征也更加有效,更加抽象,上采样的图片是经历多次卷积后的图片,肯定是比较高效和抽象的图片,然后把它与左边不怎么抽象但更高分辨率的特征图片进行连接)。    (4) 最后再经过两次反卷积操作,生成特征图,再用两个1X1的卷积做分类得到最后的两张heatmap,例如第一张表示的是第一类的得分,第二张表示第二类的得分heatmap,然后作为softmax函数的输入,算出概率比较大的softmax类,选择它作为输入给交叉熵进行反向传播训练。 @@ -608,14 +606,14 @@ ScribbleSup分为两步,第一步将像素的类别信息从scribbles传播到 Graph Cut的能量函数为: $$ -\sum_{i}\psi _i\left ( y_i | X,S \right ) +\sum_{i,j}\psi _{ij}\left ( y_i,y_j,X \right ) +\sum_{i}\psi _i\left(y_i|X,S\right)+\sum_{i,j}\psi_{ij}\left(y_i,y_j,X\right) $$    在这个graph中,每个super-pixel是graph中的一个节点,相接壤的super-pixel之间有一条连接的边。这个能量函数中的一元项包括两种情况,一个是来自于scribble的,一个是来自CNN对该super-pixel预测的概率。整个最优化过程实际上是求graph cut能量函数和CNN参数联合最优值的过程: $$ -\sum_{i}\psi _i^{scr}\left ( y_i | X,S \right ) +\sum _i-logP\left(y_i | X,\theta \right)+\sum_{i,j}\psi _{ij}\left ( y_i,y_j| X \right ) +\sum_{i}\psi _i^{scr}\left(y_i|X,S\right)+\sum _i-logP\left(y_i| X,\theta\right)+\sum_{i,j}\psi _{ij}\left(y_i,y_j|X\right) $$    @@ -633,9 +631,9 @@ UC Berkeley的Deepak Pathak使用了一个具有图像级别标记的训练数 该方法把训练过程看作是有线性限制条件的最优化过程: $$ -\underset{\theta ,P}{minimize} \qquad D(P(X)||Q(X|\theta ))\\ +\underset{\theta ,P}{minimize}\qquad D(P(X)||Q(X|\theta ))\\ -subject\ to \qquad A\overrightarrow{P}\geqslant \overrightarrow{b},\sum_{X}^{ }P(X)=1 +subject\to\qquad A\overrightarrow{P}\geqslant\overrightarrow{b},\sum_{X}^{ }P(X)=1 $$    From aafb0ed0682dcb8e4be45188539937a11fbb8dae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=8D=E8=BF=B7=E8=8C=AB=EF=BC=8C=E4=B8=8D=E7=AD=89?= =?UTF-8?q?=E5=BE=85?= Date: Fri, 9 Nov 2018 18:57:43 +0800 Subject: [PATCH 23/26] little mmodify --- ch9_图像分割/modify_log.txt | 3 +++ ch9_图像分割/第九章_图像分割.md | 12 ++++++------ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/ch9_图像分割/modify_log.txt b/ch9_图像分割/modify_log.txt index f18ca4b..2a39323 100644 --- a/ch9_图像分割/modify_log.txt +++ b/ch9_图像分割/modify_log.txt @@ -31,6 +31,9 @@ modify_log---->用来记录修改日志 <----qjhuang-2018-11-7----> 1. 修改9.5答案部分说法(可讨论) +<----qjhuang-2018-11-9----> +1. 修改部分答案公式,链接 + 其他---->待增加 2. 修改readme内容 3. 修改modify内容 diff --git a/ch9_图像分割/第九章_图像分割.md b/ch9_图像分割/第九章_图像分割.md index d98254b..9636d82 100644 --- a/ch9_图像分割/第九章_图像分割.md +++ b/ch9_图像分割/第九章_图像分割.md @@ -578,7 +578,8 @@ Why K个mask?通过对每个 Class 对应一个Mask可以有效避免类间竞 ## **9.9 CNN在基于弱监督学习的图像分割中的应用**    -https://zhuanlan.zhihu.com/p/23811946 +答案来源:[CNN在基于弱监督学习的图像分割中的应用](https://zhuanlan.zhihu.com/p/23811946) +    最近基于深度学习的图像分割技术一般依赖于卷积神经网络CNN的训练,训练过程中需要非常大量的标记图像,即一般要求训练图像中都要有精确的分割结果。    @@ -586,11 +587,11 @@ https://zhuanlan.zhihu.com/p/23811946    如果学习算法能通过对一些初略标记过的数据集的学习就能完成好的分割结果,那么对训练数据的标记过程就很简单,这可以大大降低花在训练数据标记上的时间。这些初略标记可以是:    -1, 只给出一张图像里面包含哪些物体, +1、只给出一张图像里面包含哪些物体,    -2, 给出某个物体的边界框, +2、给出某个物体的边界框,    -3, 对图像中的物体区域做部分像素的标记,例如画一些线条、涂鸦等(scribbles)。 +3、对图像中的物体区域做部分像素的标记,例如画一些线条、涂鸦等(scribbles)。 **9.9.1 Scribble标记** @@ -608,14 +609,12 @@ Graph Cut的能量函数为: $$ \sum_{i}\psi _i\left(y_i|X,S\right)+\sum_{i,j}\psi_{ij}\left(y_i,y_j,X\right) $$ -    在这个graph中,每个super-pixel是graph中的一个节点,相接壤的super-pixel之间有一条连接的边。这个能量函数中的一元项包括两种情况,一个是来自于scribble的,一个是来自CNN对该super-pixel预测的概率。整个最优化过程实际上是求graph cut能量函数和CNN参数联合最优值的过程: $$ \sum_{i}\psi _i^{scr}\left(y_i|X,S\right)+\sum _i-logP\left(y_i| X,\theta\right)+\sum_{i,j}\psi _{ij}\left(y_i,y_j|X\right) $$ -    上式的最优化是通过交替求$Y$和$\theta$的最优值来实现的。文章中发现通过三次迭代就能得到比较好的结果。