How a power engineer studied neural networks and a review of the free course "Udacity: Intro to TensorFlow for Deep Learning"

All my adult life, I have been an energy drinker (no, now we are not talking about a drink with dubious properties).

I have never been particularly interested in the world of information technology, and even matrices I can hardly multiply on a piece of paper. Yes, and I never needed it, so that you understand a little about the specifics of my work, I can share a wonderful story. I once asked my colleagues to do work in Excel - a spreadsheet, half the working day has passed, I go up to them, and they sit and summarize the data on a calculator, yes, on an ordinary black calculator with buttons. Well, what kind of neural networks can we talk about after that? .. Therefore, I never had any special prerequisites for immersing myself in the IT world. But, as they say, "it's good where we are not," my friends buzzed my ears about augmented reality, about neural networks, about programming languages ​​(mostly about Python).

In words, it looked very simple, and I decided why not master this magical art in order to apply it in my field of activity.

In this article, I will skip my attempts to learn the basics of Python and share with you my impressions of the free TensorFlow course from Udacity.

How a power engineer studied neural networks and a review of the free course "Udacity: Intro to TensorFlow for Deep Learning"

Introduction

To begin with, it is worth noting that after 11 years in the energy industry, when you know and can do everything and even a little more (in your area of ​​responsibility), learning radically new things, on the one hand, causes great enthusiasm, but on the other hand, turns into physical pain " gears in the head.

I still don't fully understand all the basic concepts of programming and machine learning, so don't judge me harshly. I hope my article will be interesting and useful to people like me - far from software development.

Before proceeding to the course overview, I will say that to study it, you will need at least a minimal knowledge of Python. You can read a couple of books for dummies (I also started taking a course on Stepic, but I haven’t mastered it yet).

The TensorFlow course itself will not contain complex structures, but it will be necessary to understand why libraries are imported, how a function is defined and why something is substituted into it.

Why TensorFlow and Udacity?

The main goal of my training was the desire to recognize photographs of electrical installation elements using neural networks.

I chose TensorFlow because I heard about it from my friends. And as I understand it, this course is quite popular.

I tried to start learning from the official tutorial .

And then I ran into two problems.

  • There are many educational materials, and they go in discord. It was very difficult for me to make at least a more or less complete picture of solving the problem of image recognition.
  • Most of the articles I need are not translated into Russian. It so happened that as a child I learned German and now, like many Soviet children, I do not know either German or English. Of course, throughout my conscious life, I tried to master English, but it turned out approximately like in the picture.

How a power engineer studied neural networks and a review of the free course "Udacity: Intro to TensorFlow for Deep Learning"

After digging on the official website, I found recommendations to pass one of two online courses.

As I understand it, the course on Coursera was paid, and the course Udacity: Intro to TensorFlow for Deep Learning it was possible to pass "free of charge, that is, for nothing."

Course content

The course consists of 9 lessons.

The very first section is an introductory one, they will tell you why it is needed in principle.

Lesson number 2 turned out to be my any. It was simple enough to be understood and also demonstrated the wonders of science. In short, in this lesson, in addition to basic information about neural networks, the creators demonstrate how to use a single-layer neural network to solve the problem of converting temperature from degrees Fahrenheit to degrees Celsius.

This is indeed a very clear example. I am still thinking about how to come up with and solve a similar problem, but only for electricians.

Unfortunately, then I stalled, because learning incomprehensible things in an unfamiliar language is quite difficult. Saved me what I found on Habré translation of this course into Russian.

The translation was done with high quality, the Colab notebooks were also translated, so I looked further into both the original and the translation.

Lesson #3 is, in fact, a transcription of the materials from the official TensorFlow tutorial. In this tutorial, we learn to classify pictures with clothes using a multilayer neural network (Fashion MNIST dataset).

Lessons #4 to #7 are also transcriptions of the tutorial. But due to the fact that they are correctly arranged, there is no need to understand the sequence of study yourself. In these lessons, we will briefly talk about ultra-precise neural networks, how to improve training accuracy and save the model. At the same time, we will simultaneously solve the problem of classifying cats and dogs in the image.

Lesson No. 8 is generally a separate course, there is a different teacher, and the course itself is quite voluminous. The lesson is about time series. Since I'm not interested yet, I scanned it diagonally.

Lesson 9 concludes everything, which is an invitation to take a free course on TensorFlow lite.

What you liked and didn't like

I'll start with the pros:

  • The course is free
  • The course is on TensorFlow 2. Some of the tutorials I saw and some of the courses on the internet were on TensorFlow 1. I don't know if there's a big difference, but it's nice to learn the current version.
  • The teachers on the video are not annoying (although in the Russian version they read not as cheerfully as in the original)
  • The course doesn't take long.
  • The course does not drive into a feeling of melancholy and hopelessness. The tasks in the course are simple and there is always a hint in the form of Colab with the correct solution if something is not clear (and I didn’t understand a good half of the tasks)
  • No installation required, all course labs can be done in the browser

Now the cons:

  • There are practically no control materials. No tests, no tasks, nothing to somehow check the mastery of the course
  • Not all notebooks worked for me as they should. In my opinion, in the third lesson of the original course in English, Colab gave an error, and I did not know what to do with it
  • It is convenient to watch only on a computer. Maybe I didn't fully understand, but I didn't find the Udacity app for my smartphone. And the mobile version of the site is non-adaptive, that is, almost the entire screen area is occupied by the navigation menu, but to see the main content, you need to scroll to the right beyond the overview area. Also, the video cannot be viewed on the phone. You can't really see anything on a 6-inch screen
  • Some things in the course are chewed several times, but at the same time, the really necessary things on the convolutional networks themselves are not chewed in the course. I still did not understand the global goal of the part of the exercises (for example, what is Max Pooling for).

Summary

Surely you have already guessed that the miracle did not happen. And after taking this short course, it's impossible to really understand how neural networks work.

Of course, after that I could not solve my problem with the classification of photos of switches and buttons in switchgears on my own.

But in general, the course is useful. It shows what things can be done with TensorFlow and where to go next.

I think I first need to learn the basics of Python and read books in Russian about how neural networks work, and then take on TensorFlow.

In conclusion, I would like to say thank you to my friends for pushing me to write the first article on Habr and helping to arrange it.

PS I will be glad to your comments and any constructive criticism.

Source: habr.com

Add a comment