Примеры архитектур нейронных сетей для решения пяти прикладных задач

Всем привет! Первый пост на Хабре и сразу хардкорная тема на злобу дня. Думаю, многие разработчики искусственного интеллекта для решения прикладных задач задумывались, какие архитектуры нейронок наиболее эффективны в контексте конкретных задач. Сразу оговорюсь, что приведенные примеры разработаны сотрудниками Университета искусственного интеллекта. Но мне, как участнику их интенсива, посчастливилось потестить их архитектуры и собрать полезную статистику по их эффективности.

1. Распознавание рукописных цифр

Начнем с с простейшей архитектуры. Данная сетка состоит из одного входного и 3-х полносвязных слоев:

Данная простая сетка при обучении показала весьма неплохие результаты. Точность на обучающей выборке составила 99,4%, в то время как на проверочной - 98,5%. И это за 2,57 секунд! Идем дальше.

2. Распознавание марки автомобиля

Вторая сетка потяжелее, но и задача стояла по амбициознее. Для эксперимента были взяты снимки трех марок - Рено, Мерседес и Феррари. Модель состоит из следующих слоев:

Как можно понять по долго тянущейся "простыне" из блоков, в модели представлены различные слои. К примеру использованы Сверточный2D, МаксПуллинг2D, Дропаут, Выравнивающий и Полносвязный слои в различных сочетаниях. Точность на обучающей выборке составила 76,7%, в то время как на проверочной - 73,6%. На обучение модель затратила немного времени - всего 1,7 секунд.

3. Распознавание голосовых команд

Третья задача формулируется просто - в потоке речи нужно распознать конкретное слово или фразу для управления умным домом. Сетка вышла следующего формата:

Модель получилась достаточно подтянутой и получила на выходе обучения следующие результаты. Точность на обучающей выборке составила 100,0%, на проверочной - 99,9% (!). Явно рабочая система. Время обучения - 0,7 секунд. Все это иллюстрирует красивая картина графика обучения.

4. Трейдинг акциями

Двигаемся дальше, и на очереди одна из самых горячих тем на рынке искусственного интеллекта - как лежать на диване, пока нейронка автономно генерирует профит. С такой задачей в теории должна прекрасно справляться следующая наша гостья - нейронка, торгующая на рынке акций. Модель выглядит следующим образом.

На выходе получили достаточно полновесную нейронку с множественными слоями. Она состоит к примеру из таких видов слоев, как Выравнивающий, Повтор, Сверточный1D, МаксПуллинг1D, Полносвязный и Дропаут. Точность на обучающей выборке составила 82,7%, на проверочной - 85,1%. Как видим, точность проверочной выборки здесь даже превысила обучающую. Модель выглядит достаточно перспективной. Время обучения - 0,16 секунд.

5. Сегментация...губ

Да, почему бы не внести порцию веселья в нашу сугубо научную статью? Вот и задача по сегментации изображения. В данном случае нас интересует, как на рандомном снимке выделить исключительно те участки, которые относятся к человеческим губам. Модель строим такую:

Первая серьезная модель, состоящая из различных слоев и блоков. Блоков здесь три - стартовый, PSP и финальный. Ключевой блок - второй, там всего один Сверточный слой. В первом применены Сверточный и Нормализация, по 2 штуки каждый. В финальном - Сверточный (3 щтуки) и Нормализация (2 штуки). Точность на обучающей выборке составила 99,8%, на проверочной - 99,8%. Как видим, точность проверочной выборки здесь совпала с обучающей. Время обучения составило 4,7 секунд.

Приведенные примеры архитектур в ходе тестов показали неплохие результаты и могут быть применены в решении практических задач. По каждой из моделей было проведено порядка 20-30 тестов по изменению их параметров. Возможно в следующих публикациях приведу подробные диапазоны тестирования представленных моделей. Спасибо за внимание!

Ads
AdBlock has stolen the banner, but banners are not teeth — they will be back

More

Comments 7

    0
    Думаю нейронная сеть которая выполняет Трейдинг акций, обучена на одном определенном тренде. И при любом изменении тренда может дать значительные сбои которые будут грозить владельцу значительными потерями которые он вряд ли может компенсировать прибылью которую получил.
      0
      Согласен. Без датасета лежащего в основе обучения никаких разговоров о «точности» быть не может. Плюс, как были составлены выборки, какие примеры результатов, хотя бы визуально.
      В общем, категорически неинформативно.
        0
        Да тут вопрос в том, что возможны серьезные сдвиги рынка например в Колумбии переворот и к власти приходит диктатор который легализует производство кокаина и т.п.
      +9
      Статья ни о чём.
      Ни названий архитектур, ни описания входных данных.
      На графиках не подписаны оси. Абсциссы это что? Семплы? Итерации? Батчи? Эпохи?
      Посмеялся с 99.9%-точности при распознавании речи, при времени обучения 0.7 секунд.
        +1

        А почему именно такие модели получились? Какие предпосылки к построению модели использовались?

          +1
          Очень мало информации, чтобы дать какую-то оценку полученным результатам.

          1) По поводу замеров времени — это время обучения, затраченное на количество эпох, изображенное на графиках? Важна конфигурация на которой проводились расчеты — CPU, GPU (модель видеокарты), размер выборки, батча. Без этого время ни о чем не говорит.

          2) Неплохо было бы показать примеры данных из датасета и результаты классификации на определенных примерах. Если на первой картинке еще можно догадаться, что скорее всего подразумевается MNIST, то для остальных примеров даже сложно оценить сложность задачи.

          3) С акциями более чем сомнительный результат — что подается на вход, что на выходе? Как измеряется точность тоже непонятно. Я бы ожидал решение здесь скорее задачу регресии.

          4) В задаче сегментации что подразумевается под точностью — IoU (Intersection over Union) или (mAP)?
            0
            Это действительно время обучения? Или, все же, время, за которое инпут проходит по предтренированной модельке и выдается результат?

            Only users with full accounts can post comments. Log in, please.