Ods habrahabr: Открытый курс машинного обучения. Тема 1. Первичный анализ данных с Pandas

Содержание

Open Data Science, Москва — Крупнейшее русскоязычное Data Science сообщество / Статьи / Хабр

Недавно завершился «Deep Learning in Natural Language Processing», открытый образовательный курс по обработке естественного языка. По традиции кураторы курса — сотрудники проекта DeepPavlov, открытой библиотеки для разговорного искусственного интеллекта, которую разрабатывают в лаборатории нейронных систем и глубокого обучения МФТИ. Курс проводился при информационной поддержке сообщества Open Data Science. Если нужно больше деталей по формату курса, то вам сюда. Один из ключевых элементов «DL in NLP» — это возможность почувствовать себя исследователем и реализовать собственный проект.

Периодически мы рассказываем на Medium о проектах, которые участники создают в рамках наших образовательных программ, например о том, как построить разговорного оракула. Сегодня мы готовы поделиться итогами весеннего семестрового курса 2020 года.

Немного данных и аналитики


В этом году мы побили все рекорды по численности курса: в начале февраля записавшихся было около 800 человек.
Скажем честно, мы не были готовы к такому количеству участников, поэтому многие моменты придумывали на ходу вместе с ними. Но об этом мы напишем в следующий раз.

Вернемся к участникам. Неужели все окончили курс? Ответ, конечно, очевиден. С каждым новым заданием желающих становилось все меньше и меньше. Как итог — то ли из-за карантина, то ли по другим причинам, но к середине курса осталась только половина. Ну что ж, а дальше пришлось определяться с проектами. В качестве итоговых участниками было заявлено семьдесят работ. А самый популярный проект — Tweet sentiment extraction — девятнадцать команд пытались выполнить задание на Kaggle.

Подробнее про представленные проекты


На прошлой неделе мы провели заключительное занятие курса, где несколько команд представили свои проекты. Если вы пропустили открытый семинар, то мы подготовили запись.
А ниже мы постараемся кратко описать реализованные кейсы.

Открытый курс «Deep Learning на пальцах» / Блог компании Open Data Science / Хабр

После 18-го февраля начнется открытый и бесплатный курс «Deep Learning на пальцах».

Курс предназначен для того, чтобы разобраться с современным deep learning с нуля, и не требует знаний ни нейросетей, ни machine learning вообще. Лекции стримами на Youtube, задания на Питоне, обсуждения и помощь в лучших русскоязычных DS-сообществах — ODS.ai и ClosedCircles.

После него вы не станете экспертом, но поймете про что все это, сможете применять DL на практике и будете способны разбираться дальше сами. Ну, в лучшем случае.

Одновременно и в том же объеме курс будет читаться для магистрантов Новосибирского Государственного Университета, а также студентов CS центра Новосибирска.

Выглядеть объяснение на пальцах будет примерно так:

Главная ссылка — dlcourse.ai. Подробности ниже.


Все началось с того, что один из бывших научных руководителей в очередной раз приехал в гости, и я спросил как у них дела с машинным обучением на родной кафедре НГУ. Оказалось, что они уже несколько лет ищут преподавателя и не могут найти. Я в шутку сказал, что в принципе могу, но придется устраивать телемост в Новосибирск из Кремниевой Долины.

Слово за слово, в следующем учебном году студенты кафедры приходили в аудиторию, и им там включали на прожекторе Youtube стрим. Они задавали вопросы, я отвечал с 5-секундной задержкой и вообще, будущее наступило. Огромное спасибо кафедре АФТИ ФФ НГУ и Юре Бабурову (buriy), который вел семинары!

Ну а если делать в 2019 году университетский курс на энтузиазме, то надо чтобы его материалы были открыты и доступны всем.

Тем более, когда я начинал это делать, на английском уже были прекрасные курсы о Deep Learning — и CS231n от Стенфорда и Andrej Karpathy, и fast.ai от Jeremy Howard. Про классический ML на русском есть отличный mlcourse.ai от yorko и ODS-братии, а про DL на русском полного комплекта (лекции, задания и живое место обсуждений) — я не нашел.

Сейчас, кстати, многие делают и выкладывают курсы про Deep Learning, и это замечательно. Если получится быть хоть какое-то время бейзлайном для других курсов — для меня это уже успех.


Что вообще надо для полноценного курса? По мне — лекции, задания, и место для обсуждений и вопросов.

Лекции — будут стримами на Youtube каждую неделю, чтобы можно было задавать вопросы по ходу и потом.
Задания — будут выкладываться на github, все на Питоне в ноутбуках.
Для выполнения заданий иметь свой GPU необязательно — спасибо компании Google за Google Colab!

Место обсуждений — канал #dlcourse_ai в слаке ODS.ai и #dlcourse на ClosedCircles.

Еще мы в курсе попросим вас написать пост о какой-то современной статье и поучаствовать в актуальном соревновании по машинному обучению.


Как попасть в ODS

Доступ в ODS дается по инвайтам, но если вы в заявке укажете, что вы насчет курса dlcourse.ai, ваши шансы резко возрастут. Одновременно это уверенно отвечает на вопрос «чем этот курс лучше других».

Примерную программу можно посмотреть в варианте прошлого года, про который был пост на Хабре — https://habr.com/ru/post/414165/

TL;DR


  • Основы deep learning до формул, математики и основного метода тренировки.
  • Использование современных библиотек на примере PyTorch.
  • Применение к основным доменам — компьютерному зрению, обработке текста и звука, обучению с подкреплением.
  • Краткий обзор современного состояния.

Три вещи!
Для каждой будет приложена проверочная картинка — если она вас не испугала, то вы в деле.

Немного питона:

Немного линейной алгебры:

Немного матанализа:

Если какая-то из картинок все же пугает, вот хороший список вариантов что с этим делать — https://vk.com/mlcourse?w=wall-158557357_3.



А ты правда продюсер? Да, я правда продюсер.

Лекции буду читать в основном я, но планируются и гостевые лекции от известных в узких кругах специалистов.
На всякий случай два слова обо мне — меня зовут Семен Козлов, я живу в Долине, руковожу машинным обучением в стартапе Instrumental, раньше работал в machine learning team в Dropbox. Еще раньше я занимался компьютерной графикой, делал игры, и помогал deep learning тем, что давал видеокартам причину существовать.

С остальным помогают:


  • Юрий Бабуров, специалист по анализу текста и распознаванию речи
  • Павел Петроченко и Денис Денисенко из OnPositive
  • Максим Вахрушев и Кирилл Бродт из CS-Центра Новосибирска
  • Александр Гончаренко из Expasoft
  • Лена Бручес из 2gis
  • Гостевые лекторы — пока не спойлю кто!
  • Вся тусовка ODS, помогающая собирать материал для лекций.

Еще мне жуть как помогает жена, поддерживая и освобождая время. Готовить все это — какое-то безумное количество усилий.


На dlcourse.ai можно записаться на аносы в почте или в Telegram-группе.
Первая лекция — уже через две недели, после 18-го февраля.
Если вы давно собирались разобраться с этим всеми нейросетями — вот он, шанс!

А еще — если у нас все получится, то неминуемо все курсы всех университетов будут вестись именно так. Поборемся за прекрасное будущее!

time series analysis and db

https://news.ycombinator.com/item?id=16230464

Prophet. По сути, это additive regression model, состоящая из следующих компонент:

y(t)=g(t)+s(t)+h(t)+ϵt


  1. Сезонные компоненты s(t) отвечают за моделирование периодических изменений, связанных с недельной и годовой сезонностью. Недельная сезонность моделируется с помощью dummy variables. Добавляются 6 дополнительных признаков, например, [monday, tuesday, wednesday, thursday, friday, saturday], которые принимают значения 0 и 1 в зависимости от даты. Признак sunday, соответствующий седьмому дню недели, не добавляют, потому что он будут линейно зависеть от других дней недели и это будет влиять на модель.
    Годовая же сезонность моделируется рядами Фурье.
  2. Тренд g(t) — это кусочно-линейная или логистическая функция.
    С линейной функцией все понятно. Логистическая же функция вида g(t)=C1+exp(−k(t−b)) позволяет моделировать рост с насыщением, когда при увеличении показателя снижается темп его роста. Типичный пример — это рост аудитории приложения или сайта.
    Кроме всего прочего, библиотека умеет по историческим данным выбирать оптимальные точки изменения тренда. Но их также можно задать и вручную (например, если известны даты релизов новой функциональности, которые сильно повлияли на ключевые показатели).
  3. Компонента h(t) отвечает за заданные пользователем аномальные дни, в том числе и нерегулярные, такие как, например, Black Fridays.
  4. Ошибка ϵt содержит информацию, которая не учтена моделью.

Подробнее про алгоритмы можно прочитать в публикации Sean J. Taylor, Benjamin Letham «Forecasting at scale»

.

Databases

http://www.vldb.org/pvldb/vol8/p1816-teller.pdf

http://misfra.me/state-of-the-state-part-iii

Anomaly detection

http://www.autonlab.org/tutorials/biosurv. html

Linear algebra and linear regression

Регуляризация

Сложный функционал содержит регуляризацию, которая обычно представлена в виде дополнительного регуляризационного слагаемого: min ℒ(b) + λ ℱ(b), где ℒ(b) — функция потерь, ℱ(b) — регуляризационная функция, λ — параметр, задающий степень влияния регуляризации.
Регуляризация предназначена для регулирования сложности модели и ее целью является упрощение модели. Это, в частности, помогает бороться с переобучением и позволяет увеличить обобщающую способность модели.

Типичные примеры регуляризационных функций:
1. L1 = ∑ |b|
Известная как LASSO-регуляризация (Least Absolute Shrinkage and Selection Operator), и, как несложно догадаться из названия, она позволяет снижать размерность коэффициентов, обращая некоторые из них в нули. И это весьма удобно, когда исходные данные сильно коррелированы.

2. L2 = ∑ |b|2
Иногда ее называют ridge-регуляризацией, и она позволяет минимизировать значения коэффициентов модели, а заодно сделать ее робастной к незначительным изменениям исходных данных. А еще она хорошо дифференцируется, а значит модель можно рассчитать аналитически.

3. LEN = α L1 + (1 — α) L2
Совмещая LASSO и ridge, получаем ElasticNet, которая объединяет два мира со всеми их плюсами и минусами.

