Feifei Gao Anduj Karpathy answers questions for everyone

Editor's note: Li Feifei Andrej KarPathy received a Ph.D. in computer science from Stanford University in 2015 and entered OpenAI in 2016. His main research interests are: deep learning, model generation, and reinforcement learning. From 2011 to 2015, he has worked in Google Brain, Deepmind and various DL laboratories. He has extensive experience in learning and working. This article is for Quora's questions and answers to students in the field of machine learning. He hopes to inspire you.

Learning articles

How did you learn to study ML/DL? What are your favorite books in learning DL?

I talked about this topic in an interview with Data Science Weekly. Let's say a long story short, I used to want to do quantum computing, but later I felt a little frustrated and realized that AI was the most important "elementary" problem I wanted to study.

During my doctoral studies, there are not many books available for reference in DL. There are books and other sources of deep learning such as Ian Goodfellow (for example, many speeches, CS231n, etc.).

I personally don't rely too much on reference books. I like Bishop's book. I read many times throughout the course of my reading. I also read Sutton's Reinforcement Learning. This book I quickly flipped through in a few weeks, and repeatedly practiced the ReynforceJS chapter. know how. However, unfortunately, this book is slightly less on the "Policy Gradients" section, and the amount of knowledge we use in research is still quite high. Anyway, this book is for me. The study of DL has laid a good foundation.

Until now, I have discovered that the trick to learning a lot of knowledge is to practice the theoretical knowledge that you have already learned. Whenever I read some knowledge, I would imagine that I had understood it thoroughly and then forced myself to practice it repeatedly. This method always brings me new and interesting insights. This is my favorite learning method.

What kind of deep learning framework do you personally prefer?

During the reading of Bo, I experienced several transitional periods in the process of learning the deep learning framework. At first it was Matlab, which was used by everyone at the time. However, unfortunately, Matlab is not a real language, and everyone at the time was laughing at me for this purpose, so I turned to Python/numpy and hand-coded all my back-propagation algorithms. Unfortunately, numpy is not suitable for GPUs, so learning Python will not work either.

After that, I started to study Torch. I was very fond of this computing framework and I still like it very much. Torch is relatively simple: you can operate Tensor objects transparently in various ways on the CPU or GPU, and you can use this simple deep learning specialized converter. You can almost understand all the content, and detect and improve the knowledge you learned. It works.

I now use TensorFlow, which is used by all OpenAI researchers. To be honest, I think my code has become more and more complicated. Compared to using Torch, I now spend a lot of time troubleshooting. I am still in the learning stage. However, I think the problems that I am facing are temporary.

