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

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

Никога не съм се интересувал особено от света на информационните технологии, дори трудно бих могъл да умножа матрици на лист хартия. И никога не ми е било нужно да разбера това, за да добиете представа за спецификата на работата ми, мога да споделя една чудесна история. Някога помолих колегите си да направят работа в Excel – таблица, мина половин ден, отивам при тях, а те седят и сумират данни на калкулатор – да, да, на обикновен черен калкулатор с бутончета. И какви невронни мрежи можем да обсъждаме след това?.. Затова никога не съм имал особени предпоставки за потапяне в IT света. Но, както се казва, „добре е там, където ни няма“, моите приятели ми натрапиха всичко за разширената реалност, невронните мрежи, езиците за програмиране (предимно за 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.

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

P.S. Бих се радвал на вашите коментари и на всякаква конструктивна критика.

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

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