The use of neural n...
 
Notifications
Clear all

The use of neural nets

3 Posts
2 Users
0 Reactions
359 Views
robotBuilder
(@robotbuilder)
Member
Joined: 5 years ago
Posts: 2043
Topic starter  

@davee wrote in the thread,

https://forum.dronebotworkshop.com/user-robot-projects/inqegg-one-step-forward-two-steps-back/paged/14/#post-43513

"... which implies that you probably were 'fudging' the AI machine a bit."

There is no stand alone neural net solution (AI) that I know of. Essentially inq is using a genetic algorithm to search for a suitable set of weights to go in a particular type of neural net. This is different to evolving a neural net architecture. Genetic algorithms are used to solve other types of problems as well.

If I want my robot to selectively spray weeds I might use a neural net to recognize the weeds but that neural net is just a function in an otherwise conventional control system. This guy used a neural net in his project.

For some reason inq saw me as "presenting myself as some kind of expert qualified to pass judgement on his attempts at learning about robotics and/or AI."  I wasn't passing judgement on anyone.  I never confuse the argument with the person making the argument. And if you read my posts I often made it clear I wasn't an expert of any kind!

I may have typed up some of the things I have read experts write over the many decades making it sound like I was pretending to be an expert?  It was just that I have been interested in the subject for a long time and was thinking that others might also be interested in what I had learned as well.

Neural nets have been around a long time. It is only with the back propagation techniques and super fast computers to adjust the weights using thousands of examples that they have been able to do some neat stuff. However I have observed the AI hype for decades. Last night I watched Q&A which talked about the subject. One of the guest was Michael Biercuk who said he likes to call out the BS about what people call AI.

https://www.sydney.edu.au/science/about/our-people/academic-staff/michael-biercuk.htm

Inq also accused me of only wanting to do hard-coded solutions and believing AI is only for those not competent enough to do it the "right way". Not true. I have to hard code a solution as I have had no success with evolving a solution. This doesn't mean I am not interested in such systems, on the contrary, I find the workings of such systems of great interest. That is why I tried to duplicate in a simulation the problem of evolving a wall avoiding robot and posted still shots of the results.

Am I a negative person? Maybe. A fault I need to work on. However I have found that just because someone comes across as a nice person doesn't mean they are. Nor does it mean that a critical person will not be there for you when you are in need while the nice person who strokes your ego may turn out to do you in if they benefited by it.

There was a comment I heard recently that really struck me as insightful:
"They may not remember what you said but they will remember how you made them feel."


   
Quote
(@davee)
Member
Joined: 3 years ago
Posts: 1721
 

Hi @robotbuilder,

  In the hope of clarifying my comments, @Inq has buit a simulator and an AI engine, apparently in the same computer, possibly even in the same  program, I don't know.

The code of a simulator of a physical system, is typically separate from the model or object it is simulating. e.g. an electronic simulator like Spice contains the basic models of components like capacitors, resistors and transistors, plus the 'maths' to model a circuit. The models of the components will take parameters, like resistance for a specific part, but the underlying model is part of the simulator.

To model a circuit, the circuit is fed the required data, such as list of parts, and the connections between them, plus signals (e.g.voltage waveforms) to stimulate the circuit.

In the case Inq's simulation, I was envisaging the simulation to be the part of the program that 'knows' about the physical object, i.e. the bot, including aspects like how quickly it will actually accelerate, when commanded to.

The AI engine, I presumed was logically 'separate' from the simulator engine, with the only connections being the inputs to the AI engine from 'sensors', which are actually outputs from the simulator, and outputs from the AI engine, which are the commands to the motors, etc.

The fitness equation, I saw as part of the AI engine. i.e. a real bot would need it as part of its AI 'brain'.

Real world mechanics, such as the inertia charcteristics of real motors, etc. I saw as part of the simulator. A real bot would not need to calculate it. Physics would naturally impose it on the bot.

--------------

Of course, as I didn't design the simulator system, this could all be different from what Inq has actually done ... I was only trying to check if my 'intuition' was correct.

---------------

If the above description is basically correct, then you may notice that putting inertia into the fitness equation is muddling the boundaries between the simulator engine and the AI engine. That is all I meant by 'fudging the AI machine'

---------------------------------------

None of my comment was a personal comment about you .. it was not a criticism or the like .. it was just me trying to clarify with Inq as to whether I was understanding the story, albeit prompted by your one line comment.

Best wishes, Dave


   
ReplyQuote
robotBuilder
(@robotbuilder)
Member
Joined: 5 years ago
Posts: 2043
Topic starter  

@davee

If the above description is basically correct, then you may notice that putting inertia into the fitness equation is muddling the boundaries between the simulator engine and the AI engine. That is all I meant by 'fudging the AI machine

Ok. All a bit complex for me to follow. I think there are libraries that allow the construction of a 3d world where the objects are subject to real physics. How close the simulated world (and that includes the simulated robot) matches the real world will determine I guess how good the weights will be in the actual neural network controlling both the simulated and later the real robot.

I saw the simulation as a proof of concept for the genetic algorithm rather than a working set of weights which would allow a physical robot behave the same way in the real world.

As the link below elaborates on,

First, our robot will have a very simple model.
It will make many assumptions about the world.
Some of the important ones include:

The terrain is always flat and even
Obstacles are never round
The wheels never slip
Nothing is ever going to push the robot around
The sensors never fail or give false readings
The wheels always turn when they are told to

https://www.toptal.com/robotics/programming-a-robot-an-introductory-tutorial

None of my comment was a personal comment about you .. it was not a criticism or the like .. it was just me trying to clarify with Inq as to whether I was understanding the story, albeit prompted by your one line comment.

Yes I understood that. I just couldn't resist slipping in some thoughts which I refrained from in the response to inq and his comments about me. I was unloading on you, sorry 🙂

The subject title was showing that I have no problem with using neural nets. Machine learning is a very powerful tool for extracting information from vast amounts of data such as DNA sequences to finding cancer in an xray image.

Best wishes, John

 


   
ReplyQuote