我对机器学习很陌生,自己做了一个实验。我有几个问题:
- 我可以用吗或者作为神经网络的激活函数?
- 是否需要增加卷积核的大小来提高卷积神经网络(CNN)的效果?
我对机器学习很陌生,自己做了一个实验。我有几个问题:
2个问题,2个答案:
激活背后的主要思想是它们是非线性的,以打破网络的线性。所以它们总是具有以下属性:
快速提醒一下神经元是如何构建的:
所以输出基本上是. 在哪里和是神经网络的参数。
如果你使用作为激活函数,它不会破坏线性,因此是无用的,因为它相当于将所有权重相乘和2,网络无论如何都会调整这些参数。
如果你使用,然后你打破了线性,这是一件好事,但问题是现在2 个不同的输入可能有相同的输出,这有点奇怪,会让你的网络学习混乱。
不要忘记您的网络必须调整权重才能获得正确的输出,因此当它具有像 tanh 这样非常平滑的函数而不是具有具有随机周期性的波的函数时,它更容易调整。
现在我将告诉你大多数数据科学家实际上是如何使用激活函数的(包括我自己):我们只是在任何地方都使用ReLU函数作为激活函数,因为它在任何地方都能给出很好的结果,我们可以专注于架构的其他部分而不是激活职能。
绝对没有必要增加内核大小来获得良好的结果,并且计算机视觉 (CV) 中使用的大多数网络(如 VGG 或 ResNet)在大多数层中使用 3x3 内核(有时在第一层中使用 5x5 或 7x7)。
根据我对 CV 网络的理解,CNN 中最重要的部分是卷积后图像的分辨率超低(输入图像可能是 256x256,在网络的较低分辨率层上应该是 8x8 或 4x4因此 3x3 卷积可以掌握整个图像。
这只是我的观点,除了直觉,我没有什么可以支持的,所以不要认为最后几行是理所当然的。
希望现在更清楚,如果您有任何问题,请随时提出。