Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: AI is really exciting but where do I start?
131 points by CyberMacGyver on Oct 28, 2022 | hide | past | favorite | 45 comments
It's mind blowing to see all the advances in AI from generating images based on text input to designing beautiful interiors and even editing out objects live from video.

Where would you start if you want to practically work with AI?

I have some programming and high school level math background.




Stanford grad courses are excellent. Just following the exercises will get you very far:

* AI Foundations: https://stanford-cs221.github.io/autumn2022/

* Meta Learning: https://cs330.stanford.edu/

* Theoretical ML: https://cs229.stanford.edu/

* NLP: https://web.stanford.edu/class/cs224n/

* Computer vision: http://cs231n.stanford.edu/

* Reinforcement Learning: https://web.stanford.edu/class/cs234/

Read Blogs:

* DeepMind: https://www.deepmind.com/blog

* Google Research: https://ai.googleblog.com/

Replicate papers that you are interested in with a twist specific to your use cases

* RL Spinning UP:https://spinningup.openai.com/en/latest/


It depends on what you do. The basics of how neural networks work don't involve much more than highschool math and the tools are accessible to basically anyone, although knowing python makes it easier.

The best thing you can do, in my oppinion, is actually start using AI libraries. TensorFlow has quite a bit of tutorials, which guide you through simple tasks. You have to understand a bit of mathematics and python to do them. You know how to programm, so you know how to assemble the pieces, there isn't really anything stopping you. For me there has never been a faster way to learn anything than trying something, failing, trying to understand why I am failing and repeating that process.

If you really want to understand what a NN is you need linear algebra and calculus, then you can implement your own basic NN library. After that the mathematics gets more involved.


If you want to get starting building with AI right away, I'd recommend getting an OpenAI key and playing with prompts in a tool like Everyprompt. Start asking it whatever you can think of, click Deploy to make an API out of it, then try building apps based on that.

You can then try running Stable Diffusion and using that in your apps too.

These other answers, while well meaning, are for building models and not for practically working with AI. They're like being given resources on how compilers work when someone asked how to write "Hello World."

Once you get that magic feeling of having something working, you can always dig into all of the research, like https://course.fast.ai, later.


I agree with this. It's gotten way easier to use pre-trained models to deploy software with custom prompt engineering.


What is Everyprompt? I searched but found nothing relevant.




Fast.ai and Karpathy’s youtube channel. I get some news/tools from Twitter mostly - bleedingedge.ai and @ai__pub

Try running stable diffusion locally, tag your images with YOLO, learn how to use transformers library from hugging face or langchain lib

One you get hang of it then Kaggle is probably good next step


What's so special about Karpathy's youtube channel?


He has a series of videos in which he explains stuff very well from the ground up (it's very new, he hasn't finished the series yet).


I started with Artificial Intelligence: A Modern Approach (by Norvig). I know it has nothing to do with the current trends of machine generated images and videos based on textual input... but I don't care. I don't really like machine/deep learning, but I love the AI topics the book covers. Hopefully one day Symbolic AI will kick off.


I second this. It’s the golden standard textbook (don’t quote me, but I believe most universities use it for their AI I class).

The first 10 or so chapters are written so well that you can literally just read them as a self-study undertaking. Each chapter has an introduction and conclusion that reads like a novel, and the rest of each chapter is delivered in manageable chunks. The second half of the book is more text-booky, but by chapter 10 you will have a much better idea of the field and will have picked up on areas you want to dive into more specifically.

Chapters 1-10 cover state spaces, how deductive logic applies to machines, differences between environments from a machine perspective, and more (shoutout to the AI game chapter, it’s a fascinating introduction to how machines play games).

I’d estimate that the first 10-12 chapters would take you less than 50 hours total. From there you would have the basics you need to jump into neural networks concepts, robotic decision making, or something else practical. All of AI is built on foundations from 1950-1990 (and earlier), and the first 10-12 chapters will give you that foundation.


I can't agree with this. If OP wants to learn practical AI, as in what works today, symbolic AI is not it. For better or worse, they should learn machine learning and particularly neural network, and then deep learning architectures.


Neural networks are a dead end. Anybody who has experience with them knows this.


You're joking right? Where do you think all the innovations are coming from? Stable Diffusion? Dalle? GPT? They're all deep neural nets.


You have your opinion, I have mine. I don't consider Stable Diffusion, Dalle, GPT etc to be particularly innovative, in terms of AI. I see them as dead-ends, they don't really work IMO, they don't lead anywhere, so they aren't very interesting to me.

Neural nets are a dead end IMO


I don't understand your opinion, could you explain? From my point of view they're working just fine, I can type a prompt in SD and I get an image back. What alternate do you think is not a dead end?


1) Define your domain. AI doesn't mean neural nets. It means making a computer do something that you thought required intelligence. Neural nets are getting pretty good at general purpose do-what-I-mean problem solving, though. Do you want to do neural nets or do you want to do AI?

