What exactly is it, is it AI?

AI was originally a professional field, nothing special. As a code farmer, the author's work content is just in this field.

Recently, in the past year or so, there have been many incidents in succession, which made the author have to raise the head that has been low-cutting code to see this world of AI carnival.

[Case 1] Actually, I encountered two friends and relatives who started business in a relatively traditional industry in a month to inquire about the application of AI technology to their industry. For example, whether chat robots can replace manual customer service.

Both friends and relatives actually moved the idea of ​​hiring an algorithmic engineer. One of them has really begun to look for it.

It took a lot of trouble to find a doctor who is a professional counterpart of a non-985 college. The friends are a little tempted to hire, but they have to pay 1 million annual salary.

Although the startup has already taken two rounds of financing, it still does not dare to burn money to die, so many people inquire about the usefulness of the "algorithm".

[Case 2] The author's company's campus recruitment this year, I routinely participated as an interviewer, interviewed several students from different 985 colleges (graduating next year). By the way, I chatted with several freshmen who just started this year.

It turns out that all the interviewee (at least the one I came across) are all students in the direction of artificial intelligence or machine learning. All the new colleagues who have communicated in the school are all machine learning or deep learning algorithms.

Moreover, everyone's expectations for post-employment work are algorithms.

Artificial intelligence has fallen into the big data turmoil two or three years ago, and all the people are in the "data scientist" routine.

What exactly is it, is it AI?

This topic has actually been mentioned repeatedly in several chats before the author. Here again: the people directly applying AI technology in the industry can be roughly divided into three different roles: algorithm, engineering, and data.

Now there are a lot of articles in various media, including Gitchat, to teach you how to get into AI, how to become a specific engineer in a certain field, tell everyone what to develop in a certain field, what is the technology stack, etc... This article will not go into details.

We don't say how we can become XXX. Let's first take a look at what to do after becoming a XXX, and what kind of abilities are needed to do these things. After having these abilities and doing this, what can we do? Direction development.

In other words, in this article, we will look at the qualities that we need to work in different roles, the state of daily work, and the path of career development from an intuitive perspective.

Algorithm

1.1 Daily work

Everyone wants to do algorithms, then, after all, what do you do in the industry?

The real algorithmic engineer (also known as a company called a scientist), the most basic daily work is actually: reading the paper & realizing it - confirming whether the statements in the latest paper are true and reproducible, further confirming whether it can be applied to the company's products, and then Apply it to practice to improve product quality.

1.2 Required ability

Since the daily work is first to read other people's papers. Then, it is essential that as an algorithmic engineer, he has the ability to quickly and extensively read English papers.

There is a website, all students who are interested in the algorithm must know: https://arxiv.org - There are a large number of the latest papers in multiple disciplines (including computer science).

Many scientists, scholars, researchers, and doctoral students have just completed their papers before they have been published in official journal conferences, in order to spread their results outside the shortest possible delay.

The traditional formal channels have a short period of three to four months from the completion of the thesis to the official publication, and the delay of one year and a half. This is barely acceptable for some traditional disciplines.

But computer science, especially artificial intelligence, machine learning, and deep learning, are the hottest topics in the world today. Everyone is competing against the commanding heights. The delay of several months cannot be tolerated.

Therefore, for the academic literature of AI, arxiv.org has actually become the current episode.

If you want to do an algorithm, on average, you should roughly keep the frequency of reading a new paper every week.

Perhaps this is why, so far, the algorithm engineers I have heard and seen are the reasons for the relevant professional doctors.

After several years of intensive academic research training, these PhDs, even if they have a comprehensive English level but CET-4, can read a hard English-like article!

1.3 Self-test "algorithm power"

But of course, you can't say that a master's degree, a bachelor's degree, or other professionally ambitious people can't do an algorithm. People are not born to know, they can't learn.

But in the end, whether you can learn, in fact, does not need three years and five years, spending tens of thousands of dollars to learn in various training or paid reading.

There is a very simple verification method: go to https://arxiv.org and find a paper (such as this: [Dynamic RouTIng Between Capsules] (https://arxiv.org/pdf/1710.09829.pdf)), Read it from beginning to end.

It doesn't matter if you don't understand it now. At least try not to read it from beginning to end without knowing it. There is a dictionary of words that you don't know.

If this can't be done, let's break up and break up with the "algorithm". Since it is destined to miss, why bother?

1.4 Academic practice ability

If, by chance, you like to read a thesis, or if you don't like it, you will have enough strong willpower and concentration to oppress yourself to forcibly read the thesis. Congratulations, you have already stepped onto the first step leading to the algorithm Hill Gate.

The next level is: read the paper.

Since you want to read a thesis, read the latest paper, and the purpose of reading is to guide practice, then you should naturally understand. Pick up a paper to reach * understand *, at least the following three capabilities:

1.4.1 Backtracking learning ability

A paper takes a look at it, a lot of nouns don't understand, and they don't know each other. How to do? Read references, go online, search in books... In short, use all resources and means to find out the meaning and connection of unclear concepts.

This ability is one of the most basic abilities of academic research. Generally speaking, people with academic backgrounds are not to mention.

If you don't have it now, you can also take the initiative to train, then you may first need to learn about academic research methodology.

1.4.2 Mathematical ability

If you only read the classic old thesis in the purpose of learning, then as long as you understand the meaning of the chart in the text, you can see that the formula derivation understands the first and the last (the physical meaning of the initial formula and the basic nature of the final form after the derivation). It is.

But reading the latest papers is different. Because of its newness, it is inevitable that there will be no time test, so no one will verify it correctly for you.

In this case, look at the formula and look at the derivation. Otherwise, the external one is a mathematical deduction, which leads to an overly gratifying result, but it cannot be reproduced in practice. Is it not time-consuming?

If the current mathematics ability is not enough, of course you can also learn. But it is different from the fragmented learning that is used in engineering to learn what to learn. To do algorithms, you need to learn mathematics systematically.

Calculus, linear algebra, probability statistics are unavoidable. If there is a lack of this, it is still starting from the undergraduate mathematics class of the computer department. Personally recommend the textbook of Beijing Normal University.

1.4.3 The ability to combine academic discourse with products and business with theory and practice

In general, to be a true algorithmic engineer/scientist in a large enterprise, you don't need to develop your own products. But doing demo/prototype is still unavoidable.

The algorithm engineer can use the tools written by others to fill in several parameters to run. It is necessary to be responsible for the abstraction of the actual business problems to the mathematical model, and to apply the latest achievements of others (knocking the blackboard - those papers!!!) Go to the business data.

To put it more mundane, even if you use other tools or frameworks to write algorithms, you must be i) the first, the most advanced testers, or ii) the inventor of the latest gameplay.

1.5 Innovative talents

Algorithm engineers, even if they don't invent new algorithms, don't propose new algorithm optimization methods, they have to try the use of the latest algorithms or use existing algorithms to use new tricks.

Undoubtedly, this is a role that is indispensable for innovation. Therefore, this role is certainly not suitable for the vast majority of people!

2. Do engineering

2.1 Daily work

Compared to the innovation and cutting edge of the algorithm, the engineering is much more level.

One of the more representative roles of this role is: machine learning engineers (or narration engineers) who use existing frameworks and tools, run existing algorithms, train business data, and get work models.

In the meantime, some means of processing data, selecting features, or adjusting parameters may be needed, but generally there is evidence to follow, and there is no need to invent a XXXX by yourself.

To do engineering, you also have to read the thesis, but unlike the algorithm, the general purpose of doing engineering reading is not to try the latest method, but to solve the actual problem with known and effective methods.

This leads to engineering, often reading "old" papers, or papers that are relatively less academic (not so hard).

Moreover, when reading, it is mainly to directly find a way to deal with a problem, so it can be skipped.

For the mathematical formulas in it, it is ok to be able to read the head and tail. The reading frequency and academic depth requirements of the paper are much lower than the algorithm.

TIP: Many TItle writes the recruitment position of “Artificial Intelligence/Machine Learning/Deep Learning Algorithm Engineer”. In fact, it is the person who works. Don't be obsessed with the rhetoric and see the specific duties and work content.

