softmax我们知道卷积神经网络(CNN)在图像领域的应用已经非常广泛了,一般一个CNN网络主要包含卷积层,池化层(pooling),全连接层,损失层等。虽然现在已经开源了很多深度学习框架(比如MxNet,Caffe等),训练一个模型变得非常简单,但是你对这些层具体是怎么实现的了解吗?你对softmax,softmax loss,cross entropy了解吗?相信很多人不一定清楚。虽然网上的            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-19 11:24:55
                            
                                101阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            奇奇怪怪的损失函数Loss前言本篇博客仅涉及直觉理解,不包括严谨的数学运算。默认读者已经很熟系神经网络的基本结构和反向传播过程,这里仅仅对损失函数的一小点知识做出个人理解,说错了请大哥们指正。本篇小博客内容:loss函数本身在训练过程中是否不变1.loss函数数学角度的输入输出关系:从数学角度来看,神经网络本质上是一个函数,叫它f(x);Loss函数也是个函数,叫它L(f(x),Y),其中Y是标签            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-19 20:21:52
                            
                                176阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            TensorFlow开发了一个特别有用的可视化工具包:TensorBoard,既可以显示网络结构,又可以显示训练和测试过程中各层参数的变化情况,也是现实神经网络流程图,分为四个部分,第一部分介绍步骤,第二部分是完整代码,第三部分是运行结果。第一部分:基本步骤A、神经网络流程图所有流程图需要添加如下小部件:,网络层层(layer),输入(input-x,input-y),权重(weights),偏置            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-01-08 15:13:18
                            
                                111阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            文章目录1. 权重初始化2. 偏置初始化3. 损失函数loss4.反向传播 1. 权重初始化不初始化时,为0学不到东西应使各层的激活值既不饱和也不为0,正确的初始化可以加快收敛,降低梯度消失、爆炸的风险常见的初始化方法,小随机数初始化、服从一个多变量高斯分布或多变量均匀分布初始化不合适,训练变慢难收敛 诊断方法 
  观察所有层的激活值和梯度分布的柱状图 例:双曲正切激活函数在区间[-1,1]内            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-15 15:14:48
                            
                                191阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Loss函数降不下来 文章目录Loss函数降不下来原因与原理怎样判断?——海森矩阵(Hessian Matrix)陷入鞍点(saddle point)的情况下常用解决方案momentum方法 原因与原理在Loss没有卡住之前,我们是根据gradient(梯度)下降的方向寻找更优的函数,是的loss更小,但是,因为此时gradient为零,怎样对他求导的结果都是零,随意这时候已经找不到梯度下降的方向            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-05 13:39:22
                            
                                44阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            在深入学习技术细节之前,先快速了解一下这一章会学习什么内容。 前面一章我们讨论了逻辑回归,了解了这个模型和流程图之间的联系,如上图。在该流程图中,你需要输入特征x,参数w和b,用于计算z,然后用z计算出a,我们用a同时表示输出,接下来就可以计算损失函数Loss。神经网络就是这样,可以把很多sigmoid单元堆叠起来构成一个神经网络,而之前,这个节点对应两个计算步骤,首先计算出z值,然后计算a值。            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-27 09:25:58
                            
                                196阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            在训练神经网络的过程中往往要定时记录Loss的值,以便查看训练过程和方便调参。一般可以借助tensorboard等工具实时地可视化Loss情况,也可以手写实时绘制Loss的函数。基于自己的需要,我要将每次训练之后的Loss保存到文件夹中之后再统一整理,因此这里总结两种保存loss到文件的方法以及读取Loss并绘图的方法。一、采用torch.save(tensor, 'file_name')方法:f            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-27 11:25:20
                            
                                319阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            一.GAN网络的简述。我感觉GAN网络(生成式对抗网络)可以理解为造假,在造假的过程中不断的更新数据使物品的相似度逐渐增加,从similar变为same。在这个过程中我们需要两部分,生成模型(Generative Model)可以将一个输入噪音生成和真实数据差不多的数据;判别模型(Discriminative Model)能够判断出真实数据(真钱)和类真实数据。GAN网络的目标是使得生成的数据和真            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-02 21:55:42
                            
                                16阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            文章目录LeNetAlexNetDropoutAlexNet 网络结构torchvision中的AlexNet的实现ZFNetVGG-NetsVGG 各网络VGG-16 网络结构GoogLeNet代码实现ResNetDenseNetRNNLSTMGRU LeNet1998年,由 LeCun 提出用于手写数字识别任务只有5层结构;目前看来不输入深度学习网络;但是是基本确定了卷积NN的基本架构:卷积            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-08 20:31:24
                            
                                59阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            图像识别和自然语言处理是目前应用极为广泛的AI技术,这些技术不管是速度还是准确度都已经达到了相当的高度,具体应用例如智能手机的人脸解锁、内置的语音助手。这些技术的实现和发展都离不开神经网络,可是传统的神经网络只能解决关于辨识的问题,并不能够为机器带来自主创造的能力,例如让机器写出一篇流畅的新闻报道,生成一副美丽的风景画。但随着GAN的出现,这些都成为了可能。什么是GAN?生成式对抗网络(GAN,            
                
         
            
            
            
            前言训练或者预测过程中经常会遇到训练损失值或者验证损失值不正常、无穷大、或者直接nan的情况:遇到这样的现象,通常有以下几个原因导致:梯度爆炸造成Loss爆炸原因很简单,学习率较高的情况下,直接影响到每次更新值的程度比较大,走的步伐因此也会大起来。如下图,过大的学习率会导致无法顺利地到达最低点,稍有不慎就会跳出可控制区域,此时我们将要面对的就是损失成倍增大(跨量级)。另外,这种情况很容易在网络层数            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-02 16:33:38
                            
                                933阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            什么是GAN生成对抗网络(GAN)是一种由生成网络和判别网络组成的深度神经网络架构。通过在生成和判别之间的多次循环,两个网络相互对抗,继而两者性能逐步提升。生成网络生成网络(Generator Network)借助现有的数据来生成新数据,比如使用从随机产生的一组数字向量(称为潜在空间 latent space)中生成数据(图像、音频等)。所以在构建的时候你首先要明确生成目标,然后将生成结果交给判别            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-15 14:27:07
                            
                                297阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            入坑GAN,首先需要理由,GAN能做什么,为什么要学GAN。 GAN的初衷就是生成不存在于真实世界的数据,类似于使得 AI具有创造力或者想象力。应用场景如下:        AI作家,AI画家等需要创造力的AI体;         将模糊图            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-11-13 14:32:04
                            
                                86阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            深度卷积生成对抗网络DCGAN在上一次的学习中,我们搭建了一个朴素GAN,只利用了全连接网络,在训练了20000epoch后已经可以生成比较不错的手写数据集了,如果把生成器和判别器网络换成更强大的网络会是不是会有更好的效果呢?DCGAN引入了卷积神经网络,使用卷积神经网络进行生成器和判别器的构造,结构与朴素GAN基本相同,所以不过多介绍了,下面是搭建过程。# 导入包
%matplotlib inl            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-01-23 23:58:17
                            
                                125阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            生成对抗神经网络(Generative Adversarial Nets,GAN)是一种深度学习的框架,它是通过一个相互对抗的过程来完成模型训练的。典型的GAN包含两个部分,一个是生成模型(Generative Model,简称G),另一个是判别模型(Discriminative Model,简称D)。生成模型负责生成与样本分布一致的数据,目标是欺骗判别模型,让判别模型认为生成的数据是真实的;判别            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-17 22:12:44
                            
                                140阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            生成对抗神经网络借鉴了零和博弈的思想,主要用于样本的生成,属于非监督学习 简单总结一下 GAN 的基本思想(参考下图):GAN由两部分网络组成,一个是生成网络,一个是判别网络生成网络类似于(变分自编码器)网络的Decoder部分,用于生成新样本判别网络本质上是一个二分类分类器,用于识别输入的样本是真实样本还是生成的假样本;训练GAN网络时,判别网络会不断提高识别能力,而生成网络会不断提高生成能力从            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-01-01 12:39:22
                            
                                46阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            神经网络的简单理解——函数变换与组合一、底层特征与高层特征  在学习深度学习的时候,常常会听到底层特征和高层特征的说法,学的时候就很困惑,什么是底层?什么是高层?究竟要怎么理解?从神经网络的模型结构上可以直观定义,与输入层最接近的神经元组合成底层特征,与输出层最接近的神经元组合成高层特征。很显然,高层特征最接近我们要的“语义”。而“语义”是人赋予的,数据是客观观察的,也就是说,神经网络弥补了从自然            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-20 11:34:23
                            
                                60阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1、损失函数loss         用于定义网络输出结果与正确结果之间的误差的函数,常用损失函数为均方差(MSE)和交叉熵(Cross Entropy)。一般均方差用于回归问题,交叉熵用于分类问题。2、梯度         梯度下降:让损            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-18 22:49:11
                            
                                810阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            神经网络基础及逻辑回归实现1. Logistic回归1.1 Logistic回归逻辑回归是一个主要用于二分分类类的算法。逻辑回归是给定一个x , 输出一个该样本属于1对应类别的预测概率=P(y=1∣x)。Logistic 回归中使用的参数如下:例如:【这儿最后把逻辑回归结果和真实结果做对比】1.2 逻辑回归损失函数损失函数(loss function)用于衡量预测结果与真实值之间的误差。            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-20 13:40:57
                            
                                173阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Loss收敛评判标准:1、一般而言,当loss不再下降,趋于稳定时,就差不多收敛了,就意味着训练可以结束了 2、有的人说0.001以下,但主要看效果Loss不收敛可能存在的问题: 首先你要保证训练的次数够多,不要以为一百两百次就会一直loss下降或者准确率一直提高,会有一点震荡的。只要总体收敛就行。若训练次数够多(一般上千次,上万次,或者几十个epoch)没收敛,则试试下面方法:1、数据归一化 神            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-19 23:19:32
                            
                                560阅读