Ending Words Choices in Life Are as Important as Effort

Ending Words Choices in Life are as Important as Effort #

Hello, I’m Fang Yuan.

I start with a fixed greeting, but this lesson is actually the last lesson of our column. Thank you for sticking with it all the way here. Do you feel liberated now? Haha.

But before we move on to freedom, let’s quickly review what we have learned in this course. I will also unveil why I taught in this way, just like a post-screening press conference of a movie.

The core of our course is PyTorch in practice. However, just like martial arts, in order to fight, we need to choose the right weapons, otherwise we will be defeated instantly.

As the saying goes, “To do a good job, one must first sharpen one’s tools.” So at the beginning, we didn’t start by discussing PyTorch itself. Instead, we talked about how to use the NumPy tool and studied the data structure of tensors together.

If you are an algorithm engineer, you will easily find that NumPy appears in many scenarios, because in terms of the convenience, user-friendliness, and versatility of data operations, NumPy is unbeatable. Even if you don’t use PyTorch for development in the future, or even if you don’t do deep learning development, you can’t escape from learning NumPy. So I hope you will pay attention to the contents of NumPy and Pandas in your future studies.

The reason why we spent a lot of time learning tensors is also because of their versatility. However, we are used to data structures like dictionaries, lists, sets, and the universal data processing format ndarray in NumPy. Suddenly changing the way we operate on data will definitely require a process of adaptation, especially when it comes to invisible and intangible operations like data slicing, data reshaping, and dimension transformation. It’s normal to feel overwhelmed.

What I want to emphasize is that once you master tensors, you will be able to quickly get started with deep learning development in the future, whether you are using PyTorch, TensorFlow, or any new framework that may emerge in the future. You will become a quick learner and advance rapidly.

Once you have mastered the use of basic tools, it’s like choosing a good sword. The next step is to learn the techniques and principles needed to train models. Important topics in deep learning such as convolution, loss functions, optimization functions, and gradient updates are essential. We have spent a lot of time explaining these concepts in detail, and I believe you should now be able to explain them fluently.

To focus on the key points, we only briefly covered simple structures like fully connected layers and pooling, but you can explore them in more detail after class if you are interested. After all, we want to get started quickly. Since this is a practical course, we want to learn from previous successful work from practical, objective, and efficient perspectives. Therefore, contents like Torchvision, visualization tools, and distributed training methods can help us avoid unnecessary detours and reach our goals directly.

With weapons and techniques in hand, you must now go out and gain experience, otherwise all your knowledge will just be empty talk. Unlocking every achievement requires challenging difficult tasks, so I have specially arranged image and text algorithm tasks as two big bosses for you.

Observant students will notice that before each task, I introduced the background of the boss, such as in the NLP part, where I introduced several main topics and common algorithms in the NLP field, so that you can better understand the purpose and solution approach of the task.

When you have completed the entire course, it’s like completing the process of martial arts training. From then on, you will be able to independently complete deep learning pipelines based on PyTorch. Isn’t that amazing?

Image

But is this all? No, it’s far from the end.

The fundamental purpose of this PyTorch column is not only to teach you how to use it, but also to help you understand deep learning efficiently and conveniently through it. Here is the official documentation for PyTorch: Link. You will find that the content is vast, but we don’t need to learn all the functions. It is just a tool.

So, at the end, I want to say a few words to those of you who are about to embark on the journey of AI. In summary, it’s the “five principles”.

First, stay curious. Artificial intelligence is a rapidly evolving field. What was hot in the past may become outdated or rarely used in a short period of time, such as RNN compared to Attention now. Therefore, you must read more papers. The papers presented at top conferences every year are the best learning materials.

Below, I have listed some top conferences in the fields of computer vision (CV) and natural language processing (NLP) for your reference.

Image

After reading this list, if you are interested, you will naturally know to search for the dates of these conferences. After the conferences, you can search for various analyses and introductions of papers yourself. Of course, I still recommend that you try to read the original versions. But even if you can’t understand long English papers, it’s okay. There are many Chinese versions of paper analyses and introductions, which can also help you improve.

