2 года назад я понятия не имел как писать код. Сейчас я разработчик ИИ

06.05.2020
Posted in blog-article
06.05.2020 admin

2 года назад я понятия не имел как писать код. Сейчас я разработчик ИИ

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

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

Через несколько месяцев после начала работы я взялся за Excel VBA и научился пользоваться Tableau, Power BI и Ui Path (программное обеспечение для автоматизации робототехнических процессов). Я понял, что больше заинтересован в освоении этих инструментов и обучении программированию, чем в изучении банковских продуктов. Банковские продукты, которые когда-то привлекали меня своей сложностью, теперь рассматривались просто как способ получения банками прибыли от клиентов.

Банковская среда-это то, что бросает вызов моим личным ценностям, но это другая история.

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

Я тут же попался на крючок.

Однако была проблема – мои навыки кодинга были элементарными. В моем словаре питон — это разновидность змеи, а свинья — это … просто свинья.

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

Дисклеймер

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

мое путешествие

Запрыгивая на поезд хайпа МООК

Имея образование в области экономики и финансов, я не знал, как писать код. Excel VBA довольно близок к кодированию, но это все. Будучи сверхуспевающим человеком и желая запрыгнуть на подножку науки о данных, я записался на несколько массовых открытых онлайн-курсов (MOOК). Причем не на один, а на целую кучу. Вот список курсов, на которые я записался:

  • Python BootCamp: Go from zero to hero in Python 3 [Udemy]
  • Python for Data Science and Machine Learning Bootcamp [Udemy]
  • Managing Big Data with MySQL [Coursera]
  • Java Tutorial for Beginners [Udemy]
  • The Web Developer Bootcamp [Udemy]
  • Machine Learning A-Z: Hands-On Python & R in Data Science [Udemy]
  • Deploy Machine Learning & NLP Models with Docker [Udemy]

Излишне говорить, что я не завершил большинство из них (только те, которые выделены жирным шрифтом). Я застрял в том, что я называю самосохраняющимся циклом MOOК. Легкость доступа к знаниям делала естественным переход от одного курса к другому, часто не завершая предыдущий курс из-за краткости затронутых тем, которые делали мой интерес мимолетным.

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

Для наглядности: типичный MOOК, который учит традиционным методам машинного обучения (МО), часто скользит по поверхности того, что на самом деле делают модели. Случайные леса преподаются как совокупность древ решений, но то, как древа решений определяют, какие признаки выбираются в ветви (т. е. понятие и математика энтропии) не будет охвачено. Машины опорных векторов просто преподаются как метод классификации, но то, как определяется гиперплоскость, не будет раскрыто.

Это расхождение между “тем, что я знаю” и “тем, что мне нужно знать” проявляется, когда мы рассматриваем более продвинутые области ИИ, такие как глубокое обучение. MOOК, которые учат глубокому обучению, часто бросают вам кучу кода в Tensorflow на хороший набор данных, такой как MNIST, и делают вывод, что вы теперь эксперт по глубокому обучению (я немного преувеличиваю, но вы понимаете суть). Это явно далеко от реальности, поскольку исследовательские работы часто включают сложные архитектуры, которые включают понимание извлечения признаков в моделях глубоких нейронных сетей и других более сложных функций, таких как трансформаторы и двунаправленное кодирование. Понимание того, почему некоторые современные модели работают лучше, чем другие, также важно, наряду с такими понятиями, как трансферное и мета-обучения.

По моему мнению, МООК, которые учили машинному обучению, часто дают людям ложное впечатление, что любой человек может быть практиком в этой области. Для наивного человека МО — это просто несколько строк кода, который включает в себя .fit() и .predict (), и это потому, что MOOК представляют его таким образом, будто можно начать работу с ML с относительной легкостью (и, возможно, монетизация этих курсов была настолько прибыльной из-за массового ажиотажа вокруг ML).

Не поймите меня неправильно: MOOК — это здорово. Они обеспечивают быстрое и легкое получение знаний, чтобы начать работу по определенной теме. Сделают ли они вас экспертом? Нет. То, что вы сделаете после окончания курса, будет определять, станете ли вы экспертом или нет.

Пачкаем руки

После нескольких неудачных попыток я понял, что ничего не добьюсь. Конечно, я имел некоторые базовые навыки в Python и знал, как использовать scikit learn в a .fit() и .predict(), но это было примерно так.

Чтобы освежить свои навыки кодирования, я практиковался на Hackerrank и выполнял вопросы, связанные с SQL и Python. В то же время я хотел заполучить реальный проект, в котором я мог бы использовать Python. Именно тогда я начал работать над ботом, который мог бы заказывать для меня бадминтонные корты. Это в основном связано с использованием Selenium для взаимодействия с браузером, чтобы перемещаться по веб-страницам и в конечном итоге выкатывать и оплачивать площадку для бадминтона (это бота для сникерхедов). Смысл в том, что бадминтонные корты в Сингапуре обычно полностью забронированы за две недели до начала игры, и многие люди часто ночуют на сайтах бронирования каждый день во время релиза (обычно они бронируются в течение секунды или двух).

Хотя я был несколько более уверен в написании кода на Python, я ничего не знал об эффективности кода. Сложность пространства и времени была мне совершенно чужда. Объектно-ориентированное программирование было концепцией в моей голове, которая никогда не получала своего звездного часа (не говоря уже о том, что в конечном итоге была забыта).

С другой стороны, я был специалистом по Jupiter Notebook. Я мог бы изменить тему моего Jupyter Notebook на «темный режим» и использовать все сочетания клавиш. Очевидно, я был готов взять на себя роль исследователя данных.

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

Я был далеко не там, где мне нужно было быть.

Испачканные, но недостаточно

Чтобы достичь той глубины в МО и отточить свои навыки в Python, я решил получить степень магистра IT в бизнесе (со специализацией в области искусственного интеллекта) в Сингапурском университете управления.

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

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

На мой взгляд, магистратура обеспечивает академическую строгость, необходимую для профессионалов в области ИИ, но в магистерской программе отсутствует аспект применения в реальных условиях. Магистерский курс не скажет вам, что необходимо для того, чтобы получить работу в области науки о данных, — вам придется выяснить это самостоятельно. Разработка программного обеспечения и навыки DevOps часто требуются для работы специалиста по обработке данных (хотя и не очень обширной). Совместная работа кода также важна в крупных организациях. Таким образом, знание того, как настроить среду Docker, запустить экземпляр AWS EC2, разместить набор данных в хранилище blob-объектов Azure, эффективно организовать код и использовать GitHub или GitLab для управления версиями-это некоторые из важнейших навыков, которые необходимы, но не преподаются на занятиях.

Пробуйте, даже если вы думаете, что недостаточно хороши

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

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

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

Если вы чувствуете себя потерянным, вспомните, что сказала Эльза: “Делай следующее правильное дело”.

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

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

Contact

Давайте работать вместе!

Пишите нам и найдем точки соприкосновения, может станем партнерами, а может поможем вам зайти в нашу чудесную нишу

Вы разработчик?

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

Новичок?

Поможем быстро войти в нишу, не тратя годы на понимание

Давно в нише?

Рады будем пообщаться как на темы whitehat, так и blackhat тематики ^_^ + всегда есть что обсудить по поводу рекламных сетей

ПИШИ В TELEGRAM!

Contact