Как сделать нейросеть?
Евгений, Липецк 783 просм.
Учусь на программиста и хочу разобраться не только в том, как пользоваться готовыми нейросетями, но и собрать свою хотя бы для простой задачи - например, распознавания рукописных цифр. С чего начать, какой язык и библиотеки нужны?
Дмитрий Волков инженер по машинному обучению
ответил
Для первой нейросети язык практически безальтернативный — Python, а библиотека PyTorch или TensorFlow с Keras. Студентам я обычно советую начинать с PyTorch: код чуть более явный, легче понять, что происходит внутри.
Задача с рукописными цифрами — классический учебный пример, для неё даже готов датасет MNIST: шестьдесят тысяч размеченных картинок цифр от 0 до 9. Минимальная сеть — это пара полносвязных слоёв и функция активации ReLU, обучить такую можно за несколько минут даже на обычном ноутбуке без видеокарты.
Порядок действий такой:
- разобраться с основами Python и NumPy, если этого ещё нет;
- пройти базовый курс по нейросетям (подойдёт бесплатный курс fast.ai или практическая часть курса Andrew Ng на Coursera);
- собрать простую сеть на MNIST по любому туториалу с сайта PyTorch;
- поменять в этом туториале что-то своё — число слоёв, скорость обучения — и посмотреть, как меняется точность.
Именно последний пункт даёт настоящее понимание, а не просто копирование чужого кода. Когда рукописные цифры распознаются с точностью выше 98%, можно переходить к более серьёзным задачам — классификации фото или обработке текста.
Задать свой вопрос
Вопросы проходят модерацию. Ответ эксперта публикуется на сайте в течение пары дней.
Вопрос отправлен на модерацию. После проверки он появится на сайте вместе с ответом эксперта.