Archived

This topic is now archived and is closed to further replies.

AlbertoT

neural net works and fuzzy logic

Recommended Posts

AlbertoT    100
Hello I have in mind to use the neurons output of a neural networks as fuzzy variables. The target is to simplify the neural network but at the same time to generate a wide range of diversified reactions of my character. Can it work ? thanks

Share this post


Link to post
Share on other sites
Timkin    864
That really depends on how you implement it. Principally, an ANN represents a functional mapping from an input space to an output space. Your inputs can be states of an artificial domain which map to fuzzy variables describing the domain. You are then free to use those fuzzy variables as you desire within a fuzzy logic framework.

Give it a go... that''s the best way to decide if it works or not.

Cheers,

Timkin

Share this post


Link to post
Share on other sites
manuelb    152
A lot of NNs uses analogic outputs, inputs. The firts definitions of NN are analogics... This works with signoidal functions... Insted of 1 and 0 the value ranges from one value to another with a float variable(if implemmented on computers).
The most books show it, and you will find a lot of things in a google search, just type "signoidal functions".

--------------------------
Rory Gallagher blues will never die.
---------------------------
Que que foi, que que foi, O que eh que hah?

Share this post


Link to post
Share on other sites
AlbertoT    100
Thanks for your reply.
Let me explain a little more.
I have read somewhere that although the neurons outputs are analogic, they are not linear.
For example ,if the outputs are 0.3 - 0.6 - 0.9 , it does not mean that they can be used as fuzzy variables : weak - normal - strong
If you assume that, you can expect non realistic beheviours of your character
Is it true ?

bye


Share this post


Link to post
Share on other sites
Timkin    864
The Sigmoid function is certainly nonlinear... if this is what you were asking.

As to the issue of using outputs directly as fuzzy variables... you can do this... it just requires that you train your network so that it displays appropriate behaviour in the fuzzy output system, given the input states. It means that your evaluation of the network wont be performed directly on the output values, but rather on the fuzzy behaviours generated by these values. This would, of course, create difficulties if you were using back-propogation to train the network. You might want to consider training via a genetic algorithm, in which case, if you haven''t already done so, check out fup''s site for some good information on the topic.

Cheers,

Timkin

Share this post


Link to post
Share on other sites
manuelb    152
The signoidal function is not the only one used in NN, there are other ones that are linear... but the problem is that, the way that your NN is configured and treined makes this function not linear evan if it''s linear, because the way that it reponds to the imputs....


--------------------------
Rory Gallagher blues will never die.
---------------------------
Que que foi, que que foi, O que eh que hah?

Share this post


Link to post
Share on other sites
Predictor    198
quote:
Original post by AlbertoT
I have in mind to use the neurons output of a neural networks as fuzzy variables.
The target is to simplify the neural network but at the same time to generate a wide range of diversified reactions of my character.
Can it work ?


Fuzzy logic can certainly be combined with neural networks, and there are many ways to do this. For example, fuzzy sets may be defined (as membership functions) along any numeric range, so the numbers output by a neural network may then be interpreted in light of fuzzy sets- possibly being processed further by some fuzzy process.

I published an article a few years ago on using fuzzy c-means clustering to preprocess training data for a neural network. Fuzzy memberships in the clusters were input to the neural network (with spectacular results on the artificial data set I used).

Some researchers have gone so far as to use fuzzy sets for neural network weights and outputs.

It would probably help if you explained what you are trying to accomplish.

Share this post


Link to post
Share on other sites
Predictor    198
quote:
Original post by AlbertoT
I have read somewhere that although the neurons outputs are analogic, they are not linear.
For example ,if the outputs are 0.3 - 0.6 - 0.9 , it does not mean that they can be used as fuzzy variables : weak - normal - strong
If you assume that, you can expect non realistic beheviours of your character
Is it true ?


There are several, distinct issues here. First, the actual output of most artificial neural networks is a number (or vector of numbers). As such, numbers are neither linear nor nonlinear- they are "just numbers". The mapping of a neural network from inputs to outputs may be linear or nonlinear. Even a nonlinear neural network may have a linear mapping in the output neurons.

None of this (linear/nonlinear) has anything to do with whether fuzzy sets may be defined on the numeric output of a neural network. Fuzzy sets may be defined on any numeric range.




Share this post


Link to post
Share on other sites
AlbertoT    100
Thanks again to all of you for your reply
I must say Timkin''s answer #2 is what I was looking for.
Actually the "Trick" is to link the ANN inputs to the fuzzy logic outputs instead of to the ANN outputs and using the GA for training.
In this way it should be possible to overcome the intrinsic non linearity of ANN.
I want to simulate human beings emotions
The main issues are unpredictable , diversified but still logic reactions.
The cost is defintly not important ( it is not a real time game )
as long as I can achieve more satisfactory results vs the traditional FSM implementations

Share this post


Link to post
Share on other sites
fup    463
"In this way it should be possible to overcome the intrinsic non linearity of ANN"

I don''t know why you keep saying this. An ANN is not intrinsically non linear.




ai-junkie.com

Share this post


Link to post
Share on other sites
Timkin    864
I''ve come across this before... in fact, there is quite a common, yet false, perception among undergraduates - who are taking AI for the first time - that ANNs are non-linear in their mapping from inputs to outputs. It''s easy to debunk this notion, by explaining to them a perceptron!

I''m not suggesting AlbertoT is in this same boat... just that he seems to be displaying the same misunderstanding (no offence intended Alberto).

Cheers,

Timkin

Share this post


Link to post
Share on other sites
AlbertoT    100
Timkin and fup

I do not mean " linear " according to math definition .
If all the functions in an ANN, are linear, I understand that also the transfer function beetwen inputs and outputs is linear.
I mean that a realistic behaviour can not be expected , assuming, that the " reaction " of the ANN driven bot, can be proportional to the value of the relevant output.
Please see my message #1 rather than #2 , which is actually wrong.
I have read it in a demo of an old AI book by Mr Watson.
A fleet of starships were driven by an ANN.
The inputs were the usual, no of enemies, fuel etc...the outputs speed ,...etc
The author said that although one of the outputs, for example the #1 ,is associated to the speed, it would be a mistake (non realistic behaviour) to move the starships at a speed proportional to such ouput
Unfortunatly I do not own this book anymore, so I can not provide more details.

Share this post


Link to post
Share on other sites