python - 神经网络可以学会充当多路复用器吗?
问题描述
假设我的输入是 A 和 B。输入大致是这样的,A = [10, 5, 30, 2] 可以在 [1,100] 和 B = [0, 1, 0, 0 范围内具有任意值] 这是一个热向量。预期输出 C = [5],即两个输入向量的点积 C = AB
同样,对于 A = [10, 5, 30, 2] 和 B = [0, 0, 1, 0],输出将为 C = [30]。
本质上,我希望神经网络充当 4 路多路复用器(https://en.wikipedia.org/wiki/Multiplexer)。
我已经实现了一个具有两个隐藏层的神经网络。虽然它适用于训练数据,但它无法泛化除此之外。
是否有一个潜在的原因表明这个问题对于神经网络来说会很困难?
解决方案
根据通用逼近定理,具有单个隐藏层的全连接神经网络可以“实际上”成为通用逼近器(给定一系列条件和考虑)。
更多内容:https ://en.wikipedia.org/wiki/Universal_approximation_theorem
所以,是的,网络确实可以近似一个多路复用器。你必须考虑几个因素。也许你可以尝试标准化或规范化你的输入数据(不同尺度的输入数据会扰乱网络学习过程),你可以在这里找到一些信息:
另外,看看您的输入空间,您有 100^4 乘以 4 个可能的输入(大约 4 x 10^8,基于此,您必须考虑训练数据的大小,因为几千个示例不会切入,因为数据非常分散(训练样本中的示例可能与验证数据中的示例非常不同)。
推荐阅读
- vue.js - v-on:keyup.enter 和 v-on:keydown.tab ... 在表单内部,监听
- c# - System.Text.Json 中是否有 JRaw 的等价物
- java - 在java中使用标志并将其从一个类调用到另一个类
- python-3.x - 模块 'tensorflow' 没有属性 'placeholder' 但已导入 tfv1
- ios - 致命异常:iOS 上的 NSInternalInconsistencyException 崩溃
- python - Django form doesn't appear on template
- php - WooCommerce login not working for some users with no errors
- c++ - 具有其他类对象向量的类
- swift - 助理编辑器新的xcode
- sapui5 - 如何设置文本字段的可见错误