tags: ai,machine learning,deep learning


In a word, if you want to enter the FIELD of AI, you need to learn a lot of things, if you can find a reasonable learning path in the complex knowledge, avoid detachments, that would be great, this paper will try to find this way.

1 the introduction

As a programmer who wants to enter the FIELD of AI, I searched artificial intelligence on the Internet, and a lot of knowledge came out, including AI development, machine learning, Tensorflow, Python and so on, but I still have no clear answer on what to learn and how to learn. You can imagine that you are a university teacher who needs to open a course on AI. How can the course be set up reasonably and efficiently to let students learn knowledge? I reviewed more than ten articles on learning methods and resources, browsed dozens of relevant contents, and then made a resource integration to sort out a relatively complete learning path. I hope that through this summary, on the one hand, you can have a clear learning goal for entering the AI field, understand the learning content, and make your own learning plan according to this path. On the other hand, I can also encourage myself to learn AI knowledge according to plan.

Through this paper, the following AI learning paths can be gained, and the corresponding reference learning materials will be given:

  • A methodology for learning a new skill
  • AI Humanities Science popularization
  • Basic knowledge of
  • A programming language
  • Machine learning
  • The primary project practice deepens the knowledge
  • Deep learning
  • Advanced project practice or thesis

2 the methodology

About learning a new skill or new knowledge, learning method is very important, good learning method can reduce detours. First of all, two questions need to be clarified before learning: what is it? How to learn? These two problems are summarized as: learning objectives and learning plans. The learning goal is quite clear, that is to enter the AI field of the door, can be engaged in AI-related work. Learning plan is the design and implementation of learning content and process, which is the content of this article. There is also to build confidence in learning, learning is not easy, take machine learning for example. In the process of learning, you will face a lot of complicated formulas, in the actual project will face the lack of data, and difficult adjustment. Learning is possible as long as appropriate learning methods are developed.

The learning objectives and plans are clearly defined. In the implementation of learning, it is necessary to focus on practice, put interest first and combine practice with learning. In particular, using feynman techniques to teach is a good way to learn. To put it simply, the Feynman technique is to make sure you really understand something by explaining it clearly to others. It is divided into four steps:

  1. Choose a goal: Choose a concept with a clear goal
  2. Teaching: Learn the concept and related knowledge and imagine how to explain it to a child. If it’s real, all the better.
  3. Correct and further study: if there is any ambiguity in the teaching process, if there is, continue to study to deepen understanding.
  4. Simplified analogy: Make a concept clear in your own words, simply by associating analogy with real-world examples

Learn new skills according to feynman method, master them faster and remember them better. This is a great way to learn IT skills.

3 popularization of artificial intelligence

3.1 AI Human History

First understand the field, establish a comprehensive vision, develop adequate interest. AI is how, why to become one of the hot research fields in recent years, AI techniques include what technology direction, what are the applications, the future will be how to development, prospects, how the impact on the society and so on, to understand all these problems, can understand the incarnations of AI, can deepen their impression of AI, strengthen the interest in AI, They can even give play to their own imagination of AI and have their own ideas on their subsequent AI learning. For AI development and popularization, please refer to the following materials:

  • Books, The Intelligent Age, Wu Jun
  • Books, Intelligent Revolution, Li Yanhong
  • Book, Artificial Intelligence, Tencent Research Institute
  • Books, A Brief History of Artificial Intelligence, Nick
  • Books, “The Age of Artificial Intelligence,” “Artificial Intelligence Everyone Should Know,” by Jerica Pollan
  • Book, “The Acme of Science: A Ramble on Artificial Intelligence”, Gathering Wisdom Club
  • Books, Top of Technology, Top of Technology 2, MIT Technology Review
  • The post,Let’s start with machine learning:https://www.cnblogs.com/subconscious/p/4107357.html

3.2 Current AI development and layout

To learn artificial intelligence, we should first look at the layout of AI by domestic Internet giants, and get a general idea of where AI is currently emerging, what important applications it will have and what key technologies it will have. Each big company have AI’s website platform, open platform in the AI, address: https://blog.csdn.net/qq_15071263/article/details/82908201, to each big AI platform links, can have a look. In Internet companies in addition to understand the current AI layout, you can also keep an eye on these companies for AI job recruitment requirements and current of each big recruitment website requirement of this position, it has two benefits, a clear direction to their own learning learning with emphasis, 2 it is to do certain expectations of their learning, Know what level you need to learn to have a chance at the position. Here is a natural language processing job at Boss Zhipin:

