深度学习
文章平均质量分 87
八岁爱玩耍
个人博客:https://aishangcengloua.github.io/
展开
-
转置卷积(Transposed Convolution)可视化过程
转置卷积(Transposed Convolution)经常也被称作反卷积,所谓反卷积即为通过标准卷积层生成的输出被反卷积,将得到原始输入。而转置卷积不按值反转标准卷积,而仅按维度。转置卷积层和标准卷积层的计算原理完全相同,不同的是输入特征图不同。下面分别介绍标准卷积和转置卷积。,这篇博客只介绍转置卷积的具体实现。转置卷积的用处主要是对特征图进行上采样;转置卷积其实也是一种标准卷积,只不过要先根据输入的参数对输入特征图进行修改,也就是填充操作;转置卷积在滑动点积操作时的Padding和。原创 2023-05-11 09:22:00 · 636 阅读 · 0 评论 -
OCT 医学图像分类
图中,最左侧为脉络膜新生血管(CNV),具有新生血管膜(白色箭头)和相关的视网膜下液(箭头);训练过程中会保留微调后的模型参数,在微调完成之后,加载微调后的模型参数训练PDBL模块,同时要保存ResNet50+PDBL的模型参数,在全部训练过程完成之后,加载ResNet50+PDBL模型对OCT数据集的测试集进行预测验证模型性能,结果如图7(右)所示。OCT图像中含有大量的噪声以及许多无关区域,即背景区域有很多,因此对OCT图像的处理的目的就是对OCT图像进行去噪,将前景区域对齐并裁剪,舍弃背景区域。原创 2023-02-20 19:29:14 · 2881 阅读 · 0 评论 -
COCO PythonAPI 使用前的准备
的过程中,我们可能需要下载许多的数据,如。建议直接安装已经编译好的。,但是下载网址官网给的是。原创 2022-09-09 10:38:53 · 843 阅读 · 0 评论 -
强化学习——PyTorch 实现 Advantage Actor-Critic (A2C)
本博客的理论知识来自王树森老师《深度强化学习》,这本书写得简直太好了,强烈推荐,只是现在还在校对没出版,可能有些小瑕疵,但并不影响阅读和学习。原创 2022-07-26 16:31:34 · 3287 阅读 · 0 评论 -
论文阅读:Generative Adversarial Transformers
背景:核心思想: 针对上述 CNN 对生成图像任务存在的问题,作者借助 transformer 思想,提出了一个双向结构。将 GAN 网络生成的图像的信息和隐藏变量的信息来回传递,鼓励双方从对方那里学到知识,让场景和物体能组合出现。其本质上是将 StyleGAN 推广,加上了 transformer。StyleGAN 的信息只从隐藏空间流向图片,而借助 transformer 让信息反向传递,提高隐藏变量的解耦性和质量。隐藏变量反过来影响生成的图像,让其质量更高。主要贡献: Generative Adv原创 2022-06-24 19:27:23 · 1039 阅读 · 6 评论 -
基于 PCA 的人脸识别系统及人脸姿态分析
在解决实际问题的时候,多变量问题是经常会遇到的,变量太多,无疑会增加分析问题的难度与复杂性。同时,在许多实际问题中,多个变量之间是具有一定的相关关系的。因此,能否在各个变量之间相关关系研究的基础上, 用较少的新变量代替原来较多的变量,而且使这些较少的新变量尽可能多地保留原来较多的变量所反映的信息?事实上,这种想法是可以实现的。 PCA(Principal Components Analysis,,主成分分析)是将原来多个变量化为少数几个综合指标的一种统计分析方法,从数学角度来看,这是一种降维处理技术。原创 2022-06-19 21:33:19 · 2640 阅读 · 0 评论 -
PyTorch——实现自注意力机制(self-attention)
文章目录1 原理简述1 原理简述 Self-Attention Layer 一次检查同一句子中的所有单词的注意力,这使得它成为一个简单的矩阵计算,并且能够在计算单元上并行计算。 此外,Self-Attention Layer 可以使用下面提到的 Multi-Head 架构来拓宽视野,也就是多头注意力机制。Self-Attention Layer 基本结构如下:对于每个输入 x\boldsymbol{x}x,首先经过 Embedding 层对每个输入进行编码得到 a1,a2,a3,a4\boldsy原创 2022-05-27 22:22:18 · 24500 阅读 · 37 评论 -
论文阅读:Pseudo-Label : The Simple and Efficient Semi-Supervised Learning Method for Deep Neural Network
论文阅读:Pseudo-Label : The Simple and Efficient Semi-Supervised Learning Method for Deep Neural Networks1 文章简述 该文章的主要思想是将预测概率最大的标记作为无标记数据的伪标签,然后给未标记数据设一个权重,在训练过程中慢慢增加未标记数据的权重来进行训练,在手写体数据集上有了较好的性能。算法流程如下:输入:样本集 D1={(x1,y1),(x2,y2),⋯ ,(xn,yn)},D2={x1,x2,,⋯原创 2022-05-24 21:50:40 · 840 阅读 · 0 评论 -
MTCNN 测试时的一些 tips
目录1 网络结构2 图像金字塔3 其他4 效果5 参考1 网络结构 MTCNN 是多任务级联 CNN 的人脸检测深度学习模型,该模型不仅考虑了人脸检测概率,还综合训练了人脸边框回归和面部关键点检测,多任务同时建立 loss function 并训练,因此为 MTCNN。级联 CNN 主要由三个子网络组成:P-Net、R-Net 和 O-Net。 P-Net 的结构如下:从网络结构上看,P-Net 接受大小为 (12,12,3) 的图片的输入,输出三种特征图,大小为 (1,1,C),也就是说最终原创 2022-05-13 17:43:24 · 811 阅读 · 0 评论 -
机器学习(20)——循环神经网络(二)
文章目录1 RNN 的缺点2 LSTM2.1 遗忘门2.2 输入门2.3 输出门3.4 小结3 GRU3.1 复位门3.2 更新门3.3 小结1 RNN 的缺点 我在上一篇博客中跟大家一步一步探索了 RNN 模型的网络结构,最后面也介绍了 RNN 的应用场景。但在实际应用中,标准 RNN 训练的优化算法面临一个很大的难题,就是长期依赖问题——由于网络结构的变深使得模型丧失了学习到先前信息的能力,通俗的说,标准的 RNN 虽然有了记忆,但很健忘,也即标准 RNN 只有短时记忆。循环神经网络在处理较长的句原创 2022-05-08 17:47:25 · 1189 阅读 · 0 评论 -
机器学习(19)——循环神经网络(一)
文章目录1 简介2 序列表示方法2.1 独热表示2.2 分布式表示2.3 Embedding 层3 一个例子3.1 考虑全连接3.2 考虑权重共享3.3 考虑全局语义3.4 循环神经网络3.5 小结4 RNN 类型5 反向传播(只是探讨梯度问题)1 简介 在本系列文章中,我有跟大家分享过神经网络中两种经典层:卷积层(CNN) 和 全连接层(FC),这两种层的输入数据分别是:特征向量和图像(张量),在具体实现时输入的多样本之间是相互独立的,无联系关系。而且,卷积神经网络利用数据的局部相关性和权值共享的思原创 2022-05-06 23:07:35 · 1100 阅读 · 0 评论 -
机器学习(18)——卷积神经网络(三)
前言 卷积神经网络发展非常迅速,应用非常广阔,所以近几年的卷积神经网络得到了长足的发展,下图为卷积神经网络近几年发展的大致轨迹。 1998年LeCun提出了 LeNet,可谓是开山鼻祖,系统地提出了卷积层、 池化层、全连接层等概念。2012年Alex等提出 AlexNet,提出 一些训练深度网络的重要方法或技巧,如 Dropout、ReLu、GPU、数据增强方法等,随后各种各样的深度卷积神经网络模型相继被提出,其中比较有代表性的有 VGG 系列,GoogLeNet 系列,ResNet 系列,Den原创 2022-05-01 18:07:07 · 1739 阅读 · 0 评论 -
机器学习(17)——卷积神经网络(二)
文章目录1 池化层2 BatchNorm层1 池化层 在上篇博客中,有跟大家分析过,在卷积层中没有 padding 的情况下,可以通过调节步长参数 s\boldsymbol{s}s 实现特征图的高宽成倍缩小,从而降低了网络的参数量。但是在实际上我们通常使用 Same卷积,即输入和输出特征图的维度一样,这样一来将面临巨大的计算量挑战,而且容易产生过拟合的现象,因此我们需要一种专门的网络层可以实现尺寸缩减功能,它就是这里要介绍的 池化层(pooling layer),通常,池化操作也被称作 下采样。原创 2022-04-27 20:20:15 · 2718 阅读 · 1 评论 -
机器学习(16)——卷积神经网络(一)
文章目录1 简介2 卷积层2.1 权值共享2.2 卷积操作2.3 单通道输入和单卷积核2.4 多通道输入和单卷积核2.5 多通道输入和多卷积核1 简介 卷积网络(convolutional network)(LeCun, 1989),也叫做 卷积神经网络(convolutional neural network, CNN),是一种专门用来处理具有类似网格结构的数据的神经网络。例如时间序列数据(可以认为是在时间轴上有规律地采样形成的一维网格)和图像数据(可以看作是二维的像素网格)。卷积网络在诸多应用领域原创 2022-04-26 18:02:38 · 5567 阅读 · 2 评论 -
机器学习(15)——优化算法
文章目录前言1 梯度下降算法1.1 BGD1.2 SGD1.3 MBGD2 基于动量的优化算法2.1 基于动量的SGD2.2 基于NAG的SGD3 自适应优化算法3.1 AdaGrad3.2 RMSProp3.2 Adam4 优化器的选择前言 在机器学习模型中,我们会使用损失函数对模型的输出和标注信息计算他们之间的差异,然后使用损失进行反向传播,在反向传播中,我们的目的是不断地更新参数使得模型损失越来越小直至达到最小,这过程是优化参数的过程,基础的优化算法是使用梯度下降法(如下图),梯度下降法利用了梯原创 2022-04-06 21:14:44 · 2057 阅读 · 1 评论 -
机器学习(14)——激活函数
这里写目录标题1 定义2 激活函数的优点3 常用的激活函数3.1 单位阶跃函数3.2 Logistic函数3.3 Tanh函数3.4 ReLU函数3.5 LeakyReLU函数3.6 Softmax函数4 如何选择恰当的激活函数1 定义 激活函数 (Activation functions) 对于人工神经网络模型去学习、理解非常复杂和非线性的函数来说具有十分重要的作用。它们将非线性特性引入到神经网络中。在下图中,输入的 inputs 通过加权,求和后,还被作用了一个函数,这个函数就是激活函数。引入激活原创 2022-04-01 12:10:29 · 5223 阅读 · 0 评论 -
KNN 算法实现 Iris 数据集分类
文章目录1 scikit-learn介绍2 scikit-learn常用模块2.1 数据集模块2.2 数据预处理模块2.3 特征提取与选择模块3 K邻近算法(K-Nearest Neighbor, KNN)介绍4 KNN算法实现Iris数据集的分类1 scikit-learn介绍scikit-learn与机器学习的关系:Scikit-learn是基于Python语言的第三方机器学习库。它包含了几乎所有主流机器学习算法的实现,并提供一致的调用接口。Scikit-learn基于 NumPy 和 Sci原创 2022-03-21 11:50:54 · 6297 阅读 · 0 评论 -
机器学习(13)——对抗攻击
文章目录前言1 原理2 攻击方式2.1 针对模型的攻击2.1.1 白盒攻击2.1.2 黑盒攻击2.2 针对输出的攻击2.2.1 无目标攻击2.2.2 有目标攻击3 对抗样本生成方式4 实例5 流程图前言 在人工智能带来的风险中,对抗攻击就是重要风险之一。攻击者可以通过各种手段绕过,或直接对机器学习模型进行攻击达到对抗目的,使我们的模型失效或误判。如果类似攻击发生在无人驾驶、金融AI等领域则将导致严重后果。所以,需要未雨绸缪,认识各种对抗攻击,并有效地破解各种对抗攻击。1 原理 对抗攻击最核心的手原创 2022-03-17 20:19:26 · 5116 阅读 · 2 评论 -
机器学习(十二) DeepDearm模型
文章目录前言1 DeepDream原理2 DeepDream算法流程3 PyTorch实现DeepDream4 全部代码(详细注释)前言 卷积神经网络取得了突破性进展,效果也非常理想,但是卷积神经网络的学习过程难以从理论上难以解释,因此被不少人诟病。因此可视化其的学习过程十分重要,DeepDream 模型的目的也正是如此。DeepDearm 模型在2015年由谷歌提出,理论基础是2013年所提出的《Visualizing and Understanding Convolutional Neural N原创 2022-03-05 16:30:34 · 2927 阅读 · 0 评论 -
机器学习(十一) 迁移学习
目录前言1 原理前言 迁移学习在计算机视觉任务和自然语言处理任务中经常使用,这些模型往往需要大数据、复杂的网络结构。如果使用迁移学习,可将预训练的模型作为新模型的起点,这些预训练的模型在开发神经网络的时候已经在大数据集上训练好、模型设计也比较好,这样的模型通用性也比较好。如果要解决的问题与这些模型相关性较强,那么使用这些预训练模型,将大大地提升模型的性能和泛化能力。1 原理 迁移学习(Transfer Learning)是机器学习的一个研究方向,主要研究如何将任务 A 上面学习到的知识迁移到任务原创 2022-02-25 23:15:37 · 3382 阅读 · 2 评论 -
机器学习(十) 强化学习
前言 强化学习是机器学习领域除有监督学习、无监督学习外的另一个研究分支,它主要利用智能体与环境进行交互,从而学习到能获得良好结果的策略。与有监督学习不同,强化学习的动作并没有明确的标注信息,只有来自环境的反馈的奖励信息,它通常具有一定的滞后性,用于反映动作的“好与坏”。一个完整的强化 学习过程是从一开始什么都不懂,通过不断尝试,从错误或惩罚中学习,最 后找到规律,学会达到目的的方法。1 原理 在强化学习问题中,具有感知和决策能力的对象叫作智能体(Agent),它可以是一段算 法代码,也可以是具有机原创 2022-02-14 15:27:34 · 4925 阅读 · 0 评论 -
机器学习(九) 自定义数据集
文章目录前言1 猫狗数据集2 自定义数据加载2.1 创建编码表2.2 创建样本和标签表格2.3 数据集划分3 PyTorch实现自定义数据集前言 我们知道,现在会很多框架中都有集成数据集的库,我们可以通过几行简单的代码进行下载,如我们前几篇博客中的 MNIST 手写数字集和 Fashion MNIST数据集均可以通过PyTorch中的torchvision库下载。但库中收集到的数据集始终有限,我们则需要利用爬虫等技术进行收集新数据集,如果要用于模型训练,则需要我们自定义数据集。1 猫狗数据集 猫原创 2022-01-28 15:18:58 · 4540 阅读 · 0 评论 -
机器学习(八) 生成对抗网络(GAN)
文章目录前言1 GAN1.1 相关介绍1.2 原理1.2.1 网络架构1.2.2 网络训练1.3 用GAN生成图像1.3.1 判别器1.3.2 生成器1.3.3 训练模型2 GAN变种2.1 CGAN2.1.1 原理2.1.2 PyTorch实现2.2 DCGAN2.3 CycleGAN2.4 WGAN3 训练GAN的技巧前言 在生成对抗网络(Generative Adversarial Network,简称 GAN)发明之前,变分自编码器(VAE)被认为是理论完备,实现简单,使用神经网络训练起来很稳原创 2022-01-25 19:10:56 · 5785 阅读 · 0 评论 -
机器学习(七) 自编码器
文章目录前言1 自编码器1.1 原理1.2 PyTorch实现1.2.1 Fashion MNIST 数据集1.2.2 网络结构前言 目前我们可以通过爬虫等方式获取海量的样本数据????,如照片、语音、文本等,是相对容易的,但困难的是获取这些数据所对应的标签信息,例如机器翻译,除了收集源语言的对话文本外,还需要待翻译的目标语言文本数据。数据的标注工作目前主要还是依赖人的先验知识来完成。因此,面对海量的无标注数据,我们需要从中学习到数据的分布????(????)的算法,而无监督算法模型就是针对这类问题而原创 2022-01-23 21:06:32 · 2792 阅读 · 4 评论 -
LSTM预测股票
tushare是一个开源的金融数据源,目前维护的数据非常丰富,质量也很高,对于一般的分析已经足够,可以省去自己到处去爬数据。我这里下载沪深300指数数据进行预测每日的最高价首先使用pip install tushare安装tushare工具包github地址https://github.com/aishangcengloua/MLData/blob/master/PyTorch/NLP/Forecast_stock/LSTM.ipynbimport tushare as tscons = ts.原创 2021-12-16 17:53:59 · 1040 阅读 · 0 评论 -
详解Tensorboard及使用教程
目录一、什么是Tensorboard二、配置Tensorboard环境要求安装三、Tensorboard的使用使用各种add方法记录数据单条曲线(scalar)多条曲线(scalars)直方图(histogram)图片(image)渲染(figure)网络(graph)其他三、结语一、什么是TensorboardTensorboard原本是Google TensorFlow的可视化工具,可以用于记录训练数据、评估数据、网络结构、图像等,并且可以在web上展示,对于观察神经网络的过程非常有帮助。PyTor原创 2021-11-13 14:00:40 · 54983 阅读 · 21 评论 -
在使用tensorboard时报错tensorboard: error: invalid choice: ‘Recognizer\\logs‘ (choose from ‘serve‘, ‘dev‘)
在使用tensorboard时若在命令行出现以下错误:tensorboard: error: invalid choice: ‘Recognizer\logs’ (choose from ‘serve’, ‘dev’)注意检查 tensorboard --logdir=‘路径’ 中的路径是否空格以及logs所在路径是否填写正确......原创 2021-11-12 19:47:57 · 10702 阅读 · 7 评论 -
机器学习(六)
文章目录一、生成式对抗网络(GAN)GeneratorDiscriminatorAlgorithm一、生成式对抗网络(GAN)在GAN之前我们学到的架构都是我们会给他一个x然后他经过神经网络之后输出一个y现在我们要把Network当作Generator来用,让网络自己产生一些东西,这样网络的输入不再是单单的x,还要加上一个Simple Distribution,然后输出是一个复杂的概率分布,我们就把这样的网络叫做GeneratorGenerator例子:让机器生成动漫人物脸,这里做的是Uncon原创 2021-10-23 20:51:44 · 1031 阅读 · 0 评论 -
机器学习(一) 机器学习概述
机器学习之深度学习学习笔记(一)文章目录机器学习之深度学习学习笔记(一)一、机器学习基本概念简介1.1机器学习的定义1.2函数的分类1.3如何寻找函数1.3.1定义函数1.3.2定义Loss函数1.3.3定义Optimization(优化函数)1.3.3.1假设只有w需要优化时1.3.3.2将b,w的方向组合在一起时1.4函数的修改1.4.1取多天的资讯进行训练二、深度学习基本概念简介2.1sigmoid函数定义2.2sigmoid函数如何逼近各种线段2.3建立更加弹性的函数2.3.1更多的Model F原创 2021-09-01 23:11:59 · 2906 阅读 · 2 评论 -
机器学习(二)机器学习任务
文章目录一、机器学习任务攻略1.1 Framework of ML1.2 提高结果的准确性1.2.1 Loss过大1.2.2 Loss足够小,但testing data的Loss过大二、局部最小值(local minima)与鞍点(saddle point)三、Batch和momentum3.1 Batch3.2 Momentum四、结语一、机器学习任务攻略1.1 Framework of ML神经网络一共包含三个模块:训练模块、验证模块、预测模块。其中训练和验证模块共用数据是Training dat原创 2021-09-08 20:42:51 · 972 阅读 · 0 评论 -
机器学习(三) 前向传播
文章目录一、Learning rate前言1.1 不同的参数需要不同的learning rate1.1.1 Root Mean Square计算δ1.1.2 RMSProp计算δ1.2 检验结果二、ClassificationBatch Normalization三、结语一、Learning rate前言顾名思义,就是要给每个参数不同的learning rate,上一篇笔记中,我们提到了在沿着Loss函数我们可能会陷入local minima等一些gradient为零从而导致参数无法更新,Loss也就原创 2021-09-13 20:54:47 · 233 阅读 · 0 评论 -
机器学习(四) 卷积神经网络
文章目录一、卷积神经网络(CNN)1.1 Image Classification1.1.1 CNN的第一种解释1.1.2CNN的第二种解释1.1.3 两种方法的比较1.2 池化层(pooling)二、注意力机制(self-attention)一、卷积神经网络(CNN)CNN是专门被设计在影像上的,如图像分类1.1 Image Classification当我们对图像进行分类的时候,图像的大小可能是不一样的,所以我们把他们的形状变得一样再丢尽=进网络中进行训练。而对图像的表示方法,我们可以用独热向量原创 2021-09-25 15:54:31 · 615 阅读 · 0 评论 -
机器学习(五) 自监督学习
文章目录TransformerEncoder三级目录TransformerTransformer是Sequence-toSequence(Seq2Seq)的一个模型,我们之前在作一些实验的时候,当我们输入一个Sequence时,我们的输出也会是一个Sequence,而输入和输出结果的长度是一样的,当我们不知道输出结果是有多长时,我们便要机器自己决定要输出多长,这就会用到Seq2Seq,特别是在语音辨识及机器翻译中。一般的Seq2Seq模型是由Encoder和Decoder组成,Encoder接受外界原创 2021-10-09 09:56:48 · 566 阅读 · 2 评论 -
pip安装tensorflow可能出现的问题
解决安装用pip tensorflow过程中的一些问题:1.超时问题,使用镜像源下载pip install tensorflow -i https://pypi.mirrors.ustc.edu.cn/simple/2 TensorFlow 软件包依赖项出现冲突,要安装以下包pip3 install six numpy wheelpip3 install keras_applications==1.0.6 --no-depspip3 install keras_preprocessing==原创 2021-08-20 09:00:03 · 126 阅读 · 0 评论 -
pip安装tensorflow
ModuleNotFoundError: No module named ‘tensorboard’解决方法:用pip安装两个包pip install tb-nightly或者pip install tb-nightly-gpupip install future但安装过程中可能会出现问题超时等问题所以建议使用镜像下载,我这里用的是豆瓣镜像:pip install tf-nightly-gpu -i http://pypi.douban.com/simple --trusted-host p原创 2021-08-19 23:29:33 · 1975 阅读 · 0 评论