Neural network construction where different outputs have different dependencies on the inputs
2 ビュー (過去 30 日間)
古いコメントを表示
I want to construct a neural network for a system which is described by the image below. The arrows in the images shows the dependencies of the variables in the system (e.g., is dependent on ). I have two inputs and and outputs and , ,..., , . Three intermediate variables , and connect the inputs and outputs together, while the outputs , ,..., , have dependencies sequentially and is dependent on all the . How can I construct a neural network where the inputs are and and the outputs are and , ,..., , ?
1 件のコメント
Ben
2024 年 4 月 9 日
The diagram suggests depends on and depend on (via ). Could you clarify how the simultaneous dependency should be handled?
One way might be a recurrent style network - all the variables are actually time series, and depends on , while depend on . You would hook up a neural network with the and as outputs and write code to feed the back into the network at the next time step.
回答 (1 件)
Jayanti
2024 年 10 月 3 日
Hi Xuming,
You can start by defining all the layer component with appropriate size. Let’s assume you have input layer of size 10 (you can choose according to your requirement).
x_A = featureInputLayer(10, 'Name', 'x_a');
Similarly, you can create another input layer .
Now you can create intermediate layer of (suppose) size=20.
I_1 = fullyConnectedLayer(20, 'Name', 'I_1');
Similarly create other two layers and .
For explanation, I am assuming n=3 that is we have three layers which is referred as , and . You can extend this to any value of n. Below code will create layer with size=10.
y_B1 = fullyConnectedLayer(10, 'Name', 'y_b1');
Similarly define for other layers like and , .
Now you need to connect all the layers according to your need. I am attaching the code for your reference.
layers = connectLayers(layers, 'x_a', 'I_1');
layers = connectLayers(layers, 'I_1', 'I_2');
layers = connectLayers(layers, 'I_2', 'I_3');
layers = connectLayers(layers, 'x_b', 'y_b1');
layers = connectLayers(layers, 'x_b', 'y_b2');
layers = connectLayers(layers, 'x_b', 'y_b3');
layers = connectLayers(layers, 'I_3', 'y_b1');
layers = connectLayers(layers, 'y_b1', 'y_a/in1');
layers = connectLayers(layers, 'y_b2', 'y_a/in2');
layers = connectLayers(layers, 'y_b3', 'y_a/in3');
layers = connectLayers(layers, 'y_a', 'I_3');
Also I am attaching the documentation link for various layers for your reference:
Hope this helps!
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Deep Learning Toolbox についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!