Jak inżynier energetyk badał sieci neuronowe i recenzja bezpłatnego kursu „Udacity: Intro to TensorFlow for Deep Learning”

Całe dorosłe życie byłem napojem energetycznym (nie, teraz nie mówimy o napoju o wątpliwych właściwościach).

Nigdy specjalnie nie interesowałem się światem technologii informatycznych, a nawet nie potrafię pomnożyć macierzy na kartce papieru. A mi to nigdy nie było potrzebne, żebyście choć trochę zrozumieli specyfikę mojej pracy, mogę podzielić się wspaniałą historią. Kiedyś poprosiłem kolegów, żeby wykonali pracę w arkuszu Excel, minęła połowa dnia pracy, podszedłem do nich, a oni siedzieli i podsumowywali dane na kalkulatorze, tak, na zwykłym czarnym kalkulatorze z guzikami. No cóż, o jakich sieciach neuronowych możemy w końcu mówić?.. Dlatego nigdy nie miałem specjalnych przesłanek, aby zanurzyć się w świecie IT. Ale jak to mówią „dobrze tam, gdzie nas nie ma”, znajomi brzęczeli mi po uszach o rzeczywistości rozszerzonej, o sieciach neuronowych, o językach programowania (głównie o Pythonie).

Słowem wyglądało to bardzo prosto i zdecydowałem, dlaczego nie opanować tej magicznej sztuki, aby zastosować ją w moim polu działania.

W tym artykule pominę próby opanowania podstaw Pythona i podzielę się z Wami wrażeniami z darmowego kursu TensorFlow od Udacity.

Jak inżynier energetyk badał sieci neuronowe i recenzja bezpłatnego kursu „Udacity: Intro to TensorFlow for Deep Learning”

Wprowadzenie

Na początek warto zaznaczyć, że po 11 latach pracy w energetyce, kiedy już wiesz i potrafisz wszystko, a nawet trochę więcej (w ramach swoich obowiązków), uczenie się radykalnie nowych rzeczy – z jednej strony wywołuje ogromny entuzjazm, ale z drugiej - zamienia się w ból fizyczny "koła w głowie".

Nadal nie do końca rozumiem wszystkie podstawowe pojęcia z zakresu programowania i uczenia maszynowego, więc nie powinieneś mnie oceniać zbyt surowo. Mam nadzieję, że mój artykuł będzie interesujący i przydatny dla osób takich jak ja, którym daleko do tworzenia oprogramowania.

Zanim przejdę do przeglądu kursu, powiem, że aby go studiować, będziesz potrzebować przynajmniej minimalnej znajomości Pythona. Dla opornych możesz przeczytać kilka książek (ja też zacząłem chodzić na kurs Stepic, ale jeszcze go nie opanowałem do końca).

Sam kurs TensorFlow nie będzie zawierał skomplikowanych konstrukcji, ale konieczne będzie zrozumienie, dlaczego importuje się biblioteki, jak definiuje się funkcję i dlaczego coś jest w niej podstawiane.

Dlaczego TensorFlow i Udacity?

Głównym celem mojego szkolenia była chęć rozpoznawania zdjęć elementów instalacji elektrycznej za pomocą sieci neuronowych.

Wybrałem TensorFlow, ponieważ słyszałem o nim od znajomych. I z tego, co wiem, ten kurs jest dość popularny.

Próbowałem zacząć uczyć się od urzędnika instruktaż .

I wtedy napotkałem dwa problemy.

  • Materiałów edukacyjnych jest bardzo dużo i są one dostępne w różnych odmianach. Bardzo trudno było mi stworzyć choćby mniej lub bardziej pełny obraz rozwiązania problemu rozpoznawania obrazu.
  • Większość potrzebnych mi artykułów nie została przetłumaczona na język rosyjski. Tak się złożyło, że jako dziecko uczyłem się niemieckiego i teraz, jak wiele sowieckich dzieci, nie znam ani niemieckiego, ani angielskiego. Oczywiście przez całe dorosłe życie próbowałam opanować angielski, ale wyszło coś takiego jak na zdjęciu.

Jak inżynier energetyk badał sieci neuronowe i recenzja bezpłatnego kursu „Udacity: Intro to TensorFlow for Deep Learning”

Po przeszukaniu oficjalnej strony internetowej znalazłem zalecenia, które warto sprawdzić jeden z dwóch kursów on-line.

O ile rozumiem, kurs na Coursera był płatny i kurs Udacity: Wprowadzenie do TensorFlow do głębokiego uczenia się można było przejść „bezpłatnie, czyli za darmo”.

Zawartość kursu

Kurs składa się z 9 lekcji.

Pierwsza część ma charakter wprowadzający, w którym powiedzą ci, dlaczego jest to w zasadzie potrzebne.

Lekcja nr 2 okazała się moją ulubioną. Było to wystarczająco proste do zrozumienia i pokazania cudów nauki. W skrócie, w tej lekcji, oprócz podstawowych informacji o sieciach neuronowych, twórcy pokazują, jak wykorzystać jednowarstwową sieć neuronową do rozwiązania problemu przeliczania temperatury ze stopni Fahrenheita na Celsjusza.

