JP2008533615A - ニューラルネットワーク開発およびデータ解析ツール - Google Patents
ニューラルネットワーク開発およびデータ解析ツール Download PDFInfo
- Publication number
- JP2008533615A JP2008533615A JP2008501970A JP2008501970A JP2008533615A JP 2008533615 A JP2008533615 A JP 2008533615A JP 2008501970 A JP2008501970 A JP 2008501970A JP 2008501970 A JP2008501970 A JP 2008501970A JP 2008533615 A JP2008533615 A JP 2008533615A
- Authority
- JP
- Japan
- Prior art keywords
- neural network
- artificial neural
- training
- network
- input
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/10—Interfaces, programming languages or software development kits, e.g. for simulating neural networks
- G06N3/105—Shells for specifying net layout
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Machine Translation (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
【課題】 ネットワーク開発プロセスを自動化し、また、人工ニューラルネットワーク技術が用いられ得るハードウェアプラットフォームを増やす。
【解決手段】 ニューラルネットワーク開発およびデータ解析ツールは、拡張マークアップ言語などのスクリプトプログラミング言語またはプロジェクト「ウィザード」の利用を介した、著しく単純化されたネットワーク開発を提供する。システムはまた、三次元ビュー、スケルトン化および様々な出力モジュールオプションを含む、訓練された人工ニューラルネットワークの解析および利用のための様々な分析ツールを提供する。システムはまた、システムによって訓練されているネットワークの自律的評価の可能性と、提供されたデータの所定のセットのための最適なネットワーク特性の決定とを提供する。
【選択図】 図5
【解決手段】 ニューラルネットワーク開発およびデータ解析ツールは、拡張マークアップ言語などのスクリプトプログラミング言語またはプロジェクト「ウィザード」の利用を介した、著しく単純化されたネットワーク開発を提供する。システムはまた、三次元ビュー、スケルトン化および様々な出力モジュールオプションを含む、訓練された人工ニューラルネットワークの解析および利用のための様々な分析ツールを提供する。システムはまた、システムによって訓練されているネットワークの自律的評価の可能性と、提供されたデータの所定のセットのための最適なネットワーク特性の決定とを提供する。
【選択図】 図5
Description
関連出願の相互参照
本出願は、2005年3月14日出願の仮特許出願第60/661,369号の優先権を主張する。
本出願は、2005年3月14日出願の仮特許出願第60/661,369号の優先権を主張する。
発明の技術分野
本発明は、一般的に人工ニューラルネットワークの分野に関し、特に人工ニューラルネットワークおよびデータ解析ツールを開発するためのシステムに関する。
本発明は、一般的に人工ニューラルネットワークの分野に関し、特に人工ニューラルネットワークおよびデータ解析ツールを開発するためのシステムに関する。
発明の背景
ニューラルネットワークは、自律的にコンピュータプログラムを書くために自身を相互結合した「スイッチ」の集まりである。コンピュータコード内に典型的に存在する「if−then−else」論理の全てを供給するのではなく、入力および所望のプログラム出力の例示的なセットだけが供給される。コンピュータアルゴリズムがこれらの「訓練手本」をネットワークに素早く示すと、訓練アルゴリズムが、全体的なニューラルネットワークモデルの精度を妨げているスイッチ間リンクを修正するので、相互結合の全ては、いわば数学的に「たたかれる」。したがって、統計学者が、ライン、多項式、サインおよびコサインのような周期関数またはウェーブレットなど、モデルシステムに対して適切な基底関数を入念に選択してもよいが、人工ニューラルネットワークは、どのように問題をモデル化するかの先入観なしに開始する。代わりに、それは、正確なモデルに到達するように数学的に強制されることによって、手元の問題のための最も適切なフィッティング関数を生成するように、内部的に自己組織化する。
ニューラルネットワークは、自律的にコンピュータプログラムを書くために自身を相互結合した「スイッチ」の集まりである。コンピュータコード内に典型的に存在する「if−then−else」論理の全てを供給するのではなく、入力および所望のプログラム出力の例示的なセットだけが供給される。コンピュータアルゴリズムがこれらの「訓練手本」をネットワークに素早く示すと、訓練アルゴリズムが、全体的なニューラルネットワークモデルの精度を妨げているスイッチ間リンクを修正するので、相互結合の全ては、いわば数学的に「たたかれる」。したがって、統計学者が、ライン、多項式、サインおよびコサインのような周期関数またはウェーブレットなど、モデルシステムに対して適切な基底関数を入念に選択してもよいが、人工ニューラルネットワークは、どのように問題をモデル化するかの先入観なしに開始する。代わりに、それは、正確なモデルに到達するように数学的に強制されることによって、手元の問題のための最も適切なフィッティング関数を生成するように、内部的に自己組織化する。
人工ニューラルネットワークは、通常、アルゴリズム的に訓練および実行される。これらの技術は、かかるアルゴリズム用の訓練および/またはインプリメンテーションソフトウェアの開発に多くの時間を費やすことができるニューラルネットワーク専門家の技能を必要とした。この事実ゆえに、これらのネットワークを開発するための十分な資源を有する専門家の比較的限られたグループを除く全てに対して、人工ニューラルネットワークの利用可能性は、大方排除される。訓練されたニューラルネットワークで、スクリプト言語、特に拡張マークアップ言語を用いる例があるが、研究者は、かかるプログラミングツールを用いてニューラルネットワークを実際に訓練することができなかった。
したがって、ネットワーク開発プロセスを自動化し、かつ人工ニューラルネットワーク技術が用いられ得るハードウェアプラットフォームを増やすことによってニューラルネットワーク技術を「民主化」するシステムを開発することは、有利であろう。
本発明は、上述の問題の1つまたは複数を克服することに関する。
発明の概要
本発明の一態様は、一般に、スクリプト化ニューラルネットワーク訓練を利用してニューラルネットワークアーキテクチャ、訓練手順および出力ファイルフォーマットを指定するニューラルネットワークに基づくデータ解析ツールに関する。
本発明の一態様は、一般に、スクリプト化ニューラルネットワーク訓練を利用してニューラルネットワークアーキテクチャ、訓練手順および出力ファイルフォーマットを指定するニューラルネットワークに基づくデータ解析ツールに関する。
本発明の別の態様は、自己訓練人工ニューラルネットワークオブジェクトまたはSTANNOを利用するニューラルネットワークに基づくデータ解析ツールに関する。
本発明の別の態様は、ニューラルネットワークに基づくデータ解析ツール、すなわち仮想現実内の三次元ニューラルネットワークの視覚化を提供して、ユーザが、全体としてニューラルネットワークを見るかまたは任意の角度からズームして、ニューロンの内部詳細およびそれらの相互結合の両方を検査できるようにするニューラルネットワークに基づくデータ解析ツールに関する。
本発明の別の態様は、個別モデル出力を分離し、かつ一連の簡単なマウスクリックを通して、その出力に影響を及ぼす非常に重要な入力要素およびスキーマを明らかにする能力を提供するニューラルネットワークに基づくデータ解析ツールに関する。
本発明の別の態様は、相対参照および常駐スプレッドシート関数を通してニューロンが共に結ばれるスプレッドシートフォーマットにおいて人工ニューラルネットワークを生成する能力を提供するニューラルネットワークに基づくデータ解析ツールに関する。
本発明の別の態様は、目標探索アルゴリズムを用いて、ニューラルネットワークアーキテクチャの最適化をもたらすニューラルネットワークに基づくデータ解析ツールに関するが、この場合には、「マスタ」ニューラルネットワークモデルが、アーキテクチャおよび学習パラメータに基づいて精度を予測するために、素早く生成される。
本発明の上記の態様によれば、訓練されていない人工ニューラルネットワークを訓練するためのスクリプト化訓練命令およびパラメータのユーザ決定セットを含むニューラルネットワークトレーナが提供されるが、スクリプト化訓練命令およびパラメータは、スクリプト言語によって指定される。
別の態様によれば、人工ニューラルネットワークに基づくデータ解析システムが提供されるが、このシステムには、第1の層および少なくとも1つの続く層を有する人工ニューラルネットワークであって、層のそれぞれが、少なくとも1つのニューロンを有し、層のいずれかにおける各ニューロンが、任意の続く層における少なくとも1つのニューロンと結合され、各結合が重み値を有する人工ニューラルネットワークと、人工ニューラルネットワークの三次元表現と、が含まれる。
別の態様によれば、ニューラルネットワークトレーナが提供されるが、このトレーナには、第1の層および少なくとも1つの続く層を有する人工ニューラルネットワークであって、各層が少なくとも1つのニューロンを有する人工ニューラルネットワークと、第1の層のニューロンのそれぞれを分離するための、かつこれらの第1の層のニューロンへの入力値を修正して、続く層における関連する変化を直接観察するための手段と、が含まれる。
本発明のさらに別の態様によれば、ニューラルネットワークトレーナが提供されるが、このトレーナには、人工ニューラルネットワークと、人工ニューラルネットワークを訓練するための訓練命令およびパラメータセットと、訓練された人工ニューラルネットワークをスプレッドシートフォーマットに変換するプログラム機能と、が含まれる。
別の態様によれば、提案された、訓練されていない人工ニューラルネットワークを構築するシステムアルゴリズムと、訓練入力パターンおよび対応する訓練出力パターンの少なくとも1つのペアを有する少なくとも1つの訓練ファイルならびに訓練ファイルの表現と、を含む人工ニューラルネットワークに基づくデータ解析システムであって、訓練されていない人工ニューラルネットワークの構築および訓練が、前記訓練ファイルの前記表現を選択することによって開始される人工ニューラルネットワークに基づくデータ解析システムが提供される。
別の態様によれば、訓練入力パターンおよび対応する訓練出力パターンの少なくとも第1のペアと、第1の訓練されていない人工ニューラルネットワークと、デルタ値を生成し、かつ第1の人工ニューラルネットワークに関連する学習率を計算する第2の自己連想人工ニューラルネットワークとを含むニューラルネットワークトレーナであって、デルタ値が新規メトリックを表わすニューラルネットワークトレーナが提供される。
さらに別の態様によれば、訓練入力および対応する訓練出力の少なくとも第1のペアと、少なくとも1つの入力が第1の人工ニューラルネットワークに供給された場合に、少なくとも1つの出力を生成する第1の訓練されていない人工ニューラルネットワークと、前記訓練入力パターンが第1の人工ニューラルネットワークに供給された結果として、第1の人工ニューラルネットワークによって生成された実際の出力パターンを、対応する訓練出力と比較し、その比較に基づいた出力誤差を生成し、かつ第1の人工ニューラルネットワークに関連する学習率と運動量を決定する比較部と、を含む人工ニューラルネットワークに基づくデータ解析システムであって、第1の人工ニューラルネットワークのための学習率および運動量が、出力誤差に比例して調節される人工ニューラルネットワークに基づくデータ解析システムが提供される。
本発明の別の態様によれば、人工ニューラルネットワークに基づくデータ解析システムが提供されるが、このシステムには、訓練入力パターンおよび対応する訓練出力パターンの少なくとも第1のペアと、第1の訓練されていない人工ニューラルネットワークと、第1の人工ニューラルネットワークのためのアーキテクチャ、学習率および運動量をランダムにまたは系統的に生成する第1のアルゴリズムと、第1の人工ニューラルネットワークとほぼ同時にまたはその後に続いて訓練される少なくとも第2の訓練されていない人工ニューラルネットワークと、第1のアルゴリズムによってランダムにまたは系統的に生成される、第2の人工ニューラルネットワークに関連する第2のアーキテクチャ、学習率、および第2の運動量と、訓練入力パターンがどちらかのネットワークに供給された結果として、ネットワークのどちらかによって生成された実際の出力パターンを対応する訓練出力パターンと比較し、かつ累積学習誤差の計算に基づいて出力誤差を生成する比較器アルゴリズムと、第1および第2の人工ニューラルネットワークに関連するアーキテクチャ、学習率、運動量、および学習誤差を受信し、それらで訓練される第3の人工ニューラルネットワークと、第3の人工ニューラルネットワークの関連出力を観察するために、第3の人工ニューラルネットワークへの入力を変更して、最適ネットワークアーキテクチャおよび最適学習パラメータセットを識別するための手段と、が含まれる。
これらの態様は、本発明に関連する非常に多くの態様の単なる例証であり、決して限定的なものとして考えるべきでない。本発明のこれらや他の態様、特徴および利点は、参考図面と関連して理解されるならば、以下の詳細な説明から明らかになるであろう。
ここで、本発明を実施するための既知の最良の形態を示す図面を参照するが、図面では、同じ参照数字は、いくつかの図の全体にわたって、同じかまたは類似の部分を示す。
詳細な説明
以下の詳細な説明において、多くの特定の詳細は、本発明の完全な理解を提供するために述べられている。しかしながら、本発明がこれらの特定の詳細なしに実施可能であることを、当業者は理解されよう。たとえば、周知の方法、手順および構成要素は、本発明を曖昧にしないために、詳細には説明しなかった。
以下の詳細な説明において、多くの特定の詳細は、本発明の完全な理解を提供するために述べられている。しかしながら、本発明がこれらの特定の詳細なしに実施可能であることを、当業者は理解されよう。たとえば、周知の方法、手順および構成要素は、本発明を曖昧にしないために、詳細には説明しなかった。
以下では、ニューラルネットワークなる用語が用いられる場合には、それは、ニューラルネットワークの主力であり、かつこのプロダクトの基盤である多層パーセプトロン(MLP)と呼ばれる特定のパラダイムを指す。MLPは、3層以上のスイッチまたはニューロンを有するニューラルネットワークである。任意の所定の層内の各ニューロンは、続く層の内部の全てのニューロンと結合する。かかる結合は、従来の回帰の当てはめにおける重み係数に等しいが、モデルが所望のレベルの精度を達成するまで、訓練アルゴリズムの動作を通して繰り返し調節される。
本発明の一実施形態は、経験を積んだニューラルネットワーク専門家と同様に、初心者が使用可能なスクリプトベースのニューラルネットワークトレーナである。ユーザは、訓練されたニューラルネットワークの系図としての役割が後で可能な拡張マークアップ言語(XML)スクリプトを用いて、訓練セッションをセットアップする。システムは、ニューラルネットワークモデルの開発においてなされた全ての設計選択および作成された訓練パラメータの永久的記録を提供する。さらに、訓練に関して、何かの困難に遭遇した場合には、XMLスクリプトおよび必ずではないがユーザの独自データを、診断のために、第三者の技術サポート要員によって解析することができる。
システムはまた、ネットワークの三次元仮想現実モデルを生成することによって、何千〜何百万の入力および出力を有する大規模ニューラルネットワークモデルの訓練に伴うほとんどの視覚化問題を解決する。ネットワークをその全体において調査するために、ユーザは、マウスおよび/またはキーボードコマンドを用いて、ネットワーク中を「飛び回る」。一連のブックマークを設定することによって、オペレータは、ニューラルアーキテクチャ内のキーポイントに素早く戻ってもよい。さらに、単純なマウス動作を用いて、ネット内で、それほど重要でない結合重みを取り除いて、不可欠な入力要素およびスキーマ(すなわち基礎をなす論理)を明らかにしてもよい。
システムによってまた、ユーザは、訓練の最中でさえ、ネットワークモデルに問い合わせることが可能になる。各モデル入力に対応する一連のスライダ制御部を表示するビューを用いることにより、各スライダを手動で調節して、ネットワーク出力のそれぞれに対する効果を直接観察してもよい。この技術を用いて、モデル内のあるスイートスポットを探索するか、または感度解析を実行してもよい。
ユーザには、訓練されたニューラルネットワークのバッチファイル処理か、または自身の訓練されたニューラルネットワークを広範囲なフォーマットおよびコンピュータ言語へエクスポートするかのオプションがあるが、これらのフォーマットおよび言語には、C、C++、ビジュアルベーシック(Visual Basic(登録商標))、VBA、ASP、ジャバ(Java(商標))、ジャバスクリプト(Javascript(商標))、フォートラン(Fortran)77およびフォートラン(Fortran)90、MatLab(商標) M−file、MatLab S−file、他のMatLabフォーマット、ならびに並列ハードウェアおよび埋め込みターゲットのための専用言語が含まれる。
システムはまた、エクセル(Excel(商標))ワークシート内に実用的なニューラルネットワークを作成するために、スプレッドシートセルを機能的に接続するエクセル(Excel)エクスポートオプションを特徴とする。システムはまた、クリアスピード(ClearSpeed(商標))の最新世代の並列処理ボードと互換性がある並列化されたCコードを生成することができる。代替として、今やユーザは、自身のニューラルネットワークを、フィールド・プログラマブル・ゲート・アレイ(FPGA)のための設計環境であるスターブリッジ・システムズ・ビバ(Starbridge Systems Viva(登録商標))にエクスポートしてもよい。
システムは、ニューラルネットワークを用いて、様々な入力および出力間の関係を見つける。これらの入力および出力は、数的に表現できる任意の量または特性である。たとえば、ネットワークは、材料を製造するために用いられる成分と結果としての材料の特性との間の関係を見つけることが可能である。または、ニューラルネットワークは、資金の分散と結果としての利益との間の関係を見つけることが可能である。ニューラルネットワークは、人が実例に基づいて行動するのと同様に学習する。既知の出力を備えた入力セットが、ネットワークに提示される。入力および出力の各セットは、手本と呼ばれる。十分な手本を与えられたとすると、ネットワークは、関係を学習して、他の入力セットのための出力を予測することができる。
システムは、「自己訓練人工ニューラルネットワークオブジェクト」または「STANNO」を利用する。STANNOは、高効率のオブジェクト指向ニューラルネットワークである。STANNOはまた、米国特許第6,014,653号明細書に説明されており、この特許の開示は、参照により本明細書に明示的に援用されている。
システムの好ましい実施形態からの画面イメージを、図1〜図9に示す。図1には、主要な作業空間領域が含まれる。「XML」、「ネットワーク(Network)」および「マニュアル(Manual)」とラベル付けされた、作業空間領域の上部のタブは、ネットワークの異なるビューである。XMLビューは、図に示されているビューである。このビューは、ネットワークのパラメータを含む生のXMLコードである。ツリーウィンドウは、作業空間のXMLビューで利用可能な情報の単純化されたコンパクトなビューを示す。データおよびパラメータは、作業空間XMLビューと同様に、このウィンドウにおいて修正することができる。一方に対する変更は、もう一方に直ちに現われる。ステータスウィンドウは、システムの現在のステータスを示す。それは、プログラムが何をしているかを表示し、任意の訓練がどれくらい進んだかを示し、遭遇したあらゆる誤差およびより多くのことを示す。プロジェクトに関する情報のために、このウィンドウをしばしばチェックすることが重要である。これらのウィンドウは、切り離して主要なアプリケーションウィンドウから移すことができる。そうするためには、ドッキンググリップ(docking grip)をクリックし、それを所望の位置へドラッグする。
プロジェクトファイルは、標準XMLフォーマットに格納されている。以下は、各可能なタグおよびそれが何のために用いられるかの簡単な説明である。
<Stanno>−これは、各stannoまたはニューラルネットワークのための親タグである。全てのネットワークは、stannoタグの内部に存在しなければならない。
<Title>−ネットワークの名称。これは、出力コードモジュール内で、クラスまたはモジュールの名前として時々用いられる。
例:<title>My Network</title>
例:<title>My Network</title>
<ReportInterval>−これは、訓練中に、ネットワークの現在のRMS誤差を、どのくらいの頻繁で(エポックで)報告すべきかを指定する。どんな場合でも、報告は、毎秒2回を超えてプリントされない。(デフォルト:100)
例:<reportinterval>5000</reportinterval>
例:<reportinterval>5000</reportinterval>
<WorkDir>−WorkDirを用いて、ネットワーク用の訓練およびテストデータを保持するための別個のフォルダを指定することができる。(デフォルト:ブランク)
例:<workdir>C:\Projects</workdir>
例:<workdir>C:\Projects</workdir>
<DestDir>−DestDirを用いて、出力コードモジュールが保存される場所のための別個のフォルダを指定することができる。(デフォルト:ブランク)
例:<destdir>C:\Projects</destdir>
例:<destdir>C:\Projects</destdir>
<Layers>−これは、層数と同様に、各層のためのノード数を指定する。以下の例では、3入力2出力ネットワークが組み立てられる。Layersが存在しない場合には、ANNMLが、入力訓練データからアーキテクチャを決定しようとする。Layersは、訓練データから入力および出力数を決定できる場合には、2n+2ノードを含む隠れ層を備えた3層ネットワークにデフォルトでなる。ここでnは、入力数に等しい。ほとんどのネットワークは、3層を必要とするだけである。特定のデータセットのためにより多くの層が必要とされる場合には、4で通常は十分である。より多くの層は、訓練をより正確にするが、訓練外におけるネットワークの汎化能力を害する。また、追加的な層によって、訓練はより遅くされる。ANNMLネットワークでは、6層まで有することができる。
例:<layers>3,8,2</layers>
例:<layers>3,8,2</layers>
<Seek>−これは、自動アーキテクチャ探索のための親タグである。このタグが存在する場合には、システムは、現在のプロジェクトのための最適ネットワークアーキテクチャを見つけようと試みる。注:最適アーキテクチャを見つけた後で、<Layers>タグにおける隠れ層ノードの数を変更して、新しいアーキテクチャと一致させることが必要である。さもなければ、最適化されたセットから任意の保存された重みをロードすることは、ネットワークのXML記述と一致しない重みファイルにおける保存データのために、誤差に帰着する。また、最適化されたネットワークを訓練した後で、このタグおよびその子をANNMLプロジェクトから除去することが望ましいであろう。なぜなら、このタグブロック存在する状態での、ネットワークの任意のさらなる訓練は、結果として、最適アーキテクチャの別の探索をもたらすからである。
<Attempts>―これは、Seekの子であり、勝者であるアーキテクチャを決定する前に試みる異なるアーキテクチャ数を指定する。
例:<attempts>20</attempts>
例:<attempts>20</attempts>
<Subset>−これは、Seekの子であり、最適アーキテクチャ探索の汎化段階のために留保すべきオリジナル入力データのパーセンテージを指定する。
例:<subset>10</subset>
例:<subset>10</subset>
<MaxNodes>−これは、Seekの子であり、探索段階中に、ネットワークにおける任意の所定の層にとって可能な最大ノード数を指定する。
例:<maxnodes>100</maxnodes>
例:<maxnodes>100</maxnodes>
<MinNodes>−これは、Seekの子であり、探索段階中に、ネットワークにおける任意の所定の層にとって可能な最小ノード数を指定する。
例:<minnodes>20</minnodes>
例:<minnodes>20</minnodes>
<Eta>−このパラメータは、ネットワークの重みに適用される誤差量を制御することができる。1に近いかまたはそれを超える値は、ネットワークにより速く学習させることができるが、しかし入力データに大きな変動がある場合には、ネットワークは、あまりよく、または全く学習しない可能性がある。(デフォルト:1.0)
例:<eta>0.1</eta>
例:<eta>0.1</eta>
<Alpha>−このパラメータは、ネットワークにおける誤差量が、訓練の連続サイクルを通して、どのように繰り越されるかを制御する。ネットワークが「立ち往生」するのを避けて学習を停止するように、より高い値によって、前の誤差量のより大きな部分が練習を通して繰り越される。これは、訓練セットにおける異常な状態をならすのを支援することによって、いくつかの状況において学習率を改善することができる。(デフォルト:0.1)
例:</alpha>0.5</alpha>
例:</alpha>0.5</alpha>
<Normalize>―これは、イネーブルにされると、ネットワークへの送信前に入力を正規化する。これは、ネットワークの全入力空間にわたって入力データを分散するのに役立つ。データポイントが共に接近しすぎている場合には、ネットワークが最小および最大ポイント間の全範囲を包むように広げられている場合と同様には、ネットワークは学習しない可能性がある。(デフォルト:真)
例:<normalize>true</normalize>
例:<normalize>true</normalize>
<ScalMarg>−これは、正規化中に、入力および出力を特定の範囲にスケーリングする手段を提供する。ある例において、入力値が、共に接近しすぎているかまたはゼロおよび1に近すぎる場合には、ネットワークは、良好な学習率を達成することができない。Scale Marginは、最小および最大値間のデータを正規化し、この値の半分を、入力値に加えるかまたは差し引く。(デフォルト:0.1)
例:<scalmarg>0.1</scalmarg>
例:<scalmarg>0.1</scalmarg>
<Randomize>―これは、訓練中に訓練セットをランダム化すべきかどうか、または訓練セットファイルに存在する訓練セットで連続的に訓練すべきかどうかを指定する。ランダム化された訓練は、「局所化された学習」を回避するのに役立つときがある。(デフォルト:偽)
例:<randomize>true</randomize>
例:<randomize>true</randomize>
<Noise>−これは、各入力値にどれほどのノイズを加えるべきかを指定する。フォーマットは、コンマによって区切られた2つの浮動小数点数である。第1の数は、ノイズ範囲の下限を表わす。第2の数は、上限を表わす。以下の例は、訓練中に、各入力値に−0.01と+0.01との間の乱数を加えることになる。代替として、ノイズタグに1つの数だけが存在する場合には、その数の正および負値が、代わりに上限および下限として用いられる。(デフォルト:0.0、0.0)
例:<noise>−0.01,0.01</noise>
例:<noise>−0.01,0.01</noise>
<TargRMS>−これは、ネットワークが訓練で減らしていく目標RMSを指定する。ひとたびネットワークからの誤差がこのRMS以下に落ちれば、訓練は停止し、出力モジュールが生成される。TargRMSは、目標RMS探索をディスエーブルにするために、ゼロに設定することができる。この場合には、MaxEpochsが、非ゼロ値に設定されなければならない。(デフォルト:0.03)
例:<targrms>0.05</targrms>
例:<targrms>0.05</targrms>
<MaxEpochs>―これは、ネットワークが訓練される最大エポック数を指定する。ひとたびネットワークが、最大エポック数の訓練をされると、訓練は停止する。これをゼロに設定して、無制限のエポックを可能にすることができる。この場合には、TargRMSは、非ゼロ値に設定されなければならない。(デフォルト:0)。注:また、MaxEpochsタグは、Seekタグの子として用いることができ、最適アーキテクチャを見つけるために、任意の外部MaxEpochsタグに優先する。
例:<maxepochs>500000</maxepochs>
例:<maxepochs>500000</maxepochs>
<TestInt>−これは、所定のテストデータセットでネットワークをテストする間隔を指定する。(デフォルト:100)
例:<testint>50</testint>
例:<testint>50</testint>
<Data>−これは、各stannoオブジェクトにおけるデータセットのための親タグである。
<TrnFile>−これは、Dataの子であり、入力訓練セットのファイル名を指定する。これは、ファイルへのフルパス名か、またはANNMLプロジェクトが存在するフォルダもしくはシステムアプリケーションが起動された場所であるフォルダに関するパスとすることができる。このファイルのフォーマットは、以下のInputsに関するセクションで説明する。
例:<trnfile>traindata.pmp</trnfile>
例:<trnfile>traindata.pmp</trnfile>
<LabelFile>−これは、Dataの子であり、入力ラベルのファイル名を指定する。これは、ファイルへのフルパス名か、またはANNMLプロジェクトが存在するフォルダもしくはシステムアプリケーションが起動された場所であるフォルダに関するパスとすることができる。このファイルのフォーマットは、タブによって分けられた各ラベルと、最後の入力ラベルおよび最初の出力ラベルを分ける2つのタブとを備えた単一のテキスト行である。このファイルは、入力訓練セットがそれ自身のラベルを含まない場合にのみ、用いられるべきである。(デフォルト:ブランク)
例:<Iabelfile>labels.txt</labelfile>
例:<Iabelfile>labels.txt</labelfile>
<Labels>―これは、Dataの子であり、入力および出力ラベルとして用いられるテキスト行を指定する。このテキストのフォーマットは、コンマによって分けられた各ラベルと、最後の入力ラベルおよび最初の出力ラベルを分ける2つのコンマとを備えた単一のテキスト行である。このタグは、入力\訓練セットがそれ自身のラベルを含まない場合にのみ、用いられるべきである。(デフォルト:ブランク)
例:<labels>in1,in2,out1</labels>
例:<labels>in1,in2,out1</labels>
<WtFile>−これは、Dataの子であり、ネットワーク重みファイルのファイル名を指定する。これは、ファイルへのフルパス名か、またはANNMLプロジェクトが存在するフォルダもしくはシステムアプリケーションが起動された場所であるフォルダに関するパスとすることができる。このファイルを用いて、ネットワークの重みをロードおよび保存する。(デフォルト:ブランク)
例:<wtfile>insects.wts</wtfile>
例:<wtfile>insects.wts</wtfile>
<LoadWts>−これは、Dataの子であり、ネットワーク重みファイルのファイル名を指定する。これは、ファイルへのフルパス名か、またはANNMLプロジェクトが存在するフォルダもしくはシステムアプリケーションが起動された場所であるフォルダに関するパスとすることができる。このファイルは、ネットワークの重みをロードするためにのみ用いられる。このタグをSaveWtsと共に用い、保存に対し、ロードに異なるファイル名を指定する。(デフォルト:ブランク)
例:<loadwts>insects.wts</loadwts>
例:<loadwts>insects.wts</loadwts>
<SaveWts>−これは、Dataの子であり、ネットワーク重みファイルのファイル名を指定する。これは、ファイルへのフルパス名か、またはANNMLプロジェクトが存在するフォルダもしくはシステムアプリケーションが起動された場所であるフォルダに関するパスとすることができる。このファイルは、ネットワークの重みを保存するためにのみ用いられる。このタグをSaveWtsと共に用い、保存に対し、ロードに異なるファイル名を指定する。(デフォルト:ブランク)
例:<savewts>insects.wts</savewts>
例:<savewts>insects.wts</savewts>
<DFile>−これは、Dataの子であり、要約のファイル名を指定する。このファイルは、訓練が停止したときに書き込まれ、ネットワークアーキテクチャの短い要約、ならびに訓練が停止したときのエポック数および誤差量を含む。(デフォルト:ブランク)
例:<dfile>summary.txt</dfile>
例:<dfile>summary.txt</dfile>
<RMSFile>−これは、Dataの子であり、RMS誤差ログのファイル名を指定する。このファイルは、訓練中に書き込まれ、ネットワーク誤差を表わす一テキスト行を含む。このファイルは、ネットワークが訓練されているときに、誤差を経時的にグラフ化するために有用である。(デフォルト:ブランク)
例:<rmsfile>errorlog.txt</rmsfile>
例:<rmsfile>errorlog.txt</rmsfile>
<OutFile>−これは、Dataの子であり、各出力コードモジュールの親タグである。OutFileタグが存在しない場合には、コードモジュールは生成されない。
<Filename>−これは、OutFileの子であり、DestDirタグに対して、生成される出力のファイル名を指定する。
例:<filename>excelout.xls</filename>
例:<filename>excelout.xls</filename>
<Template>−これもまたOutFileの子であり、ファイルを生成するために用いるテンプレートを指定する。次のいくつかの異なる組み込みテンプレートがある。
C/C++
クリアスピード(ClearSpeed(商標))
フォートラン(Fortran)77
フォートラン(Fortran)90
ジャバ(Java(商標))
ジャバスクリプト(JavaScript(商標))
ビジュアルベーシック(Visual Basic(商標))
ビバ(Viva)
エクセル(Excel(商標))
MATLAB(登録商標)M−ファイル
MATLAB(登録商標)S−ファイル
このタグが組み込みテンプレートを用いるためには、上記のテンプレート名の1つを指定する。
例:<template>Excel</template>
また、カスタムテンプレートを用いて、モジュールを生成することができる。代わりに、単に、テンプレートのファイル名を指定する。テンプレートファイルの説明は、以下において、新しいプロジェクトウィザードのための出力コードモジュールに関するセクションで提示する。
C/C++
クリアスピード(ClearSpeed(商標))
フォートラン(Fortran)77
フォートラン(Fortran)90
ジャバ(Java(商標))
ジャバスクリプト(JavaScript(商標))
ビジュアルベーシック(Visual Basic(商標))
ビバ(Viva)
エクセル(Excel(商標))
MATLAB(登録商標)M−ファイル
MATLAB(登録商標)S−ファイル
このタグが組み込みテンプレートを用いるためには、上記のテンプレート名の1つを指定する。
例:<template>Excel</template>
また、カスタムテンプレートを用いて、モジュールを生成することができる。代わりに、単に、テンプレートのファイル名を指定する。テンプレートファイルの説明は、以下において、新しいプロジェクトウィザードのための出力コードモジュールに関するセクションで提示する。
<TestFile>−これは、Dataの子であり、訓練が完了した後で、ネットワークをテストするために用いる各訓練セットのための親タグである。
<SourceName>−これは、TestFileの子であり、訓練セットデータのファイル名を指定する。これは、生のタブ区切りデータまたは.pmpファイルとすることができる。
例:<sourcename>testdata.pmp</sourcename>
例:<sourcename>testdata.pmp</sourcename>
<TargetName>−これは、TestFileの子であり、DestDirタグに対して、生成される出力ファイルのファイル名を指定する。
例:<targetname>test−out.txt</targetname>
例:<targetname>test−out.txt</targetname>
<ScaleInputs>−これは、TestFileの子であり、入力をテストする前に、ゼロと1との間に入力をスケーリングまたは正規化すべきかどうかを指定する。(デフォルト:真)
例:<scaleinputs>false</scaleinputs>
例:<scaleinputs>false</scaleinputs>
<LeaveInputsScaled>−これは、TestFileの子であり、スケーリングされた入力を出力ファイルに書き込むべきか、またはオリジナル入力値を書き込むべきかどうかを指定する。(デフォルト:偽)
例:<leaveinputsscaled>false</leaveinputsscaled>
例:<leaveinputsscaled>false</leaveinputsscaled>
<ScaleOutputs>−これは、TestFileの子であり、テスト後に、入力のオリジナルの範囲へ、出力をスケーリングまたは正規化すべきかどうかを指定する。(デフォルト:真)
例:<scaleoutputs>false</scaleoutputs>
例:<scaleoutputs>false</scaleoutputs>
<ScaleMargin>−TestFileの子であり、この値は、ネットワークのScale Marginが訓練に対して有するのと同じ効果を、訓練セットの入力および出力に有する。(デフォルト:ネットワークを訓練するために用いられるScale Margin)
例:<scalemargin>0.1</scalemargin>
例:<scalemargin>0.1</scalemargin>
<MinMax>−これは、TestFileの子であり、スケーリングが用いられる場合に、訓練セットの検出された最小および最大値を置き換える。(デフォルト:0,0)
例:<minmax>0,1</minmax>
例:<minmax>0,1</minmax>
システムは、主要なネットワークパラメータを通して進みかつ各パラメータの適切な答えのためにユーザを促すことによって、ネットワークの生成を通じてユーザを案内するプロジェクトウィザードを特徴とする。これらのパラメータには次のものが含まれる。すなわち、入力数と、出力数と、層数と、ネットワークが、ユーザが定義する静的ネットワークアーキテクチャを用いるか、またはシステムが、基礎となるアルゴリズムを用いて、最適なネットワークアーキテクチャを見つけるように自動的に試みるかということと、各隠れた層におけるノード数と、学習パラメータ(イータおよびアルファ)と、学習目標(Max EpochsおよびTarget RMS)と、入力訓練ファイルと、出力コードモジュールとである。
システム内のアルゴリズムは、ユーザによって提供される情報に基づいて、適切なネットワークアーキテクチャを独立して開発する。
別の実施形態において、システムアルゴリズムは、選択された訓練データファイルに基づいて、適切なネットワークアーキテクチャのための最良の推測を生成する。認識された訓練データファイルが選択されると、アルゴリズムは、ネットワークのために、隠れ層の数と、隠れ層内のノードまたはニューロン数と、学習率(η)と、運動量(α)とを供給し、次に、訓練に先立ってネットワークを初期化する。有利なことに、この特定の実施形態は、ニューラルネットワーク初心者に適している。
最適ネットワークアーキテクチャを探索している場合には、システムは、いくつかのオリジナル訓練手本を用いて、最低の汎化誤差を決定することができる。
Subset−0と99との間の有効パーセンテージを指定しなければならない。この量は、訓練中に取り去られ、汎化のために用いられる。パターンのランダムなセレクションが、選択される。ゼロが入力された場合には、最適化は、汎化誤差の代わりに訓練誤差に基づき、Learning Targetセクションにおいて、TargetRASタグの代わりにMaxEpochsタグを必要とする。注:訓練データのセットが小さい場合には、サブセットを留保すると、訓練を不正確にする可能性がある。たとえば、ユーザが、排他的論理和ネットワークを訓練している場合には、訓練データは次のものからなる。
Subset−0と99との間の有効パーセンテージを指定しなければならない。この量は、訓練中に取り去られ、汎化のために用いられる。パターンのランダムなセレクションが、選択される。ゼロが入力された場合には、最適化は、汎化誤差の代わりに訓練誤差に基づき、Learning Targetセクションにおいて、TargetRASタグの代わりにMaxEpochsタグを必要とする。注:訓練データのセットが小さい場合には、サブセットを留保すると、訓練を不正確にする可能性がある。たとえば、ユーザが、排他的論理和ネットワークを訓練している場合には、訓練データは次のものからなる。
第4の手本が留保された場合には、ネットワークは、排他的論理和ではなく「論理和」の振る舞いを学習する。
Number of Attempts−これは、訓練すべき異なるアーキテクチャの数を指定する。ランダムなアーキテクチャが選択されて、別個のニューラルネットワークが結果を注視する間に、訓練される。ひとたび全てのアテンプトが完了すれば、別個のネットワークを用いて、最適アーキテクチャを生成する。
ネットワーク用の学習パラメータには、次のものが含まれる。
Eta(η)−このパラメータは、ネットワークの重みに適用される誤差量を制御することができる。1に近いかまたは1を超える値は、ネットワークに、より迅速に学習させることが可能だが、しかし入力データに大きなばらつきがある場合には、ネットワークは、あまりよく、または全く学習しない可能性がある。学習率が遅すぎるように思われる場合には、このパラメータを、ゼロにより近いものに設定して、それを上向きに徐々に動かすのがよりよい。
Alpha(α)−このパラメータは、ネットワークにおける誤差量が、訓練の連続サイクルを通して、どのように繰り越されるかを制御する。ネットワークが「立ち往生」するのを避けて学習を停止するように、より高い値によって、前の誤差量のより大きな部分が練習を通して繰り越される。これは、訓練セットにおける異常な状態をならすのを支援することによって、いくつかの状況において学習率を改善することができる。
Eta(η)−このパラメータは、ネットワークの重みに適用される誤差量を制御することができる。1に近いかまたは1を超える値は、ネットワークに、より迅速に学習させることが可能だが、しかし入力データに大きなばらつきがある場合には、ネットワークは、あまりよく、または全く学習しない可能性がある。学習率が遅すぎるように思われる場合には、このパラメータを、ゼロにより近いものに設定して、それを上向きに徐々に動かすのがよりよい。
Alpha(α)−このパラメータは、ネットワークにおける誤差量が、訓練の連続サイクルを通して、どのように繰り越されるかを制御する。ネットワークが「立ち往生」するのを避けて学習を停止するように、より高い値によって、前の誤差量のより大きな部分が練習を通して繰り越される。これは、訓練セットにおける異常な状態をならすのを支援することによって、いくつかの状況において学習率を改善することができる。
Learning Targetは、何のイベントがネットワークに訓練を停止するようにトリガするかを指定する。これらのパラメータの両方とも、非ゼロ値に設定してもよいが、しかし少なくとも1つは、ネットワークの停止ポイントを提供するために、非ゼロでなければならない。
Max Epochs−ネットワークのための最大エポック数を指定する。エポックは、完全な訓練セットを1回通過することである。
Target RMS−ネットワークからの最大誤差量を指定する。各エポックのRMS誤差がこの量を超えている間、訓練は継続する。このオプションは、最適アーキテクチャ探索がイネーブルにされ、汎化誤差の代わりに学習誤差が用いられている場合には、ディスエーブルにされる。
Max Epochs−ネットワークのための最大エポック数を指定する。エポックは、完全な訓練セットを1回通過することである。
Target RMS−ネットワークからの最大誤差量を指定する。各エポックのRMS誤差がこの量を超えている間、訓練は継続する。このオプションは、最適アーキテクチャ探索がイネーブルにされ、汎化誤差の代わりに学習誤差が用いられている場合には、ディスエーブルにされる。
入力ファイルのフォーマットは、タブ区切りテキストファイルである。二重タブが、目標出力データから入力データを分けるために用いられる。各訓練セットは、それ自身の行に基づかなければならない。空白行は許されない。入力用のラベルは、ファイルの第1行に存在しなければならず、入力訓練データと同じようにタブで区切られる。例として、2つの入力および1つの出力を備えたネットワークは、次のフォーマットの訓練データを有することになる。
In1<タブ>In2<タブ><タブ>Out
0<タブ>1<タブ><タブ>1
入力訓練データ用の拡張子は、「.pmp」でなければならない。
Randomize―これは、イネーブルにされると、ネットワークの訓練中に、訓練データからのパターンをランダム化する。これは、ネットワークをその学習プロセスにおいて陳腐にしてしまう「局所化された学習」を低減するのに役立つ。
Normalize−これは、イネーブルにされると、ネットワークへの送信前に入力を正規化する。これは、ネットワークの全入力空間わたって入力データを分散するのに役立つ。データポイントが共に接近しすぎている場合には、入力が最小および最大ポイント間の全範囲を包むように分散されている場合と同様には、ネットワークは学習しない可能性がある。
Scale Margin−これによって、正規化中に、入力および出力を特定の範囲にスケーリングする手段が提供される。ある例において、入力値が、共に接近しすぎているかまたはゼロおよび1に近すぎる場合には、ネットワークは、良好な学習率を達成することができない。Scale Marginは、最小および最大値間のデータを正規化し、この値の半分を、入力値に加えるかまたは差し引く。この値は、正規化フラグがイネーブルにされている場合にのみ用いられる。Scale Marginは、出力に対しては反対の効果を有し、出力を逆にそのオリジナルの範囲に拡張する。例:入力が0と1との間の範囲に及び、Scale Marginが.1である状態では、入力は、0.05および0.95の範囲に圧縮される。
Add Noise−このオプションをイネーブルにすると、訓練中に、ランダムなノイズ量が各入力値に加えられる。その範囲は、上限および下限領域で指定される。上限および下限は、入力に追加できるノイズ量を表わす。ほとんどの場合に、下限は、上限の負量に等しい。入力値が、ノイズを加えた結果として0.0〜1.0の範囲から外れる場合には、それは、0.0または1.0にクリッピングされる。
In1<タブ>In2<タブ><タブ>Out
0<タブ>1<タブ><タブ>1
入力訓練データ用の拡張子は、「.pmp」でなければならない。
Randomize―これは、イネーブルにされると、ネットワークの訓練中に、訓練データからのパターンをランダム化する。これは、ネットワークをその学習プロセスにおいて陳腐にしてしまう「局所化された学習」を低減するのに役立つ。
Normalize−これは、イネーブルにされると、ネットワークへの送信前に入力を正規化する。これは、ネットワークの全入力空間わたって入力データを分散するのに役立つ。データポイントが共に接近しすぎている場合には、入力が最小および最大ポイント間の全範囲を包むように分散されている場合と同様には、ネットワークは学習しない可能性がある。
Scale Margin−これによって、正規化中に、入力および出力を特定の範囲にスケーリングする手段が提供される。ある例において、入力値が、共に接近しすぎているかまたはゼロおよび1に近すぎる場合には、ネットワークは、良好な学習率を達成することができない。Scale Marginは、最小および最大値間のデータを正規化し、この値の半分を、入力値に加えるかまたは差し引く。この値は、正規化フラグがイネーブルにされている場合にのみ用いられる。Scale Marginは、出力に対しては反対の効果を有し、出力を逆にそのオリジナルの範囲に拡張する。例:入力が0と1との間の範囲に及び、Scale Marginが.1である状態では、入力は、0.05および0.95の範囲に圧縮される。
Add Noise−このオプションをイネーブルにすると、訓練中に、ランダムなノイズ量が各入力値に加えられる。その範囲は、上限および下限領域で指定される。上限および下限は、入力に追加できるノイズ量を表わす。ほとんどの場合に、下限は、上限の負量に等しい。入力値が、ノイズを加えた結果として0.0〜1.0の範囲から外れる場合には、それは、0.0または1.0にクリッピングされる。
ひとたびネットワークが訓練されると、出力コードモジュールを生成することができる。多数の出力ファイルを指定することができる。次の様々な異なるコードテンプレートがある。すなわち、C/C++、クリアスピード(ClearSpeed(商標))、フォートラン(Fortran)77、フォートラン(Fortran)90、ジャバ(Java(商標))、ジャバスクリプト(JavaScript(商標))、MATLAB(登録商標)M−ファイル、エクセル(Excel)、およびマイクロソフト(Microsoft(登録商標))ビジュアルベーシック(Visual Basic(登録商標))である。また、カスタムテンプレートフォーマットを指定することができる。カスタムテンプレートは、テキスト置換アルゴリズムを用いてテンプレート内の変数を埋めるテキストファイルである。カスタムフォーマットでは、次の変数を用いることができる。
%DATE%−モジュールが生成される日付/時間。
%NUMINPUTS%−ネットワークのための入力数。
%NUMOUTPUTS%−ネットワークのための出力数。
%NUMLAYERS%−ネットワークのための合計層数。
%NUMWEIGHTS%−ネットワーク内の重みの合計数。
%MAXNODES%−ネットワークの任意の所定の層における最大ノード数
%NODES%−ネットワークにおける各層のサイズのコンマ区切りリスト。
%DSCALMARG%−ネットワークを訓練するために用いられるスケーリングマージン。
%IMIN%−入力における最小値のコンマ区切りリスト。
%IMAX%−入力における最大値のコンマ区切りリスト。
%OMIN%−出力における最小値のコンマ区切りリスト。
%OMAX%−出力における最大値のコンマ区切りリスト。
%WEIGHTS%−ネットワークにおける内部重み全てのコンマ区切りリスト。
%TITLE%−ネットワークの名称。
%TITLE%_%−任意のスペースが「_」文字に変換されたネットワークの名称。
%DATE%−モジュールが生成される日付/時間。
%NUMINPUTS%−ネットワークのための入力数。
%NUMOUTPUTS%−ネットワークのための出力数。
%NUMLAYERS%−ネットワークのための合計層数。
%NUMWEIGHTS%−ネットワーク内の重みの合計数。
%MAXNODES%−ネットワークの任意の所定の層における最大ノード数
%NODES%−ネットワークにおける各層のサイズのコンマ区切りリスト。
%DSCALMARG%−ネットワークを訓練するために用いられるスケーリングマージン。
%IMIN%−入力における最小値のコンマ区切りリスト。
%IMAX%−入力における最大値のコンマ区切りリスト。
%OMIN%−出力における最小値のコンマ区切りリスト。
%OMAX%−出力における最大値のコンマ区切りリスト。
%WEIGHTS%−ネットワークにおける内部重み全てのコンマ区切りリスト。
%TITLE%−ネットワークの名称。
%TITLE%_%−任意のスペースが「_」文字に変換されたネットワークの名称。
IMIN、IMAX、OMIN、OMAXおよびWEIGHTS変数は、特別の方法で働く。それらは数の配列なので、出力方法は、多数の値を扱う必要がある。それゆえに、テンプレートにおいてこれらの変数のいずれかに遭遇したときはいつでも、これらの変数を囲む行内容が、変数自体が生成する各行のために生成される。たとえばテンプレートにおける以下の行、
%WEIGHTS%_
は、
0.000000,0.45696785,1.000000,_
0.100000,0.55342344,0.999000,_
のように見えるコードを生成するであろう。
先頭スペースおよび末尾のスペースならびに下線文字に注目されたい。この例におけるビジュアルベーシック(Visual Basic)などのいくつかの言語は、末尾の文字を用いて行の継続を示す。
%WEIGHTS%_
は、
0.000000,0.45696785,1.000000,_
0.100000,0.55342344,0.999000,_
のように見えるコードを生成するであろう。
先頭スペースおよび末尾のスペースならびに下線文字に注目されたい。この例におけるビジュアルベーシック(Visual Basic)などのいくつかの言語は、末尾の文字を用いて行の継続を示す。
システムには、ニューラルネットワークの生成および視覚化を促進するのに役立ついくつかのビューがある。プロジェクトを作成している間、図1および2に示すツリービューおよびXMLビューによって、ユーザは、プロジェクト用のデータを入力および編集することが可能になる。訓練中または訓練後に、ユーザは、ネットワークビュー(この例を図3に示す)へ切り換えることによって、ネットワークの現在の状態を見ることができる。これは、ニューラルネットワークの3Dビューであって、その入力、出力および現在の重みが、3Dオブジェクトによって表わされている。ネットワーク内の重みの分布もまた、ネットワークの下に表わされている。ネットワークビューのさらなる説明は、以下で提示する。訓練中または訓練後に、ユーザは、マニュアルビュー(図4に示す)においてネットワーク用の入力を手動で調節することによって、ネットワークをテストすることができる。ネットワークへの入力を表わす各スライダを調節することによって、それがネットワークの出力にどのように影響するかが分かる。
ネットワークビューは、3D空間において現在のプロジェクトを表示し、ネットワークの入力、出力、現在の重みおよび重み分布を表わす。このビューによって、ユーザは、ネットワークの三次元をあちこちナビゲートすることが可能になり、ユーザはまた、出力および隠れ層ニューロンを分離して、どの入力が各出力に最も大きく影響するかを確かめることが可能になる。ニューロンは、緑の球として表わされ、重みは青および赤の線によって表わされる。青線は、重みが正値であることを示す一方で、赤線は、重みが負値であることを示す。ニューロンを左クリックすると、そのニューロンに結合されていないが同じ層にある全ての重みが隠される。重み分布バーは、ネットワークにおける重みの分布を示すが、それらの符号を無視する。左端は、ネットワークにおける最も小さな重みに対応し、右端は、最も大きな重みに対応する。1つまたは複数の重みの存在は、垂直の緑のストライプによって示される。ストライプが明るければ明るいほど、より多くの重みがその値を共有する。
引き込み閾値(Draw Threshold)スライダは、分布バーの下の白い円錐として表わされる。スライダの右方に自身の値が位置する重みだけが引かれる。その結果として、左端では、全ての重みが表示され、右端では、最も強い重みだけが示される。ネットワークをスケルトン化したい場合には、スライダは有用である(以下の例を参照されたい)。スライダは、マウスで移動することができる。重み分布バー上でマウスをクリックおよびドラッグすることによって、引き込み閾値を調節する。
次の3入力2出力ネットワークを検討する。第1の出力は、論理演算A OR(B AND C)を実行するが、これは、Aが高い場合またはBおよびCの両方が高い場合に、出力が高いことを意味する。2番目は、A、BもしくはC(または任意の組み合わせ)が高い場合に高い。
ネットワークを訓練した後で、ネットワークビューを用いて、ネットワークがどのように自身を組織したかを検査することができる。ネットワークは、どんな種類の特性を呈するのか。この質問に対する答えを理解するためには、単一のニューロンがどのように働くかを理解しなければならない。各ニューロンは、いくつかの数の入力を有し、そのそれぞれが、関連する重みを有する。各入力は、その重みを掛けられ、これらの値が、全ての入力/重みペアのために合計される。これらの値の合計が、ニューロンの出力値を決定し、今度はこの出力値が、別のニューロンへの入力として用いられ得る。したがって、例示的なネットワークにおいて、A OR(B AND C)とラベル付けされた第1の出力は、Aだけが高い場合に、高い出力値を生成するが、しかしAが低い場合には、高い出力を生成するためにBおよびCの両方を必要とすることになる。これは、Aに関連する重み値が最も高いことを意味するはずである。ネットワークビューを用いて、これを検証することができる。どの入力が最も影響力があるか見つけるために、出力から入力へさかのぼるプロセスは、スケルトン化と呼ばれるが、例証のために上記の例を用いる。
サンプルネットワークビューを図5に提示する。重みの全てが表示されている。ユーザが、出力A OR(B AND C)に対する最も強い影響を検証することに興味がある場合には、その出力上でマウスを左クリックされたい。結果を図6に示す。そのニューロンを左クリックすると、もう一方の出力の重みが隠される。さらに、重み閾値スライダになされたどんな調節も、選択されたニューロンに影響するだけである。
次に、A OR(B AND C)に結合された重みのうちの1つだけが示されるまで、スライダを右に移動させる。結果を図7に示す。ここで、最高の大きさを備えた重みだけが、引かれている。図示の例において、それは、隠れ層において上端から下降して3番目のノードに結合されているが、しかしこれは、ネットワークごとに変化する。引き込み閾値スライダの位置は、隠れ層の右方の第2の重みセットに対する影響だけを示すことに留意されたい。これは、隠れ層の右方のニューロンが選択されたからである。
ここで、ユーザが、出力への結合がまだ見えている隠れ層ノードを左クリックすると、これによって、このノードに入る重みだけが引かれる。結果を図8に示す。新しい層が選択されたので、引き込み閾値スライダが左端に自動的にリセットされたことに留意されたい。隠れ層に入るただ1つの重みだけが示されるまで、スライダを右に移動した場合の結果を図9に示す。予想通り、出力A OR(B AND C)に対する最大の影響を備えた入力は、Aである。両方の重みが正であることに留意されたい。共に掛けられた2つの正数は正数を生じるので、これは両方の重みが負であるのと同じである。両方のケースで、Aにおける正の変化は、A OR(B AND C)における正の変化をもたらす。2つの重みの1つだけが負である場合には、Aにおける負の変化は、出力における正の変化をもたらしたであろう。これは、ネットワークがNOT(A)OR(B AND C)を実行するように訓練される場合に、見ることができる。ネットワークを常態に戻すかまたは別の出力をスケルトン化するためには、3Dビューのどこでもダブルクリックされたい。
システムの一実施形態において、ユーザは、単に特定の訓練データファイルを選択することによって、ネットワークの訓練を開始することができる。システム内の固有のアルゴリズムは、ネットワークのための適切なアーキテクチャに関する最良の推測、すなわちネットワークのための学習率および運動量と同様に、必要な隠れ層の数、各隠れ層内のニューロン数を自動的に推奨し、次に、この訓練されていないネットワークを初期化する。
別の実施形態において、システムは、第2の人工ニューラルネットワーク、好ましくは自己連想ネットワークを利用するが、このネットワークは、第1のネットワークと同時に訓練してもよい。第2の自己連想ネットワークの出力の1つは、第1のヘテロ連想ネットワークのための学習パラメータ(すなわち学習率および運動量)セットである。第2のネットワークはまた、デルタ値を計算する。一モードにおいて、このデルタ値は、供給された訓練出力パターンと、供給された訓練入力パターンに応じて第2のネットワークによって生成された実際の出力パターンとの間の差を表わす。本実施形態の一バージョンでは、デルタ値は、供給された訓練出力パターンと実際の出力パターンとの間のユークリッド距離に比例する。第2のネットワークによって計算されたデルタ値は、システムによってさらに利用される新規メトリックを表わす。このモードにおいて、デルタ値または新規メトリックを用いて、第1のネットワークのための学習パラメータを調節する。これは、第1のネットワーク用の学習強化の強度が第2のネットワークによって決定されるシステムの新規モードと一般に呼ばれる。このモードを図10に図示する。
上記の実施形態の第2のモードにおいて、第2のネットワークに供給される「入力」パターンは、入力および対応する出力のペア(Pin、Pout)からなる。これに応じて、第2のネットワークは、入力および出力のペア(P’in、P’out)を生成する。この場合に、デルタ値(δ)は、(Pin、Pout)と(P’in、P’out)との間の差を表わす。一バージョンでは、デルタ値は、(Pin、Pout)−(P’in、P’out)の絶対値として計算される。別のバージョンでは、デルタ値は、(Pin、Pout)と(P’in、P’out)との間のユークリツド距離に比例する。デルタ値は、指定された新規閾値と比較される。入力および出力(Pin、Pout)の特定のペアのためのデルタ値が、新規閾値を超える場合には、その訓練ペアは拒否されて、第1のネットワークを訓練するためにさらに利用することから除外される。このモードを図11に図示する。米国特許第6,014,653号明細書および同第5,852,816号明細書(これらの開示は参照により本明細書に明示的に援用されている)は、学習率を調節するかまたは手本を拒否するために、自己連想ネットを介して新規検出を利用することの追加的説明を提供している。
別の実施形態において、システムは、主に独立して動作して、最適アーキテクチャおよび所定の訓練データセットのための学習パラメータセットを決定する。システムは、一連のトライアルネットワークを自動的に生成し、そのそれぞれは、ランダムな隠れ層アーキテクチャおよび学習パラメータを提供される。これらの候補ネットワークのそれぞれが、提供されたデータで訓練されるとき、その訓練または汎化誤差は、それぞれ、訓練データまたは取って置かれたデータを用いて、計算される。次に、さらに別のネットワークであるマスタネットワークが、トライアルネットワークで用いられるアーキテクチャおよび学習パラメータにおける変動と、これらのネットワークにおける結果としての学習および汎化誤差と、からなるデータセットで訓練される。このデータは、トライアルネットワークによって「開発」されたときに、マスタネットワークへ直接送出されてもよいし、またはそれは、入力および出力パターンセットとしてメモリに格納され、トライアルネットワークの訓練が完了した後で、マスタネットワークに導入されるかもしくはそこからアクセスされてもよい。マスタネットワークの訓練に続いて、マスタネットワークは、その出力において最小の訓練または汎化誤差を生成する入力パターン(すなわち、隠れ層アーキテクチャおよび学習パラメータの組み合わせ)を見つけるために、確率的に問い合わされる。このプロセスを図12に図示する。目標探索アルゴリズムの別の例が、米国特許第6,115,701号明細書に示され、またこの特許の完全な開示が、参照により本明細書に明示的に援用されている。
本発明の他の目的、特徴および利点が、当業者に明らかになるであろう。本発明の好ましい実施形態を図示し説明したが、それは、例示としてであって、本発明は、添付の特許請求の範囲およびそれらの均等物の範囲によって要求される場合を除いて、限定されるべきではない。
Claims (55)
- 訓練されていない人工ニューラルネットワークを訓練するためのスクリプト化訓練命令およびパラメータのユーザ決定セットを含むニューラルネットワークトレーナであって、前記スクリプト化訓練命令およびパラメータセットが、スクリプト言語によって指定されるニューラルネットワークトレーナ。
- 前記スクリプト言語が拡張マークアップ言語である、請求項1に記載のニューラルネットワークトレーナ。
- 前記スクリプト化訓練命令およびパラメータセットを生成するために動作可能な訓練ウィザードをさらに含む、請求項1に記載のニューラルネットワークトレーナ。
- 第1の層および少なくとも1つの続く層を含む人工ニューラルネットワークであって、各前記層が少なくとも1つのニューロンをさらに含み、
前記層のいずれかにおける各前記ニューロンが、任意の続く層における前記ニューロンの少なくとも1つに結合され、各前記結合が、重み値と関連している人工ニューラルネットワークと、
前記人工ニューラルネットワークの三次元表現と、
を含む人工ニューラルネットワークに基づくデータ解析システム。 - 前記人工ニューラルネットワークの前記三次元表現の二次元解釈を有する表示モードをさらに含み、前記人工ニューラルネットワークの前記二次元解釈が、複数の視点から見られるように操作可能である、請求項4に記載のニューラルネットワークトレーナ。
- 前記第1の層における各ニューロンと前記続く層における前記ニューロンとの間の前記結合を分離して、前記結合に関連する前記重み値の大きさを決定することができる、請求項4に記載のニューラルネットワークトレーナ。
- 前記人工ニューラルネットワークの前記三次元表現が、各前記ニューロンに対応する表示ノードをさらに含み、
各前記ニューロンが、前記人工ニューラルネットワークの前記三次元表現内の前記対応する表示ノードを選択することによって、解析のために分離され得る、請求項4に記載のニューラルネットワークトレーナ。 - 各前記結合に関連する前記重み値の前記大きさに基づいて、前記結合のいずれかを選択的に除去するための手段をさらに含む、請求項6に記載のニューラルネットワークトレーナ。
- 結合を選択的に除去するための前記手段が、より大きな相対的大きさの重み値を有する結合を除去する前に、より小さな相対的大きさの重み値を有する結合を除去する、請求項8に記載のニューラルネットワークトレーナ。
- 結合を選択的に除去するための前記手段がスライダを含む、請求項8に記載のニューラルネットワークトレーナ。
- 前記人工ニューラルネットワークの前記三次元表現が、
各前記ニューロンに対応する表示ノードと、
各前記結合に対応する表示線と、
を含み、
前記除去された結合に対応する前記表示線が、前記人工ニューラルネットワークの前記三次元表現から削除される、請求項9に記載のニューラルネットワークトレーナ。 - 前記人工ニューラルネットワークの前記三次元表現が、
各前記ニューロンに対応する表示ノードと、
各前記結合に対応する表示線と、
を含み、
各前記表示線が、前記対応する結合に関連する前記重み値の大きさおよび算術符号に基づいて色分けされる、請求項4に記載のニューラルネットワークトレーナ。 - 前記対応する結合が正の重みと関連している場合には、各前記表示線が第1の色でコード化され、前記対応する結合が負の重みと関連している場合には、各前記表示線が第2の色でコード化される、請求項12に記載のニューラルネットワークトレーナ。
- 第1の層および少なくとも1つの続く層を含む人工ニューラルネットワークであって、各前記層が少なくとも1つのニューロンをさらに含む人工ニューラルネットワークと、
各前記第1の層のニューロンを分離し、前記第1の層のニューロンへの入力値を修正して、前記続く層の1つにおける関連する変化を直接観察するための手段と、
を含むニューラルネットワークトレーナ。 - 各前記第1の層のニューロンへの前記入力値を修正するための前記手段がスライダである、請求項14に記載のニューラルネットワークトレーナ。
- 前記入力値が、前記人工ニューラルネットワークの訓練中に修正可能である、請求項14に記載のニューラルネットワークトレーナ。
- 前記入力値が、前記人工ニューラルネットワークの訓練後に修正可能である、請求項14に記載のニューラルネットワークトレーナ。
- 前記人工ニューラルネットワークが、第1の層および少なくとも1つの続く層であって、各前記層が、少なくとも1つのニューロンをさらに含み、
前記層のいずれかにおける各前記ニューロンが、任意の続く層における前記ニューロンの少なくとも1つに結合され、各前記結合が、重み値と関連している第1の層および少なくとも1つの続く層
を含み、
前記訓練された人工ニューラルネットワークの前記結合重みを、プログラミング言語で表現された人工ニューラルネットワークに翻訳するように動作する第1のプログラム機能をさらに含む、請求項1に記載のニューラルネットワークトレーナ。 - 前記プログラミング言語が、C、C++、ジャバ(Java(商標))、マイクロソフト(Microsoft(登録商標))ビジュアルベーシック(Visual Basic(登録商標))、VBA、ASP、ジャバスクリプト(Javascript(商標))、フォートラン(Fortran)、MATLABファイル、およびハードウェアターゲット用のソフトウェアモジュールからなる群から選択される、請求項18に記載のニューラルネットワークトレーナ。
- 訓練されていない人工ニューラルネットワークと、
前記訓練されていない人工ニューラルネットワークを訓練するための訓練命令およびパラメータセットと、
前記訓練された人工ニューラルネットワークをスプレッドシートフォーマットに変換するように動作するプログラム機能と、
を含むニューラルネットワークトレーナ。 - 前記第2のプログラム機能が、スプレッドシートプログラムへの前記訓練された人工ニューラルネットワークを、前記訓練されたニューラルネットワークをスクリプト言語に翻訳することと、前記翻訳された人工ニューラルネットワークを前記スプレッドシートに関連するマクロ空間へ転送することとによって転送する、請求項20に記載のニューラルネットワークトレーナ。
- 前記第2のプログラムが、スプレッドシートプログラムへの前記訓練された人工ニューラルネットワークを、前記訓練された人工ニューラルネットワークを前記スプレッドシートプログラム内の一連の相互接続セルに翻訳することによって転送する、請求項20に記載のニューラルネットワークトレーナ。
- 入力パターンセットと、前記入力パターンセットを前記訓練された人工ニューラルネットワークにバッチ方式で入力するように動作する第3のプログラム機能とをさらに含む、請求項1に記載のニューラルネットワークトレーナ。
- 少なくとも第1の層および少なくとも1つの続く層を含む訓練されていない人工ニューラルネットワークであって、各前記層が、少なくとも1つのニューロンをさらに含み、前記層のいずれかにおける各前記ニューロンが、任意の続く層における前記ニューロンの少なくとも1つと結合され、前記人工ニューラルネットワークが、少なくとも1つの入力パターンが前記第1の人工ニューラルネットワークに供給された場合に、少なくとも1つの出力パターンを生成するように動作する訓練されていない人工ニューラルネットワークと、
前記第1の人工ニューラルネットワークを訓練するためのユーザ決定スクリプト化訓練命令およびパラメータセットであって、スクリプト言語によって指定される訓練命令およびパラメータセットと、
を含む人工ニューラルネットワークに基づくデータ解析システム。 - 前記スクリプト言語が拡張マークアップ言語である、請求項24に記載のシステム。
- 前記スクリプト化訓練命令およびパラメータセットを生成するように動作可能な訓練ウィザードをさらに含む、請求項24に記載のシステム。
- 前記人工ニューラルネットワークの三次元表現をさらに含む、請求項24に記載のシステム。
- 前記人工ニューラルネットワークの前記三次元表現が、複数の視点から見られるように操作可能な表示モードをさらに含む、請求項27に記載のシステム。
- 各前記結合が重み値を有し、
各前記ニューロン間の前記結合を分離して、前記重み値の大きさおよび算術符号を決定することができる、請求項27に記載のシステム。 - 各前記結合に関連する前記重み値の前記大きさに基づいて、前記結合のいずれかを選択的に除去するための手段をさらに含む、請求項29に記載のシステム。
- 結合を選択的に除去するための前記手段が、より大きな相対的大きさの重み値を有する結合を除去する前に、より小さな相対的大きさの重み値を有する結合を除去する、請求項30に記載のシステム。
- 結合を選択的に除去するための前記手段がスライダを含む、請求項30に記載のシステム。
- 前記人工ニューラルネットワークの前記三次元表現が、
各前記ニューロンに対応する表示ノードと、
各前記結合に対応する表示線と、
を含み、
前記除去された結合に対応する前記表示線が、前記人工ニューラルネットワークの前記三次元表現から削除される、請求項30に記載のシステム。 - 前記人工ニューラルネットワークの前記三次元表現が、
各前記ニューロンに対応する表示ノードと、
各前記結合に対応する表示線と、
を含み、
各前記表示線が、前記対応する結合に関連する前記重み値に基づいて色分けされる、請求項30に記載のシステム。 - 前記対応する結合が正の算術符号を有する重み値と関連している場合には、各前記表示線が第1の色でコード化され、前記対応する結合が負の算術符号を有する重み値と関連している場合には、各前記表示線が第2の色でコード化される、請求項34に記載のシステム。
- 各第1の層のニューロンを分離して変化させ、かつ前記第1の層のニューロンへの入力値を修正して、任意の続く層における関連する変化を直接観察するための手段をさらに含む、請求項24に記載のシステム。
- 各第1の層のニューロンへの入力値を分離および変更するための前記手段がスライダである、請求項36に記載のシステム。
- 前記入力値が、前記人工ニューラルネットワークの訓練中に修正可能である、請求項36に記載のシステム。
- 前記入力値が、前記人工ニューラルネットワークの訓練後に修正可能である、請求項36に記載のシステム。
- 前記訓練された人工ニューラルネットワークの前記結合重み値を、コンピュータ言語で表現された人工ニューラルネットワークモジュールに翻訳するように動作する第1のプログラム機能をさらに含む、請求項24に記載のシステム。
- 前記プログラミング言語が、C、C++、ジャバ(Java(商標))、マイクロソフト(Microsoft(登録商標))ビジュアルベーシック(Visual Basic(登録商標))、VBA、ASP、ジャバスクリプト(Javascript(商標))、フォートラン(Fortran)、MATLABファイル、およびハードウェアターゲット用のソフトウェアモジュールからなる群から選択される、請求項24に記載のシステム。
- 前記訓練された人工ニューラルネットワークをスプレッドシートフォーマットに変換するように動作する第2のプログラム機能をさらに含む、請求項24に記載のシステム。
- 前記第2のプログラム機能が、スプレッドシートプログラムへの前記訓練された人工ニューラルネットワークを、前記訓練されたニューラルネットワークをスクリプト言語に翻訳することと、前記翻訳された人工ニューラルネットワークを前記スプレッドシートに関連するマクロ空間へ転送することとによって転送する、請求項42に記載のニューラルネットワークトレーナ。
- 前記第2のプログラムが、スプレッドシートプログラムへの前記訓練された人工ニューラルネットワークを、前記訓練された人工ニューラルネットワークを前記スプレッドシートプログラム内の一連の相互接続セルに翻訳することによって転送する、請求項42に記載のシステム。
- 前記入力パターンセットを前記訓練された人工ニューラルネットワークにバッチ方式で入力するように動作する第3のプログラム機能をさらに含む、請求項24に記載のシステム。
- 少なくとも1つの事前に訓練された人工ニューラルネットワークおよびメモリをさらに含み、前記事前に訓練された人工ニューラルネットワークが、前記メモリに格納され、前記システムへの導入およびその内部での利用が可能である、請求項24に記載のシステム。
- 提案された、訓練されていない人工ニューラルネットワークを構築するように動作するシステムアルゴリズムと、
訓練入力パターンおよび対応する訓練出力パターンの少なくとも1つのペアを含む少なくとも1つの訓練ファイル、ならびに前記訓練ファイルの表現と、
を含む人工ニューラルネットワークに基づくデータ解析システムであって、
前記訓練されていない人工ニューラルネットワークの構築および訓練が、前記訓練ファイルの前記表現を選択することによって開始される人工ニューラルネットワークに基づくデータ解析システム。 - 訓練入力パターンおよび対応する訓練出力パターンの少なくとも第1のペアと、
第1の訓練されていない人工ニューラルネットワークと、
第2の自己連想人工ニューラルネットワークであって、デルタ値を生成し、かつ前記第1の人工ニューラルネットワークに関連する学習率を計算するように動作する第2の人工ニューラルネットワークと、
を含むニューラルネットワークトレーナであって、
前記デルタ値が新規メトリックを表わすニューラルネットワークトレーナ。 - 前記第2の自己連想人工ニューラルネットワークが、前記訓練入力パターンが前記第2のニューラルネットワークに供給された場合に、実際の出力パターンを生成するように動作し、
前記デルタ値が、前記訓練出力パターンと前記実際の出力パターンとの間の差に比例し、
前記新規メトリックが、前記訓練入力パターンに関連し、前記第1の人工ニューラルネットワークのための前記学習率が、前記新規メトリックに比例して調節される、請求項48に記載のシステム。 - 第2の訓練入力および対応する第2の訓練出力を含む少なくとも第1の組み合わせ入力パターンをさらに含み、
前記第2の自己連想人工ニューラルネットワークが、前記組み合わせ入力パターンが前記第2のニューラルネットワークに供給された場合に、実際の組み合わせ出力を生成するように動作し、前記実際の組み合わせ出力が、実際の入力および対応する実際の出力を含み、
前記デルタ値が、前記組み合わせ入力パターンと前記実際の組み合わせ出力との間の差に比例し、
前記新規メトリックが、前記実際の組み合わせ出力に関連し、前記第1の人工ニューラルネットワークのための前記学習率が、前記新規メトリックに比例して調節される、請求項48に記載のシステム。 - 指定された新規閾値をさらに含み、
前記新規メトリックが前記指定された新規閾値を超える場合には、前記第2の人工ニューラルネットワークが、前記ペアを拒否する、請求項48に記載のシステム。 - 前記第2の人工ニューラルネットワークが、前記第1の人工ニューラルネットワークと共に訓練されている、請求項48に記載のシステム。
- 訓練入力および対応する訓練出力の少なくとも第1のペアと、
少なくとも1つの入力が、前記第1の人工ニューラルネットワークに供給された場合に、少なくとも1つの出力を生成するように動作する第1の訓練されていない人工ニューラルネットワークと、
比較部であって、前記訓練入力パターンが第1の人工ニューラルネットワークに供給された結果として、前記第1の人工ニューラルネットワークによって生成された実際の出力パターンを、前記対応する訓練出力と比較し、前記実際の出力と前記対応する訓練出力との比較に基づいて、出力誤差を生成するようにさらに動作し、前記第1の人工ニューラルネットワークに関連する学習率および運動量を決定するように動作する比較部と、
を含む人工ニューラルネットワークに基づくデータ解析システムであって、
前記第1の人工ニューラルネットワークのための前記学習率および運動量が、前記出力誤差に比例して調節される人工ニューラルネットワークに基づくデータ解析システム。 - 前記比較部が、第2の自己連想人工ニューラルネットワークを含み、前記第2の人工ニューラルネットワークが、前記第1の人工ニューラルネットワークと共に訓練される、請求項53に記載のシステム。
- 訓練入力パターンおよび対応する訓練出力パターンの少なくとも第1のペアと、
第1の訓練されていない人工ニューラルネットワークと、
前記システムに関連し、第1の人工ニューラルネットワークのためのアーキテクチャ、学習率および運動量をランダムにまたは系統的に生成するように動作する第1のアルゴリズムと、
少なくとも第2の訓練されていない人工ニューラルネットワークであって、前記第1の人工ニューラルネットワークと同時にまたはその後に続いて訓練される第2のニューラルネットワークと、
前記第2の人工ニューラルネットワークに関連する第2のアーキテクチャ、学習率および第2の運動量であって、前記第1のアルゴリズムによってランダムにまたは系統的に生成されるアーキテクチャ、学習率およびに運動量と、
前記訓練入力パターンがどちらかの前記人工ニューラルネットワークに供給された結果として、前記人工ニューラルネットワークのどちらかによって生成された実際の出力パターンを、前記対応する訓練出力パターンと比較するように動作し、累積学習誤差の計算に基づいて出力誤差を生成するようにさらに動作する比較器アルゴリズムと、
前記第1および第2の人工ニューラルネットワークに関連する前記アーキテクチャ、学習率、運動量および学習誤差を受信し、それらで訓練されるように動作する第3の人工ニューラルネットワークと、
前記第3の人工ニューラルネットワークへの入力を変更して、前記第3の人工ニューラルネットワークの関連出力を観察し、最適ネットワークアーキテクチャおよび最適学習パラメータセットを識別するための手段と、
を含む人工ニューラルネットワークに基づくデータ解析システム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US66136905P | 2005-03-14 | 2005-03-14 | |
PCT/US2006/009154 WO2006099429A2 (en) | 2005-03-14 | 2006-03-14 | Neural network development and data analysis tool |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008533615A true JP2008533615A (ja) | 2008-08-21 |
Family
ID=36910906
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008501970A Pending JP2008533615A (ja) | 2005-03-14 | 2006-03-14 | ニューラルネットワーク開発およびデータ解析ツール |
Country Status (4)
Country | Link |
---|---|
US (1) | US20060224533A1 (ja) |
EP (1) | EP1861814A2 (ja) |
JP (1) | JP2008533615A (ja) |
WO (1) | WO2006099429A2 (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017037392A (ja) * | 2015-08-07 | 2017-02-16 | トヨタ自動車株式会社 | ニューラルネットワーク学習装置 |
DE102017212270A1 (de) | 2016-07-22 | 2018-02-01 | Fanuc Corporation | Erstellungsvorrichtung für Modelle für maschinelles Lernen, numerische Steuerung, Erstellungsverfahren für Modelle für maschinelles Lernen, Erstellungsprogramm für Modelle für maschinelles Lernen und Aufzeichnungsmedium |
WO2019064461A1 (ja) * | 2017-09-28 | 2019-04-04 | 良徳 若林 | 学習ネットワーク生成装置、及び学習ネットワーク生成プログラム |
WO2022092415A1 (ko) * | 2020-10-30 | 2022-05-05 | 주식회사 애자일소다 | 의사결정 에이전트 생성 장치 및 방법 |
JP7418511B2 (ja) | 2015-10-29 | 2024-01-19 | 株式会社Preferred Networks | 情報処理装置及び情報処理方法 |
US12026620B2 (en) | 2015-10-29 | 2024-07-02 | Preferred Networks, Inc. | Information processing device and information processing method |
Families Citing this family (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100223099A1 (en) * | 2008-12-10 | 2010-09-02 | Eric Johnson | Method and apparatus for a multi-dimensional offer optimization (mdoo) |
US9147156B2 (en) | 2011-09-21 | 2015-09-29 | Qualcomm Technologies Inc. | Apparatus and methods for synaptic update in a pulse-coded network |
US8725658B2 (en) | 2011-09-21 | 2014-05-13 | Brain Corporation | Elementary network description for efficient memory management in neuromorphic systems |
US9104973B2 (en) | 2011-09-21 | 2015-08-11 | Qualcomm Technologies Inc. | Elementary network description for neuromorphic systems with plurality of doublets wherein doublet events rules are executed in parallel |
US9412064B2 (en) | 2011-08-17 | 2016-08-09 | Qualcomm Technologies Inc. | Event-based communication in spiking neuron networks communicating a neural activity payload with an efficacy update |
US9460387B2 (en) | 2011-09-21 | 2016-10-04 | Qualcomm Technologies Inc. | Apparatus and methods for implementing event-based updates in neuron networks |
US8719199B2 (en) | 2011-09-21 | 2014-05-06 | Brain Corporation | Systems and methods for providing a neural network having an elementary network description for efficient implementation of event-triggered plasticity rules |
US8725662B2 (en) | 2011-09-21 | 2014-05-13 | Brain Corporation | Apparatus and method for partial evaluation of synaptic updates based on system events |
US9117176B2 (en) | 2011-09-21 | 2015-08-25 | Qualcomm Technologies Inc. | Round-trip engineering apparatus and methods for neural networks |
US10210452B2 (en) * | 2011-09-21 | 2019-02-19 | Qualcomm Incorporated | High level neuromorphic network description apparatus and methods |
WO2013138778A1 (en) * | 2012-03-15 | 2013-09-19 | Brain Corporation | Tag-based apparatus and methods for neural networks |
CA2869923C (en) | 2012-04-10 | 2020-03-10 | Lockheed Martin Corporation | Efficient health management, diagnosis and prognosis of a machine |
US9256823B2 (en) | 2012-07-27 | 2016-02-09 | Qualcomm Technologies Inc. | Apparatus and methods for efficient updates in spiking neuron network |
US9721204B2 (en) | 2013-10-28 | 2017-08-01 | Qualcomm Incorporated | Evaluation of a system including separable sub-systems over a multidimensional range |
GB2545083B (en) * | 2014-04-17 | 2020-09-09 | Lockheed Corp | Prognostics and health management system |
GB2545553B (en) | 2014-04-17 | 2021-03-10 | Lockheed Corp | Extendable condition-based maintenance |
US20160364419A1 (en) * | 2015-06-10 | 2016-12-15 | Blackbird Technologies, Inc. | Image and text data hierarchical classifiers |
US11086471B2 (en) * | 2016-06-06 | 2021-08-10 | Salesforce.Com, Inc. | Visualizing neural networks |
US10699185B2 (en) * | 2017-01-26 | 2020-06-30 | The Climate Corporation | Crop yield estimation using agronomic neural network |
US10678244B2 (en) | 2017-03-23 | 2020-06-09 | Tesla, Inc. | Data synthesis for autonomous control systems |
US11409692B2 (en) | 2017-07-24 | 2022-08-09 | Tesla, Inc. | Vector computational unit |
US11157441B2 (en) | 2017-07-24 | 2021-10-26 | Tesla, Inc. | Computational array microprocessor system using non-consecutive data formatting |
US10671349B2 (en) | 2017-07-24 | 2020-06-02 | Tesla, Inc. | Accelerated mathematical engine |
US11893393B2 (en) | 2017-07-24 | 2024-02-06 | Tesla, Inc. | Computational array microprocessor system with hardware arbiter managing memory requests |
US10984054B2 (en) * | 2017-07-27 | 2021-04-20 | Robert Bosch Gmbh | Visual analytics system for convolutional neural network based classifiers |
CN108009636B (zh) * | 2017-11-16 | 2021-12-07 | 华南师范大学 | 深度学习神经网络进化方法、装置、介质和计算机设备 |
CN110073426B (zh) * | 2017-11-23 | 2021-10-26 | 北京嘀嘀无限科技发展有限公司 | 估计到达时间的***和方法 |
US11561791B2 (en) | 2018-02-01 | 2023-01-24 | Tesla, Inc. | Vector computational unit receiving data elements in parallel from a last row of a computational array |
CN108228910B (zh) * | 2018-02-09 | 2023-05-12 | 艾凯克斯(嘉兴)信息科技有限公司 | 一种将循环神经网络应用在关联选择问题上的方法 |
JP6778708B2 (ja) * | 2018-03-14 | 2020-11-04 | 日本電信電話株式会社 | 解析装置、方法、及びプログラム |
US11215999B2 (en) | 2018-06-20 | 2022-01-04 | Tesla, Inc. | Data pipeline and deep learning system for autonomous driving |
US11361457B2 (en) | 2018-07-20 | 2022-06-14 | Tesla, Inc. | Annotation cross-labeling for autonomous control systems |
US11636333B2 (en) | 2018-07-26 | 2023-04-25 | Tesla, Inc. | Optimizing neural network structures for embedded systems |
US11562231B2 (en) | 2018-09-03 | 2023-01-24 | Tesla, Inc. | Neural networks for embedded devices |
EP3629246B1 (en) * | 2018-09-27 | 2022-05-18 | Swisscom AG | Systems and methods for neural architecture search |
SG11202103493QA (en) | 2018-10-11 | 2021-05-28 | Tesla Inc | Systems and methods for training machine models with augmented data |
US11196678B2 (en) | 2018-10-25 | 2021-12-07 | Tesla, Inc. | QOS manager for system on a chip communications |
US11816585B2 (en) | 2018-12-03 | 2023-11-14 | Tesla, Inc. | Machine learning models operating at different frequencies for autonomous vehicles |
US11537811B2 (en) | 2018-12-04 | 2022-12-27 | Tesla, Inc. | Enhanced object detection for autonomous vehicles based on field view |
CN109657789A (zh) * | 2018-12-06 | 2019-04-19 | 重庆大学 | 基于小波神经网络的风机齿轮箱故障趋势预测方法 |
US10332245B1 (en) * | 2018-12-11 | 2019-06-25 | Capital One Services, Llc | Systems and methods for quality assurance of image recognition model |
US11610117B2 (en) | 2018-12-27 | 2023-03-21 | Tesla, Inc. | System and method for adapting a neural network model on a hardware platform |
US11150664B2 (en) | 2019-02-01 | 2021-10-19 | Tesla, Inc. | Predicting three-dimensional features for autonomous driving |
US10997461B2 (en) | 2019-02-01 | 2021-05-04 | Tesla, Inc. | Generating ground truth for machine learning from time series elements |
US11567514B2 (en) | 2019-02-11 | 2023-01-31 | Tesla, Inc. | Autonomous and user controlled vehicle summon to a target |
KR102391817B1 (ko) * | 2019-02-18 | 2022-04-29 | 주식회사 아이도트 | 딥 러닝 시스템 |
US10956755B2 (en) | 2019-02-19 | 2021-03-23 | Tesla, Inc. | Estimating object properties using visual image data |
CN110689124A (zh) * | 2019-09-30 | 2020-01-14 | 北京九章云极科技有限公司 | 一种构建神经网络模型的方法及*** |
US11372632B2 (en) * | 2019-11-14 | 2022-06-28 | Mojatatu Networks | Systems and methods for creating and deploying applications and services |
CN111782402A (zh) * | 2020-07-17 | 2020-10-16 | Oppo广东移动通信有限公司 | 数据处理方法、装置以及电子设备 |
US20220207347A1 (en) * | 2020-12-28 | 2022-06-30 | International Business Machines Corporation | Split-net configuration for predictive modeling |
CN113300373B (zh) * | 2021-06-04 | 2023-04-07 | 南方电网科学研究有限责任公司 | 一种基于prmse评价指标的稳定裕度值预测方法及装置 |
US20230019194A1 (en) * | 2021-07-16 | 2023-01-19 | Dell Products, L.P. | Deep Learning in a Virtual Reality Environment |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003099756A (ja) * | 2001-09-25 | 2003-04-04 | Inst Of Physical & Chemical Res | 脳の精神的な機能をモデル化した人工ニューラルネットワーク構造の形成方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5241620A (en) * | 1991-01-03 | 1993-08-31 | Promised Land Technologies, Inc. | Embedding neural networks into spreadsheet applications |
US5640494A (en) * | 1991-03-28 | 1997-06-17 | The University Of Sydney | Neural network with training by perturbation |
US5432887A (en) * | 1993-03-16 | 1995-07-11 | Singapore Computer Systems | Neural network system and method for factory floor scheduling |
US5659666A (en) * | 1994-10-13 | 1997-08-19 | Thaler; Stephen L. | Device for the autonomous generation of useful information |
US5845271A (en) * | 1996-01-26 | 1998-12-01 | Thaler; Stephen L. | Non-algorithmically implemented artificial neural networks and components thereof |
US6401082B1 (en) * | 1999-11-08 | 2002-06-04 | The United States Of America As Represented By The Secretary Of The Air Force | Autoassociative-heteroassociative neural network |
-
2006
- 2006-03-14 EP EP06738236A patent/EP1861814A2/en not_active Withdrawn
- 2006-03-14 WO PCT/US2006/009154 patent/WO2006099429A2/en active Application Filing
- 2006-03-14 US US11/375,630 patent/US20060224533A1/en not_active Abandoned
- 2006-03-14 JP JP2008501970A patent/JP2008533615A/ja active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003099756A (ja) * | 2001-09-25 | 2003-04-04 | Inst Of Physical & Chemical Res | 脳の精神的な機能をモデル化した人工ニューラルネットワーク構造の形成方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017037392A (ja) * | 2015-08-07 | 2017-02-16 | トヨタ自動車株式会社 | ニューラルネットワーク学習装置 |
JP7418511B2 (ja) | 2015-10-29 | 2024-01-19 | 株式会社Preferred Networks | 情報処理装置及び情報処理方法 |
US11915146B2 (en) | 2015-10-29 | 2024-02-27 | Preferred Networks, Inc. | Information processing device and information processing method |
US12026620B2 (en) | 2015-10-29 | 2024-07-02 | Preferred Networks, Inc. | Information processing device and information processing method |
DE102017212270A1 (de) | 2016-07-22 | 2018-02-01 | Fanuc Corporation | Erstellungsvorrichtung für Modelle für maschinelles Lernen, numerische Steuerung, Erstellungsverfahren für Modelle für maschinelles Lernen, Erstellungsprogramm für Modelle für maschinelles Lernen und Aufzeichnungsmedium |
US10649416B2 (en) | 2016-07-22 | 2020-05-12 | Fanuc Corporation | Machine learning model construction device, numerical control, machine learning model construction method, and non-transitory computer readable medium encoded with a machine learning model construction program |
WO2019064461A1 (ja) * | 2017-09-28 | 2019-04-04 | 良徳 若林 | 学習ネットワーク生成装置、及び学習ネットワーク生成プログラム |
JPWO2019064461A1 (ja) * | 2017-09-28 | 2020-03-26 | 良徳 若林 | 学習ネットワーク生成装置、及び学習ネットワーク生成プログラム |
WO2022092415A1 (ko) * | 2020-10-30 | 2022-05-05 | 주식회사 애자일소다 | 의사결정 에이전트 생성 장치 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
WO2006099429A2 (en) | 2006-09-21 |
US20060224533A1 (en) | 2006-10-05 |
WO2006099429A3 (en) | 2007-10-18 |
EP1861814A2 (en) | 2007-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2008533615A (ja) | ニューラルネットワーク開発およびデータ解析ツール | |
Ciaburro et al. | Neural Networks with R: Smart models using CNN, RNN, deep learning, and artificial intelligence principles | |
Nápoles et al. | FCM expert: software tool for scenario analysis and pattern classification based on fuzzy cognitive maps | |
Aisa et al. | The emergent neural modeling system | |
Keijzer et al. | Evolving objects: A general purpose evolutionary computation library | |
US8712939B2 (en) | Tag-based apparatus and methods for neural networks | |
EP1353288A2 (en) | Hierarchical biological modeling system and method | |
Deperlioglu et al. | An educational tool for artificial neural networks | |
EP0509949B1 (en) | Enhanced neural network shell for application programs | |
WO2013138778A1 (en) | Tag-based apparatus and methods for neural networks | |
Scholz-Reiter et al. | Process modelling | |
US7788194B2 (en) | Method for controlling game character | |
Streeter et al. | Nvis: An interactive visualization tool for neural networks | |
Egan et al. | Improving human understanding and design of complex multi-level systems with animation and parametric relationship supports | |
Bershadsky et al. | Techniques for adaptive graphics applications synthesis based on variability modeling technology and graph theory | |
JP3315890B2 (ja) | データ処理システム | |
CN106104513A (zh) | 基于认知的知识处理***及方法 | |
Kotyrba et al. | The Influence of Genetic Algorithms on Learning Possibilities of Artificial Neural Networks. Computers 2022, 11, 70 | |
JP2003029973A (ja) | システム構築装置 | |
Scherer | Analysis of Functional Responses in Experimental Design | |
Piccione | Introduction to Deep Learning: a practical point of view | |
Gustafson et al. | Evolving Approaches and Technologies to Enhance the Role of Ecological Modeling in Decision Making | |
Vincenzi | A deep learning approach to the analysis of retinal images | |
NAPOLES RUIZ et al. | FCM Expert: Software Tool for Scenario Analysis and Pattern Classification Based on Fuzzy Cognitive Maps | |
Vankudoth et al. | Hybrid Optimization Driven RideNN for Software Reusability Estimation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110422 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110928 |