Як энергетык вывучаў нейрасеткі і агляд на бясплатны курс "Udacity: Intro to TensorFlow for Deep Learning"

Усё сваё свядомае жыццё, я быў энергетыкам (не, зараз гаворка не ідзе аб напоі з сумнеўнымі ўласцівасцямі).

Я ніколі асоба не цікавіўся мірам інфармацыйных тэхналогій, ды і нават матрыцы я ці наўрад на лісточку змагу перамножыць. Ды і не трэба мне гэта было ніколі, каб вы разумелі крыху пра спецыфіку маёй працы, магу падзяліцца выдатнай гісторыяй. Папрасіў я неяк маіх калегаў зрабіць працу ў Excel - табліцы, прайшла палова працоўнага дня, падыходжу да іх, а яны сядзяць і падсумоўваюць дадзеныя на калькулятары, так, на звычайным такім чорным калькулятары з кнопкамі. Ну і пра якія нейронавыя сеткі можа ісці гаворка пасля гэтага?.. Таму ніякіх адмысловых перадумоў да апускання ў свет IT у мяне ніколі не было. Але, як той казаў «добра там, дзе нас няма», мае сябры прагудзелі мне ўсе вушы аб дапоўненай рэальнасці, аб нейронавых сетках, аб мовах праграмавання (у асноўным пра Python).

На словах яно выглядала вельмі проста, і я вырашыў чаму б не асвоіць гэтае магічнае мастацтва, каб прымяніць у сваёй сферы дзейнасці.

У гэтым артыкуле я апушчу мае спробы асвоіць асновы Python і падзялюся з вамі сваім уражаннем ад бясплатнага курса па TensorFlow ад Udacity.

Як энергетык вывучаў нейрасеткі і агляд на бясплатны курс "Udacity: Intro to TensorFlow for Deep Learning"

Увядзенне

Для пачатку варта адзначыць, што пасля 11 гадоў у энергетыцы, калі ты ведаеш і можаш зрабіць усё і нават крышачку больш (па сваім коле абавязкаў), навучанне кардынальна новым рэчам - з аднаго боку выклікае бурны энтузіязм, але з другога - абарочваецца фізічным болем. шасцяронак у галаве».

Я да гэтага часу не да канца ўсведамляю ўсе базавыя канцэпцыі праграмавання і машыннага навучання, таму строга судзіць мяне не варта. Спадзяюся мой артыкул будзе цікавы і карысны такім жа, як я людзям – далёкім ад распрацоўкі праграмнага забеспячэння.

Перш чым перайсці да агляду курса, скажу, што для яго вывучэння спатрэбіцца хаця б мінімальнае веданне Python. Можна прачытаць пару кніжак для чайнікаў (я яшчэ пачаў праходзіць курс на Stepic, але да канца яго пакуль не асвоіў).

У самім курсе па TensorFlow не будзе складаных канструкцый, але разумець для чаго імпартуюцца бібліятэкі, як вызначаецца функцыя і чаму ў яе нешта падстаўляецца, будзе неабходна.

Чаму TensorFlow і Udacity?

Асноўнай мэтай майго навучання стала жаданне распазнаваць фатаграфіі элементаў электраўстановак з дапамогай нейронавых сетак.

TensorFlow я абраў, таму што чуў аб ім ад сваіх сяброў. І як я зразумеў, гэты курс дастаткова папулярны.

Я паспрабаваў пачаць вывучэнне з афіцыйнага цьютарыялу .

І тут жа сутыкнуўся з дзвюма праблемамі.

  • Навучальных матэрыялаў шмат, і яны ідуць у разнабой. Скласці хаця б больш-менш суцэльную карціну па рашэнні задачы распазнання малюнкаў, мне было вельмі цяжка.
  • Большасць патрэбных мне артыкулаў не перакладзена на рускую. Так ужо склалася, што ў дзяцінстве я вучыў нямецкую і цяпер, як і многія савецкія дзеці, не ведаю ні нямецкай, ні англійскай. Я, вядома, на працягу свядомага жыцця, стараўся асвоіць англійскую, але атрымалася прыкладна, як на малюнку.

Як энергетык вывучаў нейрасеткі і агляд на бясплатны курс "Udacity: Intro to TensorFlow for Deep Learning"

Пакапаўшыся яшчэ на афіцыйным сайце, я знайшоў рэкамендацыі прайсці адзін з двух on-line курсаў.

Як я зразумеў, курс на 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.

У зняволенні хочацца сказаць дзякуй маім сябрам за тое, што падштурхнулі напісаць першы артыкул на «Хабр» і дапамаглі яго аформіць.

PS Буду рады Вашым каментарам і любой канструктыўнай крытыцы.

Крыніца: habr.com

Дадаць каментар