Есть ответы
Как разобраться в нейронных сетях с нуля?

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

Читал пару статей на Хабре, но там сразу идет в матан по уши и я теряюсь. Видел что есть разные фреймворки - PyTorch, TensorFlow, Keras. Непонятно что учить первым и надо ли вообще понимать математику или можно сначала просто попробовать на практике.

47
Эксперт • 1 ответ

Конкретный маршрут для твоего уровня:

  1. Математика (2-3 недели). Не надо все сразу. Достаточно: производные и градиентный спуск (Khan Academy, бесплатно), умножение матриц и векторы (3Blue1Brown, серия "Essence of Linear Algebra" - там визуально, без боли).

  2. Теория с практикой параллельно. Курс fast.ai "Practical Deep Learning for Coders" - специально построен по принципу "сначала код, потом матан". Твой случай.

  3. Фреймворк - PyTorch. TensorFlow сдает позиции в исследовательском сообществе, Keras - это обертка. PyTorch сейчас стандарт де-факто и в академии и в проде.

  4. Книга: "Deep Learning with PyTorch" от Manning - там нормальный темп.

От матана полностью уходить не стоит, но и топить в него с первого дня нет смысла. Понимание придет итеративно.

Аватар Денис Агафонов

fast.ai берем на заметку, спасибо. А вот насчет TensorFlow - на работе у нас вся инфра на нем, стоит ли параллельно смотреть или сначала один PyTorch до уверенного уровня?

Аватар Почти Инженер

Если на работе TF - учи TF. Концепции одинаковые, синтаксис переучить потом несложно. Не распыляйся на старте.

38
Эксперт • 1 ответ

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

Проблема большинства туториалов в том, что они либо дают тебе магический model.fit() без объяснения что внутри, либо топят в формулах без практики. Оба подхода плохи.

Я бы рекомендовал начать с "Neural Networks: Zero to Hero" от Андрея Карпатого на YouTube. Он буквально пишет нейросеть с нуля на чистом Python без фреймворков, объясняя каждую строчку. После этого любой PyTorch воспринимается как родной, потому что ты уже понимаешь что он делает за тебя.

5
Эксперт • 5 ответов

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

Сначала Гилберт Стрэнг, линейная алгебра MIT OpenCourseWare. Потом исчисление. Потом Гудфеллоу "Deep Learning" от корки до корки. Только после этого открывай PyTorch.

Да, это год работы минимум. Хочешь понять - плати временем.

0
Участник • 1 ответ

Слушай, я три года назад был в точно такой же точке - питон знал, матан нет. Пошел через Coursera, курс Andrew Ng "Machine Learning Specialization". Там математика объясняется по ходу дела, не отдельным блоком. Может быть немного устаревший по инструментам (там больше numpy руками), но концептуально до сих пор лучшее что я видел для старта.

После него PyTorch зашел за пару недель без особых проблем.

Написать ответ

Премодерация гостей

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

Будьте вежливы и соблюдайте правила платформы.