カーネルと、ハードウェアコンポーネントへの電力を制御する電力マネージャと、前記カーネルを監視し、電子装置の機能の実行を認識するニューラルネットワークとを有し、前記ニューラルネットワークは、前記カーネルの監視中に生成された情報に基づいて、前記ハードウェアコンポーネントへの電力を低減又は切断する信号を前記電力マネージャに送信する電子装置。前記ハードウェアコンポーネントは、前記電子装置の機能を実行するために必要ではない、請求項1に記載の電子装置。前記電力マネージャは、前記電子装置のメインプロセッサを使用せずに、前記ハードウェアコンポーネントへの電力を低減又は切断する、請求項1に記載の電子装置。前記電力マネージャは、メインプロセッサが低電力状態にある時間中に、前記ハードウェアコンポーネントへの電力を低減又は切断する、請求項1に記載の電子装置。前記ニューラルネットワークは、前記カーネルから生成されたシンボルに基づいて前記電子装置の機能の実行を認識する、請求項1に記載の電子装置。前記シンボルは、前記機能の実行中に前記カーネルにより実行される命令の中でプローブセットに基づいて前記カーネルから生成される、請求項5に記載の電子装置。前記ニューラルネットワークは、前記シンボルとマッピングテーブルとを比較することにより、前記電子装置の機能の実行を認識し、前記マッピングテーブルは、複数の所定の機能毎に前記電子装置のハードウェアコンポーネントのシンボルのパターンを識別する、請求項5に記載の電子装置。前記カーネルは、Linuxカーネルである、請求項1に記載の電子装置。前記電子装置は、電池式通信装置である、請求項1に記載の電子装置。カーネルから生成されたシンボルパターンを認識し、前記シンボルパターンに基づいて電子装置の機能を識別し、前記識別された機能に基づいて前記電子装置のハードウェアコンポーネントへの電力を低減又は切断することを有し、前記ハードウェアコンポーネントは、前記識別された機能を実行する際に必要ではない方法。前記ハードウェアコンポーネントは、前記電子装置のメインプロセッサを使用せずに、電力を低減又は切断する、請求項10に記載の方法。前記ハードウェアコンポーネントへの電力は、前記電子装置のメインプロセッサが低電力状態にあるときに、低減又は切断される、請求項10に記載の方法。前記認識は、シンボルパターンを前記電子装置の複数の機能のそれぞれにマッピングするマッピングテーブルを生成し、前記カーネルから生成された前記シンボルパターンと前記マッピングテーブルの前記シンボルパターンとを比較することを有し、前記電子装置の機能は、前記比較から生成された一致に基づいて識別される、請求項10に記載の方法。前記認識は、ニューラルネットワークにより実行され、前記ニューラルネットワークは、前記マッピングテーブルに基づいてトレーニングされる、請求項13に記載の方法。前記ニューラルネットワークは、前記比較により生成された一致に基づいて前記ハードウェアコンポーネントへの電力を低減又は切断する制御信号を生成し、電力管理システムの動作を制御する前記制御信号は、前記電子装置のメインプロセッサから分離して提供される、請求項14に記載の方法。前記シンボルパターンは、前記カーネルにより実行される一式の命令に含まれるプローブに基づいて生成される、請求項10に記載の方法。前記カーネルは、Linuxカーネルである、請求項10に記載の方法。カーネルから生成されたシンボルパターンを認識する第1のコード部分と、前記シンボルパターンに基づいて電子装置の機能を識別する第2のコード部分と、前記識別された機能に基づいて前記電子装置のハードウェアコンポーネントの電力を低減又は切断する第3のコード部分とを有し、前記ハードウェアコンポーネントは、前記識別された機能を実行する際に使用される必要がないコンピュータプログラムを格納したコンピュータ可読媒体。前記第3のコード部分は、前記電子装置のメインプロセッサを使用せずに、前記ハードウェアコンポーネントへの電力を低減又は切断する、請求項18に記載のコンピュータ可読媒体。前記第3のコード部分は、前記電子装置のメインプロセッサが低電力状態にあるときに、前記ハードウェアコンポーネントへの電力を低減又は切断する、請求項18に記載のコンピュータ可読媒体。前記第1のコード部分は、シンボルパターンを前記電子装置の複数の機能のそれぞれにマッピングするマッピングテーブルを生成し、前記カーネルから生成された前記シンボルパターンと前記マッピングテーブルの前記シンボルパターンとを比較することにより、前記シンボルパターンを認識し、前記電子装置の機能は、前記比較から生成された一致に基づいて識別される、請求項18に記載のコンピュータ可読媒体。前記第1のコード部分は、前記マッピングテーブルに基づいてトレーニングされるニューラルネットワークにより実装される、請求項21に記載のコンピュータ可読媒体。前記比較により生成された一致に基づいて前記ハードウェアコンポーネントへの電力を低減又は切断する制御信号を生成する第4のコード部分を更に有し、電力管理システムの動作を制御する前記制御信号は、前記電子装置のメインプロセッサから分離して提供される、請求項22に記載のコンピュータ可読媒体。前記シンボルパターンは、前記カーネルにより実行される一式の命令に含まれるプローブに基づいて生成される、請求項18に記載のコンピュータ可読媒体。しかし、上記の目的でのCPUの使用は、消費する大量の電力のため、最適ではない。本発明は、自動負荷検出に基づく電力管理を提供することを目的とする。本発明の電子装置は、カーネルと、ハードウェアコンポーネントへの電力を制御する電力マネージャと、前記カーネルを監視し、電子装置の機能の実行を認識するニューラルネットワークとを有し、前記ニューラルネットワークは、前記カーネルの監視中に生成された情報に基づいて、前記ハードウェアコンポーネントへの電力を低減又は切断する信号を前記電力マネージャに送信する電子装置である。本発明の実施例によれば、自動負荷検出に基づく電力管理を提供することが可能になる。本発明の1つ以上の実施例に従って、電子装置のメインプロセッサを使用せずに、及び/又はメインプロセッサがアイドル状態である時間中に、電力管理が実行される。電子装置は、複数の電池式装置非限定的に、移動電話、パーソナルデジタルアシスタント、メディアプレイヤ、又はラップトップ若しくはノートブックコンピュータ等のうち1つでもよい。或いは、電子装置は、通常では固定の位置で使用されるAC電源式装置数例を挙げると、デスクトップコンピュータ、テレビ、DVD又は他の種類のメディアプレイヤ、サラウンドサウンド又は他のメディア受信機等でもよい。図1は、電力管理の対象となる電子装置の内部アーキテクチャの例を示している。このアーキテクチャは、コア及びサブシステムのハードウェアコンポーネント2を制御する命令コードを実行するオペレーティングシステムカーネル1を含む。より具体的には、カーネルは、オペレーティングシステムの中心コアとしての役目をするプログラムであり、装置の電源が投入されたときにブートされる。カーネルは、場合によってはメインプロセッサを使用せずに、直接ハードウェアコンポーネントを制御する。カーネル自体は、ユーザとは直接的に相互作用しないが、シェル及び他のプログラムや、メインプロセッサ例えば、中央処理装置、メモリ、ドライバ等を含むハードウェアコンポーネントと相互作用する。例えば、カーネルは、メモリ管理、プロセス管理、ファイル管理及びIO入出力管理すなわち、周辺装置へのアクセスを含むオペレーティングシステムの様々な部分の基本サービスを制御してもよい。これらのサービスは、システムコールと呼ばれるプログラムインタフェースの指定のセットを通じてアプリケーションプログラム又はオペレーティングシステムの他の部分により要求される。その重要な性質のため、通常では、カーネルコード22は、オペレーティングシステムの他のあまり頻繁に使用されない部分又はアプリケーションプログラムにより上書きされることを妨げるメモリの保護領域にロードされる。カーネルは、ユーザ制御のプロセス又はユーザ空間で実行されるアプリケーションプログラムの実行とは対照的に、カーネル空間でのプロセスの実行及び割り込みの処理のようなタスクを実行する。この分離は、ユーザデータ及びカーネルデータが相互に干渉することにより、性能を低減すること又はシステムを不安定にさせること場合によってはクラッシュさせることを妨げるために行われる。カーネルの構造及びコードは、実装されるオペレーティングシステム及び/又は電子装置に従って変わってもよい。一例として、カーネルは、スケジューラ、スーパーバイザ、割り込みハンドラ及びメモリマネージャを含んでもよい。スケジューラは、どのような順序でどのように様々なプロセスがカーネルの処理時間を共有するかを決定してもよい。スーパーバイザは、スケジュールされたときに各プロセスに対するメインプロセッサの使用を制御してもよい。割り込みハンドラは、カーネルのサービスを競合する様々なハードウェアサブシステムから要求を処理してもよい。また、メモリマネージャは、様々な用途のためにメモリ内のアドレス空間を割り当ててもよい。一実施例によれば、カーネルは、Linuxカーネルでもよい。しかし、ここに記載の実施例に従って他のカーネルWindows登録商標表形式のカーネル又はUnix登録商標型カーネルを含むが、これらに限定されないが使用されてもよい。カーネルの制御の対象となるコアのコンポーネントは、メインプロセッサ3と、メモリ4と、チップセット5と、BOISbasicinputoutputsystem6と、電力管理システム7とを含んでもよく、後者は、電池8及びAC電源回路9に結合されてもよい。サブシステムは、例えば、SDsecuredigitalメモリカード10と、カメラ11と、ディスプレイ12と、USBuniversalserialbus回路13と、WiFi及び/又はBluetooth回路14と、マイクロフォン及びスピーカ回路15と、送信機16と、メディアプレイヤ17と、キーボード18とを含んでもよい。当然に、例えば電子装置の種類に応じて、サブシステムのコンポーネントの異なる構成又は組み合わせが含まれてもよい。<事前動作>図2は、電力管理方法の一実施例で実行され得る事前動作を示しており、電力管理方法は、図1に示す電子装置に実装されてもよい。例示目的で、電子装置は、移動電話のような電池式装置であると想定される。この方法の第1の動作は、電力制御を必要とするハードウェアコンポーネントのリストを生成することを含むブロック210。これらの装置は、或るモバイルプラットフォームでは電力の島powerislandと呼ばれることがある。ハードウェアコンポーネントは、前述のものを含むが、これらに限定されないコア及び/又はサブシステムのコンポーネントの如何なる構成を含んでもよい。第2の動作は、電子装置内で又は電子装置により実行され得る機能のリストを生成することを含むブロック220。これらの機能例えば、ユースケースとも呼ばれることがあるは、電子装置のハードウェアサブシステムのコンポーネントの種類に基づいてもよい。第3の動作は、各機能をハードウェアコンポーネントにマッピングすることを含むブロック230。例えば、電子装置がメディアプレイヤを有する移動電話である場合、電話のオーディオ再生機能は、電話のオーディオハードウェア例えば、スピーカ及びSD入出力SDIO回路にマッピングされてもよい。装置が移動電話である場合に生成され得る機能の一例のリストが、以下の表1に提供される。表1では、シンボルGfxは、ディスプレイ上にビジュアルグラフィックを生成するために使用されるハードウェアサブシステムを示す。また、シンボル1は、ハードウェアサブシステムが機能の対応するものを実行するために使用される必要があることを示し、シンボル0は、対応するハードウェアサブシステムがその機能に使用される必要がないことを示す。第4の動作は、電子装置のコアの装置ドライバを識別し、これらのドライバに対応するシンボルを抽出することを含むブロック240。複数のソフトウェアツールのうちいずれか1つがこの動作を実行するために使用されてもよい。例えば、Linuxカーネルでは、装置ドライバ及びシンボルが識別され、objdumpコマンドすなわち、オブジェクトファイルから情報を読み取り、オブジェクトファイルについての情報を表示するために使用されるプログラム又はプログラム命令を使用して抽出されてもよい。他の実施例では、異なるツール又はユーティリティが使用されてもよい。第5の動作は、第3の動作で生成されたそれぞれマッピングされた機能に対応するヒットするカーネルシンボルを収集することを含むブロック250。前述の動作の全ての情報は、電力を管理する際にカーネルにより使用するために、電子装置の内部メモリに格納されてもよい。更に、この情報は、システムのメインプロセッサ例えば、CPUに関与せずに電力管理を実行する基礎として使用されてもよい。メインプロセッサは、最も電力を消費するハードウェアコンポーネントの1つである。また、メインプロセッサの使用が必要ないため、例えば、メインプロセッサがアイドル又はスタンバイモードにある場合、及びメインプロセッサがコールを処理するため又は特定のサブシステムの動作に関係ない機能を実行するために積極的に使用されている場合のような他の場合に、電力が管理され得る。この後者のため、メインプロセッサの負荷は、電力管理動作により増加しない。前述の動作から導かれた全ての情報が取得及び格納されると、この方法の電力管理段階が機能毎に実行されてもよい。すなわち、それぞれマッピングされた機能毎に、使用されていないハードウェアサブシステムのリストが決定されてもよい。例えば、表1では、SDカードからのオーディオ再生機能は、WiFi及びグラフィックGfxハードウェアサブシステムを含まない。また、SDカードからの写真の表示機能は、WiFi及びオーディオハードウェアサブシステムを含まない。従って、各機能が実行されるときに、メインプロセッサに関与せずに、未使用のサブシステムへの電力を低減又は切断するために、1つ以上の電力管理動作が実行されてもよい。一実施例によれば、電力管理動作は、カーネルの動作に基づいて実行されてもよい。より具体的には、電子装置の機能を実行するためにカーネルが実行する命令コードに基づいて実行されてもよい。これは、未使用のハードウェアサブシステムへの電力を管理例えば、低減又は切断することでメインプロセッサをバイパスするように、図1に示す電力管理サブシステム7を制御することにより実現されてもよい。メインプロセッサが使用されないため、実質的な省電力が実現されてもよい。<電力管理>図3は、電力管理システムがハードウェアサブシステムの電力を管理するために制御され得る1つの方法を示している。この方法によれば、電力管理システムは、少なくとも機能的観点からオペレーティングシステムカーネルと電力管理システムとの間に結合されたニューラルネットワーク80により制御されてもよい。最初のブロック310において、ニューラルネットワークは、カーネルにより実行される動作を認識するようにトレーニング訓練又は学習される。トレーニングは、図2の方法の事前動作により取得された情報に基づいて実行されてもよい。この情報は、前述の参照テーブル又はマッピングテーブルの形式で格納されてもよく、状態図で格納されてもよく、ニューラルネットワークによりアクセス可能な他の形式で格納されてもよい。この実施例によれば、ニューラルネットワークは、マッピングされた機能毎に収集されたカーネルシンボルに基づいて、カーネルにより実行される動作を認識するようにトレーニングされる。カーネルシンボルは、カーネルがマッピングされた機能を実行するために実行しなければならない命令に基づいて収集される。カーネルシンボルは、ニューラルネットワークが実行される機能を識別することを可能にする実行コードの認識可能なパターンに対応する。より具体的には、カーネルにより実行される各機能は、特定の命令のセットの実行を必要とする。例えば、ファイルがUSBメモリから電子装置の内部メモリにコピーされる必要がある場合、特定の命令のセットがカーネルにより実行されなければならない。これらの命令により生成された実行命令及び/又は結果例えば、ヒットしたシンボルは、対応する機能を識別するためにニューラルネットワークにより認識され得るパターンを規定する。ニューラルネットワークがトレーニングされた後に、ニューラルネットワークは、実行時にカーネルの動作を監視するために使用されるブロック320。監視中に、カーネルから導かれたシンボルパターンは、前述のように認識されるブロック330。一実施例によれば、シンボルパターンは、プローブprobeの使用に基づいてリアルタイムで認識される。Linuxカーネルでは、電子装置の機能を実装するために実行されるカーネル動作を監視する際に使用されるシンボルを規定するために、カーネルプローブkprobeが使用されてもよい。kprobeは、装置内で実行される機能を監視するためにも使用され得るLinuxカーネルのデバッグ機構である。より具体的には、kprobeは、特定の命令アドレスに配置された一式のハンドラを示し、プレハンドラprehandler及びポストハンドラposthandlerにより規定される。kprobeが特定の命令でインストールされ、その命令がカーネルにより実行されると、プレハンドラは、kprobe命令の実行直前に実行される。同様に、ポストハンドラは、kprobe命令の実行直後に実行される。このプロセスを通じて、ニューラルネットワークは、カーネルの特定の動作に対応するパターンを認識することができ、次に、電子装置により実行される特定の機能に対応するパターンを認識することができる。より具体的には、その監視機能を実行する際に、ニューラルネットワークは、電子装置で実行される対応する機能について生成されたカーネルシンボルのパターンを収集する。これらのパターンは、例えば所定の間隔で収集され、メモリに格納されたマッピングテーブルと比較されてもよいブロック340。この比較を実行する際に、カーネルから出力されたヒットしたシンボルは、テーブルのシンボルパターンと比較される。テーブルにシンボルパターンの一致が存在する場合、ニューラルネットワークは、電子装置により実行されている対応する機能を識別することができるブロック350。機能が識別されると、ニューラルネットワークは、どのハードウェアサブシステムがその機能を実行するために使用される必要がないかを、テーブルから決定することができるブロック360。メインプロセッサの使用に関与せずに、及び/又はメインプロセッサがアイドル、スタンバイ、スリープ又は他の低電力状態である時間中に、ニューラルネットワークは、少なくとも機能の持続時間の間に、1つ以上の未使用のハードウェアサブシステムへの電力を低減又は切断するために、制御信号を電力管理システムに送信してもよいブロック370。一例として、オーディオ再生機能がSDカードに格納された歌のファイルについて実行される場合を検討する。この方法によれば、ニューラルネットワークは、カーネルにより実行される命令ヒットしたシンボルパターンに基づいてこの機能の実行を認識してもよい。次に、ニューラルネットワークは、電力管理システムに対してWiFi及びGfxグラフィックサブシステムへの電力を低減又は切断させるコマンドを生成してもよい。この理由は、これらのサブシステムは、その機能に使用される必要がないからである。この方法はまた、複数の更なる動作を含んでもよい。例えば、ニューラルネットワークのトレーニングは、複数の機能の同時の実行を考慮してもよい。例えば、ビデオが表示用にインターネットからストリーミングされているのと同時に、ユーザがSDカードから写真を見せるために装置を操作した場合を検討する。この場合、ニューラルネットワークは、関連するカーネルパターンから、同時に実行される機能を認識し、オーディオ、SDIO、WiFi又はGfxサブシステムへの電力を切断しない。しかし、ニューラルネットワークは、これらの機能をサポートするために使用されていないハードウェアサブシステムへの電力を低減又は切断するために、電力管理システムにコマンドを送信してもよい。また、ニューラルネットワークは、各機能又はユースケースの重みを生成及び/又は格納し、ハードウェアサブシステムへの電力を制御する目的でこれらの重みを適用することにより、トレーニングされてもよい。図4は、ここに記載の1つ以上の実施例を実装するために使用され得るニューラルネットワークの例を示している。図示のように、このニューラルネットワークは、例えば推移関数としてシグモイドsigmoidを使用した逆伝搬アルゴリズムbackpropagationalgorithmを使用してトレーニングされ得るマルチレイヤパーセプトロンmultilayerperceptronである。kprobeは、ニューラルネットワークがLinuxカーネルからヒットしたシンボルを認識することを可能にする際に使用されることについて記載したが、特にWindows登録商標又は他のカーネルが使用される場合には、ニューラルネットワークにヒットしたシンボルを通知するために、他の種類のプローブ又は通知機構が使用されてもよい。図5は、電子装置の電力を管理するためにニューラルネットワークをトレーニングする方法の他の実施例に含まれる動作を示している。この方法の第1の動作は、電力管理可能な装置の装置ドライバからカーネルシンボルを収集することを含むブロック510。各装置ドライバは、複数のハードウェアのコア又はサブシステムコンポーネントのそれぞれに対応してもよい。収集されると、シンボルは、後に使用するために内部メモリに格納されるブロック520。次の動作は、独立した機能例えば、ユースケースと、各機能を実行するために必要なハードウェアコンポーネントとを識別することを含むブロック530。識別された機能毎に、カーネルプロファイラkernelprofilerは、各機能を実行するために必要なハードウェアコンポーネントに対応するシンボル例えば、ヒットしたシンボルを収集するために実行されるブロック540。この動作は、ブロック520でメモリに格納されたシンボルに基づいて実行される。マッピングテーブルは、シンボル及び機能に基づいて生成されるブロック550。次の動作は、マッピングテーブルに記載された各機能で使用されないハードウェアコンポーネントのシンボルすなわち、ヒットしないシンボルを識別することを含む。識別された未使用のシンボルは、マッピングテーブルから除去されブロック560、最終的なシンボルのセットとこれらに関連する機能とが生成されるブロック570。別の言い方をすれば、マッピングテーブルは、各機能がそのヒットしたシンボルにのみ関連するように編集される。その結果、最適化されたシンボルのセットであると考えられ得るものが生成される。ニューラルネットワークは、カーネルからのシンボルパターンとマッピングテーブルのヒットしたシンボルとの比較に基づいて、カーネルの動作を認識するようにトレーニングされるブロック580。ニューラルネットワークは、前述の逆伝搬アルゴリズムを含むが、これに限定されない複数の既知の技術を使用してトレーニングされてもよい。トレーニング処理の出力ニューラルネットワークのニュートロン毎の重みを含んでもよいは、ブロック590で行われる。どのように重みが生成されて割り当てられるかの例は、以下に詳細に説明する。これらの重みを使用して、前述のように電力管理が実行されてもよい。図6は、電子装置の実行中に電力を管理する方法の他の実施例に含まれる動作を示す図である。この方法は、例えば、図5で生成されたマッピングテーブル及びここに記載する他の実施例に基づいて実行されてもよい。初期動作は、電子装置の実行を開始することを含むブロック610。処理フローは、2つの経路に沿って進んでもよい。第1のパスは、電力管理制御を実行するために使用される一時停止の経路である。一時停止の経路の中で、プロファイルに必要なシンボルのリストは、Linuxカーネルのkprobeprofileインタフェースを通じて提供されるブロック620。この動作は、電子装置の機能ユースケース毎に生成されたマッピングプロファイルシンボルテーブルを使用して実行されるブロック630。カーネルが装置の機能をサポートするために様々な動作を実行するときに、ヒットしたシンボルは、定期的な間隔で収集されるブロック640。この動作は、例えば、カーネルに追加されたkprobehitインタフェースを使用して実行されてもよい。ヒットしたシンボルが収集されると、ニューラルネットワークは、シンボルパターンを電子装置の対応する機能又は動作状態に変換するように実行されるブロック650。この動作は、ブロック660から導かれた前述の重みに基づいて実行されてもよい。これらの重みは、内部メモリに格納され、製造者及び/又はユーザプレファレンスに従って設定されてもよい。装置の機能又は動作状態が決定されると、1つ以上のハードウェアコンポーネントへの電力が低減又は切断されるか否かについて決定が行われるブロック660。この決定は、例えば、対応するヒットしたシンボルを有さないハードウェアコンポーネントに基づいて、ニューラルネットワークにより行われてもよい。ブロック660での決定がYESである場合、ニューラルネットワークは、これらの機能又は状態の動作に必要のない1つ以上のハードウェアコンポーネント例えば、この時点でヒットしたシンボルを有さないハードウェアコンポーネントへの電力を低減又は切断するため、制御信号を電力管理システムに出力するブロック670。これは、kprobenotifyインタフェースを介して、通知がシンボルのヒット時に送信可能であるシンボルのリストを提供することを含んでもよい。制御信号は、装置/プラットフォーム状態の電力推移すなわち、低電力状態又は電力切断状態への推移のためのカーネルへのコマンドの形式でもよいブロック680。ブロック660での決定がNOである場合、ヒットしたシンボルに対応するハードウェアコンポーネントへの電力を制御例えば、電源の投入するために、処理フローはブロック680に進んでもよい。処理フローは、実行ループのブロック690に進み、実行の開始に戻ってもよい。再開の経路は、ハードウェアコンポーネントへの電力が切断されている場合又は低電力状態に設定されている場合に実行される異なる動作のセットを含む。このハードウェアコンポーネントへの電力が再開される場合、ハードウェアコンポーネントに関してヒットしたシンボルが存在することを示す通知がカーネルから取得される。この通知は、カーネルがハードウェアコンポーネントを使用して実行されなければならない装置機能に対応する命令を現在実行しているため、ハードウェアコンポーネントへの電力が例えば所定のレベルまで投入されるという指示をニューラルネットワークに提供するブロック700。ニューラルネットワークは、電力管理システムに対してそのコンポーネントに電力を供給する信号を生成するブロック710。そうでない場合、制御は実行ループに戻る。<ニューラルネットワーク>前述のように、マルチレイヤパーセプトロンmultilayerperceptronの形式のニューラルネットワークは、ここに記載の1つ以上の実施例を実装するために使用されてもよい。パーセプトロンは、データのセットを区別することができるという点で、より重要には、前に見たことのないデータの例を複数の学習したセットの1つに分類することができるという点で、分類器として考えられるニューラルネットワークの種類である。単一のパーセプトロンの構造は、複数の入力xnと、重みwnと、バイアスbと、出力とを含んでもよい。図7は、パーセプトロンの例を示している。図示のように、パーセプトロンの入力バイアスを含む毎に、対応する重み例えば、w0w1wnが存在する。パーセプトロンの出力を計算するために、各入力は、その対応する重みで乗算される。加重和は、パーセプトロンの最終的な出力を決定する制限limiter関数を通じて提供される。例えば、簡単なパーセプトロンの制限関数は、段階的な制限器でもよい。すなわち、パーセプトロンは、重み及びバイアスで乗算された全ての入力を合計することにより計算され、加重和は制限器を通過する。数学的な言い方では、これらは以下のように規定されてもよい。制限器の出力は、パーセプトロンの出力に対応する。例えば、加重和が2である場合、パーセプトロンは0に戻ってもよい。或いは、和が3である場合、パーセプトロンは1に戻ってもよい。パーセプトロンが1に戻った場合、パーセプトロンは点弧firedであると考えられてもよい。この種類のパーセプトロンは、それに提示されたデータセットを分類するように学習されてもよい。パーセプトロンは、1つ以上の重みを変更することにより、データセットを分類するようにトレーニングされてもよい。このため、いわゆるデルタルールDeltaRuleが使用されてもよい。このルールによれば、重みは、意図した出力と実際の出力との間の差に基づいて調整される。数学的な言い方では、以下のように表現される。このトレーニング中にパーセプトロン収束定理PerceptronConvergenceTheoremが使用されてもよい。この定理によれば、解がパーセプトロンに実装可能な場合、学習ルールは、有限数の動作で解を見つける。パーセプトロンは、2つのクラスが直線より一般的には、2つより多くの入力が存在する場合には超平面により分割される場合にのみ、データを分類することができる。これは、線形分離と呼ばれる。更に線形分離の概念を説明するために、以下の関数を検討する。このデータがパーセプトロンを通過すると、重みは、0のバイアス及び22の入力で重みが収束し得る。加重和又は正味の値が計算された場合、以下の結果が得られてもよい。x0がy軸にプロットされ、xがx軸にプロットされると、この式は、図8に示すようにx0x1に帰着する。このプロットでは、パーセプトロンが2つの点のグループを分割する線を正確に引いていることがわかる。線形分離可能ではないデータでパーセプトロンをトレーニングする試みが行われた場合、パーセプトロンの重みは解に収束しない。従って、非線形分離可能な線形分離可能ではないデータが考慮される場合、他の解法が必要になる。非線形分離可能なデータの解を戻すことができる一種のパーセプトロンの例は、マルチレイヤパーセプトロンである。非線形分離可能なデータの例は、非排他的論理和XOR論理演算子である。XORはORと同じであるが、双方の入力が真である場合に偽になる従って排他的である。前述のデータがプロットされる場合、データが単純な線を使用して分離できないことが明らかである。XOR問題は、3つの配置されたパーセプトロンを使用して解くことができる。この手法によれば、XOR問題は、ブール数値演算を使用して3つの異なる部分に分離される。この手法によれば、‘’がANDであり、‘v’がORであり、NOTが‘’である。XORは以下のように規定されてもよい。yORANDx2又はyANDNOTこれは、以下の3つのサブコンポーネントに分離されてもよい。y1x1ORx2y2NOTyy1ANDy2この問題は、3つの異なる線形分離可能な問題に分解され、最初の2つの式からの結果が第3の式で使用可能になる。最後の3つの式から、パーセプトロンは、図9に示すように接続されることがわかる。これが動作することを証明するために、パーセプトロンが収束する重み従って、線を検討する。第1のパーセプトロンは110で均衡しこの場合、最後の要素がバイアスである、第2は112で均衡し、最後は111で均衡する。3つの式は以下のようになる。最後の式は、その入力として最初の2つの出力を受け取る第3のパーセプトロンをカバーする式であると考えられてもよい。これは図10のグラフにプロット可能であり、図10はXORネットワークの出力を示している。図10では、レイヤ1は、グラフを3つの部分に分ける。2つの線の間の中心領域は、パーセプトロンが‘1’として一般化される場所である。2つの他の線の上/下の他の領域は、‘0’である。レイヤ2に示すように、第3のパーセプトロンは、最終結果を生成する。レイヤ1の2つの線が原点で交わらないため、第3のパーセプトロンは扱われる必要がない。<重みの設定>前述の例は、重みが知られている限りにおいて、どのようにマルチレイヤアーキテクチャが動作し、どのようにパーセプトロンが様々な他の機能を学習するように拡張され得るかを示している。或いは、問題は、デルタ学習ルールが適用され得る小さい線形分離可能なコンポーネントに分離されてもよい。しかし、前述のことが適用不可能である場合に、どのようにネットワークがトレーニングされるかが問題である。ニューラルネットワークを学習させる複数の異なる方法が存在する。前述のように、1つの方法は、逆伝搬アルゴリズムとして知られている。単一レイヤのネットワークでは、各ニューロンは、どの出力が予想されるかと、与えた出力とに従って、その重みを調整する。パーセプトロンデルタルールPerceptronDeltaRuleにより、これは数学的に以下のように表現されてもよい。前述の式では、wは重みの配列であり、xは入力の配列である。ネットワークが非線形分離可能な問題になるように複数のレイヤに拡張された場合、パーセプトロン学習ルールは役に立たなくなる。これは、ネットワークで重みを調整するときに、この調整がネットワークの全体的な効果にどのような影響を与えるかが決定されなければならないからである。このため、その重みに関して誤差関数の微分derivativeが検討されなければならない。従って、逆伝搬を実行する際に、シグモイドロジスティック関数が使用されてもよい。この関数を実行する式は以下に示され、図11は、この式に対応するグラフを示している。理解できるように、関数はy軸の0及び1で横ばい状態になり、05でy軸を横切り、関数を適切neatにする。更に、f’xに適切に微分する。これを全て考慮して、少し変更したパーセプトロン学習ルールを再検討する。この式では、w、xは前述のものであり、nは学習レートとして規定される。項yi及びdiは、それぞれ実際の出力及び意図した出力である。従って、シグモイド活性化関数を使用して、出力レイヤのデルタを計算する式は以下のように書き換えられてもよい。前述のことを鑑みて、ネットワークの各ニューロンの正味和及び出力レイヤのデルタが計算されてもよい。デルタの隠蔽されたレイヤは以下のように計算されてもよい。このデルタを計算するために、重みが変化した場合にニューロンの出力への影響が知られていなければならない。従って、その重みに関する誤差の微分が決定されなければならない。隠蔽されたレイヤpのニューロンqについて、デルタは以下のように計算されることがわかる。従って、前述のニューラルネットワークは、ここに記載の1つ以上の実施例に従って適用されてもよい。本発明の他の実施例は、ここに記載の方法のいずれかを実行するコンピュータプログラムを格納したコンピュータ可読媒体に対応する。コンピュータ可読媒体は、読み取り専用メモリ、ランダムアクセスメモリ、フラッシュメモリ、又は移動端末若しくはカーネルにより制御される他の電子装置内にある若しくはこれらによりアクセス可能な他の記憶装置でもよい。コンピュータプログラムは、ファームウェア、ミドルウェア、又は電子装置に実装可能な他の種類のコンピュータソフトウェアとして含まれてもよい。更に、プログラムは、電子装置の内部プロセッサ、集積回路、コントローラ又は中央処理装置ノートブック若しくはデスクトップコンピュータ、パーソナルデジタルアシスタント、スマートフォン、又は移動電話若しくは端末、及びカーネルにより制御される他の電子装置の動作を制御するために使用される種類のチップ回路を含むが、これらに限定されないにより実行されてもよい。一例として、1つのこのようなコンピュータ可読媒体は、カーネルから生成されたシンボルパターンを認識する第1のコード部分と、シンボルパターンに基づいて電子装置の機能を識別する第2のコード部分と、識別された機能に基づいて電子装置のハードウェアコンポーネントの電力を低減又は切断する第3のコード部分とを有するコンピュータプログラムを格納する。少なくとも1つの実施例によれば、ハードウェアコンポーネントは、識別された機能を実行する際に使用される必要はない。第1のコード部分は、シンボルパターンを電子装置の複数の機能のそれぞれにマッピングするマッピングテーブルを生成し、カーネルから生成されたシンボルパターンとマッピングテーブルのシンボルパターンとを比較することにより、シンボルパターンを認識してもよく、電子装置の機能は、比較から生成された一致に基づいて識別される。シンボルパターンは、カーネルにより実行される一式の命令に含まれるプローブに基づいて生成されてもよい。1つのアプリケーションによれば、第1のコード部分は、マッピングテーブルに基づいてトレーニングされたニューラルネットワークにより実装される。第3のコード部分は、電子装置のメインプロセッサを使用せずに、装置に対して、ハードウェアコンポーネントへの電力を低減又は切断させてもよい。更に、第3のコード部分は、電子装置のメインプロセッサが低電力状態にあるときに、ハードウェアコンポーネントへの電力を低減又は切断してもよい。更に、コンピュータプログラムは、比較により生成された一致に基づいてハードウェアコンポーネントへの電力を低減又は切断する制御信号を生成する第4のコード部分を含んでもよく、電力管理システムの動作を制御する制御信号は、電子装置のメインプロセッサから分離して提供される。この明細書において、実施例への言及は、この実施例に関して記載した特定の機能、構造又は特徴が本発明の少なくとも1つの実施例に含まれることを意味する。このような用語が明細書の様々な場所に現れることは、必ずしも同じ実施例を示しているとは限らない。更に、特定の機能、構造又は特徴がいずれかの実施例に関して記載されている場合、このような機能、構造又は特徴を他の実施例に関して実施することは、当業者の認識範囲内であることがわかる。更に、理解を容易にするために、特定の機能ブロックは、分離されたブロックとして示されている。しかし、これらの別々に示されたブロックは、必ずしもここで説明又は提示した順序になると解釈されるべきではない。例えば、いくつかのブロックは、例えば、代わりの順序で又は同時に実行可能でもよい。本発明の実施例について複数の例示的な実施例を参照して説明したが、本発明のこの実施例の原理の要旨及び範囲内にある複数の他の変更例及び実施例が当業者により考えられ得ることがわかる。より具体的には、本発明の実施例の範囲を逸脱することなく、前述の開示、図面及び特許請求の範囲の範囲内にある対象の組み合わせの構成のコンポーネント部分及び/又は構成において、合理的な変更及び変形が可能である。コンポーネント部分及び構成における変更及び変形に加えて、代替の用途も当業者に明らかになる。