ニューラルネットワークソフトウェア - 百科事典
神経ネットワークソフトウェアは、人工的な神経ネットワークや生物学の神経ネットワークに基づいたソフトウェアコンセプト、および、人工知能や機械学習などのより広範な適応システムを模擬、研究、開発、適用するために使用されます。
模擬
神経ネットワークのシミュレータは、人工的なまたは生物学の神経ネットワークの動作を模擬するソフトウェアアプリケーションです。彼らは、一つのまたは限られた数の特定の種類の神経ネットワークに焦点を当てています。彼らは通常独立しており、他のソフトウェアに統合される一般的な神経ネットワークを生成することを意図していません。シミュレータは、トレーニングプロセスをモニターするために内部ビジュアル化の形式を持っています。いくつかのシミュレータでは、神経ネットワークの物理的な構造もビジュアル化されます。
= 研究シミュレータ =
歴史的に、最も一般的な種類の神経ネットワークソフトウェアは、神経ネットワーク構造とアルゴリズムを研究するために使用されていました。このタイプのソフトウェアの主要な目的は、シミュレーションを通じて、神経ネットワークの行動や特性に対するより良い理解を得ることです。今日の人工神経ネットワークの研究では、シミュレータは一般的なコンポーネントベースの開発環境として研究プラットフォームに取って代わられています。
一般的に使用されている人工神経ネットワークシミュレータには、Stuttgart Neural Network Simulator (SNNS)とEmergentがあります。
しかし、生物学の神経ネットワークの研究では、シミュレーションソフトウェアが唯一の方法です。このようなシミュレータでは、神経組織の物理的および化学的性質、およびニューロン間の電磁気信号が研究されます。
一般的に使用されている生物学のネットワークシミュレータには、Neuron、GENESIS、NEST、Brianがあります。
= データ分析シミュレータ =
研究シミュレータとは異なり、データ分析シミュレータは人工神経ネットワークの実際の適用に向けられています。彼らの主要な焦点はデータマイニングと予測です。データ分析シミュレータは、通常ある形の前処理機能を持っています。一般的な開発環境とは異なり、データ分析シミュレータは設定可能な比較的単純な静的神经ネットワークを使用します。市場のほとんどのデータ分析シミュレータは、逆伝播ネットワークまたは自己組織マップを使用して核心を構成しています。このタイプのソフトウェアの利点は、比較的使いやすくてある程度の柔軟性があることです。Neural Designerはデータ分析シミュレータの一例です。
= 神経ネットワーク理論の教育用シミュレータ =
1986-87年に「並列分散処理」のボリュームがリリースされ、比較的単純なソフトウェアが提供されました。元のPDPソフトウェアは、どのようなプログラミングスキルも必要とせず、多くの研究者が幅広い分野で採用されることになりました。元のPDPソフトウェアは、さらに強力なパッケージPDP++に発展し、さらに強力なプラットフォームEmergentに進化しました。各開発段階で、ソフトウェアはより強力になりましたが、初学者にとってはより厄介になりました。
1997年に、tLearnソフトウェアが本に伴ってリリースされました。これは、初心者向けの小さくてユーザーフレンドリーなシミュレータを提供するアイデアへの戻りです。tLearnは、単純な前向きネットワーク、および単純なループネットワークを訓練するための単純な逆伝播アルゴリズムを含んでいます。tLearnは1999年以来更新されていません。
2011年に、Basic Propシミュレータがリリースされました。Basic Propは、tLearnと同様の単純な機能を提供するプラットフォーム中立なJARファイルとして配布される自己完結型アプリケーションです。
開発環境
神経ネットワークのための開発環境は、上記のソフトウェアとは主に2つの点で異なります - カスタムタイプの神経ネットワークを開発することができ、神経ネットワークを環境外にデプロイできるサポートが提供されます。一部の環境では、高度な前処理、分析、ビジュアル化機能を持ちます。
= コンポーネントベース =
現在、工業および科学的な使用で好まれているより現代的な開発環境は、コンポーネントベースのパラダイムに基づいています。神経ネットワークはパイプラインフィルタフローの適応フィルタコンポーネントを結びつけて構築されます。これにより、カスタムネットワークが構築され、ネットワークに使用されるカスタムコンポーネントも使用できるため、より高い柔軟性が得られます。データフローの制御は、交換可能な制御システムおよび適応アルゴリズムによって行われます。他に重要な機能はデプロイメント機能です。
.NETやJavaなどのコンポーネントベースのフレームワークの出現により、コンポーネントベースの開発環境は開発された神経ネットワークをこれらのフレームワークに継承可能なコンポーネントとしてデプロイできるようになりました。さらに、一部のソフトウェアでは、これらのコンポーネントをさまざまなプラットフォーム(例えば、エンベディッドシステム)にデプロイすることもできます。
コンポーネントベースの開発環境には、Peltarion Synapse、NeuroDimension NeuroSolutions、Scientific Software Neuro Laboratory、およびLIONsolver統合ソフトウェアがあります。フリーのオープンソースのコンポーネントベースの環境には、EncogとNeurophがあります。
批評
コンポーネントベースの開発環境の欠点は、シミュレータよりも複雑であることです。完全に操作するために多くの学習が必要で、開発も複雑です。
カスタム神経ネットワーク
利用可能な神経ネットワークの多くは、さまざまなプログラミング言語やプラットフォーム上のカスタム実装です。基本的な神経ネットワークの種類は直接実装しやすく、神経ネットワーク機能を含む多くのプログラミングライブラリもあります。これらはカスタム実装に使用できます(例:TensorFlow、Theanoなど、Python、C++、Javaなどの言語にバインディングを提供するもの)。
標準
異なるアプリケーションで神経ネットワークモデルが共有されるためには、共通の言語が必要です。予測モデルマークアップ言語(PMML)がこのニーズに対応するために提案されました。PMMLはXMLに基づく言語で、アプリケーションがPMMLに準拠するアプリケーション間で神経ネットワークモデル(および他のデータマイニングモデル)を定義および共有する方法を提供します。
PMMLは、アプリケーションに独立したベンダーでのモデル定義方法を提供し、特許問題や互換性の問題がモデルのアプリケーション間の交換を阻害するものではなくなることを可能にします。ユーザーは、1つのベンダーのアプリケーションでモデルを開発し、他のベンダーのアプリケーションを使用してモデルをビジュアル化、分析、評価または他の方法で使用することもできます。これは以前は非常に困難でしたが、PMMLの出現により、準拠するアプリケーション間でのモデルの交換は現在簡単です。
= PMML消費者およびプロデューサ =
PMMLを生成および消費するさまざまな製品が提供されています。この不断に増加するリストには以下の神経ネットワーク製品が含まれます:
R: パッケージpmmlを使用して神経ネットワークおよび他の機械学習モデルのためのPMMLを生成します。
SAS Enterprise Miner: 神経ネットワーク、線形回帰、ロジスティック回帰、決定木、および他のデータマイニングモデルを含む多くのマイニングモデルのためのPMMLを生成します。
SPSS: 神経ネットワークおよび多くの他のマイニングモデルのためのPMMLを生成します。
STATISTICA: 神経ネットワーク、データマイニングモデル、および伝統的な統計モデルのためのPMMLを生成します。
参考情報
外部リンク
コロラド大学での神経ネットワークシミュレータの比較