- 3 Levels of Deep Learning Competence
- Originally by Jason Brownlee
- The Nuggets translation Project
- Permanent link to this article: github.com/xitu/gold-m…
- Translator: Hearfishle
- Proofreader: Portandbridge, Ezioyuan
Deep learning is not a panacea, but it has proven effective in many very challenging areas.
This means there is a huge demand for effective deep learning practitioners.
The question is, how does the average business identify these workers?
As a practitioner of deep learning, how can you best demonstrate that you can provide proficient deep learning models?
In this article, you will understand the three levels of competence for deep learning and what you need to perform at each level as a practitioner.
After reading this article you will know:
- Questions to assess the level of deep learning ability are best addressed through a portfolio of projects.
- A hierarchy of three competency levels can be used to classify practitioners and provide a framework for identifying skills that practitioners should possess.
- The most common mistake beginners make is thinking that they want to reach level 3 when they start. They want to learn everything at once, which leads to confusion and frustration.
Let’s get started.
The three levels of deep learning ability were photographed by [Bernd Thaller] and are owned by the photographer
An overview of the
This paper is divided into three parts:
- How do you assess [deep learning] capabilities
- Build a deep learning portfolio
- Level of deep learning ability
How do you assess [deep learning] capabilities
How do you know a practitioner is capable of deep learning?
It’s a tough question.
- A researcher may be able to present the mathematics of a technique well and provide a series of papers.
- A developer can use intuitive explanations and a set of apis to get the technology across.
They all seem to understand.
But a real business project needs no explanation.
We need to use models to make effective predictions, we need results.
The result trumps all.
That is, the results beat out traditional indicators of competence, such as education, work history and experience level.
Most developers and hiring managers already know this.
But some haven’t.
Build a deep learning portfolio
The best way to answer the question of whether a practitioner is competent is to demonstrate rather than tell.
Practitioners must provide evidence that they understand how to apply deep learning techniques and use them to develop efficient models.
This means developing a public portfolio using open source repositories and available public datasets.
This has many advantages because:
- Show the model you pour your skills into.
- Let someone else review the code.
- Defend your design decisions.
An honest discussion of real projects (in a portfolio) will quickly make it clear whether the practitioners really understand them.
- To assess this ability, employers must ask practitioners to submit portfolios containing completed work and then review them.
- To demonstrate this ability, practitioners of deep learning must build and maintain a portfolio of completed projects.
As a practitioner, the question becomes: What are the levels of competence, and what are the expectations of competence at each level?
Level of deep learning ability
The practitioner should choose the project to develop carefully, because it can also be used to prove your technical ability.
In this section, we will outline the levels of deep learning capabilities and the types of projects you can develop and implement as a practitioner in order to learn from, acquire, and demonstrate each level of competency.
Deep learning ability is divided into three levels:
- Level 1: Model building
- Level 2: debugging
- Level 3: Application
This may not be complete, but it provides a good starting point for practitioners in commercial development.
Some explanations for the hierarchy:
- Suppose you’re already a machine learning practitioner, not starting from scratch.
- Not all business development needs or can use level 3 practitioners perfectly.
- Many practitioners want to start at Level 3 and figure out levels 1 and 2 quickly.
- Level 2 is often overlooked, but I think it is key, demonstrating a deeper understanding.
Other potential competency-related topics that aren’t discussed include writing code from scratch, dealing with big data and data streams, GPU programming, developing new approaches, and more.
If you have an idea about ability levels or projects. Let me know in the comments below.
Now let’s go back to each level.
Level 1: Modeling
Reaching this level of deep learning capability means you’re already a machine learning practitioner.
This is the lowest level and means that you can use tools and methods effectively in traditional machine learning projects.
But that doesn’t mean you have to get a higher level certificate or be a master of the program. Instead, it means that you are familiar with the basics of applied machine learning and are able to build a predictive modeling project end-to-end from start to finish.
This is not a strict prerequisite. Because these elements can be learned quickly if needed.
At this level of ability, there are the following:
- Library capabilities: You know how to use an open source deep learning library to develop a model.
- Modeling skills: You know how to apply the process of developing machine learning using neural networks.
Library ability
Library capability means that you know how to build a development environment and use the most common API layers to define, load, and predict using neural network models.
This also means that you know the basic differences between each neural network model and the best time to use it.
That doesn’t mean you know every procedure and every parameter. Nor does it mean you know the mathematical description of the specific technique.
Modeling capabilities
Modeling skills mean you know how to use a neural network model to complete a machine learning project from start to finish.
Specifically, this means that you have the ability to:
- Identify supervised learning problems and collect relevant data.
- Prepare data, including feature selection, input loss values, scaling and other transformations.
- Evaluate a set of models and model architectures using target testing tools.
- Select and prepare a final model and use it to predict new data.
These abilities mean that you can effectively harness neural networks to develop new projects and build effective models.
This ability does not mean that you are an expert in applying all or some neural network techniques or that you will get the best results. It also doesn’t mean you’re familiar with all data types.
project
A project that demonstrates this level of capability would use an open source deep learning library (such as Keras) and show every step of the application machine learning process on a publicly available machine learning dataset.
This does not mean to achieve the best predicted results for the data set, or even that using neural networks is the best possible model for the data set. Instead, your goal should be to demonstrate your ability to use neural networks, most likely with simpler models such as multilayer perceptrons.
A good dataset resource is the small in-memory dataset that was widely used between 1990 and 2000. You can use it to demonstrate the performance of machine learning and even neural networks. Examples include some in the UCI Machine Learning Repository list.
The data sets are small and easily fit in memory, which means that the scope of the project is also small, allowing for robust model evaluation scenarios. Such as k-fold cross validation, and careful model design may be required to avoid overfitting.
I would like to have a set of projects that address the common issues of standard predictive modeling projects, such as:
Alter the input data to demonstrate data preprocessing skills suitable for neural networks:
- Enter variables with the same range.
- Enter variables in different proportions.
- A variable that combines numeric and categorical types.
- Variable loses part of its value.
- Data with redundant input function.
Working with multiple target variables to demonstrate appropriate model architecture skills:
- Ii. Classification tasks.
- Multi-class sorting tasks.
- Return to mission.
Level 2: debugging
Assume an ability level of 1, then show that you can use both traditional and modern techniques to get the most out of a deep learning neural network model.
It demonstrates the following things:
- Learning ability. You can improve the training process of neural network models.
- Generalization ability. You can reduce the overfitting of training data and reduce the generalization error of out of sample data.
- Predictive power. You can reduce the variance of your final prediction model and improve your modeling skills.
The ability to learn
Learning ability means that you know how to configure and adjust the hyperparameters of the learning algorithm to make the program perform better.
This means skill in adjusting stochastic gradient descent hyperparameters, such as:
- Batch size
- Learning rate
- Learning rate plan
- Adaptive learning rate
This means tweaking skills that affect model capabilities, such as:
- Model selection
- Activation function selection
- Number of nodes
- The number of layers
Skills to resolve problems associated with (machine) learning, such as:
- Gradient disappeared
- Gradient explosion
It also means using technology to speed up learning skills, such as:
- Batch normalization
- Layered training
- The migration study
Generalization ability
Generalization means that you know how to configure and adjust a model to reduce overfitting and improve its performance in out-of-sample data.
This includes classic techniques such as:
- Weight regularization
- Increase the noise
- Stop in advance
This also includes some modern techniques such as:
- The weight constraint
- Activity normalization
- Random inactivation
Ability to predict
Predictive ability means that you know how to use techniques to reduce the variance of the model you choose when forecasting, and combine the model to improve performance.
This means using integration techniques such as:
- Model of equilibrium
- Stack integration
- The weight balance
project
Projects that demonstrate this level of competence may focus not so much on all the steps in the process of applying machine learning, but on specific problems and one or more technologies designed to mitigate them.
Problems commensurate with these three areas of competence may include:
- Model training is too slow
- Overfitting of training data sets
- The problem of too much variance
Again, this does not mean achieving optimal performance in a specific problem, just showing the correct use of the technology and its ability to deal with identified problems.
It is more important to clearly present the problem being studied in a project than to choose a data set or even the type of problem.
Some data sets naturally cause problems, for example, small training sets and unbalanced data sets lead to over-fitting results.
Standard machine learning data sets are available. You can design the problem artificially and then prove it, or you can use a dataset generator.
Level 3: Application
This level is above levels 1 and 2 and demonstrates that you can use deep learning neural network techniques in specific problems.
That means presenting deep learning technology outside of the Simple Tabular Datasets.
It is also a demonstration of in-depth learning of different types and specific problem instances in the problem domain. In these areas, these technologies may perform well or even be the most advanced.
It demonstrates the following:
- Data processing ability. You can load and prepare data for specific problems for the neural network.
- Technical ability. You can compare and select suitable neural network models for specific problems.
Data processing power
Data processing capability means that you can get, load, use, and prepare the data that your model uses.
This is likely to demonstrate the ability to process data using standard libraries and to prepare data using standard techniques.
Problem domains and processing of data may include:
- Time series prediction. Code that treats a time series problem as a supervised learning problem.
- Computer vision. An API for loading images and transforming them to resize (and possibly standardize) pixels.
- Natural language processing. An API for loading text data and converting decoded characters or words.
Technical ability
Technical competence means that you can accurately identify technologies, models, and model architectures that are appropriate for modeling problems in a particular domain.
This will most likely require you to be familiar with the academic literature and/or the common approaches used in the industry for general class problems in the field.
Problem domains and problem-specific approaches may include:
- Predict time series. Use a sequence prediction model. For example, convolutional neural network model and cyclic neural network model.
- Computer vision. Deep convolutional neural networks and special architectures are used.
- Natural language processing. Deep cyclic neural network models are used and special architectures are used.
project
Projects that demonstrate this level of competence must cover the application of machine learning processes, use careful model tuning methods (level 1 and 2 competencies), and focus on domain-specific data sets.
The data set comes from:
- Standard data sets used in the academic world to validate methods
- Machine learning contest website data set
- A unique data set that you collect and define.
There can be a large number of problems that belong to a given problem domain. Although there will be a more common or prominent subset, these may be the focus of the demonstration project.
Some examples of domains and prominent sub-issues might include:
- Time series prediction. Single variable, multivariate variable, multistep and classification.
- Computer vision. Object classification, object location and object description.
- Natural language processing. Text classification, text translation and text generalization.
It may be desirable to demonstrate competence at a high level across domains so that data processing, modeling techniques and skills are well represented.
Once the most prominent issues and technologies have been addressed, you may also need to specialize in an area and narrow down the scope of your demonstration projects for subtle subproblems.
Because this type of project may exhibit the broader appeal of deep learning (for example, the ability to go beyond classical methods), jumping straight to this level is dangerous.
Experienced practitioners with deeper knowledge and experience in other machine learning methods or in that particular area may be able to do this.
However, this is very difficult as you may have to learn and have to ride and prove all three levels of competence at once.
This is by far the biggest mistake made by a beginner. They delve into projects in specific areas and encounter one obstacle after another. They have a poor grasp of library usage, the process of completing a project from start to finish, and the process of improving model performance, not to mention the specific data processing and modeling techniques used in the field.
Again, you can start at this level, but you’re likely to get three times as much work and frustration.
Do you resonate with the competency framework? Do you think it’s hollow? Let me know in the comment section.
Further reading
This section provides additional resources on the subject if you want to study it more deeply.
post
- Create a machine learning folder
- What is deep learning
- Enlightening deep learning applications
- Deep learning applications for natural language processing services
The article
- UC Irvine Deep learning repository
- Some data sets on machine learning, Wikipedia
- Deep learning data sets
- Open data sets for every data scientist to learn in depth, Analytics Vidhya.
conclusion
In this article, you found three levels of deep learning ability. As a practitioner, what do you have to prove at each level
Specifically, you learned:
- Deep learning capabilities are best evaluated in terms of project portfolios.
- A hierarchy of three competency levels can be used to classify practitioners and provide a framework for identifying expected skills.
- The most common mistake is for beginners to start at level 3, meaning they try to learn all the levels at once, leading to confusion and frustration.
Do you have a question? Ask questions in the comments section below and I’ll do my best to answer them.
If you find any mistakes in your translation or other areas that need to be improved, you are welcome to the Nuggets Translation Program to revise and PR your translation, and you can also get the corresponding reward points. The permanent link to this article at the beginning of this article is the MarkDown link to this article on GitHub.
The Nuggets Translation Project is a community that translates quality Internet technical articles from English sharing articles on nuggets. The content covers Android, iOS, front-end, back-end, blockchain, products, design, artificial intelligence and other fields. If you want to see more high-quality translation, please continue to pay attention to the Translation plan of Digging Gold, the official Weibo, Zhihu column.