Программное обеспечение нейронных сетей используется для моделирования , исследования , разработки и применения искусственных нейронных сетей , концепций программного обеспечения, адаптированных из биологических нейронных сетей , и, в некоторых случаях, более широкого спектра адаптивных систем, таких как искусственный интеллект и машинное обучение .
Симуляторы
Имитаторы нейронных сетей - это программные приложения, которые используются для моделирования поведения искусственных или биологических нейронных сетей. Они сосредоточены на одном или ограниченном количестве конкретных типов нейронных сетей. Обычно они являются автономными и не предназначены для создания нейронных сетей общего назначения, которые могут быть интегрированы в другое программное обеспечение. Симуляторы обычно имеют встроенную визуализацию для отслеживания тренировочного процесса. Некоторые симуляторы также визуализируют физическую структуру нейронной сети.
Симуляторы исследований
Исторически наиболее распространенный тип программного обеспечения нейронных сетей предназначался для исследования структур и алгоритмов нейронных сетей. Основная цель этого типа программного обеспечения - путем моделирования лучше понять поведение и свойства нейронных сетей. Сегодня при изучении искусственных нейронных сетей симуляторы в значительной степени заменены более общими средами разработки на основе компонентов в качестве исследовательских платформ.
Обычно используемые имитаторы искусственных нейронных сетей включают Stuttgart Neural Network Simulator (SNNS), Emergent и Neural Lab .
Однако при изучении биологических нейронных сетей программное обеспечение для моделирования по-прежнему остается единственным доступным подходом. В таких симуляторах изучаются физико-биологические и химические свойства нервной ткани, а также электромагнитные импульсы между нейронами.
Обычно используемые имитаторы биологических сетей включают Neuron , GENESIS , NEST и Brian .
Симуляторы анализа данных
В отличие от исследовательских тренажеров, тренажеры анализа данных предназначены для практических приложений искусственных нейронных сетей. Их основное внимание уделяется интеллектуальному анализу данных и прогнозированию. Симуляторы анализа данных обычно имеют некоторую форму предварительной обработки. В отличие от более общих сред разработки, симуляторы анализа данных используют относительно простую статическую нейронную сеть, которую можно настроить. Большинство симуляторов анализа данных, представленных на рынке, используют в качестве ядра сети с обратным распространением информации или самоорганизующиеся карты. Преимущество этого типа программного обеспечения в том, что оно относительно простое в использовании. Neural Designer - один из примеров симулятора анализа данных.
Тренажеры для обучения теории нейронных сетей
Когда в 1986-87 годах были выпущены тома « Параллельная распределенная обработка» [1] [2] [3] , они содержали относительно простое программное обеспечение. Исходное программное обеспечение PDP не требовало каких-либо навыков программирования, что привело к его принятию широким кругом исследователей в различных областях. Исходное программное обеспечение PDP было преобразовано в более мощный пакет под названием PDP ++, который, в свою очередь, стал еще более мощной платформой под названием Emergent . С каждой разработкой программное обеспечение становилось все более мощным, но и более сложным для использования новичками.
В 1997 году к книге было выпущено программное обеспечение tLearn. [4] Это было возвращение к идее создания небольшого, удобного симулятора, который был разработан для новичков. tLearn позволяет использовать базовые сети прямого распространения, а также простые рекуррентные сети, обе из которых можно обучить с помощью простого алгоритма обратного распространения. tLearn не обновлялся с 1999 года.
В 2011 году был выпущен симулятор Basic Prop. Basic Prop - это автономное приложение, распространяемое как независимый от платформы JAR-файл, который обеспечивает большую часть тех же простых функций, что и tLearn.
В 2012 году Wintempla включила пространство имен под названием NN с набором классов C ++ для реализации: сети прямого распространения, вероятностные нейронные сети и сети Кохонена. Neural Lab основана на классах Wintempla. В учебниках Neural Lab и Wintempla объясняются некоторые из этих классов для нейронных сетей. Основным недостатком Wintempla является то, что он компилируется только с Microsoft Visual Studio.
Среда разработки
Среды разработки для нейронных сетей отличаются от описанного выше программного обеспечения в первую очередь двумя учетными записями - их можно использовать для разработки нейронных сетей нестандартных типов, и они поддерживают развертывание нейронной сети за пределами среды. В некоторых случаях они обладают расширенными возможностями предварительной обработки , анализа и визуализации.
На основе компонентов
Более современный тип сред разработки, который в настоящее время используется как в промышленности, так и в науке, основан на компонентной парадигме . Нейронная сеть построена путем соединения компонентов адаптивного фильтра в потоке трубного фильтра. Это обеспечивает большую гибкость, так как могут быть построены пользовательские сети, а также пользовательские компоненты, используемые в сети. Во многих случаях это позволяет сочетанию адаптивных и неадаптивных компонентов работать вместе. Поток данных контролируется сменной системой управления, а также алгоритмами адаптации. Другая важная особенность - это возможности развертывания.
С появлением компонентных фреймворков, таких как .NET и Java , компонентные среды разработки способны развертывать развитую нейронную сеть в этих фреймворках как наследуемые компоненты. Кроме того, некоторое программное обеспечение также может развертывать эти компоненты на нескольких платформах, таких как встроенные системы .
Среды разработки на основе компонентов включают в себя: Peltarion Synapse , NeuroDimension NeuroSolutions , Scientific Software Neuro Laboratory и интегрированное программное обеспечение LIONsolver . Бесплатные среды на основе компонентов с открытым исходным кодом включают Encog и Neuroph .
Критика
Недостатком компонентных сред разработки является то, что они сложнее симуляторов. Они требуют большего обучения для полноценной работы, и их сложнее развить.
Пользовательские нейронные сети
Однако большинство доступных реализаций нейронных сетей являются пользовательскими реализациями на различных языках программирования и на различных платформах. Базовые типы нейронных сетей просто реализовать напрямую. Существует также множество программных библиотек, которые содержат функции нейронной сети и могут использоваться в пользовательских реализациях (например, TensorFlow , Theano и т. Д., Обычно обеспечивающих привязки к таким языкам, как Python , C ++ , Java ).
Стандарты
Чтобы модели нейронных сетей могли использоваться разными приложениями, необходим общий язык. Для решения этой проблемы был предложен язык разметки прогнозных моделей (PMML). PMML - это язык на основе XML, который позволяет приложениям определять и совместно использовать модели нейронных сетей (и другие модели интеллектуального анализа данных) между PMML-совместимыми приложениями.
PMML предоставляет приложениям метод определения моделей, не зависящий от производителя, так что проблемы с собственностью и несовместимость больше не являются препятствием для обмена моделями между приложениями. Он позволяет пользователям разрабатывать модели в рамках приложения одного поставщика и использовать приложения других поставщиков для визуализации, анализа, оценки или иного использования моделей. Раньше это было очень сложно, но теперь с PMML обмен моделями между совместимыми приложениями стал простым.
Потребители и производители PMML
Предлагается ряд продуктов для производства и потребления PMML. В этот постоянно растущий список входят следующие продукты нейронных сетей:
- R: создает PMML для нейронных сетей и других моделей машинного обучения с помощью пакета pmml.
- SAS Enterprise Miner: производит PMML для нескольких моделей интеллектуального анализа данных, включая нейронные сети , линейную и логистическую регрессию, деревья решений и другие модели интеллектуального анализа данных.
- SPSS: создает PMML для нейронных сетей, а также многие другие модели интеллектуального анализа данных.
- STATISTICA: производит PMML для нейронных сетей, моделей интеллектуального анализа данных и традиционных статистических моделей.
Смотрите также
- AI-ускоритель
- Физическая нейронная сеть
- Сравнение программного обеспечения для глубокого обучения
- Сбор данных
- Интегрированная среда развития
- Логистическая регрессия
- Мемристор
Рекомендации
- ^ Rumelhart, DE, JL McClelland и исследовательская группа PDP (1986). Параллельная распределенная обработка: исследования микроструктуры познания. Том 1: Основы, Кембридж, Массачусетс: MIT Press
- ↑ McClelland, JL, DE Rumelhart и Исследовательская группа PDP (1986). Параллельная распределенная обработка: исследования микроструктуры познания. Том 2: Психологические и биологические модели, Кембридж, Массачусетс: MIT Press
- ^ McClelland и Rumelhart "Исследования в Parallel Distributed Processing Handbook", MIT Press, 1987
- ^ Планкетт, К. и Элман, Дж. Л., Упражнения по переосмыслению врожденности: Справочник по коннекционистским симуляциям (MIT Press, 1997)
Внешние ссылки
- Сравнение симуляторов нейронных сетей в Университете Колорадо