Notifications
Clear all

Today's Unbelievable Technologies

3 Posts
1 Users
0 Likes
3,493 Views
Robo Pi
(@robo-pi)
Robotics Engineer
Joined: 5 years ago
Posts: 1669
Topic starter  

My brain is on fire and it's all Bill's fault!

Years ago I was getting into robotics with the dream of building a robot that I could actually talk to and have a meaningful conversation with.  I also wanted it to have a physical body that could do some serious work around here.  I was making some progress on it but things were going to slowly that I eventually lost interest assuming that my ambitions were beyond any practical reach.   And so I put all my robot stuff away.   And I am so thankful that I didn't actually throw it away.

I start working with the Arduino and the Raspberry Pi.  It was only a couple year ago that I wrote my first "blink" program.  It was also at that time that I started learning Python for the Raspberry Pi.  Fortunately I did have previous programming experience with VB, C++, C# and Assembly Language.  So learning Python was a breeze.  None the less I was still using crude python tools like lists, etc.

Then I started watching Bill's DroneBot Workshop.  I learned a lot of very interesting things from Bill, not the least of which is that fact that adding an SD card reader to an Arduino is a piece of cake.  That really opened up a lot of doors for me with the Arduino.  And of course Bill introduced me to many other Arduino projects including the concept of quarterions.  He didn't go into great detail, but that inspired me to look into quarterions and I found them extremely interesting and useful.   See the following video from 3Blue1Brown

This really opened my eyes to the simplicity of understanding 4 dimensional space.

And now that Bill has inspired me to get back into robotics I've been looking at my old projects with a new perspective.   And what I have been finding on the web is absolutely phenomenal.

Semantic A.I.

One thing I was hoping to do was build an intelligent robot based on semantics.  Basically using a dictionary where the robot can understand the meanings of words and sentences.  I had previously been looking into this after having read Marvin Minsky's book "Society of Mind".   He doesn't really go into Semantic A.I, but he does provide a lot of insight into how a mind processes information.  Technique of Semantic A.I. have been around for over 40 years in various forms and approaches.  I've come up with an approach of my own  using ideas from Dr. Minsky's book along with some semantic features of Microsoft's Speech Platform namespace packages.   However, very recently I've just discovered even more ideas.  I'm currently taking an online course with IBM on how IBM's Watson works.   And I've discovered that IBM's Watson is also base on Semantic A.I.   Yet there are many different ways to do this.   So I'm currently "on fire" obtaining many new ideas along the lines of Semantic A.I.

Neural Networks

In addition to the work on Semantic A.I. I've also been doing a lot of study into Neural Networks lately.  I've decided to really buckle down and fully understand how they work from the ground up.  Again, I've been making progress at warp speed.  I've not only learned how perceptrons work but I've discovered a new way to "train" them before they are even built.   This way I can build neural nets that are already trained by design.  In fact, this is so exciting I'm dying to share my discoveries with others.

Learning New Software Tools

This has all just happened recently.  And it's all Bill's fault! ? 

I was trying to do all this heavy mathematics using standard python.  While that was working to some degree it was becoming increasingly difficult, especially when it comes to graphing the data.  Then I learned about Numpy, Pandas, MatPlotLib, and SciKit.  These are all super powerful mathematical tools that make doing the math elementary.   I downloaded this all in WinPython and learned how they work using Jupyter Notebook.

Just today I'm moving on from there with a new download of Anaconda Python which also contains the same math packages but can be run on Visual Studio complete with all the intellisense that comes with those packages making programming that much easier.   So hopefully I'm now in a situation where I can start making up lecture graphics so I can explain all of this stuff to others in a very accessible way.   It's really not hard when you have all these math tools at your fingertips.   All the math has already been done for us.  All we need to do is learn how to plot the results. ? 

Building Physical Neural Networks

Another big ambition of mine is to build physical analog neural networks using op-amps.  Thanks to Bill creating this forum I was introduced to Steve (@codecage), and he got me into KiCAD and PCBWay.  Now I have a means through which I can have my physical neural networks built for me on PCBs using micro SMD op-amps.   Part of what I need these for goes back to the Semantic A.I. approach.  You need to be able to classify words according to their meanings.   And this would take a lot of processing power and time to do on a conventional CPU.   With with a physical neural network that has already been trained the time and processing power required to discover the meaning of a work is practically zero.  The following is a neural network map of related works.   You can basically think of this as an image of what a thesaurus would look like to a brain. Each point in these clusters of data points represents a word or an entire phrase that has the same or very similar meaning.   It's basically a color-coded thesaurus of different classes of concepts.  This graph is shown in 4 dimensional space.   3 dimensions of space, and one dimension of color.  Surprisingly this amount of data can be handled by just a few 4-input perceptrons.  That's right.  No need for a sophisticated multi-layer neural network consisting of hundreds or thousands of perceptrons.  I'm not sure how many people actually know this though.  I might be the only one.  I've only just come to this realization during my own studies.

Reducing multidimensional Data Sets

The above data set is graphed in 4D.  Three dimensions of space and one dimension of color.  But the actual data set that describes the data in this graph is of a far higher dimensionality.   And I stumbled onto this absolutely fantastic course on how to reduce the dimensions required to visualize high dimensional data.

This channel Data4Bio is a gold mine of data analysis lectures that can be very useful for analyzing the data for building neural networks or perceptron circuits.  Especially if you want to build neural networks or perceptrons that are already "trained" by design beforehand. 

~~~~~

Anyway, I just had to share what I've been doing lately.  It's all so exciting.   Technology is moving at such a fast pace and thanks to YouTube and free software like Anaconda Python, etc., it's all being made available for free.   There is no cost for taking these courses.  These are college level course being offered up for free.   Can't beat that.

I do think I'm trying to suck in too much at once though. ?  But for me it's all related.   Everything I'm doing here is related to building a meaningful Semantic A.I. system.

DroneBot Workshop Robotics Engineer
James


   
Quote
Robo Pi
(@robo-pi)
Robotics Engineer
Joined: 5 years ago
Posts: 1669
Topic starter  

brain on fire 2

DroneBot Workshop Robotics Engineer
James


   
ReplyQuote
Robo Pi
(@robo-pi)
Robotics Engineer
Joined: 5 years ago
Posts: 1669
Topic starter  

Why do I feel so guilty?

All I did today was study.  All day long.   And I didn't even get to study the things I really wanted to study.  Instead I was learning how to use graphing utilities in Python.   But I did make some major progress on that front.    I was previously working with Geany and WinPython.   Now I'm using Visual Studio and Anaconda Python.  I wanted to get the software tools up and running so I can use them in my other studies.  So it's 5 AM here and I'm finally going to bed.   Shame on me.  I'm acting like a 20-year-old college student.   And it's all Bill's fault.  I'm tell'in  ya. 

Well, it was raining outside all day long.  So I really shouldn't feel too guilty for not going outside and working in the rain.

DroneBot Workshop Robotics Engineer
James


   
ReplyQuote