2.2 Branch of Software Engineer

After all, machine learning engineers are a branch of a broad-based software engineer (or cloud programmer). AI product development is an area of ​​generalized software development.

Speaking of it, every programmer has an area. However, different fields have different degrees of heat in different periods and different development trends.

A few years ago, programmers who were doing the underlying * were in the process world. Programmers who write protocol stacks, develop drivers, implement various system interfaces, stand at the very top of the chain of contempt.

Today, the wind and water turn, yesterday Huanghua has thanked, it is the turn of AI.

But in the end, programmers who develop artificial intelligence products are also programmers. However, it is necessary to understand a certain degree of theoretical knowledge in the field. It is the same as the previous development of the PCI protocol stack to understand the PCI protocol. It is the same to write the network card driver to understand TCP/IP.

2.3 The basic qualities of the programmer

Since it is a programmer, you must not lose the basic qualities of the programmer first: coding ability, and basic algorithm capabilities (not the kind of algorithm mentioned above, but the construction, deletion, traversal, search, sorting, etc. of chains, trees, graphs, etc.) The kind of algorithm mentioned in the structure) is the minimum requirement.

In fact, today, as AI becomes a trend, as long as you can find a relatively frontier enterprise in AI, go in and become an ordinary programmer.

Then even if the product originally developed is not in the AI ​​category, it is possible to get a chance to enter the market by applying new AI technology to the old product or transferring it to the team that is doing the AI ​​product.

Even the mastery of specific knowledge can accumulate slowly after entering the job – for most AI engineers, this may be a natural way to enter.

But the premise of all this is: this person must first be a qualified programmer!

Instead of putting the cart before the horse, although Kung Fu has learned several models and algorithms, even the most basic programming interview questions are not correct.

2.4 Doing Engineering, "Machine Learning" is enough to learn enough

Of course, since there are programmers in the field, it is necessary to achieve a certain depth in the profession.

Although it is generally necessary to use the off-the-shelf technical framework for engineering, it does not mean that the algorithm can be used as a qualified "adjustment" engineer by directly using the algorithm as a black box.

The problem with using the algorithm as a black box is that it is easy to use when the black box can solve the problem, and it will feel at a loss if it cannot solve the problem or meet the quality requirements.

As programmers and engineers, if you want to solve practical problems with machine learning algorithms, you have to master the algorithm to a certain extent. In addition, you need to have corresponding knowledge for data processing and model verification.

2.4.1 Algorithm

From the perspective of use, the mastering algorithm can be roughly divided into the following steps from shallow to deep:

[1] Simple use: Understand the basic principles, application areas, functions and limitations of an algorithm.

a) What is the application problem domain of the algorithm? (eg classification, regression, clustering...)

b) What is the application goal of the algorithm? (eg discrimination algorithm, generation algorithm...)

c) What kind of data set is the algorithm suitable for, and how does it affect the data? (eg Apply a small amount of high-dimensional sparse data...)

d) can actively obtain the function library of the algorithm, and call the algorithm to generate the model.

[2] Model tuning: Have an understanding of the algorithm used and the mathematical formula of the corresponding model.

a) Know the meaning of each parameter in the calling function (eg the number of iterations, corresponding to the meaning of the parameters in the formula...), the purpose of optimizing the results can be achieved by adjusting these parameters.

b) The algorithm can be optimized by adding constraints (eg L0, L1, L2 ...).

c) Understand what other models can be used to replace existing models and try in the current problem domain, where the target and input data are determined.

d) Ability to weight multiple weak models into a strong model (eg adaboost).

[3] Optimization of operation efficiency: Master the mathematical derivation process and model optimization method of the model itself, and understand the characteristics, resource occupation and consumption of various optimization methods.

a) Understand the efficiency of the algorithm on the current data set (eg what operations need to be performed, whether it is easy to be distributed, etc.).

b) Understand whether there are equal or similar functions in other language, platform, and framework toolkits but more efficient algorithms in the current application scenario.

c) It is possible to improve the operational efficiency by transforming the model optimization method (opTImizer) for a specific scenario.

2.4.2 Data

