Showing posts with label artificial intellignece. Show all posts
Showing posts with label artificial intellignece. Show all posts

Wednesday, October 1, 2014

It's a long way to the top...

I love the thought of creating learning systems.  Artificial intelligence seems like a great goal to me, and I think so degree of created intelligence is possible.  It just requires the right degree of knowledge and the right degree of thinking. 

I know where the gaps in my knowledge have been in learning artificial intelligence, I just haven’t put in the effort.  I found a rather interesting website, www.lightandmatter.com that provided the physics and calculus knowledge necessary to complete the goal.

So what I did is I collected all the books I need to read to accomplish the goal of learning a decent amount on artificial intelligence.  Before I can learn artificial intelligence, I have to cover the basics of pre-knowledge to even understand what the books are talking about. 

Great.

It’s about 6,000 pages.

That does include a Server 2008 book I’ve been reading on Active Directory, and book on Security+.   But the rest of it is incredibly dense material.  Beyond that, I know what I need to accomplish in order to get where I want to go.

The problem is getting through 6,000 pages is just a large degree of labor.  There’s nothing easy about reading and understanding 6,000 pages.  And these are textbooks, so you also have a certain degree of practical application that comes with the learning. 

But I have to admit, even staring at the density of the task is much more empowering that staring at an empty computer program and trying to will genius out of lack of knowledge.  Because the idea that a novice is going to come in and produce a program that learns is laughable.  It just is.  I guess it’s doable, but highly unlikely.  There’s always the person capable of making tremendous intuitive leaps. 

But I’m generally not that person, so I’ve got 6,000 pages to read.

But most of us aren’t that person, so if you want to learn some interesting stuff, you are going to need to read a few thousand pages of material before just so you aren’t completely lost when you start covering the material you intend on learning. 

I guess it is similar to the thought that any random person could come in and run a large corporation.  This is also not the case.  There’s a level of experience and knowledge absolutely necessary to keep a large company running and doing well. 

Or the thought of a random person going to compete in the NFL or NBA without ever having played the sport.  Because really, that’s how it is all portrayed.  The CEO of a large company is generally at the same level of professionalism in their job as an NBA or NFL player.  There are varying degrees of each, but just to make it to that level indicates talent.    


And to get NBA, NFL, or CEO talent, you have to pay some money.   Joe Burgerflipper who barely made it through high school doesn't have the talent, skill, or knowledge to do any of the above.  

But Joe Burgerflipper's life isn't a snap shot, it's a moving picture.  If Joe wants to improve his life, he's got to put in effort.  

It’s a long way to the top, if you want to rock and roll.

Tuesday, February 19, 2013

The Education System



I just realized why everyone hates school and learning.

Learning using school approved methods is BORING.

All the stuff I'm learning now I've had to learn through practical application.  When doing it there, what I learned had an immediate impact and I developed an understanding of what I was doing.  I went from basic understanding to crash course learning to extended knowledge.  I learned implications and troubleshooting methods that would lead me to success.  Going through the training courses on the same subject puts me to sleep.  And this is stuff I have taught others.

The difference, I suppose, is the training methods.  I learned facts slowly, as they became relevant and important.  As such, the facts had some context for my brain to attach to.  I can read information all day long, but it might be two or three weeks down the road before my brain has processed the information and started looking at implications and reasoning.  It doesn't happen immediately. 

But that receptive feedback we are used to is not conducive to getting people to learn.  Answers are expected to be forced out within minutes of learning the material.  There is no thought put into any of it.  It's just a matter of peer pressure and the desire to not fail.

Technology has not changed the methods of teaching in the least.  It's still instant feedback / sit in silence / I want answers ten minutes after I teach you.  If you want to blame the attention span problem, blame our education system.  There is never any thought of the implications.  It's a matter of learning, remembering long enough to pass the test, and forgetting.  Maybe the problem isn't our education, it's our brains.  Our bodies have adapted to our shoddy teaching methods after years of staring at someone drone on about something that has no use in our current mental state. 