To rzeczywiście bardzo wyraźny przykład. Nadal siedzę i myślę jak wymyślić i rozwiązać podobny problem, ale tylko dla elektryków.

Niestety zwlekałem dalej, bo nauczenie się niezrozumiałych rzeczy w obcym języku jest dość trudne. Uratowało mnie to, co znalazłem na Habré tłumaczenie tego kursu na język rosyjski.

Tłumaczenie zostało wykonane wysokiej jakości, przetłumaczono także notesy Colab, więc przyjrzałem się zarówno oryginałowi, jak i tłumaczeniu.

Lekcja nr 3 to tak naprawdę adaptacja materiałów z oficjalnego poradnika TensorFlow. W tym samouczku używamy wielowarstwowej sieci neuronowej, aby nauczyć się klasyfikować zdjęcia ubrań (zbiór danych Fashion MNIST).

Lekcje nr 4 do 7 są także adaptacją tutoriala. Ale ze względu na to, że są one poprawnie ułożone, nie ma potrzeby samodzielnego rozumienia sekwencji badań. Na tych lekcjach pokrótce dowiemy się o ultraprecyzyjnych sieciach neuronowych, jak zwiększyć dokładność uczenia i zapisać model. Jednocześnie rozwiążemy problem klasyfikacji kotów i psów na obrazie.

Lekcja nr 8 to zupełnie odrębny kurs, jest inny nauczyciel, a sam kurs jest dość rozbudowany. Lekcja dotyczy szeregów czasowych. Ponieważ jeszcze mnie to nie interesuje, zeskanowałem go po przekątnej.

Kończy się to lekcją nr 9, która jest zaproszeniem do wzięcia udziału w bezpłatnym kursie dotyczącym TensorFlow lite.

Co Ci się podobało, a co nie

Zacznę od zalet:

  • Kurs jest bezpłatny
  • Kurs jest na TensorFlow 2. Niektóre podręczniki, które widziałem i niektóre kursy w Internecie były na TensorFlow 1. Nie wiem, czy jest duża różnica, ale miło jest nauczyć się aktualnej wersji.
  • Nauczyciele w filmie nie denerwują (chociaż w wersji rosyjskiej nie czytają tak wesoło jak w oryginale)
  • Kurs nie zajmuje dużo czasu
  • Kurs nie sprawi, że poczujesz się smutny lub pozbawiony nadziei. Zadania na kursie są proste i zawsze jest podpowiedź w postaci Colabu z właściwym rozwiązaniem, jeśli coś jest niejasne (a dobra połowa zadań nie była dla mnie jasna)
  • Nie trzeba niczego instalować, całą pracę laboratoryjną kursu można wykonać w przeglądarce

Teraz minusy:

  • Praktycznie nie ma materiałów kontrolnych. Żadnych testów, żadnych zadań, niczego, co mogłoby w jakiś sposób sprawdzić opanowanie kursu
  • Nie wszystkie moje notatniki działały tak, jak powinny. Wydaje mi się, że na trzeciej lekcji autorskiego kursu języka angielskiego Colab wyrzucił błąd i nie wiedziałem, co z tym zrobić
  • Wygodne do oglądania tylko na komputerze. Może nie do końca to zrozumiałem, ale nie mogłem znaleźć aplikacji Udacity na swoim smartfonie. Wersja mobilna witryny nie jest responsywna, to znaczy menu nawigacyjne zajmuje prawie cały obszar ekranu, ale aby zobaczyć główną treść, należy przewinąć w prawo poza obszar wyświetlania. Nie można także oglądać wideo na telefonie. Na ekranie o przekątnej nieco ponad 6 cali tak naprawdę nic nie widać.
  • Niektóre rzeczy w trakcie kursu są przeżuwane kilka razy, ale jednocześnie naprawdę niezbędne rzeczy w samych sieciach splotowych nie są przeżuwane w trakcie. Nadal nie rozumiałem ogólnego celu niektórych ćwiczeń (na przykład, do czego służy Max Pooling).

Streszczenie

Z pewnością już się domyśliłeś, że cud się nie wydarzył. Po ukończeniu tego krótkiego kursu nie da się naprawdę zrozumieć, jak działają sieci neuronowe.

Oczywiście po tym nie byłem już w stanie samodzielnie rozwiązać swojego problemu z klasyfikacją zdjęć przełączników i przycisków w rozdzielnicach.

Ale ogólnie kurs jest przydatny. Pokazuje, co można zrobić za pomocą TensorFlow i jaki kierunek dalej obrać.

Myślę, że najpierw muszę nauczyć się podstaw Pythona i przeczytać książki w języku rosyjskim o działaniu sieci neuronowych, a następnie zająć się TensorFlow.

Podsumowując, chciałbym podziękować moim przyjaciołom za nakłonienie mnie do napisania pierwszego artykułu na temat Habr i pomoc w jego sformatowaniu.

PS Będzie mi miło poznać Wasze komentarze i konstruktywną krytykę.

Źródło: www.habr.com

Dodaj komentarz