It can be seen that mathematics foundation, data processing, natural language processing, machine learning, data mining and other technologies are relatively key, but also the focus of learning.

For information on the current AI layout of major companies, please refer to the following:

  • The article,Overview of major AI open platforms:https://blog.csdn.net/qq_15071263/article/details/82908201
  • Web site,Baidu brain:https://ai.baidu.com/
  • Web site,Tencent AI open platform:https://ai.qq.com/
  • Web site,Ali Dharma Courtyard:https://damo.alibaba.com/
  • The article,Autonomous driving, finance, retail…… Where are the BAT AI wars going:https://www.huxiu.com/article/230094.html
  • Books,White Paper on Artificial Intelligence Standardization 2018:http://www.cesi.ac.cn/201801/3545.html
  • Books,White Paper on The Development of Artificial Intelligence — Technical Architecture (2018):http://www.caict.ac.cn/kxyj/qwfb/bps/201809/t20180906_184679.htm
  • Books,Industrial Application of White Paper on Artificial Intelligence Development (2018): http://www.caict.ac.cn/kxyj/qwfb/bps/201812/t20181227_191672.htm
  • Books,Related White Paper of THE China Academy of Information and Communications: http://www.caict.ac.cn/kxyj/qwfb/bps/

3.3 AI architecture and position selection

3.3.1 AI architecture perspective

From the business perspective, ARTIFICIAL intelligence can be divided into three levels of perception, cognitive ability and service ability, with two major application directions as follows:

The perspective of ARTIFICIAL intelligence technology can be divided into infrastructure layer, technology layer and application layer. As follows:

3.3.2 AI position selection

Through the above two figures, the basic understanding on the AI and the overall architecture of technology, combined with the front of the current Internet giant’s layout, it can be seen that in the future, for infrastructure and technology layer, basically by large companies to control and layout, development and the further development of space is relatively small, individual to become involved in the research and development, You need to start from the bottom of the technical and computational science, very demanding. At the application layer, there will be more room for development. More applications can be made by using AI+ industry or industry +AI mode and combining existing AI infrastructure and AI technology. This is an opportunity for personal development as well as for a startup.

Director of article “tencent cloud taught you how to, how to become a AI engineer: https://cloud.tencent.com/developer/article/1004751, made a classification for AI engineers, according to the vertical points: AI engineers in speech recognition, image vision, personalized recommendation and other business fields. According to the content of research and development

  • 1)AI algorithm research

Most of them have a doctor’s degree. They have accumulated good theoretical and mathematical foundation in school and can quickly understand and absorb the latest academic achievements. The theory here refers to specialized knowledge such as speech processing and computer vision. AI algorithm research mainly focuses on sample characteristics, model design and optimization, and model training. Sample characteristics refer to how to construct a sample from a given data and define its characteristics, which are very important in the field of personalized recommendation. Model design and optimization refers to the design of new network models, or the iterative optimization based on existing models. For example, AlexNet, GoogleNet V1 / V2 / V3, ResNet and other new models in CNN network model constantly appear. In addition, for example, model pruning, when 5% calculation accuracy is lost, Reduce the amount of computation by 80% to realize the edge computing of mobile terminals and so on. Model training refers to training network, how to prevent overfitting and fast convergence.

  • 2)AI engineering implementation

This kind of person mainly provides the computational logic, the hardware package package, facilitates the model training and the prediction. – Proficient in Caffee/TensorFlow and other training framework source code, able to skillfully use and make targeted optimization; – Build a machine learning platform, lower the threshold of use, and start training by providing samples and models through page operations; – Implement hardware acceleration through FPGA to realize model prediction with lower latency and cost; – Realize smooth online model switching after new model verification is completed.

  • 3) AI applications

Focus on the validation of good model in business applications, common speech recognition, image vision, personalized recommendation. Of course, it also includes more applications combined with business scenarios, such as the prediction of terminal network transmission bandwidth, the prediction of parameters in picture transcoding and so on.

To sum up, unless you have a good foundation of mathematics and algorithm, it is suggested to choose from the AI application level, which will be easier to start with and have greater opportunities for development.

References for this chapter:

  • The article,How to learn knowledge graph systematically:https://blog.csdn.net/hadoopdevelop/article/details/79455758
  • The article,Tencent Cloud director hand in hand to teach you how to become an AI engineer:https://cloud.tencent.com/developer/article/1004751

4 Basic Knowledge

