И как по-прежнему добиваться успеха

Все началось с моей личной борьбы

По правде говоря, страх оказаться недостаточно хорошим в математике преследовал меня с первого дня, когда я начал свой путь к машинному обучению. Это впервые поразило меня, когда я попытался применить цепное правило при обратном распространении нейронных сетей. Мне потребовалось несколько дней до крайнего срока выполнения задания, пока я, наконец, не понял, как рассчитать градиенты. Чувак, это было тяжело! Я почти все еще чувствую горечь и трудности во рту. Я мало что знал, наверное, это была легкая часть. Настоящий кошмар начался, когда я впервые попыталась прочитать статью о машинном обучении… 🤮

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

Математика, необходимая для прикладного глубокого обучения, очень ограничена

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

В 90% случаев это может не понадобиться, особенно для глубокого обучения. Помните ад, о котором я упоминал выше? Он слишком долго меня преследовал, пока однажды, когда я изучал PyTorch, я обнаружил что-то под названием auto-grad. Это поразило меня. По сути, это означает, что какую бы функцию потерь вы ни придумали, фреймворк будет отслеживать ее и автоматически рассчитывать градиент за вас. Какие?! Тогда зачем мне делать все эти вычисления правил цепочки подпорок вручную?

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

«Два языка, две стороны горы, одна вершина»

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

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

Я чувствовал, что в глубоком обучении тоже есть похожие вещи. Одна из них - функция «автоматического градиента», которой обладает большинство фреймворков и некоторые языки. Вам не нужно знать, как рассчитать градиент вашей функции потерь, просто поверьте, фреймворк / язык могут это сделать. Может быть, это следует назвать «автограда прыжком веры». Вас не беспокоит, что вы не можете использовать сборку для написания кода Python, верно? Так зачем делать это, если вы не можете сделать градиент вручную?

Вы все равно не должны позволять себе застревать🚦

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

Что делать вместо этого?

Сказав все это, я хочу уточнить, что я не против изучения математики и не предполагаю, что математика не важна для вашего пути к машинному обучению. Математика определенно лежит в основе самых новых впечатляющих исследований в области машинного обучения. Я говорил, что не позволяйте одержимости математикой или страху перед математикой мешать вашему обучению. Просто учитесь, экспериментируйте с кодом, если вы застряли, и сначала проявите немного интуиции. Со временем вы постепенно погрузитесь в математическую часть машинного обучения. Изучение математики необходимо, но НЕТ дополнительных забот. 👨‍💻

Заключение

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

Эта статья оказалась полезной? Следуйте за мной (Майкл Ли) на Medium, или вы можете найти меня в Twitter @lymenlee или в моем блоге wayofnumbers.com. Вы также можете ознакомиться с моими самыми популярными статьями ниже!



« Это CS50 : приятный способ начать ваше образование в области науки о данных»
Почему CS50 особенно хорош для укрепления вашей основы разработки программного обеспечения в сторонуdatascience.com »





Две стороны одной монеты: fast.ai Джереми Ховарда и deeplearning.ai Эндрю Нга
Как не« переобучить
ваше обучение искусственному интеллекту, взяв и fast.ai, и глубокое обучение .ai курсы todatascience.com »





Что вам нужно знать о Netflix« Убийца Jupyter : Polynote 📖
Пора Jupyter Notebook найти достойного конкурента кdatascience.com» gg