I moved here so as not to hyjack the other thread.
@inq wrote:
I'd like you to elaborate on why you believe a wall following bot requires knowing its past time slices.
It might not require its past time slices. However you might note the extract in my previous post. "If some kind of short-term memory mechanism is provided to the neural classifiers, their performances are improved in general."
I just think that without memory there may well be tasks it cannot execute. Let us say it comes to a fork in the road. If the only input is "a fork in the road" it can only have one of two fixed outputs. Turn left or turn right.
If the task was to turn left at the first fork and turn right at the second fork it would need memory of its last action, so with memory the input would become, "a fork in the road, last time you turned left".
I think it was mentioned with the network @THRandell posted the context neurons (memory) enabled it to get out of a trapped situation.
My simulated robot would often get trapped (no memory was implemented) where it would essentially oscillate between two actions. Turn left resulted in an input to turn right which when executed returned an input that said turn left which when executed return an input that said turn right ...
I moved here so as not to hyjack the other thread.
Good Idea! I was about to do the same until I realized you beat me to it. 😉
I just think that without memory there may well be tasks it cannot execute. Let us say it comes to a fork in the road. If the only input is "a fork in the road" it can only have one of two fixed outputs. Turn left or turn right.
I've mentioned many times on the forum that I see my eventual robots as being two tiered. One or more MPU's doing the more mundane, real-time computing for motion and sensing. But I've always assumed at some point a conductor/boss/manager will be necessary with its huge storage space. My thoughts have always been a RasPi (or equiv) for this duty. Even my next step of a room/building mapping bot would require this.
I haven't come to any conclusions on how far AI can take me. I'm trying to keep an open mind on that.
Although direct, hard-coded logic can do obstacle avoidance, I'm coming to a learning level where I see AI can do that more efficiently with less code as well. It will likely be more fault tolerant and handle more unexpected situations. And even when it does run into a new case that hadn't been learned before (and that hard-coded logic would also fail) it can be programmed to learn from that mistake.
Upping the complexity just a little. I see a 4 finger, 1 thumb human styled hand, arm, elbow and shoulder sub-assembly as being controlled by AI by its own dedicated MPU. I don't see any need here for memory. It might even use the ToF sensor in the palm to do its own aiming for the desired item. It would use grip feedback to determine how tight it has to grip to successfully pick-up the item... empty egg-shell to lead-bar. I can imagine AI handling this duty on the MPU... AFTER the primary computer told it which one to pick up.
Do I think AI can go beyond this? I don't know and I certain don't know if I can do it. There is even more evidence on the Internet suggesting that AI will also have primary use on the top level computer making decisions about which is the best path to the desired location or interacting with a human and a dynamic world.
I'm not being optimistic in the sense that, I know I can do it. I'm simply being optimistic in the knowledge, if I don't try, I do know I will never be able to do it.
I'm not aiming for a practical end-product or a job. I just... want to do it. It's interesting. It keeps my mind young instead of festering away in negativism and defeatism.
3 lines of code = InqPortal = Complete IoT, App, Web Server w/ GUI Admin Client, WiFi Manager, Drag & Drop File Manager, OTA, Performance Metrics, Web Socket Comms, Easy App API, All running on ESP8266...
Even usable on ESP-01S - Quickest Start Guide
Although direct, hard-coded logic can do obstacle avoidance, I'm coming to a learning level where I see AI can do that more efficiently with less code as well.
I would not equate neural nets as being the definition of AI although I see it being done all the time now.
Neural nets are used because of a failure of being able to work out a solution yourself. Want to design a full adder? Evolve one using a field programmable gate array. Page 62 in the link I gave. A neural net is a simulation of an array of computing units optimistically called "neurons".
Neural networks are no more fault tolerant than any hard coded multivariate statistical analysis program. They can fail catastrophically but without giving their reason for doing so.
But neural net solutions are something you want to pursue so why not see how far you can go with it.