神经网络
文章平均质量分 93
wendy_ya
控制类专业在读研究生
展开
-
PhysioNet2017分类的代码实现
PhysioNet2017数据集介绍可参考文章:https://wendy.blog.csdn.net/article/details/128686196。本文主要介绍利用PhysioNet2017数据集对其进行分类的代码实现。原创 2023-02-13 08:37:38 · 2162 阅读 · 2 评论 -
tensorflow可视化工具库tensorboard使用方法详解
对大部分人而言,深度神经网络就像一个黑盒子,其内部的组织、结构、以及其训练过程很难理清楚,这给深度神经网络原理的理解和工程化带来了很大的挑战。为了解决这个问题,tensorboard应运而生。Tensorboard是tensorflow内置的一个可视化工具,它通过将tensorflow程序输出的日志文件的信息可视化使得tensorflow程序的理解、调试和优化更加简单高效。原创 2023-02-08 14:24:52 · 3284 阅读 · 0 评论 -
GAN可视化工具——GAN Lab介绍
目录一、GAN Lab介绍二、GAN Lab组成部分三、GAN Lab训练步骤3.1 选择数据分布3.2 模型参数设置3.3 开始训练3.4 模型评价四、演示示例GAN Lab: An Interactive, Visual Experimentation Tool for Generative Adversarial Networks一、GAN Lab介绍GAN Lab是谷歌开发的一款开源的GAN可视化工具,使用GAN Lab不需要安装过程、不需要深度学习库PyTorch或TensorFlow等、也原创 2022-05-19 17:50:27 · 1749 阅读 · 0 评论 -
基于Keras的生成对抗网络进阶(3)——利用Keras和GAN进行幂函数拟合
上一篇文章介绍了利用Kears拟合正弦函数。本文将介绍利用Keras和生成对抗网络GAN进行幂函数$y=x^3$的拟合。原创 2021-07-09 16:23:56 · 491 阅读 · 2 评论 -
基于Keras的生成对抗网络进阶(2)——利用Keras和GAN进行正弦函数拟合
前面两篇文章分别介绍了利用Kears拟合简单函数以及利用PyTorch拟合正弦函数。在本文,从我们的实际采样数据中,我们将生成随机正弦曲线,并尝试使我们的GAN生成正确的正弦曲线(当然也可以通过改变样本数据函数和模型来将这个基础结构适应并解决一个更复杂的问题,例如图像)。......原创 2021-07-09 11:23:45 · 880 阅读 · 2 评论 -
基于Keras的生成对抗网络进阶(1)——利用Keras和GAN进行简单函数拟合
在进阶阶段,将介绍一下GAN生成对抗网络在除图像领域的一些其他应用,本文将先介绍一下利用GAN进行曲线y=x2y=x^2y=x2拟合。目录一、GAN结构二、函数代码2.1 生成器Generator2.2 判别器Discriminator2.3 生成真实数据2.4 train函数2.5 显示图像sample_images函数一、GAN结构这里进行曲线拟合利用的是普通GAN的结构,即利用全连接层+激活函数,这里不过多介绍。二、函数代码2.1 生成器Generator生成器的目标是输入一行正态分布随机原创 2021-07-07 21:43:31 · 1063 阅读 · 0 评论 -
生成对抗网络前言(4)——变分自动编码器(Variational autoencoder,VAE)介绍
目录一、变分自动编码器介绍1.1 变分自动编码器介绍1.2 变分自动编码器实现方法1.3 变分自动编码器实现的理论基础二、变分自动编码器的工作原理四、变分自动编码器的Python代码实现与结果显示五、变分自动编码器的缺点与改进一、变分自动编码器介绍1.1 变分自动编码器介绍变分自动编码器Variational autoencoder (VAE)是一个稍微更现代和有趣的自动编码器。相比于普通的自动编码器,变分自动编码器才算得上是真正的生成模型。为了解决自动编码器存在的不能通过新编码生成数据的问题,VA原创 2021-05-22 17:48:18 · 765 阅读 · 0 评论 -
生成对抗网络前言(3)——其他自动编码器介绍(稀疏自动编码器、深度自动编码器、卷积自动编码器、序列到序列的自动编码器)及自动编码器在图像去噪领域的应用
目录一、稀疏自编码器二、深度自编码器三、卷积自编码器四、使用自动编码器进行图像去噪五、序列到序列的自动编码器(LSTM)一、稀疏自编码器在自动编码器中,我们的隐含层有32个神经元。这种情况下,一般而言自动编码器学到的是PCA的一个近似。但是如果我们对隐含层单元施加稀疏性约束的话,会得到更为紧凑的表达,只有一小部分神经元会被激活。在Keras中,我们可以通过添加一个activity_regularizer达到对某层激活值进行约束的目的。部分代码如下:from keras import regulari原创 2021-05-21 20:17:45 · 692 阅读 · 0 评论 -
生成对抗网络前言(2)——自动编码器(auto-encoder)介绍
目录一、自动编码器介绍1.1 自动编码器介绍1.2 自动编码器特点1.3 自动编码器伪代码实现1.4 自动编码器的应用二、利用自动编码器实现生成模型三、自动编码器的代码实现与结果显示四、自动编码器的不足与改进一、自动编码器介绍1.1 自动编码器介绍自动编码器是一种神经网络模型,该模型的最初意义是为了能够对数据进行压缩。下图是一个标准的自动编码器,它的基本结构是一个多层感知器的神经网络,从输入层到输出层之间有多个隐含层,它的结构特点在于输入层与输出层拥有相同的节点数量,中间编码层的节点数量需要小于输入层原创 2021-05-19 20:40:39 · 738 阅读 · 0 评论 -
基于Keras的生成对抗网络(6)——利用Keras搭建CycleGAN实现风格迁移
目录0、前言一、CycleGAN介绍及其结构二、函数代码2.0 前提准备2.1 生成器Generator2.2 判别器Discriminator2.3 train函数三、结果演示四、完整代码0、前言CycleGAN的英文全称是Cycle GAN,即循环生成对抗网络,论文链接:https://arxiv.org/abs/1703.10593。一、CycleGAN介绍及其结构CycleGAN 是一种无需成对示例便可自动进行图像到图像转换的技术。这些模型是采用一批无需关联的来自源域和目标域的图像,以一种无原创 2021-04-26 20:29:09 · 1189 阅读 · 0 评论 -
基于Keras的生成对抗网络(5)——利用Keras搭建LSGAN生成手写体数字
目录0、前言一、LSGAN介绍及其结构二、函数代码2.1 生成器Generator2.2 判别器Discriminator2.3 train函数三、结果演示四、完整代码五、常用技巧0、前言LSGAN的英文全称是Least Squares GAN,即最小二乘GAN,论文链接:https://arxiv.org/abs/1611.04076,LSGAN针对的是标准GAN生成的图片质量不高以及训练过程不稳定这两个缺陷进行改进。改进方法就是将GAN的目标函数由交叉熵损失换成最小二乘损失,而且这一个改变同时解决了原创 2021-04-24 21:38:10 · 464 阅读 · 0 评论 -
基于Keras的生成对抗网络(4)——利用Keras搭建ACGAN生成手写体数字并贴上标签
0、前言上两篇文章分别介绍了DCGAN 和CGAN的基本原理和代码示例,同时也反映出二者的一些缺点,比如DCGAN无法为图像添加标签进行分类,CGAN生成图像效果不好等。这一篇就来一下DCGAN与CGAN的综合版本——ACGAN。一、ACGAN介绍及其结构1.1 ACGAN介绍ACGAN全称Auxiliary Classifier GAN,是在CGAN基础上的扩展,通过对判别器进行改进实现了图像分类的功能,论文链接:https://arxiv.org/abs/1610.09585原始GAN网络的功原创 2021-04-23 21:58:59 · 863 阅读 · 0 评论 -
基于Keras的生成对抗网络(3)——利用Keras搭建CGAN生成手写体数字并贴上标签
目录0、前言一、CGAN介绍及其结构1.1 CGAN介绍1.2 CGAN结构二、函数代码2.1 生成器Generator2.2 判别器Discriminator2.3 train函数三、结果演示四、完整代码0、前言由于很多时候我们不仅想要数据,更想获取数据的标签,因此CGAN应运而生。一、CGAN介绍及其结构1.1 CGAN介绍CGAN全称Conditional Generative Adversarial Nets,论文链接:https://arxiv.org/abs/1411.1784。CG原创 2021-03-31 08:23:04 · 654 阅读 · 0 评论 -
基于Keras的生成对抗网络(2)——利用Keras搭建DCGAN生成手写体数字
目录0、前言一、DCGAN介绍及其结构1.1 DCGAN介绍1.2 DCGAN结构1.3 DCGAN的优点1.4 详细介绍二、函数代码2.0 训练前的准备2.1 生成器Generator2.2 判别器Discriminator2.3 train函数三、结果演示四、完整代码五、常见问题汇总六、【拓展】利用DCGAN实现三通道彩色图像生成0、前言上一篇介绍了GAN 的基本原理以及相关的概念和代码示例,同时也反映出GAN 的一些缺点,比如说训练不稳定,生成过程不可控,不具备可解释性等。这一篇就来看看GAN 的原创 2021-03-28 18:37:44 · 628 阅读 · 0 评论 -
基于Keras的生成对抗网络(1)——利用Keras搭建简单GAN生成手写体数字
0、前言GAN网络是近两年深度学习领域的新秀,本文和之后的初识生成对抗网络系列旨在浅显理解传统GAN,分享学习心得。关于为什么使用Keras进行搭建,而不是如日中天的TensorFlow和pytorch,因为keras是对新手最友好,最简单实用的深度学习框架,因此首先利用keras进行搭建,等充分理解GAN的结构和参数之后,再利用TensorFlow或pytorch进行搭建。一、GAN结构普通GAN的结构就是利用全连接层+激活函数,这里不过多介绍。二、函数代码2.1 生成器Generator生原创 2021-03-23 09:41:21 · 846 阅读 · 0 评论 -
深度学习基础知识——信息论(自信息、信息熵与马尔科夫链)
信息论是在信息或不确定性可度量的前提下,研究有效、可靠、安全地传输信息的科学。(【注】:符号约定:大写字母表示集合,小写字母表示集合中的事件)1.前言从常识来看,小概率事件的不确定性大,一旦出现必然使人感到意外,因此产生的信息量就大,特别是几乎不可能出现的事件一旦出现,必然产生极大的信息量;大概率事件是预料之中的事件,不确定性小,即使发生也没什么信息量,特别是概率为1的确定事件发生以后,不会给人以任何信息量。一般的,事件发生的概率越小,其不确定性越大,事件发生以后所含有的信息量就越大。2.自信息与互原创 2020-10-21 09:36:28 · 3764 阅读 · 3 评论 -
生成对抗网络前言(1)——生成对抗网络的数学推导
1.1 数学期望在概率论和统计学中,数学期望(mean)(或均值,亦简称期望)是试验中每次可能结果的概率乘以其结果的总和,是最基本的数学特征之一。它反映随机变量平均取值的大小。1.2 KL散度KL散度:又称“相对熵”,在信息论中,用生成的概率分布Q来拟合逼近真实的概率分布P时,所产生的...原创 2020-09-01 12:12:28 · 997 阅读 · 0 评论 -
GAN生成对抗网络入门介绍及DCGAN、WGAN等介绍
一、原理部分Generative Adversarial Networks(GAN):生成对抗网络。2014年Ian J. Goodfellow等人在论文《Generative Adversarial Nets》中第一次提出GAN的概念。大牛Yann LeCun甚至评价GAN为 “adversarial training is the coolest thing since sliced bread”。1.1举例解释论文中举了一个很通俗的例子——假币与真币的例子。造假币的团伙相当于生成器,他们想原创 2020-08-21 10:48:24 · 2362 阅读 · 1 评论 -
卷积神经网络LeNet-5的pytorch代码实现
在详解卷积神经网络LeNet-5一文中,我详细介绍了一下Lenet-5的原理,下面简要介绍一下Lenet-5的pytorch代码实现。主要内容一、Lenet-5网络模型实现1.1 引入必要的包1.2 搭建卷积层和池化层二、Lenet-5实现MNIST手写数字识别一、Lenet-5网络模型实现1.1 引入必要的包代码如下:import torchfrom torch import nnimport torch.nn.functional as F1.2 搭建卷积层和池化层代码如下:sel原创 2020-08-31 14:17:14 · 16204 阅读 · 17 评论 -
手写数字识别问题(3)——详解卷积神经网络LeNet-5
由于卷积神经网络结构较为复杂,因此以示例详解卷积神经网络。作为手写数字识别的巅峰之作, Yann LeCun等人提出了基于卷积神经网络的一个文字识别系统 LeNet-5。(论文为《Gradient-Based Learning Applied to Document Recognition》)该系统90年代就被用于银行手写数字的识别,且识别率极高。论文链接如下:百度学术链接:https:/...原创 2020-04-09 17:18:19 · 4991 阅读 · 0 评论 -
手写数字识别问题(5)——完结
经过接近15周的艰苦努力,毕业设计(基于MATLAB的手写数字识别系统)已经完结。设计过程中遇到的部分问题可查阅博客:手写数字识别问题(1)——关于MNIST数据集手写数字识别问题(2)——利用MATLAB搭建GUI界面手写数字识别问题(3)——详解卷积神经网络LeNet-5手写数字识别问题(4)——图像处理时常见问题之uint8与double类型详解以及本文手写数字识别问题(5)——完结。本文采用MATLAB型号是MATLAB R2016a,且是利用纯代码BP神经网络设计实现,没有利用M原创 2020-06-22 15:54:29 · 3689 阅读 · 2 评论 -
关于最小二乘法的相关知识
由于最近面临研究生复试,而有些导师最喜欢问最小二乘法的相关知识,因此,特地仔细研究了一下最小二乘法。(研究的不深,仅供参考)1.什么是最小二乘法?很多人都会被“最小二乘法”这个词误导了,不知所云。我觉得从它的英文意思更容易理解。最小二乘法的英文是:least square method,英文直译是平方最小。也就是说,使实际输出与预测输出的平方之和最小。同时最小二乘法也是损失函数(loss f...原创 2020-05-08 16:05:42 · 870 阅读 · 0 评论