pytorch one
论文《 Pixel2Mesh:Generating 3D Mesh Models from Single RGB Images》
公式显示
PRML Course Learning
PRML Course 学习
Introduction To Machine Learning
机器学习:What,Why,and How?
What
- 通过经验自动改善算法的表现
- 通常意味着需要手动定义一个模型,并且用数据拟合模型参数
Why
- 现实世界很复杂以至于很难手动找到解决方案
曲线拟合:回归和模型选择
- 多项式曲线拟合
- Loss Function
- overfitting
- Regularization
- DataSet Size
- Validation Set
- Cross-validation
- 总结
- 我们需要模型对新数据有好的泛化能力
- 在训练集上训练模型
- 在测试集上测量模型的表现能力
- 选择什么样的模型?
- 训练损失较低的
- 但是不能选取最低的训练损失的模型
- 使用验证集
- 交叉验证
- 使用正则化
- 得到更多的数据
- 训练损失较低的
- 我们需要模型对新数据有好的泛化能力
决策理论: ML , LOSS FUNCTIOn, MAP?
- 给定一个样本$\mathbb x$,决定
class(
$C_k$)
是来自哪个类- Maximum Likelihood
- Minimum Loss/Cost(e.g misclassication rate)
- Maximum Aposteriori
- Decision: Maximum Likelihood
- 从训练数据中得到统计信息:$p(x, t)$或者$p(x\mid C_k)$
- 确定册数输入$x$的最优值$t$: $t = {argmax}_k{ p(x \mid C_j)}$,其中$p(x\mid C_k)$为似然(
likelihood
)
- Decision: Minimum Misclassication Rate
- $p(mistake)=p(x \in \mathcal R_1, \mathcal C_2) + p(x \in \mathcal R_2, \mathcal C_1) = \int_{\mathcal R_1}p(x, \mathcal C_2)dx + \int_{\mathcal R_2}p(x, \mathcal C_1)dx$
- $p(mistake) = \sum_k \sum_j \int_{\mathcal R_j}p(x, \mathcal C_k)dx$
- Decision: Minimum Loss/Cost
- 错误分类率: $\mathcal R = {argmin}_{{\mathcal R_i \mid i \in {1,…, K}}}{\sum_k\sum_j\mathcal L(\mathcal R_j, \mathcal C_k)}$
- 带有权重的损失函数:$\mathcal R = {argmin}_{{\mathcal R_i \mid i \in {1,…, K}}}{\sum_k\sum_j$$\mathbf W_{j,k}$$\mathcal L(\mathcal R_j, \mathcal C_k)}$
- Decision: Maximum Aposteriori (MAP)
- 贝叶斯理论: $p{A \mid B} = \frac{p{B \mid A}P{A}}{p{B}}$
概率论
- 硬币模型
- 假设投硬币服从bernoulli : $p(h) = \mu, p(t) = 1 - \mu$,且每次投硬币相互独立
- 给出数据集:$\mathcal D = {x_1, x_2,…x_N}$,heads:$x_i = 1$, tails: $x_i = 0$
- 数据的
likelihood
为$p(\mathcal D \mid \mu) = \prod^N_{n=1}p(x_n \mid \mu) = \prod_{n=1}^{N}\mu ^{x_n}(1 - \mu)^{1 - x_n}$
- 数据的
- 最大相似估计
- 选择$\mu$来最大化
likelihood
:$\mu_{ML} = argmax_{\mu}p(\mathcal D \mid \mu)$ - 或者:$\mu_{ML} = argmax_{\mu}lnp(\mathcal D \mid \mu)$
Log-likelihood
: $lnp(\mathcal D \mid \mu) = \sum_{n=1}^Nx_nln \mu + (1-x_n)ln(1-\mu)$- 求导,令值为0:$\frac{d}{d \mu}lnp(\mathcal D \mid \mu) = \sum_{n=1}^Nx_n\frac{1}{\mu} - (1-x_n)\frac{1}{1 - \mu} = \frac{1}{h} - \frac{1}{1 - \mu}t \Rightarrow \mu = \frac{h}{t + h}$
- 选择$\mu$来最大化
- 贝叶斯学习:
- $\mathbf P(\mu \mid \mathcal D) = \frac{P(\mathcal D \mid \mu)P(\mu)}{P(\mathcal D)}$
- $P(\mu \mid \mathcal D) = P(\mathcal D \mid \mu)P(\mu) = \prod_{n=1}^N\mu^{x_n}(1-\mu)^{1-x_n}\mu^{a-1}(1-\mu)^{b-1} = \mu^h(1-\mu)^t\mu^{a-1}(1-\mu)^{b-1}=\mu{h + a - 1}(1 - \mu)^{t + b -1}$
- $\mu_{MAP} = argmax_{\mu}P(\mu \mid \mathcal D)$ 为点估计
Image Conv and Edge Detection
Computer Vision & Computational Photography 学习
Linear Filter
Image filtering
- $g(i,j) = \sum_{k,l}f(i+k, j+l)h(k,l)$
- $g$为
output Image
- $f$为
Input Image
- $h$为
kernel Image
input
和kernel
对应相乘相加
- $g$为
Conv
- $g(i,j) = \sum_{k,l}f(i-k, j-l)h(k,l) = \sum_{k,l}f(k,l)h(i-k,j-l) = f * h$
input
和翻转后的kernel
对应相乘相加- 卷积具有交换:$I \bigotimes f = f \bigotimes I$
- Proof:$g[m,n] = I \bigotimes f = \sum_{k, l}I(m-k, n-l) * f(k, l)$
- let $k^{‘} = m - k, l^{‘} = n - l$;then $k = m - k^{‘}, l = n - l^{‘}$
- $g[m, n] = \sum_{k^{‘}, l^{‘}}I(k^{‘}, l^{‘}) * f(m - k^{‘}, n - l^{‘}) = f \bigotimes I$
- 卷积的输出的Size
填塞(边界效应)
- 角点处的像素会变黑,因为卷积核超出原始图像边界时,原始图像边界外的部分被认为有效的,并且用0填塞
- 采取的措施:
- 0填塞
- 常数填塞
- 夹取填塞
- (圆形)重叠填塞(重复或者平铺)
- 镜像填塞
- 延长
Summary
研究一年级上学期总结
工作内容
一、SMPL
二、拟合SMPL
- 目的:为了使用我们自己扫描得人体
- 目前的阶段:
- 替换原始模板中的
mesh
的点 - 替换原始模板中人体
mesh
的关节点的坐标 - 替换原始模板中人体
mesh
的权重mesh
的权重是每个点对每个关节点的权重值
- 替换原始模板中的
- 目前未解决的问题
- 关于
lbs
的一些问题pinocchio
中关于lbs
的计算是每个点到骨骼的权重- 相反的
SMPL
中lbs
是每个点到关节点的权重 - 如何处理这些问题是一个难题
图形深度学习 ML BASICS(II)
来自Siggraph
神经网络训练:旧和新的技巧
- Old
- 反向传播
- 训练目标
- 我们的网络实施是一个参数化函数
$f_\theta: \mathbb X \to \mathbb Y$, $\widehat y = f(x;\theta)$ - 在训练过程中,我们寻找一个参数最小化损失函数:${min}_\theta L_f(\theta)$
- 例子:L2 regression loss
- 我们的网络实施是一个参数化函数
- 梯度
- 前向传播
- 反向传播
- 训练目标
- 随机梯度、动量、权重衰减(
weight decay
)- 对于训练
N
个样本的目标函数:$L(\mathbf W) = \frac{1}{N}\sum^N_{i=1}l(y^i,\hat y^i) + \sum_l \lambda_l\sum_{k,m}(\mathbf W^l_{k,m})^2$- 其中,$l(y^i,\hat** y^i)$为每一个样本的损失函数;$\sum_{k,m}(\mathbf W^l_{k,m})^2$为每一层的正规(
regularization
)。 - 梯度下降:$\mathbf W_{t+1} = \mathbf W_{t} - \epsilon \nabla_{\mathbf W}L(\mathbf W_t)$
- 第$(l, k, m)$项的梯度向量:
$\frac{\partial L}{\partial \mathbf W^l_{k,m}} = \frac{1}{N} \sum_{i=1}^N\frac{\partial l(\mathbf y^i, \hat \mathbf y^i)}{\partial \mathbf W_{k,m}^l} + 2\lambda_l \mathbf W^l_{k,m}$- 其中, $\frac{\partial l(\mathbf y^i, \hat \mathbf y^i)}{\partial \mathbf W_{k,m}^l}$为第i个例子反向传播的参数梯度。
- 其中,$l(y^i,\hat** y^i)$为每一个样本的损失函数;$\sum_{k,m}(\mathbf W^l_{k,m})^2$为每一层的正规(
SGD
的正则化:权重衰减(weight decay
)- 梯度:
- Batch:$[1…N]$
- $\frac{\partial L}{\partial \mathbf W^l_{k,m}} = \frac{1}{N} \sum_{i=1}^N\frac{\partial l(\mathbf y^i, \hat \mathbf y^i)}{\partial \mathbf W_{k,m}^l} + 2\lambda_l \mathbf W^l_{k,m}$
- 噪声(’随机梯度’)
- MiniBatch:B个元素,从$[1,N]$中随机抽取B个样本
- $\frac{\partial L}{\partial \mathbf W^l_{k,m}} \cong \frac{1}{B} \sum_{i=1}^B\frac{\partial l(\mathbf y^{b(i)}, \hat \mathbf y^{b(i)})}{\partial \mathbf W_{k,m}^l} + 2\lambda_l \mathbf W^l_{k,m}$
- 梯度:
- 学习率(
learning rate
):- $\mathbf W_{t+1} = \mathbf W_{t} - \epsilon \nabla_{\mathbf W}L(\mathbf W_t)$
- 步长:
- 太大:超过最小值或消失
- 太小:收敛速度太慢
- 随机梯度下降+动量
- (
SGD
):$\mathbf W_{t+1} = \mathbf W_{t} - \epsilon \nabla_{\mathbf W}L(\mathbf W_t)$ - (
SGD
+Momentum
)- $\mathbf V_{t+1} = \mu \mathbf V_t + (1-\mu) \nabla_{\mathbf W}L(\mathbf W_t)$
- $\mathbf W_{t+1} = \mathbf W_t - \epsilon_t \mathbf V_{t+1}$
- (
- 对于训练
- 反向传播
- New
- Dropout
- Relu
- Batch Norm(alization), GroupNorm, Spectral Normalization
- Res(idual)Net(work)
卷积神经网络
卷积
池化
- 残差网络(
Residual Network
) FCNN
Encoder - Decoder
【Translate】Siamese Network Features for Image Matching
翻译:
Siamese Network Features for Image Matching
Abstract
通过一个大型数据库中找到匹配的图片在计算机视觉应用中扮演着重要作用,例如SfM
(structure-from-motion
)、多视角的3D
重建(multi-view 3D reconstruction
)、image retrieval
和image-based localisation
。本文中,我们提出通过表达基于特征向量(feature vectors
)的神经网络来表达匹配和未匹配的图片对,其中的相似度用欧拉距离来测量。特征向量神经网络中学习获得,神经网络通过匹配和非匹配的图片对的标签来学校,神经网络构造一个基于孪生网络的对比的损失函数(contrastive loss function
)。以前,孪生网络应用在人脸验证和匹配局部照片,但尚未应用于通用的图片恢复和整个图片的匹配。我们的实验结果显示相比通过图片分类网络得到的基线特征来说我们提出的特征检测方法的表现较好。特征获取的较好并且改善图片的新的landmarks
的匹配,这些landmarks
在训练过程并未得到。这说明训练数据中匹配和未匹配的标签时不完美的。考虑到图像检索应用,结果是有希望的,并且通过利用具有更准确的地面实况标签的更多训练图像对,存在进一步改进的潜力。
1.Introduction
目前,在一个大型、非结构化的图片集合中寻找相似的图片是计算机视觉系统中的一个常见的问题。这可能是一个非常花时间的程序,涉及到测试每个图片找到对应的图片。最近几年,图片匹配的算法被提出来提高算法的精确度和表现。通常来说,这些方法可能被分成两类。第一类包括手动构造这个图片是否是正向(即相似
)还是负向(即,
)的表达。这些方法,例如BoW
(bag-of-visual-words
),通常在预测一个小的候选图片对中有好表现。也有一种方法是通过对抗学习Bow
模型来预测哪一个图片对在输入数据库中,哪一个不再。
第二中方法是基于深度学习,尤其是深度卷积网络(CNNs
),深度学习一种在一些视觉任务(例如:图片分类、物体检测,image retrieval
)有成功的应用。图片表达和相似度检测变得对image retrieval
任务越来越重要,image retrieval
的目的在于在一个大型数据库中匹配图片。最近的工作提出一个想法,这个想法是利用一个从相关的图片恢复的图片分类并且有希望结果的提前训练好的CNN
。
本文,我们没有试图去学习单个图片的分类,我们的目标是直接学习一个图片匹配任务的CNN
。我们利用标签带有标签的训练图片对来学习图片级别的特征表达,这样相似的图片被映射到与其他特征空间接近的空间,并且不相似的图片会离的比较远。这是人脸识别问题的一个类比,人脸识别问题利用孪生网络来预测是否人脸是和输入图片是否想i是。另外的一个应用使用类似的技术的系统由Lin
等人提出,这个应用可以成功的匹配街道等级和天下视图的图片。另外,相似的方法已经应用在匹配相似的局部图片信息,但是还没有应用在图片恢复和整个图片的匹配。
表格1显示从验证数据库并且应用在我们的实验中胡乱匹配的几个例子。图片由5个全球的地标的户外和户内的图片,这些图片有不同的光线、不同的天气状况下拍摄。所有的消极因素
…(未完待续)
后面的感觉和之前的貌似一样的结构
【Translate】Learning to Compare Image Patches via Convolutional Neural Networks
翻译:
Learning to Compare Image Patches via Convolutional Neural Networks
Abstract
这篇文章我们展示了如何直接从图片信息(例如:不需要存储人为设计的特征)产生一个相似函数,这个相似函数是用来解决比较两张图片的问题,这个问题是很多cv问题的基本问题。为了加密这个函数,我们采取了一个基于卷积网络的模型,这个用变化的图片进行训练。训练完成后,我们探索和学校多种神经网络结构,这些结构我们应用于这项工作。我们展示了这个方法,这个方法能优于几个问题和一些基准数据库的state-of-art
。
1. Introduction
比较两张图片可能是计算机视觉领域和图片分析的最基本的任务之一。比较两者图片通常作为一个子程序再多种视觉任务中扮演重要的作用。这些能够从一些低级的任务如structure from motion
,wide baseline matching
,building panoramas
和super-resolution
到高级应用如object recognition
,image retrieval
和classification of object categories
再到一些角色例子(characteristic examples
)。
当然,决定两张图片是否是一样或者不一样是一个相当困难的问题因为存在很多因素影响最后图片的外观。这些包括视点的变化、各种场景的总体光照的变化、遮挡、阴影和相机设置上的不同等等。实际上,许多手动设计特征表述在比较图片方向上有很大的发展,包括SIFT
,SIFT
在计算机视觉社区有很大的影响。但是,这种人为设计描述可能没有考虑在那些决定图片外观的先前因素考虑进去。另一方面,如今一个能够容易得到(或者用软件产生)的包含图片之间的对应关系的大型数据库。这提出如下的问题:我们能够合理的使用这些数据库,自动的学到图片匹对的相似函数?
这篇文字的目标是肯定地解决上述问题。因此我们的目标是从scratch
没有尝试使用人为设计特征而是直接从标记的原生图片学到的函数产生一个图片匹配相似函数。最后,收到最近神经网络和深度学习的发展,我们选择用深度卷积网络来表达这个函数。为了做这些,我们也感兴趣解决什么样的网络结构最好的应用在这个问题。我们因此探索和提出各种各样的网络的类型,这种架构有不同的权衡和优势。在这些所有的例子中,为了训练这些网络,我们使用一个一个大型的包括原生图片的匹配的数据库作为单一的输入。这需要我们简单的通过丰富这个数据库更进一步改善我们方法的表现(因为那些自动产生图片的软件确实足够的)。
为了总结这个部分,本文的主要贡献如下:
- 我们直接从数据中(例如,没有使用任何人工设计的特征)得到一个相似函数,这个相似函数能够隐士的将转换和影响考虑进去(由于,包括
a wide baseline
,illumination
等等)。 - 我们发现和提出一个多种不同的神经网络模型来表达这个函数,同时图吃提出了改善的网络架构,如文献[10]
- 我们将我们的方法应用到几个应用和
benchmark dataset
,展示出比state-of-the-art
更好的优势,也说明比图片特征描述比人工特征描述有更好的表现或者其他学到的描述正如文献[19]中提到的。
更重要的是,由于卷积的特征,最后结果描述即使在一个密集的方法(a dense manner
)也有很有效率。
2.Related Work
用卷积的方法去比较两个图片是使用描述符和一个欧拉平方距离。大多数的描述符是手动构造的例如SIFT
或者DAISY
。最近,学习一个描述符的方法已经被提出来了(例如:DAISY-like
的描述符学习池化区域和降维操作)。Simonyan et al
提出一个对于训练所有的任务凸的程序。
然而,我们的方法受到最近卷积神经网络的发展的启发。虽然这些模型在训练过程中涉及到一个高的非凸的目标函数,他们已经在各种各样的任务中展现出优异的结果。Fischer et al.
从AlexNet
网络(AlexNet
也是在Imagenet
数据库上训练的)中分析卷积描述符的表现并且显示出这些卷积描述符在很多案例除了模糊上比SIFT
有更好的表现。它也提出了一个无监督的训练方法推导出比SIFT
和Imagenet
训练好的网络更好的描述符。
Zbontar
和LeCun
在文献[28]最近提出了一个基于CNN的方法来比较两个图片,这个方法在一个很小的基线的具体问题来计算损失并且显示出最好的在KITTI
数据库的表现。然而,这个工作的重点仅仅是在一个狭小的基线具体问题中的非常小的匹配关系中进行匹配。相反的,我们的目标在于得到一个相似函数,这个函数能够解决一个更为宽泛的更加有挑战的应用中,包括,例如,wide baseline stereo
、feature matching
和image retrieval
。
3.Architectures
正如已经提到的,神经网络的输入为一组图片的匹配。我们的模型没有强加一些与输入通道数有关的限制,即给定一个彩色图片的数据库网络能够被训练到更好的表现。然而,为了能够将我们的方法和state-of-the-art
方法在现存的数据库相比较,我们仅仅在训练过程中训练灰度图像。更重要的是,在3.2
部分描述了SPP
模型的期望,在这些例子中我们嘉定给网络的输入固定为64x64(这意味着原始的图片可能必须resize
到上面描述的空间维度)。
有几种方法来通过网络处理匹配的图片和如何在这些例子中共享信息。处于这个原因,我们探索和测试了集中方法。我们从3.1
部分开始描述我们研究的三种基本的神经网络架构即,2-channel
、Siamese
、Pseudo-siamese
,这些方法在速度和准确度上提供了不同的优势(注意:通常应用到图片匹配技术暗示测试一个图片和一个大规模的其他图片进行匹配,并且按照这样来看重新使用计算好的信息通常是有用的)。重要的是,这些架构来愿意不同的方法,并且这些方法都尝试去解决如下的几个问题:当组成一个比较图片的相似函数的时候,我们是否要选择去计算每个图片的描述符?或者我们是否要选择跳过那些与描述符计算相关的部分并直接处理相似估计?
另外,处理上面的基本模型,我们也在3.2
部分讨论一些与网络结构有关的额外的变量。这些变量不是相互独立的,并且这些变量能够与在3.1
部分描述的基本模型相关联。总之,这些意味着多种模型可以应用于比较图片。
3.1 Basic Models
- 孪生网络(
Siamese
):这种类型的网络与有一个描述符类似。孪生网络有两个分支,这两个分组共享同样的架构同样的权重。每一个分支的输入为匹配图像的一张图片,并且通过一系列的卷积层、ReLU
和最大池化层。在我们的测试中,我们使用一个顶层网络,这个顶层网络包含2个线性全连接层(每个有512个隐藏单元),这两个全连接层由一个ReLU激活层分开。
孪生网络的每个分支被看作描述符计算模块(ddescriptor computation modules
)和顶层网络—可以看作相似函数(similarity function
)。对于完成从两组图片中进行匹配的任务,描述符能够在第一次独立地使用分支进行计算,然后用顶层网络来进行匹配(或者甚至使用像$l_2$的距离函数)。 - 伪孪生网络(
Pseudo-siamese
):就复杂性而言,这种架构可以认为是介于孪生网络和2-channel
网络直接。更准确的来说,伪孪生网络拥有上述孪生网络所描述的特征但是两个分支的全重是分开的,即不共享的。这增加了训练过程中调整参数的数量,并且伪孪生网络不仅相比一个严格的孪生网络也比下面描述的2-channel
网络更加灵活可变。另一方面,伪孪生网络在测试时候保持了孪生网络的高效性。 2-channel
:不同于前面描述的网络,2-channel
网络在架构中没有直接的描述符的记号。我们简单的认为2-channel
网络将两张匹配的图片作为输入,然后这两张图片输入到网络的第一个卷积层.在这个案例中,网络的最底部有一系列的卷积、ReLU
和最大池化层组成。这部分的输出然后被作为顶部模块的输入,顶部模块有一个简单全连接线性层一个输出组成。这个网络提供一个相对于上面提到的网络架构的更加灵活的结构因为它从头开始联合处理两个图片。更多的是,2-channel
可以很快的训练,但是通常来说他的测试时间非常多,因为它需要将测试的所有图片联合起来。
3.2 Additional models
- 深度网络(
Deep network
):我们把Simonyan
和Zisserman
在文献[29]中提出的技术所建议的卷积网络分成更小的3x3的核,由ReLU
激活层分开,这会增加网络的非线性(变量/函数)并且使得决策函数变得更加具有对抗性。他们也提出在初始化这样的网络会变得非常复杂,但是我们没有观察到这个线性并且从草图中训练网路没有问题。在我们的例子中,当将这个技术应用到我们的模型中,最后架构的卷积部分由1个4x4的卷积层和6个3x3的卷积层组成,由ReLU
激活函数分开。正如我们后面所谈到的实验结构所看到的,这个网络架构的改变可以使得最后的结果表现的更好,这和我们观察到的结果是类似的。 - 中央环绕双流网络(
Central-surround two-stream network
):正如这个名字所提到的,我们提出的架构由两个分开的流、中心和环绕组成,这使得我们可以在空间处理两个不同的解析度。更准确的来说,中间的高解析度的流以32x32的图片作为输入,这个图片由剪裁原始图片得到的,剪裁的方式是剪裁原始64x64图片的中心32x32部分,这是通过下采样输入图片的一半。两个流的结果能够通过使用任何一个在3.1
部分讨论的基本架构得到。
利用这样的一个两个流的架构的原因是多个解析度的信息在改善图片匹配中是非常重要的。更重要的是,通过两次考虑图片的中心部分(即 在高解析度和低解析度流),我们隐式的更注重那些离相片中心的更近的像素并且更少在意那些周边的像素,这可以帮助我们更好的改善匹配的精度(重要的是,因为下采样采取的是池化,周边的像素在匹配过程中由更多的方差)。需要注意的是所有的输入的维数都被降低,主要的两个原因是。结果是,训练过程变得更快,这是另外的一个优点。 - 通过
SPP
比较图片(Sptial pyramid pooling network for comparing patches
):到目前为止我们假设网络的输入被设定在固定的size
即64x64。这个要求来源于一个事实,这是因为网络的最后一个卷积层的输出需要一个提前定义好的维度。因此,当我们需要比较任意尺寸的图片时,这就意味着我们第一次必须resize
这些图片达到上面的空间的维度。然而,如果我们看看像SIFT
这样的描述符的例子,例如,我们能够发现有一种方法去解决任意尺寸的问题,这个方法就是通过调整空间池化区域的大小和输入图片的大小的比例,这样我们仍然保持需要固定最后一个卷积层输出的维度,而不需要退化输入图片的解析度。
这也是最近提出的SPP-net
架构背后的想法,这相当于在全卷积层和卷积层之间插入一个空间椎体池化层。这个层次通过空间的池化了聚集最后一个卷积层的特征,池化的大小区域依赖于输入的大小。受到这点的启发,我们也考虑到将3.1
部分所讨论的模型应用到SPP
架构。这可以对所有考虑到的模型很轻松的实现。
Learning
- 优化(
Optimization
):我们用强监督学习来训练我们的模型。我们使用一个基于合页(hinge-based
)的损失术语和平方的l_2
范数的正则化的损失函数,我们的目标时优化下面的目标函数:
$min_w \frac{\lambda}{2} \mid\mid w\mid\mid_2 + \sum_{i=1}^Nmax(0, 1 - y_io_i^{net})$
其中$w$是网络的权重,$o_i^{net}$是网络中第$i$个训练样本,并且$y_i \in {-1, 1}$是对应的标签(-1 和 1 分别代表不匹配和匹配)。
使用ASGD
方法来训练模型,learning rate
为1.0, 动量为0.9并且权重的deacy
$\lambda = 0.0005$。训练过程中的批的大小为128。权重随机初始化并且所有的模型从草图中训练。 - 数据增强和前处理(
Data Augmentation and preprocessing
):为了克服过拟合,我们通过横向、纵向和旋转翻转所有的匹配图片增强训练数据分别有90、180和270个程度。当我们用这种方式以一个特定迭代一般是2天来训练模型时,我们没有注意到过拟合,然后我们测试在测试集上的表现。