To learn artificial intelligence, it is inevitable to learn algorithms, learning algorithms, it requires mathematical foundation. In the specific calculation process, matrix calculation is often needed, so linear algebra knowledge is also needed. For data classification, analysis and so on, also need to have probability and statistics. Many times pursuit is the optimization problem of artificial intelligence, for chestnut, weights of BP neural network using iterative change, calculate the weight value from the optimal value function as the loss function, in the process of iteration by derivation to determine the pitch big or small, the derivation of function is the gradient, and the iteration process is gradient descent, in this process, Calculus, too. In the learning process, often encounter the need to see the paper to understand the principle, or look up some English materials, so English knowledge is also needed. To sum up, the following basic knowledge is needed:

  • Linear algebra: scalar, vector, matrix/tensor multiplication, inverse, singular value decomposition/eigenvalue decomposition, determinant, norm, etc
  • Probability and statistics: Bayes, expectation and variance, covariance, probability distribution (0-1 distribution, binomial distribution, Gaussian distribution), independence and Bayes, maximum likelihood and maximum posteriori estimation, etc
  • Advanced mathematics: Calculus, chain rule, matrix derivation, linear optimization, nonlinear optimization (convex optimization/non-convex optimization) and its derivatives such as gradient descent, Newton’s method, etc
  • English: always have an online English dictionary, can read some English information web pages without effort

Here are some references:

  • Book, This is How Linear Algebra Should Be Learned, Sheldon Axler
  • Books, Probability theory and Mathematical Statistics, Chen Xiru
  • Books, New Lectures on Mathematical Analysis volume 3, Zhang Zhusheng
  • Books, Dawn Griffiths, Statistics in Plain English
  • Books, Statistical Learning Methods, Li Hang
  • Books, Matrix Analysis and Application, Zhang Xianda
  • The article,Machine Learning Theory part 1: Mathematical Foundations of Machine Learning:https://zhuanlan.zhihu.com/p/25197792

5 Programming Languages

Python is currently the most widely used ai developer, along with Java, c++, matlab, and R. To get started, just choose Python. For programming language learning, a word, practice. The python machine learning library (python) is a python machine learning library. The python machine learning library (Python) is a python machine learning library. Here are some of Pyhton’s learning materials for your reference:

  • Tutorial,Python Tutorial by Liao Xuefeng:https://www.liaoxuefeng.com/wiki/1016959663602400
  • Tutorial,”Python100 cases”:https://www.runoob.com/python/python-100-examples.html
  • The article,Writing a Python crawler from scratch:https://zhuanlan.zhihu.com/p/26673214
  • Video,Learning Python with Zero Basics:https://www.bilibili.com/video/av4050443

Machine learning knowledge

6.1 Machine learning Algorithm

It should be clear that machine learning plays a dominant role in current ARTIFICIAL intelligence technology, but not only machine learning, and deep learning is a sub-item of machine learning. At present, it can be said that learning AI is mainly about learning machine learning, but artificial intelligence is not the same as machine learning. Specific to machine learning processes, including data collection, cleaning, preprocessing, model building, parameter adjustment and model evaluation. The foundation is the basic algorithm of machine learning, including regression algorithm, decision tree, random forest and promotion algorithm, SVM, clustering algorithm, EM algorithm, Bayesian algorithm, hidden Markov model, LDA topic model and so on. There are already many machine learning tutorials online, learning is very convenient, a search engine, machine learning articles are also very many, as long as stick to it, combined with the practice behind, learning should not be a problem. Here are some references:

  • Book, Machine Learning in action, Peter Harrington
  • Book, Machine Learning, Zhou Zhihua
  • Book, Introduction to Machine Learning, Ethen Alpaydin
  • Book, Fundamentals of Machine Learning: From Entry to Job Hunting, Hu Huanwu
  • Book, The Beauty of Data, Wu Jun
  • Video,Machine Learning by Enda Ng:https://www.coursera.org/learn/machine-learning
  • Video,Li Hongyi machine Learning 2017:http://t.cn/RpO3VJC
  • The article,Machine Learning:https://github.com/JustFollowUs/Machine-Learning

6.2 Machine learning framework

Understand the algorithm of machine learning, but also need to have a certain tool to achieve, fortunately now there are many tools can be used, such as TensorFlow, Keras, Theano, MATLAB and so on, now Tensoflow is a popular framework of machine learning, entry can in-depth study it. Here are some references

  • Books, TensorFlow Actual Combat, Huang Wenjian
  • Book, Tensorflow: A Google Deep Learning Framework in Action, Zeyu Zheng
  • Video,Don’t worry about Tensorflow tutorial:http://t.cn/RTuDxFT

