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

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

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

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

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

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

въведение

Като начало си струва да отбележим, че след 11 години в енергетиката, когато знаеш и можеш всичко и дори малко повече (според отговорностите си), научаването на коренно нови неща - от една страна, предизвиква голям ентусиазъм, но от друга - се превръща във физическа болка "предавки в главата ми."

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

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

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

Защо TensorFlow и Udacity?

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

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

Опитах се да започна да се уча от длъжностното лице урок .

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

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

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

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

Доколкото разбирам, курсът на Coursera беше платен и курсът Udacity: Въведение в TensorFlow за дълбоко обучение беше възможно да се премине „безплатно, тоест за нищо“.

Съдържание на учебната дисциплина

Курсът се състои от 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.

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

PS Ще се радвам да видя вашите коментари и всякакви градивни критики.

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

Добавяне на нов коментар