神经网络
文章平均质量分 87
本专栏进行神经网络方面知识学习,涉及到所有的神经网络理论和实现,以及里面的函数原理
昔我往矣wood
这个作者很懒,什么都没留下…
展开
-
【搭建网络架构】【01】搭建网络模型的方法——tf和pytorch
和原创 2021-10-14 18:14:34 · 3081 阅读 · 0 评论 -
【学习笔记】【DBN】十九——深度信念网络DBN
本篇简要介绍深度信念网络DBN,是一个不太常见的神经网络。一、DBN概述深度信念网络(Deep Belief Nets,DBN),既可用于非监督学习,类似于一个自编码机;也可以用于监督学习,作为分类器使用。从非监督学习来讲,其目的是尽可能地保留原始特征的特点,同时降低特征的维度。从监督学习来讲,提高分类的准确率。二者都是对特征进行学习的过程,即如何得到更好的特征表达。作为神经网络,DBN由若干神经元组成,组成原件是受限玻尔兹曼机(RBM)。二、RBMRBM有两层神经元,一层叫做显层(原创 2021-10-13 16:20:32 · 8320 阅读 · 1 评论 -
【学习笔记】【GRU】十八——GRU原理简介与LSTM的比较
LSTM是RNN的升级版,加了门控装置,解决了长时记忆依赖的问题。但由于门控装置复杂,带来了计算量增加,所以引进了简化版的LSTM,即GRU。本文介绍GRU的基本原理,并将其与LSTM和RNN进行对比,分析它们各自的优劣。重点理解LSTM中h(t)和C(t)的本质,以及为什么门机制可以解决梯度问题,并且简化计算。目录一、从传统RNN说起二、改进的RNN:LSTM三、简化版的LSTM:GRU四、LSTM和GRU的区别和选择总结一、从传统RNN说起传统RNN称为循环神经网络,原创 2021-10-12 17:09:14 · 5864 阅读 · 0 评论 -
【神经网络】学习笔记十七——IRNN:初始化矩阵RNN
首先对IRNN进行了总的简要介绍,后面进行了原理剖析和为什么引进了IRNN,以及最后总结了它的优点和特点。目录一、说在前面1. 传统RNN的问题2. IRNN做出的改变3. 提出的IRNN的重点二、引入:传统RNN存在的问题1. 传统RNN存在的问题2. 改进的LSTM和GRU的问题3. IRNN的引入总结一、说在前面IRNN(Identity Matrix RNN),初始化RNN,即初始化矩阵循环神经网络。1. 传统RNN的问题传统RNN由于在时间.原创 2021-10-10 11:58:35 · 2137 阅读 · 1 评论 -
【神经网络】学习笔记十六——Attention机制
本文介绍Attention机制,其经典使用是在NLP中搭配RNN(一般为LSTM)做编码解码器(Seq2Seq),用于给编码过程中每一步的状态分配权重,然后加权求和得到解码过程中每一步解码时的状态向量,参与计算,得到本步的输出。在学习笔记十四中,我介绍了Seq2Seq机制,文章的最后也带着说了一点Attention机制,大家可以去看看。一、Attention的本质是什么Attention(注意力)机制的本质可以概括为以下几句相同意思的话,都解释的很透彻:(1)从关注全局到关注重点:将有限的注原创 2021-08-31 20:24:55 · 2777 阅读 · 0 评论 -
【神经网络】学习笔记十五——训练集,验证集和测试集
以前一直知道神经网络划分数据集时要分为训练集,测试集和验证集,但不知道并且一般以6:2:2的比例划分,到头来不知道这三者各是啥,以及他们的作用是什么。本片文档解释一下三者的作用。重点在于验证集和测试集的区别以及用处。1. 三者的功能简述在机器学习中,我们的模型一般包括以下几点:(1)模型设计;(2)模型架构(模型多少层,每层神经元个数);(3)神经元内置参数;(4)模型训练的参数:超参数(模型外置参数,如学习率,优化函数等);简单来说,训练集的作用是得出神经元内置参数,验证集原创 2021-08-31 17:07:29 · 14428 阅读 · 2 评论 -
【神经网络】学习笔记十四——Seq2Seq模型
本文简要介绍seq2seq,即序列到序列的基本知识,是深度学习和NLP中一个重要的知识。从三部分来说,seq2seq基本简介,应用场景和原理解析。一、什么是Seq2Seq所谓Seq2Seq(Sequence to Sequence),即序列到序列模型,就是一种能够根据给定的序列,通过特定的生成方法生成另一个序列的方法,同时这两个序列可以不等长。这种结构又叫Encoder-Decoder模型,即编码-解码模型,其是RNN的一个变种,为了解决RNN要求序列等长的问题。举一个简单的例子,在机器翻译原创 2021-08-31 12:07:50 · 26876 阅读 · 2 评论 -
【神经网络】学习笔记十三——RNN和LSTM训练过程3.0
好上篇讲了RNN和LSTM训练和结构与MLP和CNN的区别,讲的是比较清晰的。然后讲了RNN和LSTM的所有参数和输入输出。地址:(44条消息) 写文章-CSDN博客这篇讲RNN和LSTM的训练。以下直接讲RNN的,因为是一样的。差异会附在后面。emm还想分享一下自己的体会。一定要先看MLP结构和训练原理,再看CNN,再看RNN,再看LSTM。开始正文。一、RNN训练过程我们先看两张图。在上图中可以看出,对于一个RNN,需要求的参数有W,V和U。有人问上面不是有很多个U,原创 2021-06-13 17:04:38 · 2246 阅读 · 0 评论 -
【神经网络】学习笔记十二——RNN和LSTM的输入输出格式2.0
本篇写LSTM的输入输出。一、输入格式首先粘贴官方文档:h和c的解释看下面,直接来看输入Input。其格式为(seq_len,batch,input_size),输入为一个三维向量,第一维表示序列长度,即按时间序列展开有多少个可见的cell,等价于time_step;第二维表示数据批次的多少batch,即数据分为几批送进来;第三维input_size,表示每个time_step代表输入x的特征维数,即输入的特征向量的长度。二、输出格式官方文档:(1)output形状为(s原创 2021-06-02 20:19:32 · 3529 阅读 · 0 评论 -
【神经网络】学习笔记十一——RNN和LSTM参数详解及训练1.0
好恭喜各位找到一篇宝藏博文。本系列篇解释RNN和LSTM的参数详解和训练过程,说的较为详细。这一篇1.0先写原理和参数解释。理解RNN的结构,注意结合参数理解时间序列展开,空间序列展开。一、从MLP和CNN引起总的来说,全连接神经网络或者说MLP的训练和结构是好理解的。一个一维长度为n的输入,中间过几个全连接层,都是一维若干的长度,输出为几分类就是多少维的向量,节点到节点的参数构成weight矩阵,隐藏层每个节点又有bias值,这就是一个全连接网络的参数。训练就是想得出这weight矩阵和B原创 2021-06-02 15:01:01 · 6753 阅读 · 1 评论 -
【神经网络】学习笔记十—RNN实例1:时间序列sin曲线预测cos曲线
显然RNN是预测时间序列的,即前后文有关的一些预测,即在时间排列的基础上前后变量变化相关的预测。本文根据sin曲线规律预测cos曲线规律。偷摸说一句,还有一篇博客写RNN(实际上是LSTM)识别手写照片,,,,不能理解,咋还能识别那个东西,一个手写数字照片,很明显每个照片28*28的像素点没有联系嘛真的是,,奇奇怪怪,非要乱来,置我CNN大法于何地。呸好进入正题。首先解释一下里面的一些东西。首先这是一个预测时间序列的规律的题目。我们将batch设为50,即每50个坐标作为一组训练数据,这意味原创 2021-05-14 14:54:23 · 1551 阅读 · 0 评论 -
【神经网络】学习笔记九—学习率浅析
一、什么是学习率(Learning rate)学习率(Learning rate)作为监督学习以及深度学习中重要的超参数,其决定着目标函数是否能收敛到局部最小值以及何时收敛到最小值。合适的学习率能够使目标函数在合适的时间内收敛到局部最小值。它指导我们在梯度下降法中,如何使用损失函数的梯度调整网络权重的超参数。调整权重公式如下:new_weight = old_weight - learning_rate * gradient二、学习率对损失值和深度网络的影响从图一可以看出,如果学习率过小原创 2021-05-11 21:52:17 · 12095 阅读 · 0 评论 -
【神经网络】学习笔记八—dropout浅析
转载,原文地址:(39条消息) 理解dropout_雨石-CSDN博客_dropout原文写的很棒很详细,大家可以去读一下,这里只是简短的摘录和理解。一、理解dropout开篇明义,dropout是指在深度学习网络的训练过程中,对于神经网络单元,按照一定的概率将其暂时从网络中丢弃。注意是暂时,对于梯度下降来说,由于是随即丢弃,故而每一个mini-batch都是在训练不同的网络。dropout是CNN中防止过拟合提高网络效果的一个大杀器。二、观点1. 组合派在Hinton的《A s原创 2021-05-11 14:24:17 · 906 阅读 · 1 评论 -
【神经网络】学习笔记七—过拟合欠拟合
转载,原文地址:深度学习中过拟合、欠拟合问题及解决方案 - 早起的小虫子 - 博客园 (cnblogs.com)说的很细致,大家可以去看看。在深度学习的模型建立过程中,一般都是用已经产生的数据训练,然后使用训练得到的模型去拟合未来的数据,借此来预测一些东西。在机器学习和深度学习的训练过程中,经常会出现欠拟合和过拟合的现象。训练一开始,模型通常会欠拟合,所以会对模型进行优化,等训练到一定程度后,就需要解决过拟合的问题了。一、模型训练拟合的分类和表现如何判断过拟合呢?我们在训练的时候会定义训练误原创 2021-05-10 22:58:25 · 7091 阅读 · 5 评论 -
【CNN实战】001:基于Minist数据集的手写数字识别
此处摘录一个简单的CNN实例。例子利用Minist数据集,利用两个卷积层(+两个池化层)和全连接层实现了手写数字照片的识别。原图reshape为28*28的照片输入。第一层:卷积层。32个5*5的卷积核,输入为28*28(*1)的照片,输出为28*28*32的照片,也就是把一张照片弄成大小不变的32张照片,1->32实际上是厚度,也就是通道数变了;第二层:池化层。2*2的池化区域,上下步数为1,输入为28*28的32张照片,输出为14*14的32张照片。即28*28*32->14原创 2021-05-10 15:28:20 · 3041 阅读 · 1 评论 -
【神经网络】学习笔记五—循环神经网络RNN简介1.0
原文地址:(41条消息) 深度学习(十一)RNN入门学习_hjimce的专栏-CSDN博客1. 简介RNN(Recurrent Neural Networks)中文名又称之为:循环神经网络,是一类以序列数据为输入,在序列的演进方向上进行递归且所有节点(循环单元)按链式连接的递归神经网络。循环神经网络具有记忆性,参数共享且图灵完备,因此对序列的非线性特征学习具有一定优势。其在计算机视觉里面用的比较少。RNN在自然语言处理(NLP),例如语音识别,语言建模,机器翻译,语音音频等领域有应用,也被用于各转载 2021-04-30 20:39:56 · 1965 阅读 · 1 评论 -
【神经网络】学习笔记四—卷积神经网络CNN简介1.0
原文地址:(40条消息) 深度学习(四)卷积神经网络入门学习(1)_hjimce的专栏-CSDN博客_卷积神经网络学习顺便说一下,原文博主真的一级棒,强推优秀博主。原文作者hjimce。这里只是简单的进行重复,加一些自己的领悟进去。卷积神经网络是很久以前的算法,不过近年来因为深度学习相关算法为多层网络的训练提供了新方法,然后电脑计算能力又大幅提高,训练数据很多,所以神经网络相关算法就又火了起来。需要明确的是,现在网上的相关教程一般都指的是神经网络的前向传导过程,反向传播都是用梯度下降法进行训转载 2021-04-27 21:52:07 · 1084 阅读 · 1 评论 -
【神经网络】学习笔记三—LSTM简介篇
1. RNN和LSTM结构对比RNN:LSTM:其中的符号:注意:上面的四个黄框,每一个都是普通的神经网络,激活函数就是上面标注的。通过对比可以看出,RNN的一个cell中只有一个神经网络,而LSTM的一个cell中有4个神经网络,故一个LSTM cell的参数是一个RNN cell参数的四倍。从上图也可以看出,原来的一个RNN cell只需要存储一个隐藏层状态h,而一个LSTM cell需要存储两个状态c和h。LSTM比RNN多了一个细胞状态,就是最上面一条原创 2021-04-24 14:34:44 · 3767 阅读 · 0 评论 -
【神经网络】学习笔记二—神经网络基本组成
本篇简单说一下几个层,具体的详见本系列其他博文。1. 池化层Pooling池化层是当前卷积神经网络CNN中常用组件之一。池化层模仿人的视觉系统对数据进行降维,用更高层次的特征表示图像。池化层以降低特征图的参数量来降低信息冗余,提升计算速度,增加感受野,以提升模型的尺度不变性,旋转不变性,是一种降采样操作。使得模型更关注全局特征而非局部出现的位置,这种降维的过程中可以保留一些重要的特征信息,提升容错能力,且在一定程度上起到防止过拟合的作用。池化层的常见操作包含以下几种:最大值池化,均值池化,随转载 2021-04-23 21:13:51 · 1434 阅读 · 0 评论 -
【神经网络】学习笔记一——激活函数篇
本文总结自百度百科:激活函数激活函数功能激活函数就是在人工神经网络的神经元上运行的函数,负责将神经元的输入映射到输出端。ps:其实不仅仅是简单的映射到输出端,是通过激活函数将非线性特性引入神经网络,不然不加激活函数输入和输出始终是线性的,下边会具体讲到。什么是激活函数激活函数对学习人工神经网络,理解复杂和非线性函数来说有十分重要的作用。它们将非线性特性引入到我们的网络中。如下图所示,在神经元中,输入的input通过加权求和后,还被作用了一个函数,这个函数就是激活函数。引入激活函数是为了增原创 2021-04-23 10:35:53 · 1233 阅读 · 0 评论