4. LN = ∑ E [A(b, Ž)] — A(b,X), где А — log partition функция
Введя новую переменную вида Ž = X + ℥, где  — случайная величина, мы фактически добавляем в исходные данные случайный шум, что очевидным образом помогает бороться с переобучением.
Для самой простой линейной регрессии введение аддитивного шума идентично L2-регуляризации, но для других моделей аддитивный шум может давать очень интересный результат. Например, в логистической регресии он по сути штрафует за предсказания близкие к 1/2 (проще говоря, поощряет категоричность предсказаний и наказывает за неопределенность).

5. Dropout
Еще один хитрый подход, активно применяемый в нейронных сетях. Введем новую переменную вида Ž = X * ℥, где  — вектор Бернуллевских случайных величин длиной d. Проще говоря, мы случайным образом выбираем некоторое подмножество факторов Х и строим модель по ним, а потом выбираем такую модель, которая меньше всех зависит от этой случайности.
Для самой простой линейной регрессии dropout снова аналогичен L2-регуляризации. А вот, например, в логистической регрессии он позволяет учитывает влияние редких, но весьма характерных факторов (проще говоря, для некоторых очень маленьких Xij он будет подбирать большие коэффициенты bj, тем самым повышая их влияние на результат.

Этим, конечно, доступные виды регуляризации не ограничиваются. Хотя для линейных моделей редко требуется что-то большее.

что предлагает «Место» — сообщество стартапов и инвесторов от Николая Давыдова и Андрея Дороничева — Карьера на vc.ru

Авторы идеи верят, что для запуска проекта и поиска партнёров не обязательно ехать в Кремниевую долину. Но первые участники сомневаются, что концепция останется эффективной в чатах на тысячи человек.

{«id»:132066,»url»:»https:\/\/vc.ru\/hr\/132066-virtualnaya-dolina-chto-predlagaet-mesto-soobshchestvo-startapov-i-investorov-ot-nikolaya-davydova-i-andreya-doronicheva»,»title»:»\u00ab\u0412\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0430\u044f \u0414\u043e\u043b\u0438\u043d\u0430\u00bb: \u0447\u0442\u043e \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 \u00ab\u041c\u0435\u0441\u0442\u043e\u00bb \u2014 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e \u0441\u0442\u0430\u0440\u0442\u0430\u043f\u043e\u0432 \u0438 \u0438\u043d\u0432\u0435\u0441\u0442\u043e\u0440\u043e\u0432 \u043e\u0442 \u041d\u0438\u043a\u043e\u043b\u0430\u044f \u0414\u0430\u0432\u044b\u0434\u043e\u0432\u0430 \u0438 \u0410\u043d\u0434\u0440\u0435\u044f \u0414\u043e\u0440\u043e\u043d\u0438\u0447\u0435\u0432\u0430″,»services»:{«facebook»:{«url»:»https:\/\/www. facebook.com\/sharer\/sharer.php?u=https:\/\/vc.ru\/hr\/132066-virtualnaya-dolina-chto-predlagaet-mesto-soobshchestvo-startapov-i-investorov-ot-nikolaya-davydova-i-andreya-doronicheva»,»short_name»:»FB»,»title»:»Facebook»,»width»:600,»height»:450},»vkontakte»:{«url»:»https:\/\/vk.com\/share.php?url=https:\/\/vc.ru\/hr\/132066-virtualnaya-dolina-chto-predlagaet-mesto-soobshchestvo-startapov-i-investorov-ot-nikolaya-davydova-i-andreya-doronicheva&title=\u00ab\u0412\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0430\u044f \u0414\u043e\u043b\u0438\u043d\u0430\u00bb: \u0447\u0442\u043e \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 \u00ab\u041c\u0435\u0441\u0442\u043e\u00bb \u2014 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e \u0441\u0442\u0430\u0440\u0442\u0430\u043f\u043e\u0432 \u0438 \u0438\u043d\u0432\u0435\u0441\u0442\u043e\u0440\u043e\u0432 \u043e\u0442 \u041d\u0438\u043a\u043e\u043b\u0430\u044f \u0414\u0430\u0432\u044b\u0434\u043e\u0432\u0430 \u0438 \u0410\u043d\u0434\u0440\u0435\u044f \u0414\u043e\u0440\u043e\u043d\u0438\u0447\u0435\u0432\u0430″,»short_name»:»VK»,»title»:»\u0412\u041a\u043e\u043d\u0442\u0430\u043a\u0442\u0435″,»width»:600,»height»:450},»twitter»:{«url»:»https:\/\/twitter. com\/intent\/tweet?url=https:\/\/vc.ru\/hr\/132066-virtualnaya-dolina-chto-predlagaet-mesto-soobshchestvo-startapov-i-investorov-ot-nikolaya-davydova-i-andreya-doronicheva&text=\u00ab\u0412\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0430\u044f \u0414\u043e\u043b\u0438\u043d\u0430\u00bb: \u0447\u0442\u043e \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 \u00ab\u041c\u0435\u0441\u0442\u043e\u00bb \u2014 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e \u0441\u0442\u0430\u0440\u0442\u0430\u043f\u043e\u0432 \u0438 \u0438\u043d\u0432\u0435\u0441\u0442\u043e\u0440\u043e\u0432 \u043e\u0442 \u041d\u0438\u043a\u043e\u043b\u0430\u044f \u0414\u0430\u0432\u044b\u0434\u043e\u0432\u0430 \u0438 \u0410\u043d\u0434\u0440\u0435\u044f \u0414\u043e\u0440\u043e\u043d\u0438\u0447\u0435\u0432\u0430″,»short_name»:»TW»,»title»:»Twitter»,»width»:600,»height»:450},»telegram»:{«url»:»tg:\/\/msg_url?url=https:\/\/vc.ru\/hr\/132066-virtualnaya-dolina-chto-predlagaet-mesto-soobshchestvo-startapov-i-investorov-ot-nikolaya-davydova-i-andreya-doronicheva&text=\u00ab\u0412\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0430\u044f \u0414\u043e\u043b\u0438\u043d\u0430\u00bb: \u0447\u0442\u043e \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 \u00ab\u041c\u0435\u0441\u0442\u043e\u00bb \u2014 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e \u0441\u0442\u0430\u0440\u0442\u0430\u043f\u043e\u0432 \u0438 \u0438\u043d\u0432\u0435\u0441\u0442\u043e\u0440\u043e\u0432 \u043e\u0442 \u041d\u0438\u043a\u043e\u043b\u0430\u044f \u0414\u0430\u0432\u044b\u0434\u043e\u0432\u0430 \u0438 \u0410\u043d\u0434\u0440\u0435\u044f \u0414\u043e\u0440\u043e\u043d\u0438\u0447\u0435\u0432\u0430″,»short_name»:»TG»,»title»:»Telegram»,»width»:600,»height»:450},»odnoklassniki»:{«url»:»http:\/\/connect. ok.ru\/dk?st.cmd=WidgetSharePreview&service=odnoklassniki&st.shareUrl=https:\/\/vc.ru\/hr\/132066-virtualnaya-dolina-chto-predlagaet-mesto-soobshchestvo-startapov-i-investorov-ot-nikolaya-davydova-i-andreya-doronicheva»,»short_name»:»OK»,»title»:»\u041e\u0434\u043d\u043e\u043a\u043b\u0430\u0441\u0441\u043d\u0438\u043a\u0438″,»width»:600,»height»:450},»email»:{«url»:»mailto:?subject=\u00ab\u0412\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0430\u044f \u0414\u043e\u043b\u0438\u043d\u0430\u00bb: \u0447\u0442\u043e \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 \u00ab\u041c\u0435\u0441\u0442\u043e\u00bb \u2014 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e \u0441\u0442\u0430\u0440\u0442\u0430\u043f\u043e\u0432 \u0438 \u0438\u043d\u0432\u0435\u0441\u0442\u043e\u0440\u043e\u0432 \u043e\u0442 \u041d\u0438\u043a\u043e\u043b\u0430\u044f \u0414\u0430\u0432\u044b\u0434\u043e\u0432\u0430 \u0438 \u0410\u043d\u0434\u0440\u0435\u044f \u0414\u043e\u0440\u043e\u043d\u0438\u0447\u0435\u0432\u0430&body=https:\/\/vc. ru\/hr\/132066-virtualnaya-dolina-chto-predlagaet-mesto-soobshchestvo-startapov-i-investorov-ot-nikolaya-davydova-i-andreya-doronicheva»,»short_name»:»Email»,»title»:»\u041e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043d\u0430 \u043f\u043e\u0447\u0442\u0443″,»width»:600,»height»:450}},»isFavorited»:false}

26 400 просмотров

13 мая директор по продуктам Google Андрей Дороничев и сооснователь венчурного фонда Gagarin Capital Николай Давыдов анонсировали проект «Место» — сообщество для предпринимателей, инвесторов и стартапов.

За месяц команда проекта получила 13 тысяч заявок. 5 июня состоялся тестовый запуск, и доступ получили первые 100 человек, но организаторы обещают, что до начала июля пригласят и остальных. В сообщество уже вступили основатели фонда Brothers Venture Даниил и Давид Либерманы и создатель образовательного стартапа U Skillz Дмитрий Фалалеев.

Однако первые участники уже опасаются, что «Место» станет неудобным, когда в нём соберутся тысячи человек. Основатели рассказали vc.ru, как собираются решать эту проблему, как сейчас устроено сообщество и что получат его участники.

Так могут выглядеть рекламные плакаты «Места» Skam

Как появилась идея проекта

Идея проекта возникла у Дороничева после фильма Юрия Дудя о Кремниевой долине. Ему написали тысячи зрителей, «мечтающих найти своих и создавать что-то большое». И Дороничев решил сделать площадку, где они могли бы объединиться.

Прототипом «Места» стал пост предпринимателя в Instagram, в котором он рассказал, как правильно работать с идеями, чтобы они воплотились в жизнь, и предложил подписчикам поделиться своими идеями.

Дороничев рассказал о проекте Давыдову, и тот согласился, что нужно перезнакомить всех, кто предлагает идеи, чтобы они нашли инвесторов и экспертов.

Мне кажется, «Место» может получиться очень классной штукой, нужной людям.

В «Месте» смогут собираться люди с идеями, знаниями, руками и деньгами, делиться и создавать другие классные штуки. Такая виртуальная Долина.

Николай Давыдов

сооснователь Gagarin Capital

После обсуждения поста Дороничева к команде присоединилась генеральный директор коммуникационного агентства Blue Ocean Bureau Яна Белова. В комментариях она рассказала, что тоже мечтает собирать в онлайне людей, чтобы создавать новые продукты и «собираться по вечерам на виртуальной кухне».

Мы хотим создать для участников среду, которая будет формировать новое поколение русскоязычных предпринимателей. Она основана на взаимопомощи — это фундаментальная ценность «Места».

Если вы приедете в Долину, увидите такую же экосистему взаимопомощи, где сооснователи Airbnb приходят на встречи Y Combinator и читают лекции.

Мы хотим показать, что необязательно ехать в Долину, достаточно попасть в среду, где принято общаться и взаимодействовать, как в Долине. И вложившись в среду, мы пожнём плоды.

Андрей Дороничев

директор по продуктам в Google

Дороничев надеется, что в результате работы сообщества через 5–10 лет будут созданы успешные продукты и глобальные компании, такие как Miro — российский сервис, который позволяет командам удалённо обсуждать идеи и визуализировать их с помощью эскизов и схем. Сервисом пользуются Netflix, Twitter, Airbnb, Cisco, Skyscanner, а в апреле 2020 года стартап привлёк $50 млн от фонда Iconiq Capital, который управляет капиталами основателя Facebook Марка Цукерберга и главы Twitter и Square Джека Дорси.

{«url»:»https:\/\/booster.osnova.io\/a\/relevant?site=vc»,»place»:»between_entry_blocks»,»site»:»vc»,»settings»:{«modes»:{«externalLink»:{«buttonLabels»:[«\u0423\u0437\u043d\u0430\u0442\u044c»,»\u0427\u0438\u0442\u0430\u0442\u044c»,»\u041d\u0430\u0447\u0430\u0442\u044c»,»\u0417\u0430\u043a\u0430\u0437\u0430\u0442\u044c»,»\u041a\u0443\u043f\u0438\u0442\u044c»,»\u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c»,»\u0421\u043a\u0430\u0447\u0430\u0442\u044c»,»\u041f\u0435\u0440\u0435\u0439\u0442\u0438″]}},»deviceList»:{«desktop»:»\u0414\u0435\u0441\u043a\u0442\u043e\u043f»,»smartphone»:»\u0421\u043c\u0430\u0440\u0442\u0444\u043e\u043d\u044b»,»tablet»:»\u041f\u043b\u0430\u043d\u0448\u0435\u0442\u044b»}},»isModerator»:false}

«Если мы создадим такие компании за счёт того, что люди будут помогать друг другу, то это будет успех», — считает Дороничев.

Как устроено сообщество

Чтобы стать участником, нужно подать заявку на сайте «Места». Волонтёры проекта проверяют анкету и высылают участнику на почту письмо со ссылкой для входа в сообщество. Оно работает на платформе мессенджера Openland.

Анкета участника проекта

Больше всего заявок приходит от предпринимателей, которые хотят создавать продукты в сфере здорового образа жизни, медицины, образования, воспитания детей и социальных услуг, рассказала vc.ru Белова.

Большинство желающих вступить в сообщество — это люди, у которых нет большого опыта в бизнесе, но они знают, чего хотят, понимают проблему и у них есть идея, отмечает Белова. Есть и те, кто хочет прорекламировать свой продукт в сообществе, найти клиентов или сотрудников. Такие анкеты команда не принимает.

Но среди первых участников есть и известные специалисты, например, бывший директор по продукту в Skyeng Михаил Карпов, основатели фонда Brothers Venture Даниил и Давид Либерманы, основатель U Skillz Дмитрий Фалалеев, основатель digital-агентства Smetana Андрей Бузина.

Члены сообщества могут переписываться в нескольких тематических каналах:

  • Welcome — здесь знакомятся и рассказывают о себе.
  • Ideas — здесь обсуждают идеи, например, предлагают создать коливинги для стартап-команд и интерактивные базы знаний для старта карьеры.
  • NeedHelp — в этом чате любой может предложить присоединиться к проекту, попросить дать обратную связь по своим презентациям для инвесторов, помочь с нужными контактами.
  • CanHelp — канал для поиска тех, кто готов помочь советом или делом в разработке и развитии стартапов, помочь как юрист или специалист в профильной области знаний, например, производстве автомобилей.
  • News — в этом канале появляется важная информация, полезные ссылки, новости и анонсы мероприятий.
  • Kitchen — чат для неформального общения.

Участники будут встречаться на онлайн-квартирниках (неформальных встречах), онлайн-питчах идей и лекциях инвесторов и менторов. Например, на первой неделе после тестового запуска генеральный директор PandaDoc Никита Микадо поговорит о том, как продать идею инвесторам. Год назад его сервис привлёк $10 млн инвестиций.

Как основатели хотят превратить сообщество в «виртуальную Долину»

На запуск «Места» основатели потратили $300. Проект некоммерческий, он не связан ни с Gagarin Capital, ни с Google и будет развиваться на волонтёрских началах, говорит Давыдов.

Основатели собираются создать в сообществе такую же среду, в которой живут сами в Долине. Но они не хотят быть «главными», называют себя «со-создателями» и надеются, что каждый новый участник будет наравне с ними влиять на развитие проекта.

«Все сотрудники в этой компании волонтёры, а руководителей нет, потому что они не нужны — все и так на одной волне и понимают, зачем и что делают», — поделилась в Telegram-канале сообщества Белова.

Основатели хотят поддерживать среду взаимопомощи, продвигая несколько принципов общения, которые они считают основными в предпринимательской среде Кремниевой долины. Они звучат так: «Мы создаём. Мы помогаем. Мы доверяем. Мы делимся». Каждый более подробно расписан на сайте «Места».

Создатели рассказывают о них первым участникам и надеются, что те будут соблюдать их и продвигать среди новых членов сообщества.

Принципы сообщества

Основатели хотят в будущем отсеивать тех, кто будет нарушать принципы общения. Но пока, по их словам, сообщество не нужно активно модерировать — все и так общаютя в соответствии с его правилами и ценностями. Дороничев верит, что так будет и дальше: тех, кто будет неэтичным, участники быстро выявят и забанят.

Если участник после Zoom-встречи резковато шутит, что за спиной у спикера не хватало брендированного ковра, ребята из сообщества сами подключаются — с предложением шутить так, чтобы это звучало не обидно, или написать с предложением забрендировать канал или сделать мерч. Даже если бы модераторы хотели отреагировать, они бы не успели.

Яна Белова

генеральный директор Blue Ocean Bureau

Однако на первой неформальной онлайн-встрече с основателями участники высказали опасения насчёт развития проекта. Они боятся, что все нужные идеи и люди будут теряться в ленте сообщений, когда в сообществе будет 13 тысяч человек. Как тогда регулировать общение и поддерживать среду взаимопомощи, основатели пока не знают.

Они хотят решить эту проблему с помощью участников. Белова собирается создать канал, в котором они будут обсуждать, чего не хватает в «Месте» и как его можно улучшить, будут голосовать за удачные идеи и сами создавать необходимые инструменты и дополнительные сервисы.

При этом в каждом канале появится своя инициативная группа, которая будет его вести и придумывать мероприятия, надеется она.

На встрече у участников появился ещё один вопрос. Они не поняли, будет ли кто-то оценивать участников и модерировать идеи. У основателей не было ответа, и Дороничев предложил создать ещё один канал, чтобы обсудить эту проблему.

Но если для каждого обсуждения создавать отдельный канал, в них скоро можно будет потеряться, стали переживать участники. Чтобы не упускать нужные чаты из вида, Давыдов предложил создать канал с каналами, где модераторы будут собирать ссылки на важные сообщения, и завести Google-документ с полезными ссылками.

На уровне идеи сообщества всё звучит понятно, но по реализации есть вопросы, согласна Белова. Ответить на них получится, только если все будут проявлять инициативу, предлагать и пробовать разные решения, считает она.

Векторизация прямоугольных пространственных объектов на аэрокосмических изображениях с использованием преобразования Хафа

Шовенгердт Р. А. Дистанционное зондирование. Модели и методы обработки изо-бражений. // М.: Техносфера. 2013. 592 с.

Антонушкина С.В., Гуров В.С., Егошкин Н.А., Еремеев В.В. Зенин В.А., Князь-ков П.А., Побаруев В.И. Современные технологии обработки данных дистанцион-ного зондирования Земли. // М.: Физматлит, 2015. 460 с.

Blundell J.S., Opitz D.W. Object recognition and feature extraction from imagery: the Feature Analyst® approach // International Archives of Photogrammetry, Remote Sensing and Spatial Information Sciences. 2006. vol. 36.no. 4. pp. 42-47.

ENVI EX User’s Guide. URL: http://www.harrisgeospatial.com/portals/0/pdfs

/enviex/ENVI_EX_User_Guide.pdf (дата обращения 15.02.2018).

Manual for satellite data analysis eCognition developer. URL: http://open_jicareport.jica.go.jp/pdf/12150314_03.pdf (дата обращения 15.02.2018).

Комплекс автоматизированного дешифрирования и векторизации по данным ДЗЗ. URL: https://gisinfo.ru/products/automap.htm (дата обращения 15.02.2018).

Jebur M.N., Mohd Shafri H.Z., Pradhan B., Tehrany M.S. Per-pixel and object-oriented classification methods for mapping urban land cover extraction using SPOT 5 imagery // Geocarto International. 2014. vol. 29. no. 7. pp. 792-806.

Larose D.T. Discovering knowledge in data: an introduction to data mining. // John Wiley & Sons, 2014. 336p.

Iglovikov V., Mushinskiy S., Osin V. Satellite imagery feature detection using deep convolutional neural network: A Kaggle competition. arXiv:1706.06169. 2017. URL: https://arxiv.org/abs/1706.06169 (дата обращения 15.02.2018).

How we participated in SpaceNet three Road Detector challenge. And how we got into top 10. URL: https://spark-in.me/post/spacenet-three-challenge/ (дата обращения 15.02.2018).

Safe Passage: Detecting and Classifying Vehicles in Aerial Imagery. URL: https://www.datasciencechallenge.org/challenges/1/safe-passage (дата обращения 15.02.2018).

Игловиков В. Британские спутниковые снимки 2: как все было на самом деле. URL: https://habrahabr.ru/company/ods/blog/330118/ (дата обращения 15.02.2018).

Dstl Satellite Imagery Feature Detection. URL: https://www.kaggle.com/c/dstl-satellite-imagery-feature-detection (дата обращения 15.02.2018).

Кузин А. Второе почетное. Заметки участника конкурса Dstl Satellite Imagery Feature Detection. URL: https://habrahabr.ru/company/avito/blog/325632/ (дата обра-щения 15.02.2018).

Lee K. Dstl Satellite Imagery Competition, 1st Place Winner’s Interview. URL: http://blog.kaggle.com/2017/04/26/dstl-satellite-imagery-competition-1st-place-winners-interview-kyle-lee/ (дата обращения 15.02.2018).

Открытый конкурс на лучшее решение в области создания интеллектуальных тех-нологий дешифрирования видовой аэрокосмической информации. URL: http://fpi.gov.ru/activities/konkurs/spacemap (дата обращения 15.02.2018).

NOAA Fisheries Steller Sea Lion Population Count URL: https://www.kaggle.com/c/noaa-fisheries-steller-sea-lion-population-count (дата обращения 15.02.2018).

Kaggle: как наши сеточки считали морских львов на Алеутских островах. URL: https://habrahabr.ru/company/ods/blog/337548/ (дата обращения 15.02.2018).

Obusek F. Delineating rooftops in ERDAS IMAGINE. URL: https://www.youtube.com/watch?v=HBcPB6Agr5c (дата обращения 15.02.2018).

Blundell S., Opitz D. Morris M. Rao R. Feature analyst v5.0. // Proceedings of the ASPRS Annual Conference. 2008. pp. 28-37.

Ballard D.H. Generalizing the Hough transform to detect arbitrary shapes. // Pattern recognition. 1981. vol. 13. no. 2. pp. 111-122.

Гонсалес Р., Вудс Р. Цифровая обработка изображений // М.: Техносфера. 2005. 1072с.

Duda R. O., Hart P.E., Stork, D.G., Pattern classification. // John Wiley & Sons. 2000. 680p.

van Vliet L.J., Verbeek P.W. Edge localization by MoG filters: Multiple-of-Gaussians. // Pattern Recognition Letters. vol. 15. no. 5. 1994. pp. 485-496.

Burt P., Adelson E. The Laplacian pyramid as a compact image code. // IEEE Transactions on communications. vol. 31. no. 4. 1983. pp. 532-540.

Емельянов, С. Г., Кудряшов, Е. А., Мирошниченко, С. Ю., Титов, В. С. Методы и системы цифровой обработки аэрокосмических изображений. // Новосибирск, Нау-ка. 2012. 175с.

Ватутин Э.И., Мирошниченко С.Ю., Титов В.С. Программная оптимизация опера-тора Собела с использованием SIMD-расширений процессоров семейства x86. // Телекоммуникации, Т. 6. №. 12. 2006. С. 12–16.

MapInfo Pro – Desktop GIS. URL: https://www.pitneybowes.com/us/location-intelligence/geographic-information-systems/mapinfo-pro.html (дата обращения 15. 02.2018).

NextGIS Data. Геоданные в форматах ESRI Shape, ESRI Geodatabase, GeoJSON, Mapinfo Tab, PDF. URL: https://data.nextgis.com/ru/ (дата обращения 15.02.2018).

Создание Excel-отчетов средствами Perl | Записки программиста

Эту статью пару дней назад я отправил на Хабр. Сегодня пришел ответ:

Увы, твой топик в «Песочнице» http://habrahabr.ru/sandbox/ не был одобрен НЛО и не попал в общую ленту. Попробуй опубликовать что-то другое.

С уважением, Хабрахабр

Не знаю, чем им не понравилась статья, может вы мне объясните? Кстати, если у кого-то имеется инвайт, я был бы очень благодарен. Итак, далее — моя статья.

1. Введение

Perl в моей работе — незаменимое средство. Как аналитику, мне приходится обрабатывать большие объемы данных и генерировать отчеты в различных форматах, в зависимости от того, для кого этот отчет предназначен.

С большинством форматов проблем не возникает. В случае с html пишем шаблон и подставляем данные в нужные места. В случае с pdf — все аналогично, только шаблон должен быть в LaTeX. Долгое время я искал оптимальное решение для генерации отчетов в виде электронных таблиц. Кажется, мне удалось его найти, и об этом мне хотелось бы рассказать.

2. Старое решение

Первое время я пользовался модулем SpreadSheet::WriteExcel. Хочу сказать, что если ваша задача — генерация простых таблиц (заданным размером N x M, безо всяких графиков), то этот модуль вполне может решить все ваши проблемы. Правда, он позволяет работать только с одиночными ячейками, потому для простой генерации таблиц вам придется написать несколько небольших функций типа ВывестиЗаголовок(), ВывестиДанные(), ВывестиПодвал() или другие, в зависимости от ваших задач. Модуль прекрасно документирован.

Недостатка у него два. Во-первых, как я уже отметил, он позволяет работать только с одиночными ячейками. Если вам требуется в большом объеме генерировать какие-нибудь бухгалтерские бланки или вроде того, этот модуль вам не подходит. Разве что у вас имеется непреодолимое желание придумать язык описания этих самых бланков.

Во-вторых, модуль не позволяет генерировать графики. Вместо этот приходится строить их в Excel или OpenOffice, экспортировать с помощью прилагающейся к модулю программы chartex, затем прописывать импорт графика в коде своего скрипта. В моем случае работать по такой схеме оказалось невозможно — отчеты меняются чуть ли не каждую неделю, а генерация занимает несколько часов. Зачастую графики в созданном отчете отобразятся совсем не так, как вы планировали (важен порядок, в котором вы их аттачите и многое другое), а тестировать скрипты было просто нереально.

3. Новое решение

Сейчас я полностью отказался от SpreadSheet::WriteExcel и пользуюсь шаблонами .XLSX (формат Microsoft Office 2007) и .ODS (формат OpenOffice). Оба формата представляют собой ни что иное, как zip-архив, в котором хранятся XML-файлы (таблицы и графики) + кэшированные изображения графиков. Генерация отчетов происходит по следующей схеме:

  1. Сделать unzip . xlsx или .ods файла
  2. «Объединить» все распакованные текстовые файлы в один, используя специальный формат, например, {[разделитель][полное-имя-файла][разделитель][данные]}
  3. В полученном файле произвести замену шаблонных строк на реальные данные. Сделать это можно скриптом из восьми строк кода. Смотри #3 в моей записи Интересные примеры на Perl
  4. Разъединяем файлы
  5. Упаковываем обратно

Тут важно не забыть удалить кэшированные изображения графиков, иначе они не перерисуются. Еще есть маленькое неудобство — либо приходится править XML-файлы руками (можно этот вариант сразу отбросить), либо использовать в качестве шаблонных строк цифры. Другими словами, мы не можем в шаблоне прописать строку, а на ее место подставить число, поскольку имеет место контроль типов. Если нам просто нужно вывести какие-то цифры, можно вывести их и в виде строк. Но если мы пользуемся формулами или строим графики, придется придумывать специальные коды. У меня, к примеру, код 0102003004 означает «лист № 01», «таблица № 02», «X: 003», «Y: 004».

4. Вердикт

Подведем итоги. Для генерации простых отчетов более чем подходит модуль SpreadSheet::WriteExcel. Если же мы имеем дело с чуть более сложными отчетами или есть шанс, что в будущем наши отчеты усложнятся, лучше не тратить свое время на SpreadSheet::WriteExcel и использовать XLSX/ODS-шаблоны, безо всяких модулей.

Дополнение: Помните, что ковыряние формата XLSX является обратной инженерией (то есть крякигом) и нарушает то ли авторские права, то ли патенты, то ли пользовательское соглашение (все время путаю эти три понятия…) с Microsoft. Не изучайте его самостоятельно, просто используйте описанную мною схему. Сам я тоже никакой обратной инженерией не занимался, рецепт был найден в Google. Понятное дело, что история и все персонажи в этом посте вымышлены.

Дополнение: Работа с Excel-файлами в Scala

Метки: Perl.

Обнаружение фрактальной системы троекратных периодов, известных из физических, геофизических, биофизических и биологических явлений в технических устройствах

  • 2.

    http://genmir.ru/b/28.htm#_Toc118634832/.

  • 3.

    С. Дж. Пуэц, А. Прокоф, Г. Борхардт и др., Chaos Solit. Фракция. 62–63 , 55 (2014).

    MathSciNet Статья Google ученый

  • 4.

    Бондарь А.Т., Федоров М.В., Коломбет В.А., Биофизика (Москва) 60 (6), 1006 (2015).

    Артикул Google ученый

  • 5.

    Иванова Е.В., Вестн. Новгород. Гос. Univ. № 69, 4 (2012).

    Google ученый

  • 6.

    А.Ю. Внутских, Вестн. Пермь. Гос. Univ .: Filos. Психол. Социол. №2, 31 (2012).

    Google ученый

  • 7.

    http://www.electrosad.ru/Processor/ProcTech4.htm.

  • 8.

    http://habrahabr.ru/company/intel/blog/194836/.

  • 9.

    https://ru.wikipedia.org/wiki/%D0%9C%D0%B0%D1%80%D0%BA%D0%B8%D1%80%D0%BE%D0%B2 % D0% BA% D0% B0_% D0% BF% D1% 80% D0% BE% D1% 86% D0% B5% D1% 81% D1% 81% D0% BE% D1% 80% D0% BE% D0 % B2_% D1% 84% D0% B8% D1% 80% D0% BC% D1% 8B_Intel 10. http://monitor. ykt.ru/index.php?show_aux_page=6.

  • 11.

    https://market.yandex.ru/catalog/55314/list?hid= & exc = 1 & how = dpop & page = 1.

  • 12.

    http://pro-spo.ru/vse-o-kompyuterax-i-noutbukax/4530-proizvoditelnost-proczessorov-rejting-tablicza.

  • 13.

    Белов П.А., Беспалов В.Г., Васильев В.Н. и др., В Задачи когерентной и нелинейной оптики, , Под ред. Гурова И.П., Козлова С.А. (СПб .: СПбГУ, 2006).

  • 14.

    http://www.cybersecurity.ru/it/145951.html.

  • 15.

    http: //www.exclusive-comfort. ru / udata / image / mobilefrequency / new / radio-frequency.jpg.

  • 16.

    Дюкина А.Р., Зайчкина С.И., Розанова О.М. и др., В сб. Биология: наука XXI века, Труды XII Международной школы молодых ученых (Пущино, 2008), с. 127 с.

    Google ученый

  • 17.

    Заичкина С.И., Розанова О.М., Дюкина А.Р. и др. В сб. Слабые и сверхслабые поля и излучения в биологии и медицине, Тр.5-й Int. Congr. (Санкт-Петербург, 2009), с. 8 [на русском языке].

    Google ученый

  • 18.

    Зайчкина С.И., Розанова О.М., Дюкина А.Р. и др., Бюл. Эксп. Биол. Med. №4, 407 (2009).

    Google ученый

  • 20.

    Заичкина С.И., Розанова О.М., Дюкина А.Р. и др., В Тез. Книга Eur. Soc. по фотобиологии, 2010 Школа фотобиологии (Бриксен / Брессаноне, Италия, 2010), стр. 10.

    Google ученый

  • 21.

    Заичкина С.И., Розанова О.М., Дюкина А.Р. и др. В Тез. 6-й Конгресс по радиационным исследованиям (Унив.России, Москва, 2010), Т. 1, стр. 188 [в России].

    Google ученый

  • Кросс-пост интервью в hackernoon с Саньямом Бутани

    Интервью qas, изначально опубликованное на hackernoon: Интервью с Kaggle Grandmaster, старшим инженером по резюме в Lyft: доктором Владимиром Игловиковым.


    Сегодня для меня большая честь побеседовать с еще одним великим кагглером из сообщества ODS: (kaggle: гроссмейстер соревнований игловиков (97 место), эксперт по обсуждениям (30 место): доктор.Игловиков Владимир Иванович

    Владимир в настоящее время работает старшим инженером по компьютерному зрению в Level5, подразделение самостоятельного вождения, Lyft Inc.

    До Lyft Владимир работал старшим специалистом по анализу данных в TrueAccord. Он имеет образование в области физики и имеет степень доктора философии. по физике Калифорнийского университета в Дэвисе.

    О серии:

    Совсем недавно я начал добиваться некоторых успехов в своем путешествии по самообучению по машинному обучению. Но, честно говоря, это было бы невозможно без замечательного онлайн-сообщества и замечательных людей, которые мне помогли.

    В этой серии сообщений в блоге я разговариваю с людьми, которые действительно вдохновили меня и на которых я смотрю как на образцы для подражания.

    Мотивация, стоящая за этим, заключается в том, что вы можете увидеть некоторые закономерности и, надеюсь, вы сможете учиться у замечательных людей, у которых мне посчастливилось учиться.

    Саньям Бутани : Здравствуйте, Грандмастер! Спасибо, что нашли время сделать это.

    Игловиков Владимир Иванович : Спасибо за вопросы.Это удовольствие. Я постараюсь быть максимально подробным, даже если меньше читателей доживут до конца. 🙂

    Если бы я прочитал подобный текст четыре года назад в начале моей карьеры в области Data Science, я считаю, что моя жизнь была бы немного проще. Так что это будет стоить того, чтобы писать, если это поможет хотя бы одному человеку.

    Саньям : Вы защитили докторскую диссертацию. и имеет степень магистра физики. Как машинное обучение появилось на свет? Не могли бы вы рассказать читателям о своем пути к машинному обучению?

    Владимир И.Игловиков : Года четыре назад заканчивал кандидатскую диссертацию. программа в Калифорнийском университете в Дэвисе. До выпуска оставалось несколько месяцев. Пришло время подумать о своих следующих шагах. Все мои коллеги-выпускники либо собирались:

    постдокторских должностей. ИЛИ

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

    Более того, количество постдоков ограничено, а количество претендентов велико. Маловероятно, что вас примут на работу, которая вам больше всего нравится.

    Еще меньше меня интересовали

    должности Software Engineering.В университете я занимался теоретической физикой. Каждый день на работе меня окружали дискуссии о субатомных частицах, космологических эффектах, слиянии пространства и времени, нанотехнологиях и других захватывающих, почти научно-фантастических темах. Эта среда заставила меня думать, что мы живем в будущем, и заставила мое сердце биться быстрее. Исследования, которые я проводил в течение многих лет, были связаны со сверхпроводимостью при комнатной температуре. Когда / если это произойдет в нашей жизни, я почти уверен, что это изменит человечество, каким мы его знаем.Все это выглядело круто и очень увлекательно.

    инженеров-программистов, с которыми я разговаривал, работали над некоторыми сложными проектами, которые меня не волновали. Дискуссии о бэкэнде, фронтэнде и прочем не заставляли струны моей души петь. Мысли о том, чтобы провести следующие несколько лет в этой сфере, очень расстроили меня.

    До выпуска оставалось несколько месяцев, и мне нужно было выбрать одно из направлений, хотя ни одно из них не выглядело хорошо.

    К счастью, один из моих друзей, который закончил наш факультет годом ранее, зашел в Калифорнийский университет Дэвиса.Мы выпили немного пива, и он рассказал мне о своей профессии в то время. Он работал специалистом по анализу данных в небольшом стартапе в Сан-Франциско. То, что он сделал, звучало интересно. Он также упомянул свою компенсацию. И это было в несколько раз больше, чем я зарабатывал, будучи аспирантом. Деньги — не моя движущая сила, но их отсутствие мешало мне заниматься многими видами деятельности, которыми я хотел заниматься в своей жизни. Таким образом, финансовую составляющую этой возможности было трудно игнорировать.

    Я пришел домой и решил, что Data Science стоит попробовать.Проблема заключалась в том, что я понятия не имел, что такое Data Science, какие проблемы она решает и, что более важно, как получить работу. Интернет не помог. Время шло. Я решил пройти онлайн-курс по науке о данных, и я думаю, что это была наноразмерная степень от Джона Хопкинса.

    В одном из занятий авторы упомянули Kaggle. Мне нужно было попрактиковаться в том, что я узнал о машинном обучении. Каггл выглядел как хорошая игровая площадка. Я изучил руководство по прогнозированию смертности на Титанике и продолжил совершенствовать свои навыки в новых соревнованиях.

    Я читал блоги, книги, статьи, посещал онлайн-уроки и искал любой другой материал, который мог бы расширить мои знания машинного обучения. Мои позиции в таблице лидеров в первых нескольких соревнованиях были низкими, но постепенно и последовательно результаты начали улучшаться. Каждый раз, когда я заканчивал все ближе к вершине, моя интуиция ML развивалась, и количество сильных конвейеров в моем частном репозитории GitHub росло. В моем опыте было много пробелов, но через несколько месяцев в Kaggle я смог взглянуть на большинство проблем машинного обучения и дать хорошо обоснованное предположение о том, какие функции могут работать и как будут вести себя различные алгоритмы.

    В то же время я пытался найти работу, и это было непросто. У меня не было отраслевого опыта, я не знал, как писать резюме, у меня не было сетей, не связанных с физикой.

    Я написал лучшее резюме, которое мог, и подал заявку на каждую должность, связанную с наукой о данных. Я отправлял их через веб-сайты компании, и все мы знаем, что приложения в основном уходят в черную дыру.

    Самая большая проблема, вероятно, заключалась не в отсутствии технических навыков, хотя список вещей, которые мне нужно было изучить, был очень длинным, а в моем мировоззрении.После стольких лет в академической среде вы бессознательно полагаете, что все люди в мире думают так же, как ваши коллеги из университета. Это очень далеко от истины. Я смог пройти несколько собеседований, но с треском провалился, некоторые из-за ограниченности моих технических знаний, а некоторые из-за «культурного соответствия». Интервьюеры чувствовали себя инопланетянами, и, вероятно, они чувствовали то же самое обо мне.

    В конце августа 2015 года я переехал в Окленд. У моего друга есть там дом, и он согласился принять меня на пару месяцев, пока я искал работу.Мои кредитные карты почти закончились. Моя виза истекала. Если я не получу предложения через два месяца, меня депортируют. его ситуация очень меня мотивировала. За месяц поиска работы и активного изучения вариантов использования, основ информатики, статистики, SQL и других вещей, не связанных с машинным обучением, я смог получить предложение для компании под названием Bidgely, расположенной в Саннивейле.

    Bidgely работает в области Интернета вещей, разрабатывая технологию под названием Energy Disaggregation.И продукт, и лежащая в его основе технология выглядели интересно.

    Мне не понравилось расположение. Когда я приехал в Саннивейл, я ожидал безостановочного движения, динамики, самостоятельного полета чего-то в небе, встреч, конференций, когда люди обсуждают свои идеи для стартапов. Я хотел увидеть мечтателей; те, кто был готов рискнуть и потерпеть неудачу в случае необходимости. По сути, я хотел увидеть образ Кремниевой долины, который сложился в моей голове из телешоу и Интернета. На самом деле все было иначе.Саннивейл похож на город после зомби-апокалипсиса. Пустые улицы, пустые рестораны, все пусто. Другой проблемой того периода было то, что Bidgely использовала MatLab в качестве основного инструмента Data Science, и это сильно оттолкнуло.

    Я накапливал знания на работе, но этого было недостаточно. Днем я делал то, что требовалось по работе. По вечерам я был занят соревнованиями Kaggle и дополнял свои знания всеми источниками, которые мог найти.

    Я многому научился у команды и очень благодарен за время, которое я провел там.Но восемь месяцев спустя у меня появилась возможность объединить все полученные знания и начать работу в области Data Science в стартапе под названием TrueAccord. На той должности я использовал машинное обучение для создания рекомендательных систем, и это был не MatLab, а благословенный богом питон. Офис находился в Сан-Франциско, что было большим шагом вперед. Есть много вещей, которые мне могут не нравиться в Сан-Франциско, но стартап-драйв уже здесь. Не в том виде, который я наблюдал в телешоу, но все же.

    Это сочетание знаний, полученных в результате моей работы и соревнований, было действительно приятным.Машинное обучение, которым вы занимаетесь на своей повседневной работе, не поможет вам в соревнованиях, а соревнования не улучшат вашу работу в отрасли. Они решают разные проблемы, что делает их сочетание действительно мощным.

    Зимой 2017 года в Kaggle появилось множество задач компьютерного зрения. Компьютерное зрение — это увлекательно. Это соответствовало навыку, которым я хотел овладеть.

    Еще одна проблема, с которой я столкнулся, заключалась в том, что мой процесс обучения был неэффективным. У меня не было наставника, который мог бы направить меня на пути к машинному обучению.Мои коллеги не знали и не хотели изучать ML. И у меня не было друзей, с которыми я мог бы задавать сложные вопросы по машинному обучению, которые меня беспокоят, или просто обсуждать последние статьи.

    Я быстро прогрессировал, но борьба с проблемами в одиночку казалась не такой эффективной, как мне хотелось бы, чтобы мое обучение было.

    Потом произошло чудо. Меня пригласили стать членом меритократического русскоязычного сообщества Open Data Science ods.ai. Наконец, у меня появился доступ к сообществу экспертов по машинному обучению из индустрии, академических кругов и сообщества Kaggle.Это был следующий уровень моего пути к машинному обучению. Там я познакомился с людьми, которые стали моими товарищами по команде на соревнованиях, в написании научных статей и в проектах с открытым исходным кодом.

    В ближайшие месяцы я занял призовые места на:

    Саньям Бхутани : Что заставило вас выбрать kaggle и продолжить соревноваться, чтобы в конечном итоге стать гроссмейстером?

    Владимир Иванович Игловиков : Стать мастером Kaggle не так уж и сложно. Я твердо уверен, что каждый достойный инженер / исследователь машинного обучения может и должен иметь возможность получить одну золотую и две серебряные модели в соревнованиях Kaggle. И примеров тому множество. Это займет несколько вечеров и выходных, но если у вас есть солидный опыт в области машинного обучения на основе самообразования, академического или промышленного опыта, это не должно быть так сложно.

    GrandMaster — это отдельная история. В Kaggle зарегистрировано более двух миллионов человек, но только 150 из них являются гроссмейстерами. Kaggle — вторая неоплачиваемая работа на полную ставку. Вам нужна действительно веская причина, чтобы тратить на это свое свободное время месяцами или даже годами.Есть и другие, гораздо более важные занятия в жизни, такие как путешествия, спорт, общественная жизнь и т. Д. Наверное, моя главная причина попасть на уровень гроссмейстера, что мне нравилось работать над всеми проблемами, и у меня это получалось хорошо 🙂

    Прямо сейчас у меня много интересных и сложных проблем, которые можно решить с помощью глубокого обучения на работе. Это делает меня менее увлеченным соревнованиями, хотя время от времени я делаю несколько работ на Kaggle.

    При этом жизнь не ограничивается работой, и помимо путешествий, занятий спортом и общественной деятельности в свободное время я работаю над проектами с открытым кодом.

    Здесь я хотел бы упомянуть библиотеку дополнений изображений, которую разрабатывают мастера Kaggle [Александр Буслаев] (https://www.linkedin.com/in/al-buslaev/), Алекса Паринова, Евгения Хведченя и меня. наше свободное время.

    Еще одно занятие, которое я мог бы посвятить соревнованиям Kaggle, — это написание препринтов, статей и сообщений в блогах. Около года назад мы с Алексеем Швцом просто ради интереса опубликовали препринт под названием:

    .

    «TernausNet: U-Net с кодировщиком VGG11, предварительно обученный в ImageNet для сегментации изображений».В этой работе не было ничего экстраординарного, только кодировщик UNet + VGG11, который я использовал в нашем выигрышном решении для Carvana Challenge. Модель — это просто другая вариация UNet, и я бы даже не сказал, что это самая удачная вариация. Прямо сейчас, всего год спустя, предварительно обученный кодировщик уже является стандартом, и люди используют гораздо более интересные варианты с гиперколонкой, модулями сжатия и возбуждения и другими приятными трюками.

    Как я уже сказал, мы делали это в основном для развлечения, но когда я смотрю свой профиль в Google Scholar, это моя самая цитируемая работа.Это превосходит то, что я делал в академических кругах много лет. Когда я представлял плакаты для других работ на CVPR 2018, люди подходили ко мне и благодарили за TernausNet, за то, что я поделился кодом, и рассказывали, как это им помогло. Я знал, что огромное количество знаний гниет на форумах Kaggle, не имея возможности выйти во внешний мир и быть полезными для практиков ML. История с TernausNet заставила меня лучше почувствовать масштаб проблемы.

    В прошлом году я и мои сотрудники потратили много времени на публикацию статей, основанных на конкурсах.Это помогло поделиться нашими знаниями.

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

    Я действительно надеюсь, что все больше и больше Kagglers будут вкладывать средства в написание. Это могут быть сообщения в блогах, статьи или что-то еще. Лучше передавать больше информации между людьми. Написание сообщения в блоге или технического отчета поможет вам структурировать мысли о проблемах, это поможет другим людям с теплотой начать решать аналогичные проблемы и, скорее всего, поможет вам с карьерными возможностями.Это означает, что вы будете работать над более интересными задачами и в то же время получать больше денег.

    Саньям Бутани : Сегодня вы работаете инженером по компьютерному зрению в Lyft. Считаете ли вы, что соревнования Kaggle связаны с вашей работой? Как ты находишь время болтать?

    Владимир Иванович Игловиков : Когда я проходил собеседование в Lyft, мне нужна была должность, которая включала бы применение глубокого обучения для задач компьютерного зрения. В университете я специализировался на теоретической физике, которая, по моему предвзятому мнению, превосходит информатику. Но представители отдела кадров придерживались противоположной точки зрения. В моем резюме не было публикаций, связанных с компьютерным зрением, и до Lyft моя работа была посвящена традиционному машинному обучению, а не данным изображений. Единственное, что было связано с тем, чем я хотел заниматься, — это лучшие результаты в соревнованиях по компьютерному зрению.

    Обычно HR пропускает части вашего резюме о результатах конкурентного машинного обучения и ищет набор стандартных ключевых слов для фильтрации резюме.На этот раз произошло чудо, и результаты Kaggle привлекли внимание. Это помогло мне попасть в конвейер собеседований. Имея опыт разработки и развертывания моделей машинного обучения в моих предыдущих компаниях в сочетании со знаниями, полученными в Kaggle, собеседования были относительно простыми. Таким образом, опыт и достижения Kaggle помогли мне найти работу, соответствующую тому, чем я хотел заниматься.

    В то же время неочевидно, что соревнования Kaggle могут быть полезны для работы. Более того, я бы не сказал, что все конкурсы Kaggle полезны для каждого проекта, с которым вы сталкиваетесь на работе. Знания, которые вы получаете в Kaggle, — могущественный зверь. Это приносит пользу, только если вы знаете, как его приручить.

    Я часто использую в работе знания, полученные на соревнованиях Kaggle:

    1. Если перед вами проблема, которая в некотором смысле похожа на существующее или прошедшее соревнование Kaggle.
    2. Если вы умеете разбирать знания, которые генерируются на Kaggle на форумах и в ядрах.
    3. Если вы можете реализовать и проверить, как идеи из Kaggle применимы к проблеме, с которой вы столкнулись, быстрым и хакерским способом.
    4. Если вы можете реорганизовать и переписать свои хакерские конвейеры в производственном коде качества.
    5. Если это так, Kaggle становится бесценным.

    Не все задачи можно представить в формате соревнований Kaggle. Но в области беспилотного вождения их много. В этом смысле мне повезло. Это касается пункта 1.

    Я участвовал в более чем 70 различных соревнованиях на разных платформах. Не все мои попытки были успешными, но каждая из них улучшала способ поиска информации, включая форумы и ядра Kaggle. А это адреса 2.

    Невозможно стать мастером Kaggle и не научиться подходить к ней заново, неизвестная проблема — быстрый взлом с очень большим количеством итераций в единицу времени. Этот навык в мире соревновательного обучения — вопрос выживания 🙂 Это закрывает 3.

    4 Это отдельная история.

    Одна из причин, по которой мне было трудно перейти из академии в промышленность, было из-за качества кода, который я использовал для написания в аспирантуре.

    С точки зрения обучения написанию кода производственного качества Kaggle почти бесполезен. Я не вижу, как получить такой опыт, кроме как в компании с высокой культурой программирования и сильными инженерами-программистами, которые ее применяют.

    Саньям Бутани : Вы прошли немало соревнований. Какой из них был твоим любимым?

    Игловиков Владимир Иванович : Есть два конкурса, которые хотелось бы отметить. Один мой любимый, а второй самый интересный.

    Мне больше всего нравится функция обнаружения спутниковых изображений Dstl.

    1. Это было сложно с инженерной точки зрения. Было много нетривиальных преобразований данных на этапах предварительной обработки и постобработки.
    2. Это было интересно с научной точки зрения.Изображения RGB хорошо изучены, и я бы сказал, скучно, но RGBD, который содержит каналы с более высокой длиной волны, намного интереснее.
    3. Проблема не сводилась к модификации fit_predict. Некоторые классы, такие как вода, лучше идентифицировать неконтролируемым способом, исходя из физических свойств материала. Я не помню подробностей, но думаю, что было что-то в теплоемкости и инфракрасном свете.
    4. Это был первый вызов, когда я выиграл денежный приз. Мой образ мышления изменился с «только очень опытные участники выигрывают главные призы» на «Я могу это сделать, в какой следующей задаче я могу проверить это предположение?»
    5. Я купил второй графический процессор и, наконец, понял, что не хочу иметь дело с Keras + tensorflow, пока они не решат мои болевые точки, и что пора переключиться на PyTorch, который решит хотя бы некоторые из них.

    Среди более чем 70 соревнований, над которыми я работал, есть еще одно, которое я хорошо помню.

    Сама по себе задача была не такой уж захватывающей, просто обнаружение объекта на аэрофотоснимках, но история вокруг этого была приятной. Я попал на главную страницу крупнейшего российского интернет-сайта lenta.ru, и за один день ее показали по всем российским телеканалам.

    История немного анекдотична. Подробное описание происходящего на русском я написал в блоге на habrahabr.com Если вы говорите по-русски, вам это понравится 🙂

    Краткая версия событий на английском языке звучит так: «Defense Lab для МИ-6 в Великобритании организовала международный конкурс по обнаружению объектов в неизвестном городе в Великобритании».

    Правила конкурса были очень нестандартными, и это добавило пикантности ситуации:

    Участвовать может каждый, но только граждане и жители определенных стран могут получить призовые деньги.

    Несмотря на то, что я являюсь резидентом США и плачу здесь налоги, я не имею права только из-за цвета моего паспорта.

    Интересен и способ выбора этих стран. Организаторы взяли теневой рейтинг коррупции стран за 5 лет до конкурса и поставили порог на каком-то уровне. Почему был выбран именно этот уровень, также неясно. Мне нравится думать, что это сокращение было выбрано случайно, но мои друзья подозревали, что это был заговор, в котором Великобритания разрезала страны, которые она считала гражданами второго сорта, т.е.э., Россия и Китай. Надеюсь, что этого не произошло, но сокращение было чуть выше этих стран.

    Так или иначе, я знал об этом правиле и все равно участвовал. Новые знания, новые конвейеры в моем частном репо — это важно. Призы тоже ценные, но второстепенные. В этом конкурсе у меня также была возможность поучиться у Сергея Белоусова, малоизвестного эксперта по глубокому обучению, который оказывал наставничество во время и после конкурса.

    Я сделал несколько итераций, проверил множество идей, реализовал мощный конвейер обнаружения объектов и финишировал вторым….

    Что касается правил, то я не заслужил приза, но то, что правило существует, не означает, что оно мне нравится.

    Так или иначе, я написал сообщения в Facebook и Twitter, что я не большой поклонник этих правил.

    История острая и относительно токсичная:

    «Искусственный интеллект», «Победитель конкурса», «Бедный гражданин России», «Жестокая британская оборонная лаборатория», «Обвинение России как страны в коррупции» и все прочие причудливые слова, которые можно использовать в публикации.

    Различные средства массовой информации запугивали меня с просьбой об интервью, но все это было для меня настолько новым, что я упал. Журналистов это не остановило, поэтому вместо разговора со мной они показали мою аватарку из Facebook и Github и пригласили каких-то странных экспертов поделиться своим мнением по теме. Сегодня я бы повел себя иначе. Теперь мне удобнее разговаривать на камеру, и я по-прежнему считаю, что информационный поток в науке и технике должен быть максимальным.

    Если мы хотим отправиться на Марс или в ближайшее время продлить нашу жизнь, мы должны быть более открытыми для потока информации в научных и инженерных сообществах.

    Крупная технологическая компания Mail Ru Group согласилась выплатить мне призовые деньги, это было 15 тысяч долларов, но я не чувствовал, что заслуживаю их, поэтому я попросил передать их в фонд, поддерживающий теоретическую физику.

    Самое веселое было, когда журналисты подошли к моим родителям. Мои мать и отец сказали, что, хотя они были неотъемлемой частью моего детства, было бы неразумно недооценивать влияние моего школьного образования и что мои школьные учителя являются гораздо лучшими кандидатами на собеседование.И это сработало 🙂 Мои школьные учителя тоже появлялись по ТВ.

    Саньям Бутани : Какие задачи вы ищете сегодня? Как вы решаете, стоит ли ваше время на соревнования?

    Владимир И. Игловиков : Как я уже упоминал выше, лучше всего работает, когда задача сильно коррелирует с повседневными задачами, с которыми я сталкиваюсь. Так что это первый тип проблем, которые я ищу.

    Далее я ищу проблемы, которые интересны, но выходят за пределы моей зоны комфорта.Например, GAN для меня немного более чужды, чем я бы предпочел. Поэтому обязательно приму участие в следующем конкурсе Kaggle по этой теме.

    Последний самый простой. В 2017 году на Kaggle было проведено три соревнования с призовым фондом более 1000000 долларов. Мне относительно хорошо платят, поэтому деньги — не самая важная часть моей мотивации. Но я открыт для обсуждения позиций консультативного совета в стартапах на ранних стадиях и интересных должностей на полный рабочий день, которые добавят + 30% к моей общей денежной компенсации.Этот факт заставляет меня чувствовать, что я дам шанс на следующий вызов с хорошим призом.

    Саньям Бутани : Как вы подходите к новому соревнованию? Какие методы вы используете?

    Владимир И. Игловиков : Для каждой проблемы машинного обучения, с которой я сталкиваюсь, первое, что я пытаюсь сделать, — это сопоставить данные с предсказанием, а предсказание с оценкой валидации.

    Это может быть что-то, что я реализую с нуля, что хорошо работает, если это проблема, с которой я знаком.Но если проблема для меня нова, я просто копирую вставку с форума на Kaggle или git clone из соответствующего репо. Если я понимаю, что происходит в этом поглощенном коде, это хорошо. Но если я не имею ни малейшего представления о том, что происходит, это все равно более чем хорошо.

    На первом этапе мне нужна надежная базовая линия, даже если я не совсем понимаю все детали того, как работает конвейер.

    В целом для себя каждое соревнование Kaggle я делю на два основных этапа:

    1. Детский сад этап.Это включает в себя чтение форума, чтение статей, посещение соответствующих классов, выполнение исследовательского анализа данных, обучение модели.
    2. Стадия для взрослых: у меня есть конвейер, который сопоставляет данные с оценкой перекрестной проверки и отправкой в ​​надлежащем формате. Это разделение на детсадовскую и взрослую фазы немного жестко, и вы можете думать об этом иначе, но мне нравится быть суровым по отношению к себе. Это немного повышает мою продуктивность.

    Как сказал Майк Тайсон:

    Любой, кто когда-либо участвовал в драке, знает, что это правда: вы можете планировать все, что хотите, но когда начинают наносить удары, планы быстро вылетают в окно.

    Что касается соревнований Kaggle, вы переоцените свое мастерство и недооцените талант людей, с которыми соревнуетесь. Современные подходы, которые вы представили на Tech Review при работе в PowerPoint и которые тепло приветствовали ваши коллеги, внезапно будут работать намного хуже, когда они будут фактически реализованы на Python и проверены в таблице лидеров. Драйверы, библиотеки, модели и версии данных (здесь я хотел бы упомянуть инструмент dvc.org, который я использую для задач управления версиями моделей), качество данных, все это и 100500 других мелких, но раздражающих вещей будут атаковать вас.По умолчанию вы не знаете, где будут наиболее серьезные проблемы.

    Таким образом, конвейер, который выводит меня на взрослую стадию соревнований, — это первое, что мне нужно сделать.

    После завершения конвейера вы сможете выполнять быстрые итерации. Я хотел бы напомнить вам, что количество идей, которые вы пробуете, часто пропорционально вашему положению в таблице лидеров. Таким образом, чтобы получить максимальную оценку, вам нужно увеличить темп ваших итераций.

    Как только я начинаю повторять:

    1. Я вынужден реорганизовать конвейер, чтобы сделать его более модульным.(Скажем, для всех моих конвейеров глубокого обучения компьютерного зрения я использую библиотеку Remi Cadene, которая позволяет быстро проверять разные магистрали. То же самое с гибкостью в дополнениях, и снова я хотел бы упомянуть библиотеку Albumentations, которую разрабатываем мои коллеги и я, и что помогло мне и многим другим людям добиться хороших результатов в задачах компьютерного зрения.)
    2. Мне нужно лучше разобраться в своей кодовой базе. Как я уже сказал, если проблема новая, может случиться так, что мой конвейер будет работать и давать хороший результат, но мои знания кодовой базы будут ограничены.Во-первых, я могу удалить все, что не используется. Мертвого кода может быть много. Удаляю. Меньше кода => меньше ошибок. Скорее всего есть функционал, который мне не нужен => Я его удаляю. Было бы неплохо запустить flake8 или аналогичные инструменты. Исправление ошибок flake8 немного улучшит код, и в процессе я буду лучше разбираться в кодовой базе. Переименование переменных из h , w , i во что-то более значимое, например, height , width , batch_id .Это мало, но помогает. Я использую PyCharm для написания кода на Python. В нем есть все необходимые функции для быстрого рефакторинга, но я считаю, что и другие IDE не менее хороши. Но! Я не стремлюсь полностью понимать код. Он придет. Моя цель — получить хорошую оценку модели, а хорошее качество кода — вторично. Хорошее качество кода для конкурентов — приятный бонус, который помогает быстро выполнять итерации, и не более того. Конечно, когда мне нужно будет поделиться кодом в команде или повторно использовать его для решения другой проблемы, это станет критическим, и я потрачу время на рефакторинг и написание документации, но если это произойдет, то это будет позже.Скорее всего, я откажусь от этого конвейера или огромных его частей, потому что найду новые способы решения проблемы.
    3. Получите идеи от Kaggle, статьи, классы, обсуждения и реализуйте их. Цель быстрых итераций — быстро потерпеть неудачу и сделать следующий шаг более разумно.
    4. Я хочу подчеркнуть, что соревнование по ML, в котором вы работаете самостоятельно и разрабатываете код, который будет поцарапан, — это не то же самое, что разработка моделей ML для производства на вашей работе.

    Возможность быстрой проверки идей важна, но не следует даже учитывать, что код низкого качества присутствует в производственной базе кода при работе.

    Саньям Бутани : Для читателей и новичков, подобных мне, которые хотят стать лучшими кагглерами, что бы вы посоветовали?

    Владимир И. Игловиков : Я бы сказал тем, кто еще не пробовал участвовать в соревнованиях Kaggle, но готов потратить время на повышение своих навыков в области обработки данных, чтобы начать как можно скорее. Если вы знаете основы Python и не имеете опыта работы с машинным обучением, этого будет достаточно для начала. Просто сделай это, и лучше сделать это сейчас, чем потом.Каждый день, когда вы думаете об участии, но не делаете этого — есть знания, которых вы не получаете.

    Саньям Бутани : Ваша победа в конкурсе Carvana потребовала ОГРОМНЫХ вычислительных ресурсов, которые действительно были необходимы для соревнований.

    Как вы думаете, в целом, новичок может преуспеть в конкуренции со стартовым оборудованием?

    Владимир Иванович Игловиков : Я бы сказал, что наличие графических процессоров полезно. И это правда, что у нашей команды было около 20 относительно мощных графических процессоров.Аппаратное обеспечение помогает с итерациями, некоторые тяжелые модели глубокого обучения могут потребовать как оборудования, так и времени, и довольно часто вы можете обменивать оборудование на время, что приводит к быстрым итерациям и, как следствие, к большему количеству знаний за раз и лучшим результатам.

    Если вы можете позволить себе машину с 2 x 1080Ti, дерзайте. Если ваш менеджер на работе может разрешить вам использовать некоторые рабочие вычислительные ресурсы для соревнований, поговорите с ним об этом. Обычно менеджеры довольно открыты для вас, чтобы вы тратили свое свободное время и вычислительные ресурсы компании на ваше саморазвитие.Особенно, если это повысит вашу продуктивность и вы сможете самостоятельно внедрять новые идеи.

    В то же время я не уверен, что у участника с четырьмя графическими процессорами больше шансов на успех, чем у человека с двумя, по крайней мере, в отношении проблем, которые я видел до сих пор в Kaggle.

    Приведу вам пару примеров:

    Kaggle Master, Виктор Дурнов, занявший первое место в Spacenet 4, был частью команды-победителя Data Science Bowl 2018, а также был лидером многих других соревнований, начатых без каких-либо графических процессоров.Он использовал бесплатные кредиты от Google Cloud. Теперь у него есть четыре редакции Titan V CEO, которые он получил для Data Science Bowl 2018, и я почти уверен, что это ему нравится больше, чем использование облака.

    В своем интервью Артур Кузин рассказал о том, как мастер Kaggle Валерий Бабушкин получил свою первую золотую медаль в конкурсе Computer Vision / Deep Learning без графических процессоров. В начале конкурса он добился хороших результатов с CPU, и многие люди с GPU были счастливы объединиться с ним в одну команду.Я бы сказал, что есть много людей, которые хотят участвовать, но не имеют графических процессоров, и множество тех, у кого есть графические процессоры, но они менее мотивированы. Покажи покажи какой-нибудь результат, и появятся люди с железом.

    Саньям Бхутани : Вы активный участник сообщества ods.ai. Не могли бы вы рассказать нам больше об ОРВ? Мы видим много команд из ODS в топе LB, приветствуются ли новички в сообществе?

    Игловиков Владимир Иванович : Это больше.Если вы посмотрите на мой LinkedIn, то увидите, что я проповедник ods.ai как сообщества. Я считаю, что сообщество отличное, и это сильно повысило мои навыки машинного обучения. Мне потребовалось несколько лет, чтобы получить свою первую золотую медаль на Kaggle, когда я выступал самостоятельно. Я присоединился к ods.ai, и другие топ-финиши пришли намного быстрее 🙂

    ods.ai — это меритократическое русскоязычное сообщество специалистов по анализу данных. На данный момент это около 30 тысяч участников. Не все из них активны, но есть значительное количество людей, которые бывают там довольно регулярно и используют Data Science как часть своей жизни.Это может быть для исследований, конкурсов, образования, домашних проектов, бизнес-инициатив и всего остального. Приглашаются все желающие, кроме представителей отдела кадров. Некоторые люди делают свои первые шаги в Data Science, некоторые люди больше работают над исследованиями, другие зарабатывают деньги на создании продуктов с помощью методов Data Science, как и я. В принципе, приветствуются все, кто увлечен наукой о данных и желает изучить DS эффективным, но, вероятно, трудным путем.

    Наиболее значительная часть общины проживает в бывшем Советском Союзе, но есть много людей из США, Китая, Европы, Канады и Индии. Если вы увлечены наукой о данных, это отличное место для вас. Правильное место, чтобы задать вопрос, правильное место, чтобы дать ответ.

    Есть несколько инициатив, которые родились в ods.ai

    • DataFest — самая значимая конференция Russian Speaking Data Science. Влиятельные спикеры, поддержка крупнейших технологических компаний России.Отдельное спасибо Алексею Натекину и команде за организацию. Еще есть Minsk DataFest, в прошлом году я там был основным докладчиком, его организовывает Арсений Кравченко.
    • mlcourse.ai — русско-английский онлайн-курс ML, созданный Юрием Кашницким и его командой под девизом: «Изучите ML на практике». Действительно хорошо. Я рекомендую это.
    • dlcourse.ai — Курс Deep Learning Саймона Козлова, который считал, что знаниями, которыми он обладает в области Deep Learning, следует поделиться со студентами в его альма-матер Новосибирского университета, и ведет класс онлайн.Он даже летит в Сибирь на выпускной экзамен 🙂 И многие другие участвуют, например, мастера Kaggle Валерий Бабушкин и Алексей Григорьев, которые пишут книги и публикуют онлайн-курсы по Data Science.

    Я хотел бы подчеркнуть, что эти люди тратят свое время на улучшение состояния знаний в области науки о данных без оплаты, просто потому, что это правильно. Эта философия согласуется со многими аспектами сообщества ods.ai.

    Саньям Бутани : Учитывая стремительный рост машинного обучения, как оставаться в курсе последних достижений техники?

    Владимир И.Игловиков : Не знаю. И даже не пытаюсь. Поле слишком велико. Когда у меня возникает проблема, которую мне нужно решить, я углубляюсь в последние достижения в этой конкретной области. По темам, по которым у меня нет практического опыта, мои знания могут быть минимальными. Я пытаюсь работать над несколькими разными проблемами одновременно, над парой на работе, над конкурсом и над домашним проектом, что дает некоторую широту взгляда. Я надеюсь, что у меня достаточно опыта, чтобы выбрать новую тему, например, распознавание голоса, и быстро овладеть знаниями.

    Читать свежие газеты на все темы с утра до вечера — плохая идея. Жизнь слишком коротка и ценна для этого вида деятельности.

    Я читаю газеты ежедневно, но только по проблемам, с которыми я сталкиваюсь. Также я анализирую решения победителей различных соревнований. Как мы обсуждали выше, это бесценный источник информации, если вы можете правильно ее проанализировать.

    Посещение конференций типа CVPR, ICCV, как обычно, работает очень хорошо. Плотный, утомительный, но очень продуктивный способ в целом догнать поле.

    Саньям Бутани : Какой прогресс в области компьютерного зрения вас действительно радует?

    Владимир Иванович Игловиков : Что касается статей, то мой последний любимый трюк — использовать сиамские сети для классификации и отслеживания изображений, когда вы изучаете не значения классов, а встраивание классов.

    Мне очень нравится концепция. Но мне также нравится, как он позволяет использовать небольшой объем данных для обучения.

    Я предполагаю, что для того, чтобы двигаться в направлении общего искусственного интеллекта, роботов, беспилотных автомобилей, являющихся продуктом, и других увлекательных научно-фантастических областей, нам, вероятно, необходимо выяснить, как более эффективно использовать существующие данные.И в этом смысле мне нравятся сиамские сети и общая работа сообщества в направлении одноразового обучения.

    Саньям Бутани : Считаете ли вы, что ML как область оправдает все ожидания?

    Игловиков Владимир Иванович : Честно говоря, не знаю. Давайте перефразируем вопрос.

    Есть много людей, которые учатся в колледже на факультете компьютерных наук в течение четырех лет, думая о том, чтобы поступить в аспирантуру на пять лет, чтобы через 4 + 5 = 9 лет у них была бы интересная, хорошо оплачиваемая работа в университете. область машинного обучения.Я не уверен, что они это сделают. Но посмотрим, как это пойдет. Сейчас все слишком быстро меняется 🙂

    Саньям Бутани : Прежде чем мы закончим, какие советы начинающим, которые чувствуют себя подавленными, чтобы начать соревноваться?

    Владимир Иванович Игловиков : Есть только один совет для тех, кто хочет начать соревноваться. Просто сделай это и постарайся добраться до вершины, учись у всех и вся. Kaggle — отличная среда для обучения большому количеству навыков машинного обучения.Чем раньше вы начнете, тем раньше вы их приобретете.

    Саньям : Большое спасибо за это интервью.

    Владимир Иванович Игловиков : Спасибо за организацию и всем, кто найдет терпение дочитать до конца 🙂 И отдельное спасибо Эрику Гааседелену за вычитку!

    Edit: Спасибо Юрию Кашницкому за вычитку и внесение некоторых исправлений.

    Edit2: Большое спасибо Татьяне Габрусевой за доработку.

    Медиа

    июнь 2020
    Статья о Gear Cube XXL Оскара в журнале
    «Энергетическая техника передачи».

    2019:
    Разработка Topsy Turvy
    и номер Planet

    Лето 2019,
    Переворот Оскара в книге Бретта Ротштейна «Форма сложности»


    (Загадка на этой странице не принадлежит Оскару)

    16 мая 2019 г. Интервью Оскара с I Materialise.

    Май 2018: Книга указателя кубов Брайана Каплана, фотографии и информация о
    тысячи головоломок, в том числе некоторые из Оскара.
    К книге прилагается приятный подарок: Кольцо Оскара.

    La Repubblica TV (Италия) на Facebook, 31 октября 2017 г.

    14 октября 2017 г .:
    (Видео) Немецкое телевидение ARTE

    Октябрь 2017 г .: OskarPuzzle заработал
    «Silver Creator Award» на YouTube


    смотреть видео

    5 сентября 2017 г .: Видео
    Немецкое телевидение: Deutsche Welle Euromaxx

    16 марта 2017 г .: (Видео)
    Инсайдер
    дизайн

    19 августа 2016 г .: корреспондент

    Номинант на лучшую головоломку года коллекционерами 2015 и 2016


    Щелкните, чтобы увидеть текст

    Сундук Skewb (щелкните, чтобы увеличить)

    Лето 2015: Het tweede grote breinbeker boek (автор Иван Москович)

    8 июля 2015 г .: Makezine.ком

    6 июля 2015 г .: 3D print.com

    Лето 2014 г., выпуск 16, ежеквартально

    5 марта 2014 г .: Vimeo.com (фильм)

    29 января 2014 г .: 3Dprint.ком

    23 января 2014 г .: Planzówki-online

    2 октября 2013 г .: GigaOM.com

    19 июня 2013 г .: (Видео) Интервью YouTube с Дэном Фастом (CrazyBadCuber)


    9 июня 2013 г .: Интервью на русском сайте

    29 июля 2013 г .: GigaOM.ком


    Май 2012 Villas Life

    Wired.com: выпуск июнь 2012 г.


    Китайский журнал

    2012 c’t Оборудование Хаки

    Elsevier № 2.14 января 2012 г.


    2012 Выпуск 1 (на немецком языке)

    декабрь 2011 Villas Life

    Русская головоломка 2011


    Китайский журнал


    Выпуск 3, 2011

    2011 C’T Magazines for Computer and Technics, на немецком и голландском языках


    2011 Выпуск 15 (на немецком языке)


    2011 Выпуск 9 Сентябрь (на голландском языке)

    2011 27 июня, Антивирус / Антивирус

    Июль 2011-Том 13


    Игры Fanatic (Польша)

    Журнал Mathematica

    2010

    2010

    Capital, Германия выпуск 10-2010

    Составлено Питером Хайеком
    (Gear Cube, литой мрамор и антивирус)

    сентябрь 2008 г.

    янв.28, 2009


    Китайский журнал Life

    Открытие Puzzlemuseum
    Новая Зеландия

    2005

    2005



    нажмите здесь, чтобы подробнее

    2001

    2002 Magische Ketting / цепь

    1992 Куб Оскара

    1999 Садовый лабиринт на заднем дворе


    Для цветного сада нажмите здесь

    1988 Сентябрь: Куб Оскара

    1988 Ноябрь: Куб Оскара

    Scientific American (США)

    Scientific American (Франция)

    1982

    1983 Газета NRC

    .

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *