Как енергетикът изучава невронни мрежи и преглед на безплатния курс „Udacity: Въведение в TensorFlow за дълбоко учене“

Цялата си съзнателна живот, аз бях енергетик (не, сега не става въпрос за напитка с съмнителни свойства).

Никога особено не се интересувах от света на информационните технологии и дори трудно бих могъл да умножа матрици на лист хартия. И никога не ми беше нужно, за да разберете малко за спецификата на моята работа, мога да споделя чудесна история. Поисках веднъж от колегите ми да направят работа в Excel – таблица, мина половината работен ден, приближавам се при тях, а те седят и сумаризират данни на калкулатор, да-да, на обикновен черен калкулатор с бутони. Какви невронни мрежи можем да обсъждаме след това?.. Затова никога не съм имал особени предпоставки да навляза в света на IT. Но, както се казва „добре е там, където ни няма“, приятелите ми ми насъбраха всичките уши за добавена реалност, невронни мрежи, езици за програмиране (предимно за Python).

На думи изглеждаше сравнително просто, и реших защо да не овладея това магическо изкуство, за да го приложа в своята сфера на дейност.

В тази статия ще пропусна моите опити да усвоя основите на Python и ще споделя впечатленията си от безплатния курс по TensorFlow от Udacity.

Как енергетикът изучава невронни мрежи и преглед на безплатния курс „Udacity: Въведение в TensorFlow за дълбоко учене“

Въведение

На първо място, след 11 години в енергетиката, когато знаеш и можеш да направиш всичко и дори малко повече (според своите задължения), обучението в напълно нови неща – от една страна предизвиква бурен ентусиазъм, но от друга – се оказва физическа болка за „зъбците в главата“.

Все още не до край осъзнавам всички основни концепции на програмирането и машинното обучение, затова не следва да ме съдите строго. Надявам се статията ми да бъде интересна и полезна и за такива, като мен – далечни от разработването на софтуер.

Преди да премина към прегледа на курса, искам да кажа, че за изучаването му е нужно поне минимално познаване на Python. Може да прочетете няколко книги за начинаещи (аз също започнах курс на Stepic, но още не съм го усвоил напълно).

В самия курс по TensorFlow няма да има сложни конструкции, но ще бъде необходимо да разбирате защо се импортват библиотеки, как се определя функция и защо в нея нещо се подменя.

Защо TensorFlow и Udacity?

Основната цел на обучението ми беше желанието да разпознавам снимки на елементи от електрически инсталации с помощта на невронни мрежи.

Избрах TensorFlow, защото чух за него от приятелите си. И както разбрах, този курс е доста популярен.

Опитах се да започна с официалния тьюториал .

И веднага се сблъсках с два проблема.

  • Обучителните материали са много и са разпокъсани. Беше ми много трудно да изградя поне донякъде цялостна представа за решаването на задачата за разпознаване на изображения.
  • Повечето от необходимите ми статии не са преведени на руски. Така се случи, че в детството учех немски и сега, както много съветски деца, не знам нито немски, нито английски. Разбира се, през съзнателния си живот съм се опитвал да усвоя английския, но е постигнато нещо в стил "както на картинката".

Как енергетикът изучава невронни мрежи и преглед на безплатния курс „Udacity: Въведение в TensorFlow за дълбоко учене“

Разрових се още на официалния сайт и намерих препоръки да премина един от двата онлайн курса.

Както разбрах, курсът на Courcera е платен, а курсът Udacity: Intro to TensorFlow for Deep Learning можеше да се премине "безплатно, т.е. даром".

Съдържание на курса

Курсът се състои от 9 урока.

Първата секция е въведителна, там ще разкажат за какво изобщо е нужен.

Урок № 2 се оказа мой любим. Той беше достатъчно прост, за да може да бъде разбран, а също така демонстрира чудеса на науката. Накратко, в този урок, освен основни сведения за невронните мрежи, създателите демонстрират как с помощта на еднослойна невронна мрежа да се реши задачата за преобразуване на температурата от градуси Фаренхайт в градуси Целзий.

Това е наистина много нагледен пример. Все още седя и обмислям как да измисля и реша аналогична задача, но само за електрически.

За съжаление, по-нататък се заковах, защото ученето на неразбираеми неща на непознат език е доста трудно. Спасението ми дойде от това, че намерих на Хабра превод на този курс на руски език.

Преводът е направен качествено, тетрадките на Colab също са преведени, затова продължавах да надниквам и в оригинала, и в превода.

Урок №3 – това е по същество пренос на материалите от официалния тюториал на TensorFlow. В този урок с помощта на многослойна невронна мрежа учим да класифицираме картинки с дрехи (набор от данни Fashion MNIST).

Уроките от №4 до №7 също представляват адаптация на туториала. Но заради добре организираната им структура, няма нужда да се разбира в последователността на изучаването. В тези уроци ще ни разкажат накратко за свръхточните невронни мрежи, как да повишим точността на обучението и да запазим модела. В същото време ще решаваме задачата за класификация на котки и кучета на изображение.

Урок №8 е напълно отделен курс, има друг преподавател и самият курс е доста обемист. Урокът е посветен на времеви редове. Тъй като това в момента не ме интересува, прегледах го бегло.

Завършващ е урок №9, който е покана да преминете безплатен курс по TensorFlow Lite.

Какво ми хареса и какво не

Ще започна с плюсовете:

  • Курсът е безплатен
  • Курсът е по TensorFlow 2. Някои учебници, които съм виждал, и някои онлайн курсове бяха по TensorFlow 1. Не знам дали има голяма разлика, но е приятно да се учи актуалната версия.
  • Преподавателите на видеото не дразнят (въпреки че в руската версия четат не толкова бодро, колкото в оригинала)
  • Курсът не отнема много време
  • Курсът не предизвиква чувство на тъга и безнадеждност. Задачите в курса са прости и винаги има подсказка под формата на Colab с правилно решение, ако нещо не е ясно (а за мен беше неясна добра част от задачите)
  • Не е нужно да инсталирате нищо, всички лабораторни работи в курса могат да бъдат направени в браузъра

Сега минусите:

  • Практически няма никакви контролни материали. Нито тестове, нито задачи, нищо, с което да проверите усвоеното от курса
  • Не всички мои тетрадки работеха, както трябва. Смятам, че в третия урок на оригиналния курс на английски Colab излизаше грешка и не знаех какво да правя с нея
  • Удобно е да гледате само на компютър. Може би не съм се справил напълно, но не намерих приложението Udacity на своя смартфон. А мобилната версия на сайта не е адаптивна, т.е. почти цялата площ на екрана заема навигационното меню, но за да видите основното съдържание, трябва да превъртате наляво извън видимата част. Също така, видеото не може да се гледа на телефона. На екран с размери около 6 инча не може да се види нищо смислено.
  • Някои неща в курса се обясняват по няколко пъти, но наистина важните неща относно свързващите мрежи не се разясняват. Все още не разбрах глобалната цел на част от упражненията (например, за какво е нужно Max Pooling).

Резюме

Сигурно вече сте се досетили, че чудо не се е случило. И след завършването на този кратък курс, е невъзможно наистина да разберете как работят невронните мрежи.

Разбира се, не успях самостоятелно след това да реша задачата си с класификация на снимки на превключватели и бутоните в разпределителните устройства.

Но като цяло курсът е полезен. Той показва какви неща можете да направите с TensorFlow и в каква посока да се движите нататък.

Мисля, че за начало трябва да науча основите на Python и да прочета книги на български за това как работят невронните мрежи, а след това вече да се захвана с TensorFlow.

В заключение искам да благодаря на моите приятели за това, че ме подсетиха да напиша първата статия в 'Хабр' и ми помогнаха с оформлението ѝ.

P.S. Ще се радвам на Вашите коментари и на всяка конструктивна критика.

Източник: habr.com

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster