Мелкие сети для распознавания шаблонов, кластеризации и временных рядов

Нейронные сети состоят из простых элементов, работающих параллельно. Эти элементы вдохновлены биологическими нервными системами. Как и в природе, связи между элементами в значительной степени определяют сетевую функцию. Можно обучить нейронную сеть выполнять конкретную функцию, настраивая значения соединений (весов) между элементами.

Обычно нейронные сети настраиваются или обучаются, так что конкретный вход приводит к определенному целевому выходу. Следующий рисунок иллюстрирует такую ситуацию. Здесь сеть корректируется, на основе сравнения вывода и цели, пока выход сети не совпадает с целью. Как правило, многие такие входные/целевые пары необходимы для обучения сети.

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

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

Следующие темы объясняют, как использовать графические инструменты для настройки нейронных сетей, чтобы решить проблемы в подборе кривой функций, распознавании шаблонов, кластеризации и временных рядах. Использование этих инструментов может дать вам отличное введение в использование программного обеспечения Deep Learning Toolbox™:

Приложения и функции Shallow Network в Deep Learning Toolbox

Существует четыре способа использования программного обеспечения Deep Learning Toolbox.

  • Первый путь - через его инструменты. Эти инструменты обеспечивают удобный способ доступа к возможностям тулбокса для следующих задач:

    • Функциональный подбор кривой (nftool)

    • Распознавание шаблонов (nprtool)

    • Кластеризация данных (nctool)

    • Timeseries (ntstool)

  • Второй способ использования тулбокса - это основные операции командной строки. Операции в командной строке обеспечивают большую гибкость, чем инструменты, но с некоторой дополнительной сложностью. Если это ваш первый опыт работы с тулбоксом, инструменты обеспечивают лучшее представление. В сложение инструменты могут генерировать скрипты задокументированного MATLAB® код, чтобы предоставить вам шаблоны для создания собственных настроенных функций командной строки. Процесс использования сначала инструментов, а затем генерации и модификации скриптов MATLAB - отличный способ узнать о функциональности тулбокса.

  • Третий способ использования тулбокса - это индивидуальная настройка. Эта расширенная возможность позволяет вам создавать собственные пользовательские нейронные сети, при этом еще имея доступ к полной функциональности тулбокса. Можно создать сети с произвольными соединениями, и вы по-прежнему сможете обучать их с помощью существующих функций обучения тулбокса (пока сетевые компоненты дифференцируемы).

  • Четвертый способ использования тулбокса - это возможность модифицировать любую из функций, содержащихся в тулбоксе. Каждый вычислительный компонент записывается в код MATLAB и полностью доступен.

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

Автоматическая генерация скриптов

Сами инструменты составляют важную часть процесса обучения для программного обеспечения Deep Learning Toolbox. Они проведут вас через процесс разработки нейронных сетей, чтобы решить проблемы в четырёх важных областях применения, не требуя никакого фона в нейронных сетях или сложности в использовании MATLAB. В сложение инструменты могут автоматически генерировать как простые, так и расширенные скрипты MATLAB, которые могут воспроизводить шаги, выполненные инструментом, но с опцией переопределить настройки по умолчанию. Эти скрипты могут предоставить вам шаблоны для создания настраиваемого кода, и они могут помочь вам ознакомиться с функциональностью командной строки тулбокса. Настоятельно рекомендуется использовать средство автоматической генерации скриптов этих инструментов.

Приложения пакета Deep Learning Toolbox

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

Промышленность

Бизнес-приложения

Космос

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

Автомобильный

Автоматическая система управления автомобилем и анализ гарантийной деятельности

Банковское дело

Проверка и прочее чтение документов и оценка кредитного заявления

Защита

Управление оружием, отслеживание цели, распознавание объектов, распознавание лиц, новые виды датчиков, гидролокатор, радиолокация и обработка сигналов изображения, включая сжатие данных, редукцию данных и подавление шума и идентификацию сигнала/изображения

Электроника

Предсказание кодовой последовательности, размещение микросхемы интегральной схемы, управление процессами, анализ отказа микросхемы, машинное зрение, синтез голоса и нелинейное моделирование

Развлечения

Анимация, специальные эффекты и прогнозирование рынка

Финансовый

Оценка недвижимости, консультирование по кредитам, проверка ипотеки, рейтинг корпоративных облигаций, анализ использования кредитных линий, отслеживание деятельности кредитных карт, программа торговли портфелем, корпоративный финансовый анализ и предсказание валютных цен

Промышленный

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

Страховка

Оценка применения политики и оптимизация продукта

Производство

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

Медицинский

Анализ камер рака молочной железы, анализ ЭЭГ и ЭКГ, проект протеза, оптимизация времени трансплантации, сокращение больничных расходов, улучшение качества больницы и консультация по тестированию отделения неотложной помощи

Нефть и газ

Исследование

Робототехника

Управление траекторией, робот, контроллеры манипуляторов и системы зрения

Ценные бумаги

Анализ рынка, автоматический рейтинг облигаций и консультационные системы по торговле акциями

Речь

Распознавание речи, сжатие речи, классификация гласных и синтез текста в речь

Телекоммуникации

Сжатие изображений и данных, автоматизированные информационные сервисы, перевод разговорного языка в реальном времени и системы обработки платежей клиентов

Транспортировка

Системы диагностики тормозов, составления расписаний и маршрутизации транспортных средств

Шаги проекта неглубокой нейронной сети

В остальных разделах этой темы вы будете следовать стандартным шагам для разработки нейронных сетей, чтобы решить проблемы в четырёх областях применения: подбор кривой функции, распознавание шаблона, кластеризация и анализ временных рядов. Рабочий процесс для любой из этих задач имеет семь основных шагов. (Сбор данных на шаге 1, хотя и важен, обычно происходит вне окружения MATLAB.)

  1. Сбор данных

  2. Создайте сеть

  3. Сконфигурируйте сеть

  4. Инициализируйте веса и смещения

  5. Обучите сеть

  6. Проверьте сеть

  7. Используйте сеть

Выполните следующие действия с помощью инструментов GUI и командной строки в следующих разделах: