方法
文章平均质量分 74
学渣渣渣渣渣
我是菜
深度学习方向,欢迎交流~
展开
-
【github】生成免密token
在 git 某个项目时,登陆github账号后出现了一个问题:remote: Support for password authentication was removed on August 13, 2021.意思是不支持命令行的账号密码登录了,本文提供利用token的解决方案。原创 2023-03-05 13:53:59 · 809 阅读 · 0 评论 -
【skimage】基本图案、图形的绘制
本文讲述常见的图形绘制。,获取更多图形绘制方法。原创 2022-10-19 17:32:48 · 17904 阅读 · 0 评论 -
【tqdm】进度条工具
【代码】【tqdm】进度条工具。原创 2022-10-09 13:33:51 · 17964 阅读 · 0 评论 -
【coursera】tuning process 模型调参:如何确定最佳训练参数?
不同参数的重要性不同,简单来说,学习率最重要。原创 2022-09-24 12:36:46 · 17665 阅读 · 0 评论 -
【coursera】local optima 局部最优问题
梯度下降算法一般会在 导数=0 的地方停止原地踏步(如右图,被称为鞍点),或者在 导数接近0 的局部最小处来回震荡(如左图,被称为局部最优的情况)。上述两种情况都会影响机器学习的训练效果。在高维空间中,右图(遇到鞍点)情况更加常见。鞍点会带来以下两个问题。原创 2022-09-24 10:52:11 · 17689 阅读 · 0 评论 -
【Coursera】优化的梯度下降算法 RMSprop & Adam & Lr decay
RMSprop(均方根传递) 是指数滑动平均(exponentially weighted average)的改编,用于降低梯度下降和小批量梯度下降中的振荡,加速机器学习训练,即下图绿色的线。这里的Sdw值得是dw2,这种训练方法更新的是方差,虽然走的很平稳,但是还不如下面介绍的 Adam 算法好。原创 2022-09-23 17:43:57 · 17880 阅读 · 0 评论 -
【Transformer】解释,以及 self-attention 机制
大名鼎鼎的 Transformer 最早用于NLP 任务中,后来由于其优越的性能,被用于图像任务(见论文:AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE)中。见:中文翻译版本,但是缺图英文原版解释,很棒,但是可能需要翻墙...原创 2022-05-20 09:57:07 · 17636 阅读 · 4 评论 -
【模型调参】【论文阅读】Bag of Tricks for Image Classification with Convolutional Neural Networks
本文根据 论文Bag of Tricks for Image Classification with Convolutional Neural Networks,总结了几种可以提高模型准确率的小技巧。一般而言,上述的小技巧可以分为在训练过程中或对模型结构的更改 (Model Tweaks),仅少量涉及计算量的优化。本文直接以结论的形式呈现这些技巧。这里写目录标题一些规范可变的 learning rate1 模型训练中的小技巧1.1 Large-batch training1.1.1 Linear s原创 2022-03-01 10:56:20 · 17465 阅读 · 0 评论 -
【EM算法】期望最大化算法
【摘要】EM(Expectation-Maximum)算法也称期望最大化算法,曾入选“数据挖掘十大算法”中,可见EM算法在机器学习、数据挖掘中的影响力。EM算法是最常见的隐变量估计方法,在机器学习中有极为广泛的用途,例如常被用来学习高斯混合模型(Gaussian mixture model,简称GMM)的参数;隐式马尔科夫算法(HMM)、LDA主题模型的变分推断等等。本文就对EM算法的原理做一个详细的总结。【扩展阅读】数据挖掘中十大算法论文:Wu X, Kumar V, Quinlan J R, et转载 2022-02-22 11:40:44 · 19836 阅读 · 0 评论 -
【Gumbel-softmax 采样】再参数化
Gumbel-max 和 Gumbel-softmax 都是一种在参数化的采样方法,在离散变量的采样中具有:将某一随机离散变量X变得对每一维度概率可导的 作用。为什么要 Gumbel-max(softmax)?Gumbel-Max解决了这么一个问题:我们知道一个离散随机变量X的分布,比如说p(X=1)=p1=0.2,p(X=2)=p2=0.3,p(X=3)=p2=0.5,然后我们想得到一些服从这个分布的离散的x的值。我们一般的思路当然是,就按照这个概率去采样嘛,采样一些x来用就行了。但是这么做有一个转载 2022-02-19 10:05:21 · 20392 阅读 · 3 评论 -
降噪自动编码机 Denoising Autoencoder
自动编码机(Auto-encoder)属于非监督学习,不需要对训练样本进行标记。自动编码机(Auto-encoder)由三层网络组成,其中输入层神经元数量与输出层神经元数量相等,中间层神经元数量少于输入层和输出层。在网络训练期间,对每个训练样本,经过网络会在输出层产生一个新的信号,网络学习的目的就是使输出信号与输入信号尽量相似。自动编码机(Auto-encoder)训练结束之后,其可以由两部分组成,首先是输入层和中间层,我们可以用这个网络来对信号进行压缩;其次是中间层和输出层,我们可以将压缩的信号进行还原。原创 2022-01-06 21:12:40 · 18058 阅读 · 0 评论 -
综述——自监督学习 预训练 小样本学习
目录小样本学习研究现状Are Large-scale Datasets Necessary for Self-Supervised Pre-training?小样本学习研究现状目前,计算机视觉神经网络被大量参数化:它们通常有数千万或数亿个参数,这是它们成功利用大型图像集合 (如 ImageNet) 的关键。然而,这些高容量模型往往会在小型(包含数十万张图像)甚至中型数据集上过度拟合。因此,有研究者指出在 2014 年:学习 CNN 的过程相当于估计模型数百万个参数,这需要大量的带标注的数据。当今应对原创 2021-11-16 20:35:31 · 22465 阅读 · 0 评论 -
上采样(upsample)和 反卷积(deconvolution)
目录1 卷积2 上采样3 反卷积3.1 反卷积的数学推导正向卷积的实现过程用矩阵乘法描述卷积反卷积的输入输出尺寸关系**Relationship 1:**3.3 反卷积的应用3.4 利用pytorch验证反卷积的计算参考1 卷积可以看一下这篇文章:https://blog.csdn.net/weixin_42468475/article/details/1086284742 上采样在应用在计算机视觉的深度学习领域,由于输入图像通过卷积神经网络(CNN)提取特征后,得到的特征图(Feature ma原创 2021-12-15 21:52:32 · 27487 阅读 · 2 评论 -
【matplotlib】图片的各种渲染效果;matplotlib.cm
在计算机视觉中,我们有时候会需要用一个图片A去渲染另一个图片B,实现例如区域锁定的功能,流程如下:图片A图片B渲染后的图渲染效果本文介绍的彩色渲染效果是把单通道的灰度图(shape:(h高×w宽)(h高\times w宽)(h高×w宽) 转换成 (3通道数×h高×w宽)(3通道数 \times h高\times w宽)(3通道数×h高×w宽)),需要用到的函数有 cm.gist_earth(),完整的使用方法如下:先读取图片,看看大概样子:image = Image.open("./gr原创 2021-12-12 21:57:34 · 18179 阅读 · 3 评论 -
PIL.Image.blend() 将2幅图合成(叠加)为1幅
按照:blendedimg=img1∗(1–alpha)+img2∗alphablended_img = img1 * (1 – alpha) + img2* alphablendedimg=img1∗(1–alpha)+img2∗alpha 进行透明度的调整。直接放代码:from PIL import Imageimg1 = Image.open( "pic1.png ")img1 = img1.convert('RGB')img2 = Image.open( "pic2.png ")i原创 2021-12-12 13:53:02 · 22063 阅读 · 0 评论 -
【PIL】torch.tensor和为PIL.Image的相互转换;归一化和反归一化
本质是数值转图像,同时,前者的格式是(数量×\times×通道数×\times×长×\times×宽),后者的格式是(长×\times×宽×\times×通道数),因此在转变时得转置一下,幸运的是,torchvision 包里有一键转换的函数。为了神经网络更快收敛,我们需要把读取图片得到的 tensor 进行归一化,处理后的图片如果如果不进行反归一化到 [0,1],出现了负值,就会变成下面这样:哦哦来看一下原图:1 归一化和反归一化总结一下他们的关系:读取的图片得到数值(范围大小在 [0,2原创 2021-12-11 12:16:12 · 26418 阅读 · 6 评论 -
【pytorch】插值--torch.nn.functional.interpolate()
本文讲解如何用pytorch包进行插值,不仅限于函数插值,还包括图像的插值(即缩放)。假设我有一个图像a,其大小为(4,4):import torchimport torch.nn as nna = torch.randint(10,(4,4))a = a / torch.max(a)[0]# 打印图片plt.imshow(a)out:但是我想利用插值技术把它分辨率变高,比如变成(28,28)的大小,那么我们可以这么做,记住,一定要把原图像扩充成4维,按照文档的说法是:The inpu原创 2021-12-10 20:07:18 · 26537 阅读 · 0 评论 -
quasi-Newton method 拟牛顿法
拟牛顿法是对牛顿法的改进,在看这一块内容以前,我们先来了解一下什么是 牛顿法。拟牛顿法是求解非线性优化问题最有效的方法之一。拟牛顿法的本质思想是改善牛顿法每次需要求解复杂的Hessian矩阵的逆矩阵的缺陷,它使用正定矩阵来近似Hessian矩阵的逆,从而简化了运算的复杂度。拟牛顿法和最速下降法一样只要求每一步迭代时就知道目标函数的梯度。通过测量梯度的变化,构造一个目标函数的模型使之足以产生超线性收敛性。这类方法大大优于最速下降法,尤其对于困难的问题。另外,因为拟牛顿法不需要二阶导数的信息,所以有时比牛原创 2021-10-19 11:42:31 · 17980 阅读 · 0 评论 -
对模型进行DP处理(DP-SGD+DP-Logits)
该技术来源于论文:Deep Learning with Differential Privacy讲述了如何在模型训练期间,通过修改损失函数,使训练后的模型具有一定抵御的DP的能力。原论文很长很复杂,本博客不讲原理,直接复现。参照https://github.com/pytorch/opacus/blob/main/tutorials/building_image_classifier.ipynb 进行讲解。安装依赖包需要用到 opacus 、 tqdm 包,用 pip 安装就好了。1 确定超参原创 2021-10-14 11:46:56 · 22065 阅读 · 17 评论 -
【tqdm】进度条显示工具
可以创造一个可视化的进度条,大概是这个效果:安装pip install tqdm用法最简单的举例:from tqdm import tqdmimport timek=0for i in tqdm(range(1000)): k=k+i time.sleep(0.01)效果:这个进度条改进下:k=0for i in tqdm(range(10)): k=k+i time.sleep(1) print("hi")每当循环到print原创 2021-10-12 21:59:52 · 17425 阅读 · 0 评论 -
多方安全计算中半诚实模型下的姚式混淆电路协议
在MPC(多方安全计算)中,有一个叫做半诚实模型的概念,区分于“主动攻击”的恶意敌手,半诚实模型的参与方仅在计算时保存了协议的中间计算状态(即输入输出),其在MPC中也具有一定的危害性。本博客讲解了在Yao’s protocol双方安全计算协议下的半诚实模型攻击者的攻击手法。目录1 多方安全计算 MPC2 半诚实敌手 semi-honest adversary3 混淆电路 garbled circuit问题的引出如何构造混淆电路计算混淆电路4 基于半诚实模型的姚式协议 Yao's protocol fo转载 2021-09-14 22:35:12 · 18805 阅读 · 0 评论 -
哈希函数和数字签名
目录1 哈希函数 Hash1.1 构造方法1.2 哈希函数在密码学的应用2 数字签名2.1 签名--认证流程2.2 一个生动形象的例子在讲数字前面以前,我们先要了解一下哈希函数1 哈希函数 HashHash,一般翻译做散列、杂凑,或音译为哈希,是把任意长度的输入(又叫做预映射pre-image)通过散列算法变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来确定唯一的输入值。简单的说就是一种将任原创 2021-09-13 20:15:47 · 24803 阅读 · 5 评论 -
差分隐私是什么
这篇文章写的通俗易懂!https://zhuanlan.zhihu.com/p/139114240原创 2021-04-07 21:57:48 · 16949 阅读 · 0 评论 -
scipy--插值
目录1 scipy.interpolate2 一维插值2.1 内插值 interp1d()2.2 外插值3 二维插值2.1 interp2d()1 scipy.interpolatescipy.interpolate是插值模块,插值是离散函数逼近的重要方法,利用它可通过函数在有限个点处的取值状况,估算出函数在其他点处的近似值。与拟合不同的是,要求曲线通过所有的已知数据。计算插值有两种基本的方法:对一个完整的数据集去拟合一个函数;仿样内插法:对数据集的不同部分拟合出不同的函数,而函数之间的曲线平滑对原创 2021-04-02 12:14:59 · 19010 阅读 · 0 评论 -
Isotonic regression--保序回归
本文介绍了 Isotonic regression 的定义、调用方法以及在模型输出校准领域的运用。目录1 定义2 调用方法1 定义The class IsotonicRegression fits a non-decreasing real function to 1-dimensional data. It solves the following problem:∑iwi(yi−y^i)2\sum_i w_i (y_i - \hat{y}_i)^2∑iwi(yi−y^i)2subje原创 2021-03-30 11:33:56 · 21108 阅读 · 0 评论 -
【python】pdf转png;pdf转word
需要提前安装的包 pip install pymupdf创建一个文件夹,把需要转换的pdf图片全部放入该文件夹,在文件夹中新建一个py文件,拷入代码:import osimport fitzpdf_dir=[]def get_file(): docunames = os.listdir() for docuname in docunames: if os.path.splitext(docuname)[1] == '.pdf':#目录下包含.pdf的文件原创 2020-10-24 18:29:24 · 18231 阅读 · 8 评论 -
【sklearn】数据预处理
目录为什么要标准化(数据预处理)?1.标准化 scale加强版 StandardScaler确定范围的标准化 MinMaxScaler2 正则化Normalization加强版 NormalizerNaN值的处理---ImputationLabelEncoder()、OneHotEncoder()请参阅:以下介绍的所有方法都源自于sklearn.preprocessing数据预处理相关理论:http://scikit-learn.sourceforge.net/stable/modules/prepr原创 2020-05-13 15:37:47 · 16965 阅读 · 0 评论 -
with open()和np.load() 数组的读取保存
np.load()np.load()用于打开npz(包含多个数组)、npy(单个数组)文件。参数numpy.load(file, mmap_mode=None, allow_pickle=True, fix_imports=True, encoding=‘ASCII’)我们先要查看npz文件有几个数组文件with np.load(file_name) as f: print(f.fi...原创 2020-04-13 19:21:05 · 25975 阅读 · 0 评论 -
标量、向量、矩阵求导大全
正则化原定的损失函数:J=−1m∑i=1m(y(i)log(a[L](i))+(1−y(i))log(1−a[L](i)))(1)J = -\frac{1}{m} \sum\limits_{i = 1}^{m} \large{(}\small y^{(i)}\log\left(a^{[L](i)}\right) + (1-y^{(i)})\log\left(1- a^{[L](i)}\right) \large{)} \tag{1}J=−m1i=1∑m(y(i)log(a[L](i))+(1−原创 2020-09-12 10:37:30 · 19035 阅读 · 0 评论 -
异常检测——Anomaly Detection
目录1.问题来源2.应用3.分类3.1 case1:With Classifier3.2 case2:Without Labels3.2.1 问题阐述4.异常侦测系统(模型)的评价指标自己定义AUC5.遇到检测错误的点1.问题来源概括:找和训练集不一样的数据。2.应用难点:异常点难以收集,无法穷举。我只能收集到正常情况的训练数据。3.分类3.1 case1:With Classifier1.对每个非异常成员打标训练。2.查看每一条数据 预测矢量 的最大值 c(x),比较异常点和非异常翻译 2020-06-09 18:28:31 · 17709 阅读 · 0 评论 -
KL散度——相对熵
目录1.概念理解1.1定义遇到log 0 怎么办?2.编程实现1.概念理解相对熵(relative entropy)又称为KL散度(Kullback–Leibler divergence,简称KLD),信息散度(information divergence),信息增益(information gain)。1.1定义只需要稍加修改熵H的计算公式就能得到K-L散度的计算公式。设p为观察得到的概率分布,q为另一分布来近似p,则p、q的K-L散度为:KL散度是两个概率分布P和Q差别的非对称性的度量。也原创 2020-06-08 18:02:45 · 17320 阅读 · 0 评论