数学理论
月下花弄影
登山,高一步则多一层境界
展开
-
参数共享机制soft-share and hard-share【机器学习】
先讲hard-share. 言外之意就是来硬的。实际上两个参数的hard-share就退变成了一个参数。在实际计算过程中,我们就可以使用相同的参数进行计算。参数更新后也保持相同。再说soft-share。实际上这才是真的两个不同参数,但是我们尽量保证两个参数很接近。为了使两个参数很接近,我们通常使用损失函数来做。如下图,其中θt\theta^tθt 和 θt′\theta^{t'}θt′就是我们想要共享的参数。...原创 2020-05-20 13:15:59 · 3441 阅读 · 0 评论 -
卷积神经网络之如何使用【公式】计算感受野 receptive field?
感受野可以说卷积神经网络中比较重要的一个知识点了,对于理解神经网络的原理应该是有重要作用的。本文旨在说明如何计算感受野。基本知识1. 普通神经网络基本构成:卷积核大小,步长,padding2. 计算输出特征图大小:看下面的第二幅图里面的公式我相信大家看到本篇博客的时候,应该已经知道了什么是卷积神经网络。对于不知道卷积神经网络的,建议去看CS231n的网络课程,里面非常详细。考虑到卷积神经...原创 2019-12-10 14:29:19 · 619 阅读 · 3 评论 -
深度学习中batch size 和 learning rate有什么关系?
参考文章链接参考文章题目:One weird trick for parallelizing convolutional neural networks具体可看第5页中。一般来说,我们batch size 大一些,则learning rate也要大一些。且有一个数学关系。假设别人最优的结果是这样的:batchsize=batch1batch size = batch_1batchsize...原创 2019-11-18 13:49:11 · 11826 阅读 · 2 评论 -
深度学习(GAN)中concatenate 和 add的区别
在深度学习中,有时候我们会涉及到两个特征结合,在使用卷积情况下就涉及feature map的结合。一般情况下,feature maps的结合有两种方法,一种是元素对应相加,简称add,另一种就是把特征图堆到一起来,简称concatenate。以下先详细说一下怎么操作。假设feature map 1 的维度为B1∗C1∗H1∗W1B_1*C_1*H_1*W_1B1∗C1∗H1∗W1, ...原创 2019-06-07 16:14:02 · 8192 阅读 · 0 评论 -
GAN:如何求Discriminator辨别器纳什均衡?(绝对简单,只要懂得基本求导)
本文讲讲如何求解GAN(生成对抗)网络中Discriminator的纳什均衡点。在看GAN相关的理论文章时,经常会被某些表达和理由给卡住。本文试图解决其中一个。先抛出问题:在GAN第一篇论文中,说纳什均衡点是D输出总是0.5,这个0.5是怎么得到的?在一些文章中,有如下图这样的公式,如何理解?:其实,这两个表达比较类似。以下正文:先说明将会用到的参数的含义:xxx 表示输入...翻译 2019-02-25 17:44:45 · 6392 阅读 · 4 评论 -
基于pytorch 的 orthogonal_regularization(正交规范化)实现
认为参数需要满足一定条件,希望卷积层参数是正交的。如果不是正交的,计算与正交之间的距离,然后作为损失进行优化。本程序给出了orthogonal regularization的pytorch的实现,直接返回模型的损失。import torchdef orthogonal_regularization(model, device, beta=1e-4): r""" au...原创 2019-02-19 14:15:03 · 7214 阅读 · 7 评论 -
一图归纳三大种类矩阵范数:诱导范数,元素范数,Schatten范数,涵盖谱范数,2范数
原创 2019-02-24 13:43:54 · 9100 阅读 · 4 评论 -
SA-GAN: self-attention 的 pytorch 实现(针对图像)
############################### self attention layer# author Xu Mingle# time Feb 18, 2019##############################import torch.nn.Moduleimport torchimport torch.nn.initdef init_conv(conv,...原创 2019-02-18 16:14:14 · 6954 阅读 · 6 评论 -
orthogonal regulatization 正交规范化
这个方法现在被很多文章应用。本文就讲讲这个orthogonal regularization, 可以翻译成正交规范化。这个方法首先出现在这篇文章里:LCLR2017文章,2018年,也出现于BigGAN。最开始,2014年只是在初始化的时候让卷积核参数都是正交的。 而orthogonal regularization认为参数如果一直保持正交特性将会发挥作用。为什么要用正交规范化?在神经网络...原创 2019-01-23 13:25:32 · 6656 阅读 · 0 评论 -
如何进行 batch normalization 2d 的计算?
Batch Noramlization 基本算是深度学习的标准配置了。原文链接在看文章时,关于如何计算有一点疑惑。虽然就是上面这个公式,但是这个均值和方差到底是啥,或许有人和我一样还是有一点疑惑。准确来说,这个均值和方差的维度是什么?以二维batch Normalization 为例,结合 pytorch 程序,本文说一下相关内容。pytorch的 Batch Normalizati...原创 2019-02-14 17:13:11 · 5394 阅读 · 10 评论 -
【深度理解】如何评价GAN网络的好坏?IS(inception score)和FID(Fréchet Inception Distance)
原文地址在对抗生成网络中,判别器和生成器的目标函数通常都是用来衡量它们各自做的怎么样的。例如,生成器的目标函数用来衡量生成的图片能骗过分类器的性能。但是这并不能很好的衡量生成图片的质量和多样性。通常,我们使用IS(inception score)和FID(Fréchet Inception Distance)这两个指标来评价不同的GAN模型。IS(inception score)IS用来...原创 2019-01-14 20:32:26 · 80238 阅读 · 58 评论 -
ConvTranspose2d原理,深度网络如何进行上采样?
在生成图像中,我们需要不断的扩大图像的尺寸。目前在深度学习中,ConvTranspose2d是其中一个方法。在DCGAN(Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks)(原文地址)中就是用这个来实现的。别名:convTranspose2d 是pytor...原创 2019-01-11 15:53:33 · 113552 阅读 · 75 评论 -
【详解】CS231n assignment1KNN中不使用循环计算距离:从原理到程序
本文主要讲述不使用循环结构来计算两个矩阵的欧氏距离, 设训练集矩阵为train,size为num_train * num_features,设验证集矩阵为validate,size为num_test,num_features。因此我们计算每一个验证集样本到训练集样本的距离,就是将训练集矩阵train的某一行拿出来与验证集矩阵validate的某一行计算欧式距离。这在两层循环中就是这么做的,相比...原创 2018-12-08 13:13:20 · 1399 阅读 · 5 评论 -
“两步走方法“解析损失函数:mean square error,cross entropy,softmax,SVM
本文试图将四类最基础也最常用的损失函数进行统一归纳,以明白各自的区别,加深对他们的记忆和理解。本文会从两个步骤分析损失函数,第一个是从输入到模型的输出,第二个是从模型的输出到损失函数的计算。第一个步奏,从输入到模型的输出。我先解释一下什么是模型的输出。比如当我们训练好了一个回归模型,用来判断房子的大小和价格的关系。那么,当我们输入一个房子的大小时,模型就会输出一个房子的价格,而这房子的价格...原创 2018-10-13 22:43:11 · 4060 阅读 · 4 评论 -
多分类器softmax——绝对简单易懂的梯度推导
损失函数的计算首先说明本文解决的是softmax的多分类器的梯度求导,以下先给出损失函数的计算方式:这里将最终的loss分为4步进行计算,如下所示,当然,这里不解释为什么是这样的计算方式。注意到,本文并不限制训练样本的数量,训练样本的特征数,以及最后分为几类。这里x表示输入,w表示权重参数。说明:这里的x和w的下标表示x的某一行和w的某一列相乘在逐项相加得到s。然后再根据s计算每一个...原创 2018-10-01 12:57:50 · 10469 阅读 · 0 评论