- PVSM.RU - https://www.pvsm.ru -
На Хабре есть большое количество статей о нейронных сетях, в которых присутствует картинка нейрона в виде кружочка с входящими стрелочками, картинка с линиями нейронов и обязательная формула суммы произведения весов на признаки. Эти статьи часто вызывают негодование уважаемой публики своей очевидностью и схожестью с обучением рисования совы. В этой статье я пойду ещё дальше – здесь не будет даже этого. Ни математики, ни сравнений с
Вокруг нейронных сетей (далее — НС) сейчас много шума. Вот и я решил сделать какой-нибудь продукт на их основе. И спросил себя: что мне нужно для этого? И ответил себе (да, я люблю поговорить с умным человеком): нужны три вещи – знания в области нейронных сетей, данные для обучения и железо, на котором обучать нейронную сеть. К слову, уже после я слышал, как во многих роликах на youtube докладчики говорили о том, что причиной ренессанса НС являются как раз эти вещи: улучшенные алгоритмы (знания), доступность огромного количества данных и возможности современных компьютеров (железо). Такое совпадение моих мыслей и слов экспертов обнадеживает, поэтому далее я буду говорить именно об этих трех вещах: данные, знания и железо.
Данные
Характер и тип данных зависит от той области, в которой Вы хотите применить НС.
Современные НС стали решать такие крутые задачи, как распознавание объектов на изображениях, лиц, распознавание речи, смогли сами играть в видеоигры и победили в го.
НС кроме прочего окутаны ореолом таинственности — никто не понимает, как именно они выполняют свою работу: набор нелинейных функций, многочисленных матриц весов, загадочных слагаемых и множителей — всё это выглядит как чан ведьмы, куда она бросает всякие корешки, крылья нетопырей и кровь дракона. Но вернемся к вопросу статьи.
Для обучения НС нужно очень много данных – сотни тысяч, миллионы примеров. Сможете, используя Ваш самописный граббер интернета, найти и скачать такую кучу? Я думаю, да. Но есть несколько проблем:
Знания
В НС чертовски много гиперпараметров, которые сильно влияют как на скорость работы, так и на сходимость в принципе. Вы можете переобучиться, застрять в локальном максимуме, растянуть обучение на недели и прочее. Знания архитектур НС, принципов работы Вы приобретёте, Вы же программист. Существует огромное количество фреймворков для машинного обучения – theano, tensorflow и прочие. Но вот настройка таких параметров как скорость обучения, выбор момента, выбор регуляризации и её параметров, выбор функции активации и ещё множества других – это экспериментальный процесс, отнимающий много времени. Из-за отсутствия точной стратегии и необходимости для каждой задачи настраивать и подбирать параметры вручную многие называют процесс обучения НС искусством.
Ресурсы
Вам нужно миллионы примеров обрабатывать многократно, большое количество раз: Вы дали примеры, НС немного поднастроила веса, Вы снова дали те же примеры, НС снова поднастроила веса — и так много «эпох». Если Вы используете перекрестную проверку, то данные Вы ещё и даёте при разных разбиениях на обучающую и валидационную выборку для того, чтобы НС не переобучилась на одних и тех же данных.
Какие приблизительно ресурсы Вы можете себе позволить? Я хотел купить себе топовый компьютер на базе Kaby Lake 7700K (или Razen 1800X) с двумя видеокартами NVidia GTX 1080, работающими совместно, используя SLI. И мне грела душу мысль о том, что его производительность равна производительности суперкомпьютеров десятилетней давности из списка Top500. Сколько времени займет обучение НС на нём? Это, конечно, зависит от архитектуры сети (количества слоёв, количества нейронов в слоях, связей), от количества примеров для обучения, от гиперпараметров. Но что меня поразило – я потратил несколько часов на сайте playground.tensorflow.org для того, чтобы маленькая сеть смогла правильно классифицировать точки в спирали в двумерном пространстве. Всего два измерения, не так много данных, а столько времени. Победитель конкурса ImageNet потратил в своё время неделю на обучение сети, используя две видеокарты, а уж он знал толк в подборе гиперпараметров. Вряд ли купите даже десяток серверов. Хватит ли у Вас терпения на обучение НС?
Резюме: мне кажется, что в домашних условиях Вы сможете решать некоторые задачи с помощью НС.
Это моё интуитивное мнение и очень приблизительная оценка, оно может быть ошибочным, я буду рад, если кто-нибудь в комментариях напишет о задачах, которые он решал в домашних условиях, какой был объем данных и характеристики железа.
Спасибо за внимание!
Автор: holyhope
Источник [2]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/iskusstvenny-j-intellekt/248290
Ссылки в тексте:
[1] мозгом: http://www.braintools.ru
[2] Источник: https://geektimes.ru/post/286658/
Нажмите здесь для печати.