On the importance of AI systems engineering capabilities landing (turn)

Read an article about the discussions engineering capabilities, with deep feeling, AI algorithms have been more transparent, how to make easy to use, stable and offers practical solutions to the problem of the system is the key.

https://www.infoq.cn/article/AI-front-201802/

I am often asked to learn the secret of artificial intelligence. I would ask each other questions at the entry of the data structure, code design, debugging tools, code version maintenance. If these do not pass, my answer is "engineering."

AI applications do, not only to understand AI "algorithm", it is more important is the ability of software engineering and system capabilities. In practice, Linux command and must be familiar unfamiliar, to write the program is not a good style, version control is not a habit, is not master the basic network services architecture, than these basic skills will be used Keras / TensorFlow much more important. Many people have the idea of ​​the specific project to do less people, should start from the bottom of the engineering practice. No specific engineering experience, that talk is a waste of time. After a first system operation and maintenance off, shut the database, the code used to turn off, turn off the basic software engineering, can we talk about on the floor of an AI system.

Artificial intelligence algorithms reality system effective, is very simple. Can not play good at all, it is how to put all these simple things integrated use of local conditions. 1% of the core algorithm code to run, and support to 99% of the "project" of the code.

For example, machine learning, no free lunch theorem tells us that if a method is particularly effective in a class of problems, and that there must be some problems it worse than random algorithm. A reality available machine learning system, the problem is almost certainly a mixed variety of issues. An algorithm does not exist is a real problem panacea. To solve the real problem, it must be with a good engineering architecture, mixed together to make a variety of algorithms to solve the problem. This architecture can be just the right "degree" is the core capabilities of artificial intelligence engineer.

Another example is the logic of this branch. In fact, there is no simpler than the language of logic on the concept: the non-presence of quantifiers. But in order to engineer this simple thing, it spawned a huge subject: knowledge engineering, Semantic Web, knowledge map. The reason is not hard knowledge engineering "knowledge", and in "project." When concern "knowledge", always can map the best human intelligence. But engineering, it must adapt to the infinite wonderful eclectic group, and various costs inevitable.

AI application landing, core engineering problem, not algorithmic problems, not "philosophical" problem. Must be particularly special "soil", the sense from simple operation and maintenance, database, data cleansing start, from the actual project gradually evolved. How by day iteration? How to construct the FBI system? How unlabeled data start? How to separate the accuracy and recall requirements? How uniform application of rules and statistics? How to adapt without a clear measure of the development of standards? How to design evolution data model? how to improve the intelligibility of the data? how to gradually raise the expressive rules of the system? how to balance the advantages and disadvantages of white box and black box models? how to choose during the elegant architecture and engineering? and so on, these are not the textbook answer. Only solid from the project, in order to realistically develop a low-cost, viable AI system.

If only because something fashionable go for, such as this year go for AI AI fire, full of CNN, RNN, LSTM, but not interested to understand the rationale behind these things and scope of application, engineering and unhelpful of. For example, only know "convolution" is the word, but do not understand the different convolution kernels for image in the end what role; only know the depth of the network, not even other neural network knew nothing; only know word2vec distributed representation, and not even TFIDF LDA never used. This fashion, engineering practice harm is greater than the usefulness.

Master sub-many levels. Will use the package is a level, the next level will be improved, made excellent paper and then into the next level. As for the border understand the methods, engineering and other methods to integrate use, only very few people. AI to architect level, we need to understand the forefront of various methods of permeability. Such people, schools, research institutes are training does not come out, were forced out by the project, out of practice, playing out. Just understand the algorithm does not work, you must also understand the practice of transparent frontier; just understand a branch does not work, you must also transparent understanding of several branches.

There is no silver bullet, no miracle. Are solid engineering, years of grinding to resolve the details of a trifle. Has never been a so-called great ideas can skip the test and it works successfully. Engineering is the key to make the AI.

Guess you like

Origin www.cnblogs.com/marszhw/p/12587430.html