2) Set a goal. Start by figuring out what you want to do. You want to make an algorithm which achieves X, solve for X.

3) Lit review. Find out what work has been done in this particular direction. Don't just skim, understand the work. Re-implement and reproduce the most promising studies just to see if you can get them working. If you can't, that's publishable in and of itself! If no-one's done anything in this direction then this should be easy.

4) Proof of concept. You've determined that a thing is possible and you have a good idea how to do it. Start working on an implementation of the thing.

...this is where business, science and engineering part ways.

Science:

5) Once you have a proof of concept that exceeds state of the art in some measurable way, write a paper and publish it. Get funding. Repeat.

Engineering:

5) Apply for a job at a company doing similar research using your proof of concept as your resume. No-one cares what grades you got in year 10 geography if you can show them something awesome that you built just now.

Business:

5) Either build a minimum viable product yourself, break into a viable market, and then iterate on that while also working yourself to death learning to do all the business stuff you never realised even existed, or use your proof of concept as a pitch deck to get financial backing from some incubator, angel, VC etc. then build your dream for them as well as you.


I've found Lilian Weng's blog a great resource to get an intuition for the maths behind popular models and concepts. https://lilianweng.github.io/


About a year and a half ago I was looking to learn more about the openCV library and computer vision. Searching through HN turned me on to: https://pyimagesearch.com/

Their approach to hands on learning with code samples you can download and run proved very effective (for me) at demystifying the current AI fields of image classification and object detection. It's all python based and leans heavily on existing libraries. But he does cover the basic math and references various books and research papers that are influential in the field.

I ultimately signed up for their paid courses but you could learn quite a bit from the free stuff.

After a few months of learning from pyimagesearch.com I ultimately decided to enroll in the GT OMSCS program to really dig into the field. @Pinegulf is right - AI is just code. There is no "one AI program to rule them all" and there never will be. Better to think of AI as a collection of various tools (really cool tools!) that have been invented to solve various problems - image classification, or voice processing to name two of the more recent hot AI tools.


https://www.kaggle.com/

There’s a community so you can learn from others.

Small tutorials:

https://www.kaggle.com/learn

Hands on Machine Learning is a great book:

https://a.co/d/3jgyEds

Version 3 ships in the middle of November so wait a couple weeks.


I really liked Grokking Machine Learning by Luis Serrano. [1] It builds from a highschool math level, which made it really easy to get up to speed!

[1] https://www.manning.com/books/grokking-machine-learning


An in depth practical example from the game Quake III: check out the 2 link at the end of this quick intro. https://fabiensanglard.net/quake3/a.i.php

I love its simplicity yet it is so effective. So many project in AI turn to a bunch of complex stuff that just add some questionable value. And sometimes a project where we wonder “is the different part of the logic acting against each other and get the AI to some half idle state compare to what it’s supposed to do?”. You can even see how you can add different behavior very easily like here for some character to prefer different guns.


AI is a very broad term for a specific branch of CS. Let me relate my own experience and so I think I am better equipped to answer that question. My background is that I am an Electrical engineer with no formal programming background. I learnt Python from Zed Shaws LPTHW book. So as a first step I would suggest you do that. Then play around with the language and the tooling itself a bit. I Explored web programming with Django and even basic CV with OpenCV. Once I understood the basics of the language mechanics as applied to Machine Learning basics I then recently started down with Fast.ai course. It’s very bottom-up as in you start building advanced AI stuff right from the get go. It’s free and the instructor and the whole community is top notch: they even have an entire book that is catering to the class. They also have a second iteration which is about stable diffusion which seems to be all the rage these days and the first course sets you up nicely for that: after that the world is the oyster. In my own case I have a specific project in mind. An app that people can point their smartphone camera at and decide if their meat is well done or not( 1M people get good poison every year ). Good luck with your learning journey. It’s an exciting journey. I am on a mobile so please excuse my typos.


Depends a bit on your approach.

If you're trying to ship projects and you don't care how things work under the hood, then check out repos that look interesting and start pulling levers.

A lot of projects you can play around with now on Google Colab without really knowing how they work.

If you want to go deeper, really understand what's happening with Machine Learning and neural-nets, then the most-recommended course is still Andrew Ng's Coursera course.

https://www.coursera.org/collections/machine-learning

And if you just want to keep up with the headlines/fight FOMO I'm writing a 20% jokes 80% informative newsletter at https://boteatbrain.com/


AI is a big field, you will have to choose a specialty. Don’t stress about it too much, you can change later, but think whether you would rather do images, text, etc. I would focus on whatever you might be able to work into your day job, as diligent as you will try to be, it will be much easier to keep momentum if it ties to what you are paid to think about every weekday.

It might not be possible to overlap the sexiest new techniques with the things that you can practice during your job, but there is a lot of fundamentals you will be learning regardless, and when you are ready to jump more squarely into cutting edge applications you will find them essential.


I would really recommend you the Artificial Intelligence for Humans series of books by Jeff Heaton, because they give a generic overview of the field as a whole without going into too much detail. I think they are perfect to get started, and once you have an idea of the different topics you can find a more detailed book to go more in-depth.

