Як енергетик вивчав нейромережі та огляд на безкоштовний курс «Udacity: Intro to Tensor

Все своє свідоме життя, я був енергетиком (ні, зараз не йдеться про напій із сумнівними властивостями).

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

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

У цій статті я опущу мої спроби освоїти ази Python і поділюся з вами своїм враженням від безкоштовного курсу TensorFlow від Udacity.

Як енергетик вивчав нейромережі та огляд на безкоштовний курс «Udacity: Intro to Tensor

Запровадження

Для початку варто відзначити, що після 11 років в енергетиці, коли ти знаєш і можеш зробити все і навіть трохи більше (за своїм колом обов'язків), навчання кардинально новим речам - з одного боку викликає бурхливий ентузіазм, але з іншого - обертається фізичним болем. шестерень у голові».

Я досі не до кінця усвідомлюю всі базові концепції програмування та машинного навчання, тому суворо судити мене не варто. Сподіваюся, моя стаття буде цікавою і корисною таким же, як я людям — далеким від розробки програмного забезпечення.

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

У самому курсі TensorFlow не буде складних конструкцій, але розуміти для чого імпортуються бібліотеки, як визначається функція і чому в неї щось підставляється, буде необхідно.

Чому TensorFlow та Udacity?

Основною метою мого навчання стало бажання розпізнавати фотографії елементів електроустановок за допомогою нейронних мереж.

TensorFlow я вибрав, тому що чув про нього від своїх друзів. І, як я зрозумів, цей курс досить популярний.

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

І одразу зіткнувся з двома проблемами.

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

Як енергетик вивчав нейромережі та огляд на безкоштовний курс «Udacity: Intro to Tensor

Покопавшись ще на офіційному сайті, я знайшов рекомендації пройти один із двох on-line курсів.

Як я зрозумів, курс Courcera був платним, а курс Інформація: 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

Додати коментар або відгук