As we go further and further, I feel that I have given up a lot of things in the process of learning TensorFlow (for example, I can't easily handle primitive gradients, can't fully examine the code base, and can no longer use arbitrary command code to create networks. Layers, in addition, it takes more time to write code, but my rewards are not equal. Despite this, I chose TensorFlow as a long-term bet and is now becoming more and more professional on this road. If you don't want to make crazy choices, like your small, agile, transparent, fast code, Torch is still a good choice.

How did you learn to strengthen learning (RL)?

Regarding RL, I posted some related links on my blog: Deep Reinforcement Learning: Pong from Pixels. This post briefly reviews the basic idea behind RL. To be more professional, I recommend to use the basics of Sutton's book entry and look at some of the recent open classes of John Schulman or Pieter Abbeel (for example, the open class at the Montreal Deep Learning Summer Camp was awesome), and then repeatedly practice DQN or strategy gradients from the beginning knowledge. Using OpenAI's Gym slowly adapts to the entire research environment.

Unfortunately, in many new areas, it is difficult to achieve experimental breakthroughs beyond the research field. If you are determined to devote yourself to AI research, I think that you definitely want to cooperate with more experienced people in the field. This is even more true in the field of RL research because there are few tricks on how to use functions, baselines, how to set up experimental steps, how to troubleshoot effectively, and so on, which are not answered by the system in related papers. On the contrary, in a field of researchers, this knowledge is only common sense. Of course, this is not to say that you really cannot achieve breakthroughs in one area yourself, but using one pair of 1 apprentices to learn this way can reduce many detours.

Can you provide some constructive advice for an undergraduate who is interested in becoming a machine learning engineer?

Undergraduates tend to focus too much on scores (I once made the same mistakes). I will start to cut down on specific projects and record them on Github or blogs. I feel that the specific work and projects that I have participated in are very valuable experiences.

In your opinion, what aspects have not received attention in the development of ML?

At present, I have not found a suitable answer to answer this question. However, I think that what we do in the field of deep learning is memorization (eg, interpolation, pattern recognition, etc.) rather than thinking. (For example, extrapolation, induction, etc.) I haven't seen a neural network that can "think", and I don't know how to define such an abstract concept of "thinking" and it's even harder to imagine what a neural network would be thinking about.

Some articles seem to have answered this difficult puzzle, but I still cannot agree. If it weren't for me to point out that there is anything that mentions "thinking neural networks" (my personal opinion), it should be Jacob Andreas's dynamic neural nets. On this topic, I will mention it here for the time being.

Work articles

What is the experience of working in Google Brain?

I practiced in Google Brain in 2011. At that time, the development of Google Brain was in early childhood. At the time, there were not many people working on this project. We were all overly interested in unsupervised learning. When I was internship again in 2013, everyone was obsessed with supervised learning because supervising learning at that time was really useful. In 2015, when I returned to Google again, reinforcement learning began to flourish.

Today Google Brain is very different from the past. What I want to say is that there are a lot of talented researchers, engineers, and especially experienced people who can use deep learning on a large scale. I think that Google values ​​the Brain project very much. They all have excellent leadership talents and they create a great working environment for everyone (this is the news I got from my company's internal friends). I can't personally give it here. Too much comment.

Why did you choose to go to OpenAI?

I think OpenAI is a very innovative land. This is where it attracts me most. Such an institution covers academic research, has an industrial research laboratory, and is a rising star in the AI ​​research field. We also have some extraordinary and interesting experiments, such as Bell Labs, a large-scale research laboratory regulated by the government. All of these have their own advantages and disadvantages. I think that OpenAI has very interesting experiments on innovation and combines what I am interested in (a combination of academic and industrial). Such an organization can create more value. I have the privilege of being able to participate in experiments and be able to start from the very beginning. It will accompany its growth and development. So, I chose OpenAI. This is a crucial step in my life.

What are the most interesting research topics of OpenAI?

There are some very valuable projects and plans that cannot be carried out in academia at all (for example, a large number of engineering or integrated jobs are not achievable by a small group of doctoral students), and industry professionals may not want to do it (for example, may There may also be legal concerns as to reasons for motivation.) OpenAI is currently working on several very valuable projects. These projects are not limited to the research work itself and can be considered to be doing “meta” things such as setting up some platforms and infrastructures for each researcher. convenient. The Gym we released earlier this year is a good example.

Specifically, a large part of us (including myself) are dedicated to a project. I am particularly interested in this project. However, I think this project has not yet been publicly discussed. In short, I can only reveal that the project involves a lot of engineering work, and to a large extent it can enhance and expand the research work in the AI ​​field. With regard to the progress of this project, I can only leave you in suspense here. I am very sorry.

Dr. Andrej Karpathy's paper is detailed

This article was compiled by Lei Feng Network (search "Lei Feng Net" public number) , and refused to reprint without permission!



SMT Controller Board Card

Controller Board Card are provided in our company.The brands are involved in JUKI, FUJI, SAMSUNG,YAMAHA.

The products have original new or used ones.In addition, the following products are in stock.


Smt Machine Spare Parts

SMT Cable

SMT Belt

Smt Laser

Nozzles For Samsung Machine

SMT Feeder For Samsung

Samsung Control Valves





Controller Board Card,Smt Controller Board Card,Controller Driver Boards,Control Pcb Board

Shenzhen Srisung Technology Co.,Limited , https://www.sr-smts.com

Posted on