Поверхностные и общие рассуждения о нейронных сетях |
||
МЕНЮ Искусственный интеллект Поиск Регистрация на сайте Помощь проекту ТЕМЫ Новости ИИ Искусственный интеллект Разработка ИИГолосовой помощник Городские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Техническое зрение Чат-боты Авторизация |
2017-03-07 21:31 На Хабре есть большое количество статей о нейронных сетях, в которых присутствует картинка нейрона в виде кружочка с входящими стрелочками, картинка с линиями нейронов и обязательная формула суммы произведения весов на признаки. Эти статьи часто вызывают негодование уважаемой публики своей очевидностью и схожестью с обучением рисования совы. В этой статье я пойду ещё дальше – здесь не будет даже этого. Ни математики, ни сравнений с мозгом. Вы вряд ли научитесь по этой статье чему-то практическому и есть большая вероятность, что всё изложенное покажется Вам слишком очевидным. Цель этой статьи — вопрос: что можете с помощью нейронных сетей сделать Вы. Не Яндекс, не Google, не Facebook, а именно Вы – с Вашим пятилетним стажем работы веб-разработчиком и трехлетним ноутбуком.
Вокруг нейронных сетей (далее — НС) сейчас много шума. Вот и я решил сделать какой-нибудь продукт на их основе. И спросил себя: что мне нужно для этого? И ответил себе (да, я люблю поговорить с умным человеком): нужны три вещи – знания в области нейронных сетей, данные для обучения и железо, на котором обучать нейронную сеть. К слову, уже после я слышал, как во многих роликах на youtube докладчики говорили о том, что причиной ренессанса НС являются как раз эти вещи: улучшенные алгоритмы (знания), доступность огромного количества данных и возможности современных компьютеров (железо). Такое совпадение моих мыслей и слов экспертов обнадеживает, поэтому далее я буду говорить именно об этих трех вещах: данные, знания и железо. Данные Характер и тип данных зависит от той области, в которой Вы хотите применить НС. Современные НС стали решать такие крутые задачи, как распознавание объектов на изображениях, лиц, распознавание речи, смогли сами играть в видеоигры и победили в го. Лирическое отступление Конечно, во многом этот хайп и пузырь вокруг НС – это влияние моды, вирусности, романтичного названия, аналогий с мозгом и мечтой о сильном ИИ. Ведь согласитесь, что если бы эти техники назывались «Перемножение матриц и оптимизация параметров методом градиентного спуска», всё это звучало бы менее эффектно и, возможно, не привлекло бы так много внимания. Некоторые возразят, что мол, чёрт с ним, с названием, не только из-за названия они так популярны, они же вызывают вау-эффект — посмотрите, что эти сети делают, они же выиграли в го! Хорошо, но когда ИИ выиграл в шахматы, ведь мало кто стал боготворить поиск в глубину и журналисты не писали о том, что A-star захватит мир, а программисты не стали его массово изучать. Для обучения НС нужно очень много данных – сотни тысяч, миллионы примеров. Сможете, используя Ваш самописный граббер интернета, найти и скачать такую кучу? Я думаю, да. Но есть несколько проблем:
Знания В НС чертовски много гиперпараметров, которые сильно влияют как на скорость работы, так и на сходимость в принципе. Вы можете переобучиться, застрять в локальном максимуме, растянуть обучение на недели и прочее. Знания архитектур НС, принципов работы Вы приобретёте, Вы же программист. Существует огромное количество фреймворков для машинного обучения – theano, tensorflow и прочие. Но вот настройка таких параметров как скорость обучения, выбор момента, выбор регуляризации и её параметров, выбор функции активации и ещё множества других – это экспериментальный процесс, отнимающий много времени. Из-за отсутствия точной стратегии и необходимости для каждой задачи настраивать и подбирать параметры вручную многие называют процесс обучения НС искусством. Ресурсы Вам нужно миллионы примеров обрабатывать многократно, большое количество раз: Вы дали примеры, НС немного поднастроила веса, Вы снова дали те же примеры, НС снова поднастроила веса — и так много «эпох». Если Вы используете перекрестную проверку, то данные Вы ещё и даёте при разных разбиениях на обучающую и валидационную выборку для того, чтобы НС не переобучилась на одних и тех же данных. Какие приблизительно ресурсы Вы можете себе позволить? Я хотел купить себе топовый компьютер на базе Kaby Lake 7700K (или Razen 1800X) с двумя видеокартами NVidia GTX 1080, работающими совместно, используя SLI. И мне грела душу мысль о том, что его производительность равна производительности суперкомпьютеров десятилетней давности из списка Top500. Сколько времени займет обучение НС на нём? Это, конечно, зависит от архитектуры сети (количества слоёв, количества нейронов в слоях, связей), от количества примеров для обучения, от гиперпараметров. Но что меня поразило – я потратил несколько часов на сайте playground.tensorflow.org для того, чтобы маленькая сеть смогла правильно классифицировать точки в спирали в двумерном пространстве. Всего два измерения, не так много данных, а столько времени. Победитель конкурса ImageNet потратил в своё время неделю на обучение сети, используя две видеокарты, а уж он знал толк в подборе гиперпараметров. Вряд ли купите даже десяток серверов. Хватит ли у Вас терпения на обучение НС? Резюме: мне кажется, что в домашних условиях Вы сможете решать некоторые задачи с помощью НС.
Это моё интуитивное мнение и очень приблизительная оценка, оно может быть ошибочным, я буду рад, если кто-нибудь в комментариях напишет о задачах, которые он решал в домашних условиях, какой был объем данных и характеристики железа. Источник: geektimes.ru Комментарии: |
|