比较三种常见的神经网络
demi 在 周四, 01/16/2020 - 13:07 提交
神经网络根据中间功能层的不同分为不同的神经网络。主要有三种: 全连接神经网络(FNN) ;卷积神经网络(CNN) ;循环神经网络(RNN)
神经网络是一种受到生物神经系统启发而设计的计算模型,用于机器学习和人工智能领域。神经网络由大量的人工神经元(模拟生物神经元)组成,这些神经元通过连接权重相互连接,形成网络结构。神经网络的目标是通过学习和调整权重来模拟和解决复杂的问题。
神经网络根据中间功能层的不同分为不同的神经网络。主要有三种: 全连接神经网络(FNN) ;卷积神经网络(CNN) ;循环神经网络(RNN)
Dropout是在《ImageNet Classification with Deep Convolutional》这篇论文里提出来为了防止神经网络的过拟合。它的主要思想是让隐藏层的节点在每次迭代时(包括正向和反向传播)有一定几率(keep-prob)失效。
神经网络中损失函数后一般会加一个额外的正则项L1或L2,也称为L1范数和L2范数。正则项可以看做是损失函数的惩罚项,用来对损失函数中的系数做一些限制。
当一个CNN网络做forward时,对于硬件资源的利用情况,称之为利用率。
SGD(Stochastic Gradient Descent)就是最常见的随机梯度下降。向着参数的梯度的负方向改变(梯度方向是增加的方向)。相比于普通SGD,Momentum update在深度网络中收敛更好。
作者:Lilian Weng
编译:ronghuaiyang
导读
如果你和我一样,不明白为什么深度神经网络可以推广到样本外的数据点,而不会过拟合,请继续阅读。
如果你像我一样,有传统机器学习的经验进入深度学习领域,你可能会经常思考这样一个问题:由于一个典型的深度神经网络有这么多的参数,训练误差很容易达到完美,那么它一定会遭受大量的过拟合。如何将其推广到样本外数据点?
在理解为什么深层神经网络可以泛化的过程中,我想起了一篇关于系统生物学的有趣的论文——《生物学家能修理收音机吗?》。如果一位生物学家打算用她在生物系统上工作的方法来修理一台无线电设备的话,可能会很困难。由于无线电系统的全部机制还没有被揭示出来,小的局部功能可能会给出一些提示,但它很难显示系统内的所有交互,更不用说整个工作流程了。无论你是否认为它与DL相关,它都是一本非常有趣的读物。
我想在这篇文章中讨论一些关于深度学习模型的泛化性和复杂性度量的论文。希望它能帮助你理解为什么DNN可以泛化。
关于压缩和模型选择的经典定理
这篇文章提供了可以采取的切实可行的步骤来识别和修复机器学习模型的训练、泛化和优化问题。
神经网络是一种在很多用例中能够提供最优准确率的机器学习算法。其中参数的理解可能是我们入门的一个小小的难题,在讨论提升神经网络性能的方法,如检查过拟合、调参、超参数调节、数据增强之前,我们先简单介绍常用的神经网络参数,便于后期的学习和理解,以期更快的掌握深度学习,构建更准确的神经网络。
除了从头训练自己的网络,一种更有效,更好的方式就是微调已预训练好的网络模型,微调预训练模型简单点来说就是用目标任务数据在原先预训练的模型上继续训练的过程。
在训练神经网络的时候,需要调的参数很多,选一组最适合自己模型的参数。实际训练的时候如果不按照一定的顺序,会很乱。因此正确有序地调参很重要。