I've spent a lot of time in meetings.  You learn a lot of stuff in those meetings.  But you aren't ever expected to recite those facts minutes after.  You are generally given days to look and examine what needs to be done before fixing the problem.  It's so weird that I had one meeting where a solution was needed that day, but the people I was talking to were selling something three weeks down the road.  "I want this fixed TODAY" became a running joke.  But I think they got the point.  It gets kind of serious when you're missing 1.666 of me in money.  That's a lot of money.   And I was the lowest paid guy in the room.

Technology is the key.  But the entrenched system doesn't want to give up its hold.  The CD industry was much the same way until it was forced to change.  Now, businesses that used to make a killing selling CDs are vacating their mall slots and moving to different businesses.  Technology is the game changer.  CPU power and memory are finally at a point where things can be accomplished, and bandwidth and network communication have changed everything.   The platform and the groundwork has been laid.  Now, it's time for someone to come in and wipe out the aging education industry. 

Monday, October 5, 2009

Thoughts, ideas, and progress

Finally figured out a way to do something I wanted to do in VB.net. So now my rudimentary mouse/keyboard control is working. Nothing fantastic at the moment. Still a lot of work to go.

Leads me to think about a whole lot of different things though. I've been wondering how to teach a computer anything. With enough effort, I could write everything I ever wanted into the program, but that is more effort than it is worth. It is much more worthwhile in my opinion to code the program so it learns how to do things on its own. Ahh... into the wonderful realm of artificial intelligence. So I've come up with an idea. Tell me what you think.

I've realized that much of human life is very routine. Very little thought is actually required to perform most of what we do. We can sleep walk through the day without making a single complex decision. At my job, I find that a computer program, or perhaps a robot, could probably do my job better. It could be just as personal, if not more so than me. My job sucks anyways.

With life being so incredibly routine, then I have to wonder how I could write a program to get a computer to perform every single action that I perform. It's all fairly simple. Most are just a combination of known actions performed in a set sequence to accomplish a specific task. In other words, I perform a few different actions in the right order to complete the necessary task. Showering, shaving, driving, navigating, eating... it's all the same thing every single day.

Now how do I get a computer to do this? I'm working with two different ideas. The first is post-action analysis of random action selection. Did that make any sense? I suppose not. Let me explain it to you. Normally, an artificial intelligence decides what it is going to do before it ever does anything. Take the master chess computers. It maps out a list of possible actions, and compares those actions to a table to see which action will perform the best based on pre-programmed knowledge. Eventually, be it from exhaustive examination or the timer running out, the computer makes a decision. Humans don't learn that way, or at least they don't in their early years. We do not examine every possible consequence of every single action before we ever make a decision. We make a decision, and evaluate the effects of the decision afterwards.

So that's the basic idea. My idea is to randomly select from a list of possible actions, perform that action, and then continue doing so until the computer either gives up because it did not randomly select the right answer in enough attempts, or it succeeds. Now it may take a few dozen attempts, but you will come up with a correct answer.

If you run that last algorithm enough times, you will come up with the most efficient answer, based on the number of moves. You then equate that list of moves to producing that result. Now that is the easy part. Here's the hard part.

Create a goal-based system, with the purpose of building a list of actions that produce successful results. Start with simple actions that are easy to perform, and then perform them many times. Once the computer has decided that this action produces the proper result, you give it a slightly harder goal, and do it all over again.

See where this is getting difficult? Though the actions we perform on a daily basis are horribly routine, we spent years learning to perform those actions in those specific ways to get the proper results. We as humans have refined our techniques in ways that we barely understand and don't even remember doing.

Now imagine trying to teach someone. Not just any someone, but a newborn baby. Because that is essentially what we are dealing with. Teaching a two day old baby is completely out of the question. So what do we teach it? We initially teach the baby motor skills. Somewhere afterwards, a light goes off in the babies head and off they go, charging down the hall as fast as their chubby legs and horrible balance will take them.

So here I have two problems. How in the world do I code a goal based system in VB.net? Secondly, how do I turn the subject matter into tiny bite sized pieces so a computer will eventually learn to perform the actions I want it to. In effect, how do I teach it to learn?