There are three books in the series: Fundamental Algorithms, Nature-Based Algorithms, and Deep Learning and Neural Networks.


Don't do tutorials or Udemy courses. You will learn with them but you need to understand the math behind things to really make something worthwhile. Read the Deep Learning Book. It will prepare you to really dive deep into the field. https://www.deeplearningbook.org/


I am seeing people release new AI powered apps basically daily. People who most certainly do not understand the math or deep learning.


It's pretty easy to use some ML-as-a-Service platform, where you simply hit an endpoint in Azure, AWS, etc. without any prerequisite knowledge of the underlying models powering it.

Although asking someone to understand all the underlying math is a bit much, I think there's a middle ground here.


Any good resources that are not Python?

It’s a great language in terms of libraries but I find other aspects of it quite painful to work with.


This site also list the main courses that would make sense: https://www.deeplearning.ai/courses/


Making friends with machine learning https://youtu.be/1vkb7BCMQd0


For practical purpose : Fast AI course would be ideal.

To get into the theory side of things : Deep Learning Specialization from Coursera taught by Andrew NG.


He's young, and could benefit from a more serious theoretical framing. Ng's focus is on the theory of statistical ML, but there's a whole classical side to AI and statistical learning is a subset. That's where I would want to look for theory. Most recent advancements in StatML just come from classical systems engineering permutations of the plug-and-chug ANN (let's cascade them! let's use different algebraic relationships! let's use frequency domain!)

P. H. Winston (RIP) wrote a very nice book, and course regarding AI and how it may arise from what are considered intelligent processes.

https://youtube.com/playlist?list=PLUl4u3cNGP63gFHB6xb-kVBiQ...

Unless you're simply trying to build or experiment some specific design, best not to fasten your mind to a specific tech stack.



Sorry, but I absolutely do not recommend it. It is too much theory for a beginner. Instead, I'd recommend "Hands on Machine Learning with Scikit & Keras". Decent theory + lots of practice. https://www.amazon.com/Hands-Machine-Learning-Scikit-Learn-T...


The fun thing is if you move and learn fast enough, you might end up questioning the foundation at not very far future




Most external AI I encounter is terrible. Any benefit from running AI myself, for myself?


Does anyone have experience with knime? Looked fun. (low code ML enviroment)


If you just mean building something that uses AI then any generic tutorial online will get you started. But that’s uninteresting, so I’m going to assume you want to know what it would take to be on the teams inventing this stuff. For the most part today that means working on deep learning at a big company that has the data and compute resources required. At my work I sometimes hire AI/ML applied research scientists to work on the kind of problems you described, so I’ll explain what it takes for them to get hired and maybe that will help you figure out a plan to get there.

The interview panel is basically a phone screen with some coding (a math-centric generic problem), then an on-site that involves an hour deep dive discussion on ML fundamentals, an hour discussion on NLP, an hour on ML system design, an hour discussion on deep learning, and an hour coding up a neural network from scratch (you can import numpy), a behavioral interview, and time for the candidate to ask questions. Notice how much of the interview is discussion/theoretical; it doesn’t scale to do practical tests on all these domains during and onsite, so we fall back on these discussions. If you have only used ML libraries or only used ML services then you will likely struggle in these interviews.

From that perspective you should look for training and experience that prepares you for both theoretical and practical interviews. As basic courses, I like Andrew Ng’s ML course on Coursera and the fast.ai course is pretty useful early on too; I also like this book https://d2l.ai/ However, none of these resources is really sufficient—there’s a lot of stuff you will need to learn on the job.

Getting a first job coding is the hardest. Be willing to take lower pay if the experience will help you open doors. Take jobs that let you work with tools and tech that cover gaps in your skill set. If you have previous experience coding and you want to switch to AI/ML then you may need to take a pay cut at some point (and briefly). For some reason it’s rare that companies will value software experience in ML engineers or researchers, so they’ll downlevel when you’re hired and then scramble to promote you in six months if you’re successful on the team.

An undergrad degree in CS is very good; and a graduate degree in CS/math/stats/similar is even better. Do you need degrees? No, but your odds without them are kinda like the odds of making it into the NFL as a walk-on — low. If you already have an undergrad degree, you can check out Georgia Tech, UT Austin, UIUC and other schools that have online MSCS programs (all pretty fast and cheaper than resident programs).

Overall, if you’re serious about this then your plan should be to get to that level in like 10 years. I’m not saying you can’t even start until then—there’s lots you can do along the way. But I’m trying to create an expectation that other people who are also really smart, motivated, and interested in these problems—just like you—take about 10 years to get where they are. There’s no good shortcuts, otherwise we’d all be using them already.


With data


Essentially Ai is just a code, thus learn how to code.

Ignore those who swear to the name of a specific language. The skills are largely transferable. Python has great resources and is pretty popular. It also host lates AI tools. Win-win in my books.




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: