Начало истории здесь.
Бесплатными знаниями всегда приятно воспользоваться, всего-то 4 встречи по часу-полтора, и со слов владельца айтишной школы, проводящей реалити, я стану экспертом по нейронкам.
Ну что ж, понеслась!
Работы колаба – это такой специальный он-лайн блокнот, который используют аналитики – хватало часа на два из-за большого веса данных. Сокращать выборку в 3000 фотографий было бы странным, да надо сказать и сама выборка была странной. Заказ со слов организаторов был реальный от производителя грузовых автомобилей, а фотографии для работы сделаны в леговых.
В тех задании было прописано, что нейронку необходимо создать для распознавания засыпающих и непристегнутых водителей. А на встрече нам озвучили 10 категорий: разговор по телефону справа/слева, нормальное вождение, пишет смс справа/слева, прическа и мейкап, радио, разговор с пассажиром, пьет/ест. Особенно прикольно для водителей грузовика звучит мейкап – такой рулил себе рулил и решил губы подкрасить? Как-то не по-русски это.
На втором собрании другие студенты радостно поделились своими достижениями: больше половины перешли за отметку точности в 99%. Я со своими 98,5% помалкивала. Уже после собрания выяснилось, что они не верно запускали модель обучения, по сути переучивая ее. Это как помните в школе были ученики, которые запоминали наизусть весь учебник, но не могли ответить на вопрос вне программы.
Между встречами мы пробовали разные нейронки, скорости обучения, разные размеры фото, количество слоев, бесконечно меняли параметры и даже пытались дообучить модели. К финалу мы выяснили, что зайца научить курить нельзя! Не возможно за две недели разобраться в алгоритмах нейросетей, особенно со слабым компьютером и бесплатным колабом.
От тимлида тоже толку не было никакого: обязанности он не распределял, задачи не ставил и выполнение не контролировал – эх, а я хотела получить опыт работы под опытным тимлидом, как его представили нам.
Итак, финал. Небольшое отступление:
Есть такое понятие в машинном обучении, как Random state, оно генерирует одинаковый набор тестов при разделении данные на тестовые и обучающие. И его надо всегда фиксировать, чтобы получать одинаковую разбивку, а не случайную. Есть общепринятые значения, которые указывают аналитики: 42, 123 и 1234.
Лучшей оказалась нейросеть с результатом 99,7%, где студент одно значение Random state поменял на другое. Ради интереса посчитала модель модель со значением, которое было изначально, и результат 98,5%. О чем это говорит, как вы думаете? Например в том же обучающем MNIST собрано 60000 изображений для распознавания рукописных цифр. А тут 3000 фото для распознавания 10 категорий.
И вишенка на торте: после окончания реалити нам предложили обучение со скидкой 50%. При стоимости курса обучения в 219.900 рублей (ох уж эти боги маркетинга). Мелким шрифтом на сатйе в договоре оферты написано, что договор вы расторгнуть можете, но через 30 дней после подписания договора вы получите 0%. Молодцы ребята, хорошо работают!