6.3 Data set Selection

When machine learning is used for project practice, there is no data, let alone model training. Therefore, to obtain data sets to do test data is also a more important tool, fortunately, there are many data sets can be obtained online, reference materials are as follows:

  • Handwritten digital library MNIST:http://yann.lecun.com/exdb/mnist
  • Image processing data COCO:http://mscoco.org
  • Classic open source data sets for machine learning:https://www.jianshu.com/p/83ebd261862a
  • Where can I find machine learning datasets:https://www.jianshu.com/p/abce3d177e45

7. Primary project practice

Learning in practice, to realize the function with small sample, use machine learning to solve a practical problem (such as recognition of image field, dog, recognition flowers, etc.), the machine learning approach as a black box, select a application direction, is the image (computer vision), audio (voice recognition), or text (natural language processing), It is recommended to choose the image field, which is more open source projects. You can also find open source projects on Github.

Deep learning knowledge

Deep learning is a sub-item of machine learning. It originated from the research of artificial neural network. Multi-layer perceptron with multiple hidden layers is a kind of deep learning structure. In the learning process, it is necessary to understand the concept of deep learning and be familiar with the principles and applications of BP neural network, CNN convolution neural network, RNN recurrent neural network and so on. Here are some references:

  • Books, Deep Learning for Computer Vision with Python, Adrian Rosebrock
  • Book, Tensorflow: A Google Deep Learning Framework in Action, Zeyu Zheng
  • Books, Deep Learning, Ian Goodfellow
  • Book, Deep Learning in Python, By Francois Chaulet
  • Book, Deep Learning and Computer Vision, Ye Yun
  • Video,Deep Learning by Andrew Ng:https://www.bilibili.com/video/av49445369
  • Video,Stanford CS231N 2017 by Fei-fei Li:http://t.cn/RTueAct
  • Video,A Day of Deep Learning experience, Hongyi Li:http://t.cn/RTukvY6
  • Video,Li Hongyi Deep Learning 2017:http://t.cn/RpO3VJK
  • Video,Deep Learning With Tensorflow:http://t.cn/RTuDcjC

Advanced project practice or thesis

With a strong knowledge reserve, can enter a more difficult actual combat. There are two options, the industry can choose to look at open source projects and read the code for the purpose of changing the code; Academic can look at papers in a particular field, to solve problems to publish papers. Or enter a Kaggle contest to test it out and solve the problem. At this stage, it depends on personal practice. However, at this stage, looking back at the beginning of the study plan, the basic has reached the goal. Finally, for paper queries, there’s arXiv, a site that collects preprints of papers in physics, mathematics, computer science, and biology. Uploading a draft to arxiv as a pre-collection will prevent your idea from being plagiarized before it is included. So arXiv is a document collection site that can prove originality (upload time stamp). Many scientists today upload their papers to arXiv.org before submitting them to professional journals. The following two tools are available:

  • ArXiv website:https://arxiv.org
  • Arxiv Query papers:http://www.arxiv-sanity.com
  • Paper query with code: https://paperswithcode.com

conclusion

Through the query and read more than ten of the learning methods of artificial intelligence and learning resources, this article attempts to integrate these resources, sorting out a relatively complete learning path, each stage gives the corresponding resources, with data, more important is the need to learn and practice, hope have a clear plan for their learning, I also hope to help students who want to engage in the FIELD of AI.

The resources

  • AI learning path: Machine learning from Python: http://t.cn/AiRnyMyj
  • Ai learning path for older programmers: http://t.cn/AiTfbOds
  • Machine learning goes from putting your feet up to lying on the threshold: http://t.cn/AiRnUwsx
  • This veteran who has successfully transformed machine learning wants to share his years of experience with you: http://t.cn/AiRnyUUS
  • Recommended learning sequence: http://t.cn/RYjAQNc
  • This is probably the most comprehensive and painless entry path and resource available for machine learning: http://t.cn/AiRnUJGm
  • How can the average programmer learn the ai direction correctly: http://t.cn/R8Ttwug
  • Tencent Cloud director hand in hand to teach you how to become an AI engineer: http://t.cn/AiRnUlEL
  • Top-down Learning Routes: Machine learning for Software Engineers: http://t.cn/Rfc2ih1
  • Where can I find machine learning datasets: http://t.cn/AiRnU1L3
  • Machine learning knowledge system: http://t.cn/AiRnUeRB
  • Complete AI learning route, the most detailed resource arrangement:https://zhuanlan.zhihu.com/p/64052743