Only algorithms can't solve the problem. Combining algorithms and data to get an effective model.

For data, you need to: from i). Information with business implications, and ii). The numbers used for the operation are understood and mastered by these two angles.

[1] Feature selection: Distinguish the characteristics of the input data from a business perspective and recognize the contribution of these features to the results.

a) Have an understanding of the data itself and its corresponding business area.

b) Ability to label data as needed.

c) Know how to select effective feature sets from the entire set by dividing feature subsets, adding and subtracting features, and so on.

[2] Vector Space Model (VSM) Construction: Learn how to convert natural language, pictures and other information used by humans into data that can be calculated by algorithms.

a) Ability to convert text, speech, image, etc. input into the input format required by the algorithm (usually a matrix or vector of real spaces).

b) Ability to select effective features based on indicators such as information entropy.

[3] Data cleaning and processing: The direct business data is filtered and converted into a model processable form.

a) The input data can be cleaned by means of ETL such as statistical methods.

b) Standardized operations such as normalization, regularization, etc. of the data.

c) It is possible to process limited training/test data using sampling methods such as bootstrap to achieve better computing results.

2.4.3 Model verification

Algorithm + data can get the model. but,

What is the quality of this model?

Which model is more suitable for solving the current problem than the model?

After doing such an optimization, I came up with a new model. How can I confirm that it is better than the old one?

In order to answer these questions, you need to master the method of measuring the quality of the model. To do this, you need to do:

i) Understand basic concepts such as bias, overfitting, and basic improvements to these situations.

Ii) Understand the calculation methods and meanings of various model metrics (eg Accuracy, Precision, Recall, F1Score...) and their impact on model quality.

Iii) Ability to build training sets, test sets, and cross-validation.

Iv) A variety of different verification methods (eg 2-Fold cross-validation, K-Fold cross-validation, Leave-One-Out cross-validation...) can be used to adapt to different data sets.

3. Do data

The data here is not the cleaning and processing of the data - you can see the job of doing the project, part of the work is ETL and processing data. The data done here refers to the data annotation.

3.1 The importance of labeling data

Although there is no supervised learning in machine learning, it has been proved to have a direct effect in the field of practice, and basically there are supervisory models.

In recent years, deep learning has achieved great success in many applications, and the success of deep learning, whether it is image, voice, NLP, automatic translation or AlphaGo, depends on massive annotation data.

Whether it's ML or DL ​​engineers (algorithms & engineering), the latter has a common truth: at this stage, data is far more important than algorithms.

3.2 The necessity of manual data annotation

Many people mistakenly believe that AlphaGo Zero 100:0 victory over AlphaGo is a victory for unsupervised learning.

In fact, the reason for this is precisely because Zero uses the strict and clear rules of Go to create a huge amount of annotation data – the amount of annotation data far exceeds the input of its predecessor AlphaGo, and can be made at any time. More.

Go is an artificially defined game that runs on a complete unambiguous rule within the 19x19 dot matrix, so computer programs can automatically generate annotation data based on rules.

Things in the real human world are basically not completely accidental. Therefore, models that are truly useful to humans still require manually labeled training data.

Of course, there are a variety of techniques used to assist labor in the marking process to reduce the workload and reduce the manual marking ratio. However, there has not been a technology that can fully automate the annotation in the field of application.

In other words, within the visible future, manual labeling of data is still necessary and mainstream for AI landing.

3.3 “Intelligence” of artificial intelligence

3.3.1 What is called annotation?

Give a very simple example to illustrate what is data annotation:

When developing a chat bot, we need to train the intent determination and the entity recognition model, so we need to label the intent of the user's problem and the entity that appears.

This is the original data of the user problem: "How much is the delivery price of the goods from 00183 to Yili?"

In this sentence, it is clear that the user who asks it wants to know the postage of a certain product to a certain place. Postage is an attribute of an item. We define the intent of all the attributes of the item to be "item query".

Therefore, the intent of such a sentence is "commodity inquiry." It contains several entities, namely the product Id, destination and product attributes.

After this sentence is marked, it looks like this:

