我最近决定放弃使用Theano作为后端的20年前不受支持的vanilla ANSI C库,我之前使用它来完成Keras的建模工作。我希望能够在Theano中模拟我在C中可以做的类似事情。
典型的建模方案是训练网络通过一个或多个隐藏层在A和B之间双向映射:
A <==> h1 <==> hn <==> B
我的研究涉及不同类型的表示之间的映射(例如,您可以听到“狗”这个词并知道字母的样子,或者您可以读取字母DOG并知道这些字母听起来像什么)。在这种架构中,A和B有时都是输入,有时是输出。在阅读顺序模型描述之后,目前尚不清楚Keras是否允许这样做,因为它明确地具有第一层 - 因此有时A将是第一层,但有时B将是第一层。 Keras层是否可能 输入和输出层?
答案 0 :(得分:0)
恢复模型似乎并不简单。
想象一个完全连接的神经元,在前进时执行以下操作:
output = w1*i1 + w2*i2 + w3*i3 + bias #i1 to i3 are input values
现在当试图倒退时,即使你知道重量和偏差,i1,i2和i3也有无限的解决方案。它们只是一个方程式的三个变量。
所以,也许一种可能的方法(不确定可能会发生什么......)是创建一个同时接受两个输入的模型,并输出两个值。
您可以输入一个作为实际值,另一个作为零或类似的东西输入。