Beginner AI, where to start?
-
Hi everyone,
I am new here, this is my first time posting on a forum, so I hope I'm posting in the proper section.
I'm interested in AI and robotics (building software and robots to interact with or to make them doing tasks for me), if you have any tutorial and programming language to learn to propose I would gladly accept.I am trying to keep my post as I short as possible, therefore avoiding putting information that is unnecessary so If you have any question please let me know.
Thank you for your time!
-
I haven't done anything with robotics, but I believe the languages you would be looking at are Python and C++.
Python is known as a great first language for beginners, and is very popular in pretty much all programming fields right now, so I'd start there.
There's tons are good free resources out there, I'll post a link to one at the bottom. My recommendation is to go far enough to get a bit comfortable with Python, and then dive into robotics, it sounds like the robotics part is what will drive your motivation.
So do some research to find out a good Python robotics stack for beginners, and then purchase what you need after you at least get some Python experience.
And btw, I like to use Visual Studio Code with Python, Microsoft has a good document for how to set it up. I originally learned Python without using any IDE-like capabilities... but my opinion now is you might as well use IDE from the start.
-
AI is tough because there is real AI, that almost no one does, and there is random machine automation that isn't AI whatsoever, that everyone does. The latter AI uses Python heavily because it's easy and there isn't much processing to be done so its performance doesn't matter.
For true AI, you'll find that Prolog, LISP, and R are the big languages because the work differently and make making AI a lot easier.
-
https://en.wikipedia.org/wiki/Artificial_intelligence
The majority of AI done today is through Machine Learning and that is mostly using specialized hardware. Whether it's a nicer GPU or a specialty SBC, you'll likely want to get some ML hardware and start programming for that.
-
AI generally involves a lot of horsepower, even for learning. This is an example...
-
The RockPI N10 is highly rated for low cost machine learning hardware with TensorFlow
-
Don't forget that learning a framework is important, too.
-
Lol, I missed the AI part. I thought, "he has an A. but no B."
-
@flaxking said in Beginner, where to start?:
Lol, I missed the AI part. I thought, "he has an A. but no B."
Oh yeah, I spoke to him offline. He writes AI as A. I
-
Thank you everyone for your help, I'm going to check all of those links.
So far I was studying Python but I wasn't sure if I was on the "right track" anymore...Also, thank you Scott for giving some of your time yesterday, I learned a lot from you!
Sorry for the A. I part, I just fixed the space, but do you guys use the point between the two letters?
-
@Julien said in Beginner, where to start?:
Thank you everyone for your help, I'm going to check all of those links.
So far I was studying Python but I wasn't sure if I was on the "right track" anymore...Also, thank you Scott for giving some of your time yesterday, I learned a lot from you!
Sorry for the A. I part, I just fixed the space, but do you guys use the point between the two letters?
typically, no. simply
AI
. If you are going to use the period, you need to use it after both asA.I.
-
@Julien said in Beginner, where to start?:
So far I was studying Python but I wasn't sure if I was on the "right track" anymore...
Python is a highly useful, general purpose language. So a decent place to start for anything.
-
@Julien said in Beginner, where to start?:
Sorry for the A. I part, I just fixed the space, but do you guys use the point between the two letters?
It is commonly written AI, but is okay to write A.I. but those are really the only two ways to do it. Can't have a space or it becomes something totally different, and can't have a period between the letters without one after the second letter additionally.
-
I'm going to try to put what I read with my own words :
-
Prolog and Lisp seems to be used for advanced AI and deep mathematical problems - Hard to learn but possibility to do many things even though I don't really get the difference between them.
-
R seems to be related to data, I am not sure it's something I like.
-
Python is easy to learn but is mainly used for script, data and non complex system
-
C++ is used in video games, can build powerful system but not as complex as Prolog and Lisp.
Unless I'm saying something stupid, isn't better to learn and master very few technologies instead of learning a little bit of everything?
It's also really frustrating to have so many languages and technology claiming to be used in AI (or any other field) but not having clear explaination of what it can do...Let's use an exemple, I learned some blacksmith skills with my grandfather when I was young, it was clear that to build a knife you need your set of tools and practice. I didn't have to choose between 10 type of hammers, 20 type of stoves...
Also, it might sound weird for some people but I intend to make a living asap with what I learn. I rather start small and being able to work in the field then having an idea. My goal is to be able to work in a year or less, I don't care about the money for now.
I forgot to mention that until now I was learning Linux (I like the fact that I can interact with my system and configure things) and Python because I thought it was the best option to get me in the industry easier and faster. For the long term I wanted to learn a more complex language that can be versatile in AI.
-
-
@Julien said in Beginner, where to start?:
- Python is easy to learn but is mainly used for script, data and non complex system
Python is pretty much used everywhere where there is not a concern with having to tweak for performance with the underlying system.
-
@Julien said in Beginner, where to start?:
Unless I'm saying something stupid, isn't better to learn and master very few technologies instead of learning a little bit of everything?
In general, not necessarily, it depends on your role. When starting learning something, yes it would make sense to have the ability to actually do something. But you don't need to master it.
-
@Julien said in Beginner, where to start?:
Let's use an exemple, I learned some blacksmith skills with my grandfather when I was young, it was clear that to build a knife you need your set of tools and practice. I didn't have to choose between 10 type of hammers, 20 type of stoves...
That's the case when you go to university or take a course, they limit the exposure to the tools they decide to train you on. They've already chosen the stoves and hammers, but what they chose doesn't always represent what other shops are using.
But the knowledge you learn is culmalative. Pretty much all of what you learn on one stove will help you on the next different stove .
-
Python was the first language I learned. But these days I don't often get to use it. Would I have been further ahead in my career today if I had chosen one of the languages I use now as my first language? No, it just doesn't work that way. The knowledge is culmalative. Experience with a variety of things becomes an asset, even if you don't actually use that tool.
-
@Julien said in Beginner, where to start?:
It's also really frustrating to have so many languages and technology claiming to be used in AI (or any other field) but not having clear explaination of what it can do...
In a way this is like saying that there are so many languages for business (English, French, Spanish, German, Mandarin). Every language CAN do anything, just some languages are better than others. English is the top language for International business. Why? Mostly because it has loads of native speakers, is relatively easy to say and learn, there are loads of resources for it, it's spoken in business friendly locations, and it is insanely expressive and highly accurate.
Prolog and LISP rule AI because they are vastly more expressive at "thinking" tasks than other languages. They were written for the purpose of expressing AI problems.
You can write a Prolog or LISP processor in Python, so by Python can do anything they can do. And you can write a Python processor in either of them, so vice versa. But there are things that the language itself does well, mostly a performance concern. And there are things that the language encourages the human to do well, this is called expressiveness.
Python is highly expressive, but not for AI tasks. That's why it is so generally popular. But it is not performant for anything, and AI is heavily influenced by performance.
-
@Julien said in Beginner, where to start?:
R seems to be related to data, I am not sure it's something I like.
AI is a data field.