tensorflow - 全连接层尺寸
问题描述
关于卷积神经网络的全连接层,我有一些不确定性。假设输入是卷积层的输出。我知道前一层是扁平的。但它可以有多个渠道吗?(例如,全连接层的输入可以是 16x16x3(3 个通道,扁平化为 768 个元素的向量吗?)
接下来,我理解输出的等式是,
outputs = activation(inputs * weights' + bias)
每个输入有 1 个重量吗?(例如,在上面的例子中,会有 768 个权重吗?)
接下来,有多少偏差?每个频道 1 个(所以 3 个)?1不管怎样?还有什么?
最后,过滤器如何在全连接层中工作?可以多于1个吗?
解决方案
您可能对全连接神经网络的工作方式有误解。为了更好地理解它,您可以随时查看一些很好的教程,例如斯坦福的在线课程这里
要回答您的第一个问题:是的,无论您拥有什么尺寸,都需要在发送到完全连接的层之前将其展平。
要回答您的第二个问题,您必须了解全连接层实际上是矩阵乘法后跟向量加法的过程:
input^T * weights + bias = output
输入尺寸为 1xIN,权重尺寸为 INxOUT,输出尺寸为 1xOUT,因此您有 1xIN * INxOUT = 1xOUT。总之,您将拥有每个输入的 INxOUT 权重和 OUT 权重。您还需要 OUT 偏置,这样完整的等式就是 1xIN * INxOUT + 1xOUT(偏置项)。
由于您没有进行卷积,因此没有过滤器。
请注意,全连接层也等于 1x1 卷积层,许多实现后来使用全连接层,这可能会让初学者感到困惑。详情请参考这里
推荐阅读
- intellij-idea - 如何让 IntelliJ 从包中的其他文件中提出代码完成建议?
- php - Telegram-Bot 命令问题 (php)
- rust - 根据 Rust 中元素的频率和位置对向量进行排序
- javascript - 更新 HTML 对象数据
- python - 如何在 requirements.txt 中为 Google Cloud Function 导入 Speech_v1
- android - Android - 如果项目不多,应用程序会崩溃
- reactjs - 反应useState改变颜色不起作用
- javascript - 从数组中删除元素的更好(更快)方法?
- html - CSS 样式在模式弹出窗口中丢失
- flutter - 如何在 GridView 内制作边框