[00183] "-{Product Id} number goods delivery to [Ili] "-{destination} [postage] "-{product attributes} how much? ||Product Inquiry

The specific format does not have to be tangled. The core point: labeling is to mark all or part of the original data in accordance with the business needs.

3.3.2 Daily work of data annotation

To put it simply: the daily work of data annotation is to label a variety of data (text, images, video, audio, etc.).

[Good news]: There is almost no threshold for data labeling. Generally, any professional college graduate, even a lower degree, can be competent. Do not need professional knowledge such as machine learning.

[Bad news]: Such a job is purely "dirty and lively", not cool at all, and the starting salary is very low.

Make an inappropriate analogy:

The algorithm is Tulong, Jianjian Jianghu, Tianfei Feixian;

Doing engineering is hunting, prancing horses, screaming;

The data is to raise pigs. Every day, pigs are fed with pig manure, and the face is muddy.

So, although this is a job that anyone can do, I am afraid that few people want to do it.

3.3.3 Difficulties in data labeling

Data annotation is a very simple task for a single task. Its difficulty lies in the overall consistency of the data, as well as the collection with the business.

[1] Data consistency means that the labeling principle of all data is the same.

When there is a lot of data, consistency is quite difficult to guarantee, especially if there is a need for precision.

If a raw data is marked by multiple people at the same time, even if it is repeated to preach the principle of labeling, everyone has their own understanding and focus. It is difficult to guarantee consistency. It is likely that one sentence is “inquiring about goods” in the opinion of one person. In the eyes of another person, it is "requires after-sales." (Even if you give all the data to a person, you may understand the difference at different times.)

Because of the lack of attention to data labeling work (just in contrast to the excessive emphasis on algorithms), many companies have outsourced data labeling.

For the inconsistency of data labeling, a violent solution is adopted: multiple people (such as 3) are marked with the same data at the same time. Once there is an inconsistency, the simple majority method is used to take the result that the most people agree on (such as : For both of the 3 individuals, select "Query Item", then select "Query Item" as the final label).

This kind of scheme can also play a role in the rough data, but if it is a fine label, it is often difficult to appear even if the majority is consistent.

If the results of the three people are completely different, then the data will lose the value of the label.

In reality, the same data often appears because the quality is too low, and it is required to repeat the labeling, which is time consuming and laborious.

[2] The collection with the business is another challenge faced by data annotation.

This is not very obvious at the moment. Because: the current location of artificial intelligence is still relatively limited, the real commercialization field is a few applications of voice and image processing;

Owners are large companies, have their own labeling team, or employ third-party labeling companies with long-term relationships, and the labeling staff are relatively experienced;

The business requirements are relatively stable, and the required data annotation is relatively general. It is not difficult for ordinary people to understand the meaning of data and the principle of labeling.

Once the location of artificial intelligence in the future is fully rolled out in various fields, it is likely that the need for specific enterprises, specific businesses, and constantly changing labeling needs.

Marking this thing seems easy, but once the labeling principle has changed, it's time to re-enter the whole. The previous labeling is not only accumulation, but rather cumbersome.

How to deal with the rapidly changing business needs, and synchronously update the results of the annotations, will be a full-blown issue when AI truly serves the public. At this stage, it has not received enough attention.

3.3.4 Potential for data labeling

For now, data has a much stronger impact on the model than on algorithms. A group of algorithmic engineers who start with a million dollars a year consumes years of results, and the direct impact on the quality of the model is not even more than a month or two carefully marked by a reliable team. The impact on the model is still the case, not to mention the commercial value.

At this moment, the AI ​​is at the cusp of the cusp, the big company, the unicorn startup with a huge amount of venture capital, one by one to take out the spirit of the horse market, and the incredible high salary to the top scholars in the AI ​​field, by the way A group of young doctors also attracted the coveted world.

How long can this situation last? How many years can a commercial enterprise afford to earn money only? After the tide surges, the industry returns to rationality, and the model is still used to make money.

At that stage, will large and small companies not count the cost benefits? Will they be unaware of the different output ratios of resources to data and algorithms?

