Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Conv neural network 有线电视网络体系结构_Conv Neural Network_Convolution - Fatal编程技术网

Conv neural network 有线电视网络体系结构

Conv neural network 有线电视网络体系结构,conv-neural-network,convolution,Conv Neural Network,Convolution,首先,这个问题不是关于编程本身,而是关于CNN架构背后的一些逻辑。 我确实理解每一层是如何工作的,但我唯一的问题是:分离ReLU和卷积层有意义吗?我的意思是,一个ConvLayer是否可以存在,并通过使用反向传播来工作和更新它的权重,而不需要一个ReLU 我想是的。这就是我创建以下独立层的原因: 康弗 雷卢 完全连接 汇集 转换(将3D输出转换为一维),用于ConvLayer->完全连接 我正在考虑将第1层和第2层合并为一层。我该买什么 简单的回答是:ReLU(或其他激活机制)应该添加到每个卷积

首先,这个问题不是关于编程本身,而是关于CNN架构背后的一些逻辑。 我确实理解每一层是如何工作的,但我唯一的问题是:分离ReLU和卷积层有意义吗?我的意思是,一个ConvLayer是否可以存在,并通过使用反向传播来工作和更新它的权重,而不需要一个ReLU

我想是的。这就是我创建以下独立层的原因:

  • 康弗
  • 雷卢
  • 完全连接
  • 汇集
  • 转换(将3D输出转换为一维),用于ConvLayer->完全连接
  • 我正在考虑将第1层和第2层合并为一层。我该买什么

    简单的回答是:ReLU(或其他激活机制)应该添加到每个卷积层或完全连接的层中

    CNN和神经网络通常使用诸如ReLU之类的激活函数在模型中引入非线性。 激活函数通常不是层本身,它们是层中每个节点的附加计算。您可以将它们视为决定查找与不查找特定模式的机制的实现。
    它能存在吗?

    对。它可以。没有任何东西可以阻止神经网络在模型中没有非线性模块的情况下工作。问题是,跳过两个相邻层之间的非线性模块相当于在第1层输入的线性组合,以在第2层获得输出

    M1:输入===>L1===>ReLU====>L2=====>输出

    M2:输入===>L1====>L2===>输出

    M3:输入===>L1=====>输出

    M2和M3是等效的,因为参数会在培训期间自行调整,以产生相同的输出。如果两者之间存在任何池,这可能不是真的,但只要层是连续的,网络结构就是一个大的线性组合(想想PCA)

    没有任何东西可以阻止梯度更新&在整个网络中进行反向传播

    你该怎么办?

    在不同的层之间保持某种形式的非线性。您可以创建包含多个卷积层的卷积块,但应在这些块的末尾以及密集层之后包含非线性函数。对于致密层,不使用激活函数完全等同于使用单层


    从TensorFlow的角度来看这里

    ,所有计算都是图中的节点(通常称为会话)。所以,如果你想分离层,这意味着要在计算图中添加节点,那就继续吧,但我看不到任何实际的原因。当然,你可以反向传播它,因为你只是在用导数计算每个函数的梯度。

    哦,是的。。。默认情况下,我在完全连接的神经元上使用了乙状结肠激活功能。只是完全连接的层有问题:)