In addition to these conferences, there are also many comprehensive AI conferences, such as IEEE and ICLR, which you can also follow as needed. Secondly, stay calm. As someone who has been through it, I can tell you that in the future development of deep learning, you will encounter all kinds of strange results.

For example, during the training process, all the indicators may be fine, but when it comes to prediction, everything falls apart. This is quite common. Another example is when two similar images produce completely different results because one of them has a few more color blocks or shapes. It can be quite frustrating to investigate such cases. Or perhaps you will feel frustrated because of limited data resources provided by the business, either in terms of quantity or imbalance. These are challenges that are difficult to solve with technical approaches.

So you need to participate in more projects, engage in different scenarios, and gradually… you will get used to it, haha. Of course, this doesn’t mean giving up easily, but rather with more experience, you will eventually find or learn how to solve these difficulties. In fact, the growth of every deep learning algorithm engineer is paved with countless frustrating problems.

Thirdly, stay humble. Indeed, algorithm engineers, especially deep learning algorithm engineers, are at the forefront of the IT field and have a job that many IT professionals envy. However, you must remember that there will always be someone better than you. Learn from others and build upon the knowledge of those who came before you in order to stay competitive.

Fourthly, stay curious. In all honesty, I have always wanted to be a superhero and save the world since I was a child, and I still feel the same way today. This is not ridiculous; on the contrary, it is a genuine part of myself. Maintaining curiosity allows you to constantly have wild imaginations. And in the field of AI, the biggest limitation for practitioners is not technology, but imagination.

With imagination, you can develop bionic AlphaGo, create AI that rivals artists, or randomly create an AI that seamlessly inserts yourself into any Hollywood blockbuster. In the world of AI, you can change the world and become a real superhero.

One more thing: stay energetic. This has nothing to do with technology. The stereotypes about software developers being bald, obese, having disc protrusion, prostatitis, beer belly, greasiness, and wearing plaid shirts have been mocked countless times on the internet. On the one hand, this is a stereotype imposed by others, and on the other hand, it may actually be our reality.

I suggest that you, like me, make time for regular exercise and sports activities. Do some push-ups during breaks, lift weights after work, and go cycling or play basketball with friends on weekends. Because work only occupies a very, very, very small portion of your life. Go out and explore, and you will discover a bigger and better world.

That’s all for the five “stays.” Do you remember how I introduced myself in the beginning? Actually, there is one part I haven’t mentioned, and now I am willing to share it with you.

As an 80s child, computers were not so common when I was young. Only students with well-off families had desktop computers. So the weekly microcomputer classes became the most anticipated and, in fact, the “game classes” for us. For me, the computer was for playing games, looking up information, and watching movies, nothing more.

When faced with the decision of choosing a major for the college entrance examination, I listened to my parents and teachers and chose the super popular majors related to manufacturing, automation, and civil engineering. I missed the cut-off score by a few points and had to transfer to computer science, which can be considered a fortunate accident. But as I delved deeper into programming, I increasingly found myself falling in love with it, with algorithms. Perhaps it was destiny that I should embark on this path.

Later on, I realized that this era is always evolving rapidly: artificial intelligence will impact the lives of everyone. So, I chose the field of AI. Each field has its own charm, and the charm of AI lies in its unlimited possibilities, just like the Green Lantern. Like I mentioned earlier, in many cases, AI is not limited by technology; the only thing that can limit you is your imagination.

Of course, learning and improving oneself can be painful and tedious. It is filled with complex formulas, challenging optimization methods, and mystical tuning experiences. But this process of self-transformation is highly fulfilling. The search engine recommendation algorithm project that I participated in still serves hundreds of millions of users daily. The information product text algorithm project that I led quietly operates to help tens of millions of users obtain information more efficiently. The multimodal algorithm project that I participated in provides a pure online environment for countless children and teenagers…

Alright, finally, the last piece of motivation is about to be revealed. Please remember:

“Fortunate accidents are choices. Destiny is also a choice. Self-transformation is another choice. Life is full of choices, and choices are just as important as effort.”

Time flies. It feels like the first class was just a few days ago. Time passes slowly, making me eagerly look forward to progressing with you in more courses.

Class dismissed. See you again.

Lastly, I hope you can take a moment to fill out this graduation survey and share your thoughts on learning from this column.