In order to create profit and apply AI technology, the algorithm engineer is not just needed, and the data is marked with the "diligence" in the artificial intelligence field. The artificial intelligence blue collar must be just needed!

All the difficulties and hidden risks of marking work are the potential of this work and the possibility of engaging in the future career development of this work.

3.3.5 Career development of data annotation

As mentioned earlier, the difficulty of data labeling is:

How to label the principle according to the business

How to implement the labeling principle quickly and uniformly

At the same time, as with all jobs with low thresholds, the problem of how to stand out from a very large number of people with similar qualifications is to engage in data labeling.

There is also the question of how to coexist with more and more automated labeling techniques.

Therefore, the data suggested by the author personally marks the career improvement path: experience + business + management. The general steps are:

Work experience of accumulating data annotations through practice

Understand the business needs and embody them in the data annotation results

Manage labeling teams to achieve efficient labeling results and business changes align

In the future, there may be a position called “Data Manager”: its responsibility is based on providing high-quality annotated data, technically linking ETL and data processing in engineering, docking on products, and leading the team to products or services. The revenue provides a direct contribution.

4. Recognize the situation and down-to-earth

In the recent past, it has become obvious that there are more and more people who want to enter AI, and the increase is increasing.

Why do so many people want to enter AI? Is it really a passion for computer science research or expanding human intelligence? To put it bluntly, most people are paying a high salary.

It is a very legitimate thing for people to make choices and work hard to get a higher return. The key is to find the right path.

Although there are many people seeking to enter the market, they can really recognize the current needs of the market, understand the positioning of talents at different levels, and find too few people to find a feasible way.

Everyone wants to "do the algorithm", but they don't want to think: the research institutes in large companies have a group of high-end scientists, and they have been the senior researchers who have been reading the AI ​​trend for more than a decade or two.

To be an algorithm with them, there must be achievements that can be tied to it: either have enough academic results or solve the actual business problems of oversized users – which one do you own?

It’s just not enough to do the algorithm, just to learn the course, to do small exercises or internships.

Who is not the swordsman of Dragon Slayer in his own imaginary world? But how many people can kill dragons in reality? How many more dragons are left for the slaughter? Although raising pigs is not so tall, it is real to have pork.

A good high school will only be a vain time, and a down-to-earth can achieve the ideal - this is also the original intention of the author to write this article.

5. The AI ​​road of small companies

There is a Case 1 at the beginning to say a few words to the author to apply AI to small businesses through personal observation and thinking.

Small companies don't have that much money to burn, and it's impossible to afford research institutes and scientists like big companies. Therefore, I really don't recommend that small companies hire people who do algorithms for the purpose of technical reserves.

Imagine: If you hire a Ph.D. graduate for a million years, you don't have a delivery for half a year, or even if you have a few cool looking models, you can't increase traffic or attract users. Nothing helps the company's income. At that time, as an employer, how can we judge that the development of AI technology is not mature enough to land on the company's business, or is this person's corpse meal?

Of course, it is not that small companies can't hire algorithmic engineers. Rather, this high-cost effort should be targeted, and the original members of the company have the ability to judge the quality of deliverables.

As an employer, you have to know what to do when you recruit people. What can be done by applying AI technology to improve its quality or efficiency, and what kind of indicators can be used to measure this improvement. In other words, it is: small companies use AI, first set KPIs and then recruit people.

Personal opinion of the author: Most small businesses do not need an algorithm engineer, and it is possible to pass:

Business Data + ML/DL Tools = "Working Model

To achieve the purpose of applying AI technology.

As a result, what small businesses really need is:

i) a small number of programmers who understand the principle of the model and can directly apply the ready-made framework, tools, and algorithm library training model (the person who works as described in 2);

Ii) People who propose model application requirements and provide data for the business – not just data annotation, but a composite talent that integrates business, data, and technology. The “data manager” described in 3 is likely to first emerge in small batches from small businesses.

-END-

Harbour Marine Diesel Generator

Harbour Marine Diesel Generator,Onshore Marine Generator,Offshore Marine Generator,Marine Engine

Jiangsu Vantek Power Machinery Co., Ltd , https://www.vantekpower.com

This entry was posted in on