Simple neural network computation NOT working

2 次查看(过去 30 天)
I've used the "Neural Net Fitting" App as well as my own code to compute weights for a very simple 1 hidden layer (w/ 1 neuron).
== my own code ==
h1 = X_input * w1 + b1;
o1 = tanh(h1);
h2 = o1 * w2 + b2;
o2 = tanh(h2);
=====
However, it does not output a correct output compared to the "Neural Net Fitting" App.
Is there anything wrong with the above algorithm?
Thanks.

回答(1 个)

Steven Lord
Steven Lord 2022-6-13
  1 个评论
Jacob Jeong
Jacob Jeong 2022-6-13
%% Linear function for testing NN %%
function [x_input, y_true] ...
= test_lin(N_samples)
a = 3;
b = -5;
% preallocated for speed
x_input = zeros(1, N_samples);
y_true = zeros(1, N_samples);
% generate x (within [-10, 10])
for i = 1:N_samples
x_input(i) = unifrnd(-1, 1);
y_true(i) = a * x_input(i) + b;
end
%%
%% Testbench %%
clear; clc;
N_neuron = 1; % number of neurons
K_max = 1000;
Y_max = 100;
eta = 0.01;
[x_input, y_true] = test_lin(K_max);
X_input = x_input;
Y_true = y_true/Y_max;
Y_pred = zeros(1,K_max);
%%
%% Trained Neural Net Fitting using X_input and Y_true
got the following from Neural Net Fitting
% Layer 1
b1 = -0.0034309766062626356579;
IW1_1 = 0.22567942543499841523;
% Layer 2
b2 = 0.015126064794135411773;
LW2_1 = 4.4754110209172548451;
%% Neural Net Fitting app uses tanh for hidden layer and linear function for output layer
h1 = X_input * w1 + b1;
o1 = tanh(h1);
h2 = o1 * w2 + b2;
o2 = h2
o2 should be same as when I input X_input to Neural Net Fitting function, but is NOT the same....

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Deep Learning Toolbox 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by