説明

制御装置、制御プログラム及び方法

【課題】ニューラルネットワーク制御に係る処理負荷を軽減させる制御装置、制御プログラム及び方法を提供する。
【解決手段】互いにネットワーク構成が異なる複数のニューラルネットワークのうち、所定のニューラルネットワークである第1ニューラルネットワークを選択し、複数のニューラルネットワークのうち、第1ニューラルネットワークとは異なるニューラルネットワークである第2ニューラルネットワークを選択し、第1ニューラルネットワークによる制御と、第2ニューラルネットワークによる制御とによる制御誤差を測定し、第1ニューラルネットワークによる制御誤差と、第2ニューラルネットワークによる制御誤差とを比較し、より制御誤差が低いニューラルネットワークを判断する選択部16と、選択部16によってより制御誤差が低いと判断されたニューラルネットワークによりシステムの動作を制御する算出部16及び最終コントローラ102とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はニューラルネットワークを用いた制御技術に関するものである。
【背景技術】
【0002】
近年、例えば磁気ディスク装置のようなディスク装置における記録媒体に対する書き込みデータの高密度化によって、記録媒体のトラックピッチが狭くなり、ヘッドの制御が困難になりつつある。また、ディスク装置における制御周波数及び要求精度が上がるにつれて、求められる制御とアクチュエータ共振等による基本制御モデルによる制御との乖離の影響が大きくなりつつある。このアクチュエータ共振に対する対策として、ノッチフィルタの挿入が一般的ではあるが、位相の遅延を伴うために多段にし難く、また、複雑系には適用し難い。
【0003】
そこで複雑系に適した非線形制御としてのニューラルネットワーク制御をディスク装置の制御に適用する技術が知られている。ここで、一般的な階層型ネットワークモデルを例としてニューラルネットワークと、その一般的な学習方法である誤差伝搬法(バックプロバゲーション法)について説明する。まず、ニューラルネットワークについて、図15〜17を用いて説明する。図15は、ニューラルネットワークの概要を示す図である。また、図16は、階層型ニューラルネットワークに係る数式を示す図である。また、図17は、シグモイド関数を示すグラフである。
【0004】
図15に示すように、階層型ネットワークモデルによるニューラルネットワークは、入力ノードからなる入力層、隠れノードからなる隠れ層、出力ノードからなる出力層により構成される。入力ノードは入力値を受け付けるものである。また、隠れノードは、入力ノードに基づく値(隠れ層ノード値)を算出するものである。また、出力層は、隠れ層ノード値に基づいて、最終的に入力値に対する値を出力するものである。なお、図15において、丸はノード、線はリンク、Xは入力値、Wは入力層、隠れ層間のリンクの重み、Hは隠れ層ノード値、nは出力値を示す。また、図15に示すニューラルネットワークは、上述したノード、具体的には4つの入力ノード、3つの隠れノード、1つの出力ノードから構成される4−3−1の階層型ニューラルネットワークである。
【0005】
このような階層型ニューラルネットワークにおいて、入力値Xiと隠れノード値Hjは、重みWijと図16の式1に示すようなノード間の伝達関数であるロジスティック関数f(x)により関連付けられている。また隠れノード値Hjと出力値nは、重みVjと図16の式2に示すようなノード間の伝達関数であるロジスティック関数f(x)により関連付けられている。なお、図16の式1及び2において、kは時刻を示す。また、図15に示す階層型ニューラルネットワークにおいて、一般的に、ロジスティック関数として図17に示すようなシグモイド関数が採用される。このシグモイド関数を式として示すと、図16の式3のようになる。また、後述する誤差逆伝搬法のために、図16の式4に示すように∂f(x)/∂xとf(x)との関係を求めておく。
【0006】
このようなニューラルネットワークの学習方法としての誤差逆伝搬法は、測定値と指示値との二乗誤差を小さくするように、誤差に比例して重みWij,Vjを逐次補正していく方法である。以下、数式を用いて誤差逆伝搬法について説明する。図18は誤差逆伝搬法に係る数式を示す図である。
【0007】
p(k)を時刻kにおける出力偏差、n(k)を時刻kにおける制御出力値とし、ep(k)とn(k)の二乗誤差に比例したJ(k)を図18の式1に示すように定義する。誤差逆伝搬法において、このJ(k)が最小となるように学習が進められる。ここで、出力偏差ep(k)をニューラルネットワーク出力n(k)、目標t(k)、制御対象出力y(k)とすると、図18の式2に表される量がニューラルネットワークの教師信号となる。
【0008】
また、出力ノードn(k)と隠れ層ノードHj間のリンク重みVjについて、時刻kのエラーJ(k)を最小にする為のVjに対する学習量として、ΔVj(k)を図18の式4に示すように定義する。また、この誤差逆伝搬法は、学習量ΔVj(k)をJ(k)に対するVj(k)の影響量∂J(k)/∂Vj(k)の−η倍としている。なお、このηは任意に決定可能なニューロンの学習感度を示し、−の符号は補正を示す。このように定義すると、ΔVj(k)は式5に示すようになる。また、図18に示す式6及び7により、ΔVj(k)は式8に示す誤差e(K)に対して正比例する学習量となる。
【0009】
また、隠れノード値Hjと入力値Xi間のリンク重みWijについて、リンク重みVjに対する定義と同様に、時刻kのエラーJ(k)を最小にする為のWijに対する学習量として、ΔWij(k)を図18の式9に示すように定義する。するとΔWij(k)は、式10に示すようになる。
【0010】
上述したように、階層型ニューラルネットワークは、誤差逆伝搬法により、ΔWij(k)の計算を逐次行い、補正することにより、リンク重みVj,Wijを最適化する。
【0011】
なお、本来の神経細胞は、アオリイカの研究でも知られるように、微分不可能なある閾値以上で突然反応するステップ関数的な応答を示す。しかし、上述したように、ニューラルネットワークにおいて、ロジスティック関数として、シグモイド関数のような微分可能関数を採用することにより、誤差逆伝搬法のような方法を用いることにより最適学習の解析的な厳密解を得ることが可能になる。
【0012】
また、誤差逆伝搬法により解析を行う場合には解析に係る計算が非常に煩雑となるが、階層型ネットワークモデルに代わって、リカレント型ネットワークモデルのような他のネットワークモデルによりニューラルネットワークを構築することも可能である。
【0013】
なお、本発明の関連ある従来技術として、ニューラルネットワークによってシステムの動作を制御することによりサーボシステムにおける周期的外乱を補償する制御方法及び制御装置が知られている(例えば、特許文献1参照)。
【特許文献1】特開2003−330505号公報
【発明の開示】
【発明が解決しようとする課題】
【0014】
しかしながら、上述したような複雑系非線形制御としてのニューラルネットワークによる制御は、べき級数ではないシグモイド関数等を計算機で扱うために、大きなCPU/DSPパワーを必要とする。また、汎用性の高いニューラルネットワークを形成する場合、入力層及び隠れ層のノード及びリンクを増やす必要があり、これにより更に計算負荷が高くなる。また、このような計算負荷に対する解決策として、ニューラルネットワークに係る計算に専用アナログVLSIを用いることが、特許文献1に開示されているが、専用ICの作成には相当の時間とコストが必要となる。
【0015】
本発明は、上述した問題点を解決するためになされたものであり、低コストでニューラルネットワーク制御に係る処理負荷を軽減させる制御装置、制御プログラム及び方法を提供することを目的としている。
【課題を解決するための手段】
【0016】
上述した課題を解決するため、制御装置は、システムの動作を制御する装置であって、互いにネットワーク構成が異なる複数のニューラルネットワークのうち、所定のニューラルネットワークである第1ニューラルネットワークを選択する第1選択部と、前記複数のニューラルネットワークのうち、前記第1ニューラルネットワークとは異なるニューラルネットワークである第2ニューラルネットワークを選択する第2選択部と、前記第1ニューラルネットワークによる制御と、前記第2ニューラルネットワークによる制御とによる制御誤差を測定する制御誤差測定部と、前記制御誤差測定部によって測定された第1ニューラルネットワークによる制御誤差と、前記第2ニューラルネットワークによる制御誤差とを比較し、より制御誤差が低いニューラルネットワークを判断する判断部と、前記判断部によってより制御誤差が低いと判断されたニューラルネットワークにより前記システムの動作を制御する制御部とを備える。
【0017】
また、制御プログラムは、システムの動作を制御することができるプログラムであって、互いにネットワーク構成が異なる複数のニューラルネットワークのうち、所定のニューラルネットワークである第1ニューラルネットワークを選択する第1選択ステップと、前記複数のニューラルネットワークのうち、前記第1ニューラルネットワークとは異なるニューラルネットワークである第2ニューラルネットワークを選択する第2選択ステップと、前記第1ニューラルネットワークによる制御と、前記第2ニューラルネットワークによる制御とによる制御誤差を測定する制御誤差測定ステップと、前記制御誤差測定ステップによって測定された第1ニューラルネットワークによる制御誤差と、前記第2ニューラルネットワークによる制御誤差とを比較し、より制御誤差が低いニューラルネットワークを判断する判断ステップと、前記判断ステップによってより制御誤差が低いと判断されたニューラルネットワークにより前記システムの動作を制御する制御ステップとをコンピュータに実行させる。
【0018】
また、制御方法は、システムの動作を制御するための方法であって、互いにネットワーク構成が異なる複数のニューラルネットワークのうち、所定のニューラルネットワークである第1ニューラルネットワークを選択する第1選択ステップと、前記複数のニューラルネットワークのうち、前記第1ニューラルネットワークとは異なるニューラルネットワークである第2ニューラルネットワークを選択する第2選択ステップと、前記第1ニューラルネットワークによる制御と、前記第2ニューラルネットワークによる制御とによる制御誤差を測定する制御誤差測定ステップと、前記制御誤差測定ステップによって測定された第1ニューラルネットワークによる制御誤差と、前記第2ニューラルネットワークによる制御誤差とを比較し、より制御誤差が低いニューラルネットワークを判断する判断ステップと、前記判断ステップによってより制御誤差が低いと判断されたニューラルネットワークにより前記システムの動作を制御する制御ステップとを備える。
【発明の効果】
【0019】
本発明によれば、低コストでニューラルネットワーク制御に係る処理負荷を軽減させることができるという効果を奏する。
【発明を実施するための最良の形態】
【0020】
実施の形態1.
以下、本発明の実施の形態について図を用いて説明する。図1は、本実施の形態に係るディスク装置の構成を示すブロック図である。
【0021】
図1に示すように、本実施の形態に係るディスク装置1(制御装置)は、制御部10、VCM(Voice Coil Motor)11、ショックセンサ12(検出部)、算出部13(制御部)、学習部14(重み補正部、制御誤差測定部)、リンク変更部15(リンク除外部、リンク導入部)、選択部16(第1選択部、第2選択部、対応付け部、制御誤差測定部)、MPU(Micro Processing Unit)17、記憶媒体18を備えるものである。
【0022】
VCM11は、本実施の形態における制御対象であり、図示しない磁気ヘッドを駆動するものである。また、制御部10は、制御対象としてのVCM11を制御するコントローラ101、コントローラによる制御量に対してニューラルネットワークによる補正を加える最終コントローラ102により構成される。また、記憶媒体18は、ニューラルネットワークのパラメータであるニューラルネットワークテーブル18を複数格納するものである。この記憶媒体18は、図示しない磁気ディスク、装置内に備えられた不揮発性メモリ(例えば、フラッシュメモリ)のいずれであっても構わない。また、学習部14は、制御部10による制御に対するVCM11のフィードバックと目標値との誤差(制御誤差)に基づいて、ニューラルネットワークを学習させるものである。このニューラルネットワークの学習は、具体的には制御誤差に基づくニューラルネットワークにおけるノード間のリンクの重みを補正する処理である。また、算出部13は、ニューラルネットワークに基づいて、制御量の補正値を算出するものである。また、リンク変更部15は、ニューラルネットワークのリンクを無効化または有効化するものである。また、ショックセンサ12は、ディスク装置1に対する外乱を検出するものである。また、選択部16は、ショックセンサ12による外乱検出に基づいて、複数のニューラルネットワークから、所定のニューラルネットワークを選択するものである。MPU17は、ディスク装置1内の処理を実行するものであり、算出部13、学習部14、リンク変更部15、選択部16による各機能は実質的にはMPU17によって実行される。
【0023】
上述したように、本実施の形態に係るディスク装置1は、従来型の制御コントローラ(制御部10)に対して、ニューラルネットワーク制御による誤差補正を入れる構成となっている。この構成は、従来型の制御コントローラによってアウトラインを与えるためのものである。本実施の形態によれば、まず、現状安定的に使用されている従来型の制御コントローラにより制御が行われる。そして、従来型の制御コントローラによって対応できない複雑な誤差部分が非線形且つ学習適合可能なニューラルネットワークにより補われる。また、本実施の形態に係るディスク装置1の構成は一例であり、ニューラルネットワークのみによる制御を行う構成であっても良い。
【0024】
次に、本実施の形態において用いられるニューラルネットワークについて説明する。図2は、ニューラルネットワークAを示す図である。また、図3は、ニューラルネットワークBを示す図である。
【0025】
本実施の形態において、外乱が小さい場合に用いられるニューラルネットワークAと、外乱が大きい場合に用いられるニューラルネットワークBとが用いられる。ニューラルネットワークAは、図2に示すように、位置P、サーボタイムを単位時間とする遅延操作を加えた位置Z-nP、速度Sを入力値とする6−4−1の階層型ニューラルネットワークである。また、ニューラルネットワークBは、図3に示すように、位置P、サーボタイムを単位時間とする遅延操作Z-nを加えた位置Z-nP、速度S、遅延操作Z-nを加えた速度Z-nS、加速度αを入力値とする6−5−1の階層型ニューラルネットワークである。
【0026】
なお、このように、入力値のタイプ、ノードとリンクとによる構成が異なるニューラルネットワークのパラメータは、ニューラルネットワークテーブルとして記憶媒体18に格納される。また、異なる条件に対応する複数のニューラルネットワークが条件に応じて切り替えられることにより、条件に応じたパラメータのみを入力とすることができ、結果として、汎用性を確保しつつ計算負荷を抑えることができる。
【0027】
次に、本実施の形態に係るディスク装置の動作について説明する。図4は、本実施の形態に係るディスク装置の全体動作を示すフローチャートである。
【0028】
まず、選択部16が、後述する切り替え処理を実行し(S101)、次に、リンク変更部15が、後述するリンク変更処理を実行する(S102)。なお、これらの切り替え処理、及びリンク変更処理において、学習部14による学習処理が実行される。この学習処理は従来のニューラルネットワークにおける学習であり、上述した誤差逆伝搬法によりリンク重みを変更する処理である。
【0029】
次に、切り替え処理について説明する。図5は、切り替え処理の動作を示すフローチャートである。なお、この切り替え処理は、図4のステップS104における処理である。
【0030】
まず、選択部16は、ショックセンサによる外乱の大きさと頻度(外乱のパラメータ)を確認し(S201)、選択しているニューラルネットワークテーブルをデフォルトとし、(S202、第1選択ステップ)、外乱の大きさ及び頻度が閾値以上かどうかを判断する(S203)。
【0031】
外乱の大きさ及び頻度が閾値に満たない場合(S203,NO)、選択部16は、外乱が小さい場合のニューラルネットワークのパラメータであるニューラルネットワークテーブルAを選択し(S204、第2選択ステップ)、ニューラルネットワークAにより補正された制御がデフォルトのニューラルネットワークにより補正された制御に対して改善されたかどうかを判断する(S205、制御誤差測定ステップ、判断ステップ)。なお、制御が改善されたかどうかの判断は、選択部16が制御誤差を測定することによってなされる。具体的には、選択部16が、制御目標値と、VCM11による実際の制御値とに基づく誤差を参照し、この誤差を制御誤差とする。つまり、ここで改善とは、より制御誤差が低いことを意味する。
【0032】
制御が改善された場合(S205,YES)、選択部16は、切り替え処理を終了する。
【0033】
一方、制御が改善されない場合(S205,NO)、選択部16は、デフォルトのニューラルネットワークテーブルを選択する(S206)。
【0034】
また、ステップS203において、外乱の大きさ及び頻度が閾値以上である場合(S203,YES)、選択部16は、外乱が大きい場合のニューラルネットワークのパラメータであるニューラルネットワークテーブルBを選択する(S206、第2選択ステップ)。
【0035】
このように切り替えられたニューラルネットワークによる補正値と、コントローラ101による制御パラメータとに基づいて、最終コントローラ102によりVCM11の制御がなされる(制御ステップ)。ニューラルネットワークを切り替えることにより、汎用性が高く、且つ計算負荷が小さい制御が可能となる。なお、本実施の形態において、外乱の大きさ及び頻度をトリガーとして2つのニューラルネットワークを切り替えた。しかし、これらは一例であり、トリガーの種類及びニューラルネットワークの数を限定するものではない。例えば、所定の時間毎にニューラルネットワークを切り替えても構わない。
【0036】
次に、リンク変更処理について説明する。図6は、リンク変更処理の概要を示す図である。また、図7及び8は、リンク変更処理の動作を示すフローチャートである。
【0037】
リンク変更処理は、図6に示すように、入力ノードと隠れノード間、隠れノードと出力ノード間のリンクを有効化または無効化する処理である。以下、図7及び8を用いて、その動作を説明する。なお、図7及び8において、MAX()はMAX関数を示すものであり、MIN()はMIN関数を示すものである。MAX関数は後続する括弧内の最大値を求める関数であり、MIN関数は後続する括弧内の最小値を求める関数である。また、図7及び8において、nth1は無効化するリンクの候補を抽出するための閾値を示す。また、nth2はリンク有効化のための閾値(第2閾値)を示す。また、Wij(on)は有効になっているリンク重みを示す。また、Wij(off)は無効になっているリンク重みを示す。また、Wij(before)は有効になっているリンク重みのうち、無効になる可能性のあるリンク重みを示す。また、Wij(after)は無効になっているリンク重みのうち、有効になるリンク重みを示す。また、図7及び8において、便宜上、入力ノードと隠れノード間のリンクのみリンク変更が行われるものとする。なお、学習部14による重みの補正はすでになされているものとする(重み補正ステップ)。
【0038】
まず、リンク変更部15は、選択しているニューラルネットワークテーブルをデフォルトとして保存し(S301)、入力値Xiの最大値に、Wij(on)とVjを乗算し(S302)、全てのWij(on)に対して計算がなされたかどうかを判断する(S303)。
【0039】
全てのWij(on)に対して計算がなされた場合(S303,YES)、リンク変更部15は、ステップS302により算出された値における最小値が、nth1より大きいかどうかを判断する(S304)。
【0040】
ステップS302において算出された値における最小値がnth1以下である場合(S304,NO)、リンク変更部15は、入力値Xiの最大値に、Wij(off)とVjを乗算し(S305)、全てのWij(off)に対して計算がなされたかどうかを判断する(S306)。
【0041】
全てのWij(off)に対して計算がなされた場合(S306,YES)、リンク変更部15は、ステップS305により算出された値における最大値が、nth2より大きいかどうかを判断する(S307)。
【0042】
ステップS305において算出された値における最大値が、nth2より大きい場合(S307,YES)、リンク変更部15は、ステップS307においてnth1以下になるようなWij(on)をWij(before)として、その重みを保存する(S308)。さらにリンク変更部15は、他のWij(on)について学習部14に学習させつつ、Wij(before)の重みを所定の値だけ下げ(S309)、Wij(before)=0(第1閾値)であるかどうかを判断する(S310)。
【0043】
ij(before)=0である場合(S310,YES)、リンク変更部15は、Wij(before)のリンクを無効化し(リンク除外ステップ)、その重みをステップS308で保存した値とする(S311)。
【0044】
次に、リンク変更部15は、ステップS307においてnth1より大きくなるようなWij(off)をWij(after)とし、他のWij(on)について学習部14に学習させつつ、Wij(after)のリンクを有効化し(リンク導入ステップ)、その値を0とする(S312)。
【0045】
次に、リンク変更部15は、Wij(after)を含む全てのWij(on)について学習部14に学習させ(S313)、リンクを変更したニューラルネットワークによる制御がデフォルトのニューラルネットワークによる制御よりも改善されているかどうかを判断する(S314)。
【0046】
デフォルトのニューラルネットワークによる制御よりも改善されている場合(S314,YES)、リンク変更部15は、リンク変更処理を終了する。
【0047】
一方、デフォルトのニューラルネットワークによる制御よりも改善されていない場合(S314,NO)、リンク変更部15は、デフォルトのニューラルネットワークテーブルを選択する(S315)。
【0048】
また、ステップS310において、Wij(before)=0ではない場合(S310,NO)、他のWij(on)について学習部14に学習させつつ、Wij(before)の重みを所定の値だけ下げる(S309)。
【0049】
また、ステップS307において、ステップS305において算出された値における最大値が、nth2以下である場合(S307,NO)、リンク変更部15は、デフォルトのニューラルネットワークテーブルを選択する(S315)。
【0050】
また、ステップS304において、ステップS302において算出された値における最小値がnth1より大きい場合(S304,YES)、リンク変更部15は、デフォルトのニューラルネットワークテーブルを選択する(S315)。
【0051】
また、ステップS303において、全てのWij(on)に対して計算がなされていない場合(S303,NO)、リンク変更部15は、すでに計算したWij(on)とは異なるWij(on)について、入力値Xiの最大値に、Wij(on)とVjを乗算する(S302)。
【0052】
上述したように、リンクの重み付けに基づいてリンクを無効化することによって、必要のないリンクを減らし、結果として、ニューラルネットワーク制御に係る負荷を軽減することができる。また、上述の処理によれば、無効化したリンクが効果的である場合は、リンクを有効化することも可能である。
【0053】
実施の形態2.
実施の形態1においては、ニューラルネットワークにおけるロジスティック関数としてのシグモイド関数に基づく関数値はその都度計算されていたが、本実施の形態においては、このシグモイド関数及びその導関数に基づく関数値をルックアップテーブル化する点が実施の形態1とは異なる。なお、実施の形態1と同様の構成及び動作についてはその説明を省略する。図9は、シグモイド関数のルックアップテーブルを示す図である。また、図10は、シグモイド関数の導関数のルックアップテーブルを示す図である。
【0054】
図9及び図10に示すルックアップテーブルは、シブモイド関数及びその導関数について予め計算された値(関数値)が入力値xと対応付けられているテーブルであり、記憶媒体18に予め格納され管理されているものである。本実施の形態に係るディスク装置1における算出部13は、f(x)または(1−f(x)^2/2の値をルックアップテーブルにおいてxと対応付けられた値とすることで、その処理負荷を軽減することができる。なお、このルックアップテーブルは、ニューラルネットワーク制御において、予め計算可能な数式に対して適用可能である。
【0055】
実施の形態3.
実施の形態1及び2においては、1つのショックセンサ12により外乱を検出し、検出された外乱の大きさ及び頻度に基づいてニューラルネットワークテーブルが選択されていた。これに対し、本実施の形態は、ショックセンサ12を複数のショックセンサ(センサA、センサB)により構成し、これらのショックセンサ12により得られた複数の外乱のパラメータに基づいてニューラルネットワークテーブルを選択する点が実施の形態1及び2とは異なる。以下、実施の形態1及び2と異なる構成及び動作について説明する。図11は、分類テーブルを示す図である。また、図12は、本実施の形態における切り替え処理の動作を示すフローチャートである。また、図13は、変更される分類テーブルを示す図である。
【0056】
本実施の形態に係るディスク装置1は、上述したように、ショックセンサ12がセンサA及びセンサBにより構成される。また、ニューラルネットワークを選択するためのテーブルとして、図11に示すような分類テーブルが用いられる。この分類テーブルは、センサAにおける分類(A1〜A4)と、センサBにおける分類(B1〜B3)との組み合わせと、3つのニューラルネットワークテーブルとを対応付けるものである。また、分類テーブルは、記憶媒体18に格納されるものである。また、分類テーブルにおける分類は、センサA及びBにより検出された外乱の大きさ及び頻度に基づくものであり、本実施の形態においては、外乱の範囲をそれぞれ示し、それぞれの範囲は重複しないものとする。
【0057】
次に、本実施の形態における切り替え処理について説明する。
【0058】
まず、選択部13は、センサA及びBにより得られた値を予め定められた範囲に基づいて分類し、分類テーブルにおいて分類に対応するニューラルネットワークテーブルを選択し(S401、第1選択ステップ)、ディスク装置1がアイドルモードかどうかを判断する(S402)。
【0059】
ディスク装置1がアイドルモードである場合(S402,YES)、選択部16は、選択したニューラルネットワークテーブルをデフォルトとして保存し(S403)、他のニューラルネットワークテーブルを選択し、学習部14に学習させる(S404)。ここで選択部16は、S404において、全てのニューラルネットワークテーブルが選択されたかどうかを判断する(S405)。
【0060】
全てのニューラルネットワークテーブルが選択された場合(S405,YES)、選択部16は、デフォルトのニューラルネットワークによる制御に対して、他のニューラルネットワークのいずれかによる制御が改善したかどうかを判断する(S406、制御誤差測定ステップ、第2選択ステップ)。なお、制御が改善したかどうかの判断は、実施の形態1に示したように、制御誤差によってなされるものとする。
【0061】
他のニューラルネットワークのいずれかによる制御が改善した場合(S406,YES)、他のニューラルネットワークテーブルより最良のテーブルを選択する(S407、対応付けステップ)。具体的には、選択部16は、図13に示すように、デフォルトである分類テーブルにおけるニューラルネットワークテーブル(図13においてはNNT_2)と、選択した最良のニューラルネットワークテーブル(図13においてはNNT_3)とを差し替える。なお、ここで最良のニューラルネットワークテーブルとは、最も目標とする制御に近い制御を実現することができるニューラルネットワークテーブルを指す。最良のニューラルネットワークテーブルを選択した選択部16は、切り替え処理を終了する。
【0062】
一方、他のニューラルネットワークのいずれかによる制御が改善しない場合(S406,NO)、選択部16は、デフォルトのニューラルネットワークテーブルを選択し(S408)、切り替え処理を終了する。
【0063】
また、ステップS405において、全てのニューラルネットワークテーブルが選択されていない場合(S405,NO)、選択部16は、再度、他のニューラルネットワークテーブルを選択し、学習部14に学習させる(S404)。
【0064】
また、ステップS402において、ディスク装置1がアイドルモードではない場合(S402,NO)、選択部16は、デフォルトのニューラルネットワークテーブルを選択する(S408)。
【0065】
上述したように、複数の外乱に基づいてニューラルネットワークテーブルを選択することによって、より精度の高い制御を行うことができ、且つ処理負荷を軽減することができる。
【0066】
本発明は、その要旨または主要な特徴から逸脱することなく、他の様々な形で実施することができる。そのため、前述の実施の形態は、あらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。本発明の範囲は、特許請求の範囲によって示すものであって、明細書本文には、何ら拘束されない。更に、特許請求の範囲の均等範囲に属する全ての変形、様々な改良、代替および改質は、全て本発明の範囲内のものである。
【0067】
上述したようなディスク装置1のMPU17またはコンピュータシステムにおいて上述した各ステップを実行させるプログラムを、制御プログラムとして提供することができる。このプログラムは、コンピュータシステムにより読取り可能な記録媒体に記憶させることによって、コンピュータシステムに実行させることが可能となる。また、コンピュータシステムにより読み取られるこのプログラムは、コンピュータシステムを介してディスク装置1の記憶媒体18に格納可能である。また、上述した各ステップを実行するプログラムは、ディスク910等の可搬型記録媒体に格納されるか、通信装置905により他のコンピュータシステムの記録媒体906からダウンロードされる。また、コンピュータシステム900に少なくとも制御機能を持たせる制御プログラム(制御ソフトウェア)は、コンピュータシステム900に入力されてコンパイルされる。このプログラムは、コンピュータシステム900を制御機能を有する制御システムとして動作させる。また、このプログラムは、例えばディスク910等のコンピュータ読み取り可能な記録媒体に格納されていても良い。ここで、コンピュータシステム900により読取り可能な記録媒体としては、ROMやRAM等のコンピュータに内部実装される内部記憶装置、フレキシブルディスク、DVDディスク、光磁気ディスク、ICカード等の可搬型記憶媒体や、コンピュータプログラムを保持するデータベース、或いは、他のコンピュータシステム並びにそのデータベースや、通信装置105のような通信手段を介して接続されるコンピュータシステムでアクセス可能な各種記録媒体を含む。
【0068】
以上、本実施の形態によれば、以下の付記で示す技術的思想が開示されている。
(付記1) システムの動作を制御する制御装置であって、
互いにネットワーク構成が異なる複数のニューラルネットワークのうち、所定のニューラルネットワークである第1ニューラルネットワークを選択する第1選択部と、
前記複数のニューラルネットワークのうち、前記第1ニューラルネットワークとは異なるニューラルネットワークである第2ニューラルネットワークを選択する第2選択部と、
前記第1ニューラルネットワークによる制御と、前記第2ニューラルネットワークによる制御とによる制御誤差を測定する制御誤差測定部と、
前記制御誤差測定部によって測定された第1ニューラルネットワークによる制御誤差と、前記第2ニューラルネットワークによる制御誤差とを比較し、より制御誤差が低いニューラルネットワークを判断する判断部と、
前記判断部によってより制御誤差が低いと判断されたニューラルネットワークにより前記システムの動作を制御する制御部と
を備える制御装置。
(付記2) 付記1に記載の制御装置であって、
前記ニューラルネットワークは、複数のノードと該複数のノード間のリンクにより構成され、
前記制御部により前記システムの動作の制御に用いられるニューラルネットワークにおけるリンクに設定された重みを前記制御誤差測定部により測定された制御誤差に基づいて補正する重み補正部と、
前記重み補正部により補正されたリンクのうち、重みに基づく値が所定の閾値である第1閾値以下であるリンクを外すリンク除外部と、
前記リンク除外部により外されたリンクのうち、重みに基づく値が前記第1閾値と異なる閾値である第2閾値より大きいリンクを導入するリンク導入部と
を更に備える制御装置。
(付記3) 付記1に記載の制御装置であって、
前記システムの外乱を検出する検出部を更に備え、
前記第2選択部は、前記検出部により検出された外乱のパラメータに基づいて、前記第2ニューラルネットワークを選択することを特徴とする制御装置。
(付記4) 付記1に記載の制御装置であって、
前記システムの外乱を検出する複数のショックセンサを更に備え、
前記第1ニューラルネットワークは、前記複数のショックセンサにより検出される複数の外乱のパラメータの組み合わせに対応付けられたニューラルネットワークであり、
前記第2ニューラルネットワークは、前記第1ニューラルネットワーク以外の前記複数のニューラルネットワークのうち、最も制御誤差が低いニューラルネットワークであることを特徴とする制御装置。
(付記5) 付記4に記載の制御装置であって、
前記判断部により、前記第1ニューラルネットワークによる制御制度より前記第2ニューラルネットワークによる制御誤差が低いと判断された場合、前記第1ニューラルネットワークと対応付けられた複数の外乱のパラメータの組み合わせと、前記第2ニューラルネットワークとを対応付ける対応付け部を更に備える制御装置。
(付記6) 付記1に記載の制御装置であって、
前記制御部は、前記ニューラルネットワークに係る計算において、前記ニューラルネットワークに係る関数における入力値と、該入力値に基づく関数値とが対応付けられたルックアップテーブルを参照し、前記入力値を引数として、該入力値に対応する関数値を得ることを特徴とする制御装置。
(付記7) 付記1乃至付記6のいずれかに記載の制御装置であって、
前記システムはディスク装置であり、
前記制御部は、前記ディスク装置のボイスコイルモータを制御することを特徴とする制御装置。
(付記8) システムの動作を制御することができる制御プログラムであって、
互いにネットワーク構成が異なる複数のニューラルネットワークのうち、所定のニューラルネットワークである第1ニューラルネットワークを選択する第1選択ステップと、
前記複数のニューラルネットワークのうち、前記第1ニューラルネットワークとは異なるニューラルネットワークである第2ニューラルネットワークを選択する第2選択ステップと、
前記第1ニューラルネットワークによる制御と、前記第2ニューラルネットワークによる制御とによる制御誤差を測定する制御誤差測定ステップと、
前記制御誤差測定ステップによって測定された第1ニューラルネットワークによる制御誤差と、前記第2ニューラルネットワークによる制御誤差とを比較し、より制御誤差が低いニューラルネットワークを判断する判断ステップと、
前記判断ステップによってより制御誤差が低いと判断されたニューラルネットワークにより前記システムの動作を制御する制御ステップと
をコンピュータに実行させる制御プログラム。
(付記9) 付記8に記載の制御プログラムであって、
前記ニューラルネットワークは、複数のノードと該複数のノード間のリンクにより構成され、
前記制御ステップにより前記システムの動作の制御に用いられるニューラルネットワークにおけるリンクに設定された重みを前記制御誤差測定ステップにより測定された制御誤差に基づいて補正する重み補正ステップと、
前記重み補正ステップにより補正されたリンクのうち、重みに基づく値が所定の閾値である第1閾値以下であるリンクを外すリンク除外ステップと、
前記リンク除外ステップにより外されたリンクのうち、重みに基づく値が前記第1閾値と異なる閾値である第2閾値より大きいリンクを導入するリンク導入ステップと
を更にコンピュータに実行させる制御プログラム。
(付記10) 付記8に記載の制御プログラムであって、
前記システムの外乱を検出する検出ステップを更にコンピュータに実行させ、
前記第2選択ステップは、前記検出ステップにより検出された前記システムの外乱に基づいて、前記第2ニューラルネットワークを選択することを特徴とする制御プログラム。
(付記11) 付記8に記載の制御プログラムであって、
複数のショックセンサにより前記システムの外乱を検出する検出ステップを更にコンピュータに実行させ、
前記第1ニューラルネットワークは、前記検出ステップにより検出される複数の外乱のパラメータの組み合わせに対応付けられたニューラルネットワークであり、
前記第2ニューラルネットワークは、前記第1ニューラルネットワーク以外の前記複数のニューラルネットワークのうち、最も制御誤差が低いニューラルネットワークであることを特徴とする制御プログラム。
(付記12) 付記11に記載の制御プログラムであって、
前記判断ステップにより、前記第1ニューラルネットワークによる制御制度より前記第2ニューラルネットワークによる制御誤差が低いと判断された場合、前記第1ニューラルネットワークと対応付けられた複数の外乱のパラメータの組み合わせと、前記第2ニューラルネットワークとを対応付ける対応付けステップを更にコンピュータに実行させる制御プログラム。
(付記13) 付記8に記載の制御プログラムであって、
前記制御ステップは、前記ニューラルネットワークに係る計算において、前記ニューラルネットワークに係る関数における入力値と、該入力値に基づく関数値とが対応付けられたルックアップテーブルを参照し、前記入力値を引数として、該入力値に対応する関数値を得ることを特徴とする制御プログラム。
(付記14) 付記8に記載の制御プログラムであって、
前記システムはディスク装置であり、
前記制御ステップは、前記ディスク装置のボイスコイルモータを制御することを特徴とする制御プログラム。
(付記15) システムの動作を制御するための制御方法であって、
互いにネットワーク構成が異なる複数のニューラルネットワークのうち、所定のニューラルネットワークである第1ニューラルネットワークを選択する第1選択ステップと、
前記複数のニューラルネットワークのうち、前記第1ニューラルネットワークとは異なるニューラルネットワークである第2ニューラルネットワークを選択する第2選択ステップと、
前記第1ニューラルネットワークによる制御と、前記第2ニューラルネットワークによる制御とによる制御誤差を測定する制御誤差測定ステップと、
前記制御誤差測定ステップによって測定された第1ニューラルネットワークによる制御誤差と、前記第2ニューラルネットワークによる制御誤差とを比較し、より制御誤差が低いニューラルネットワークを判断する判断ステップと、
前記判断ステップによってより制御誤差が低いと判断されたニューラルネットワークにより前記システムの動作を制御する制御ステップと
を備える制御方法。
(付記16) 付記15に記載の制御方法であって、
前記ニューラルネットワークは、複数のノードと該複数のノード間のリンクにより構成され、
前記制御ステップにより前記システムの動作の制御に用いられるニューラルネットワークにおけるリンクに設定された重みを前記制御精度測定ステップにより測定された制御誤差に基づいて補正する重み補正ステップと、
前記重み補正ステップにより補正されたリンクのうち、重みに基づく値が所定の閾値である第1閾値以下であるリンクを外すリンク除外ステップと、
前記リンク除外ステップにより外されたリンクのうち、重みに基づく値が前記第1閾値と異なる閾値である第2閾値より大きいリンクを導入するリンク導入ステップと
を更に備える制御方法。
(付記17) 付記15に記載の制御方法であって、
前記システムの外乱を検出する検出ステップを更にコンピュータに実行させ、
前記第2選択ステップは、前記検出ステップにより検出された前記システムの外乱に基づいて、前記第2ニューラルネットワークを選択することを特徴とする制御方法。
(付記18) 付記15に記載の制御方法であって、
複数のショックセンサにより前記システムの外乱を検出する検出ステップを更に備え、
前記第1ニューラルネットワークは、前記検出ステップにより検出される複数の外乱のパラメータの組み合わせに対応付けられたニューラルネットワークであり、
前記第2ニューラルネットワークは、前記第1ニューラルネットワーク以外の前記複数のニューラルネットワークのうち、最も制御誤差が低いニューラルネットワークであることを特徴とする制御方法。
(付記19) 付記18に記載の制御方法であって、
前記判断ステップにより、前記第1ニューラルネットワークによる制御制度より前記第2ニューラルネットワークによる制御誤差が低いと判断された場合、前記第1ニューラルネットワークと対応付けられた複数の外乱のパラメータの組み合わせと、前記第2ニューラルネットワークとを対応付ける対応付けステップを更に備える制御方法。
(付記20) 付記15に記載の制御方法であって、
前記制御ステップは、前記ニューラルネットワークに係る計算において、前記ニューラルネットワークに係る関数における入力値と、該入力値に基づく関数値とが対応付けられたルックアップテーブルを参照し、前記入力値を引数として、該入力値に対応する関数値を得ることを特徴とする制御方法。
【図面の簡単な説明】
【0069】
【図1】実施の形態1に係るディスク装置の構成を示すブロック図である。
【図2】ニューラルネットワークAを示す図である。
【図3】ニューラルネットワークBを示す図である。
【図4】実施の形態1に係るディスク装置の全体動作を示すフローチャートである。
【図5】切り替え処理の動作を示すフローチャートである。
【図6】リンク変更処理の概要を示す図である。
【図7】リンク変更処理の動作を示すフローチャートである。
【図8】リンク変更処理の動作を示すフローチャートである。
【図9】シグモイド関数のルックアップテーブルを示す図である。
【図10】シグモイド関数の導関数のルックアップテーブルを示す図である。
【図11】分類テーブルを示す図である。
【図12】実施の形態3における切り替え処理の動作を示すフローチャートである。
【図13】変更される分類テーブルを示す図である。
【図14】本発明が適用されるコンピュータシステムの一例を示す図である。
【図15】ニューラルネットワークの概要を示す図である。
【図16】階層型ニューラルネットワークに係る数式を示す図である。
【図17】シグモイド関数を示すグラフである。
【図18】誤差逆伝搬法に係る数式を示す図である。
【符号の説明】
【0070】
1 ディスク装置、10 制御部、11 VCM、12 ショックセンサ、13 算出部、14 学習部、15 リンク変更部、16 選択部、17 MPU、18 記憶媒体、101 コントローラ、102 最終コントローラ。

【特許請求の範囲】
【請求項1】
システムの動作を制御する制御装置であって、
互いにネットワーク構成が異なる複数のニューラルネットワークのうち、所定のニューラルネットワークである第1ニューラルネットワークを選択する第1選択部と、
前記複数のニューラルネットワークのうち、前記第1ニューラルネットワークとは異なるニューラルネットワークである第2ニューラルネットワークを選択する第2選択部と、
前記第1ニューラルネットワークによる制御と、前記第2ニューラルネットワークによる制御とによる制御誤差を測定する制御誤差測定部と、
前記制御誤差測定部によって測定された第1ニューラルネットワークによる制御誤差と、前記第2ニューラルネットワークによる制御誤差とを比較し、より制御誤差が低いニューラルネットワークを判断する判断部と、
前記判断部によってより制御誤差が低いと判断されたニューラルネットワークにより前記システムの動作を制御する制御部と
を備える制御装置。
【請求項2】
請求項1に記載の制御装置であって、
前記ニューラルネットワークは、複数のノードと該複数のノード間のリンクにより構成され、
前記制御部により前記システムの動作の制御に用いられるニューラルネットワークにおけるリンクに設定された重みを、前記制御誤差測定部により測定された制御誤差に基づいて補正する重み補正部と、
前記重み補正部により補正されたリンクのうち、重みに基づく値が所定の閾値である第1閾値以下であるリンクを外すリンク除外部と、
前記リンク除外部により外されたリンクのうち、重みに基づく値が前記第1閾値と異なる閾値である第2閾値より大きいリンクを導入するリンク導入部と
を更に備える制御装置。
【請求項3】
請求項1または請求項2に記載の制御装置であって、
前記システムの外乱を検出する検出部を更に備え、
前記第2選択部は、前記検出部により検出された外乱のパラメータに基づいて、前記第2ニューラルネットワークを選択することを特徴とする制御装置。
【請求項4】
請求項1または請求項2に記載の制御装置であって、
前記システムの外乱を検出する複数のショックセンサを更に備え、
前記第1ニューラルネットワークは、前記複数のショックセンサにより検出される複数の外乱のパラメータの組み合わせに対応付けられたニューラルネットワークであり、
前記第2ニューラルネットワークは、前記第1ニューラルネットワーク以外の前記複数のニューラルネットワークのうち、最も制御誤差が低いニューラルネットワークであることを特徴とする制御装置。
【請求項5】
請求項4に記載の制御装置であって、
前記判断部により、前記第1ニューラルネットワークによる制御制度より前記第2ニューラルネットワークによる制御誤差が低いと判断された場合、前記第1ニューラルネットワークと対応付けられた複数の外乱のパラメータの組み合わせと、前記第2ニューラルネットワークとを対応付ける対応付け部を更に備える制御装置。
【請求項6】
請求項1乃至請求項5のいずれかに記載の制御装置であって、
前記制御部は、前記ニューラルネットワークに係る計算において、前記ニューラルネットワークに係る関数における入力値と、該入力値に基づく関数値とが対応付けられたルックアップテーブルを参照し、前記入力値を引数として、該入力値に対応する関数値を得ることを特徴とする制御装置。
【請求項7】
システムの動作を制御することができる制御プログラムであって、
互いにネットワーク構成が異なる複数のニューラルネットワークのうち、所定のニューラルネットワークである第1ニューラルネットワークを選択する第1選択ステップと、
前記複数のニューラルネットワークのうち、前記第1ニューラルネットワークとは異なるニューラルネットワークである第2ニューラルネットワークを選択する第2選択ステップと、
前記第1ニューラルネットワークによる制御と、前記第2ニューラルネットワークによる制御とによる制御誤差を測定する制御誤差測定ステップと、
前記制御誤差測定ステップによって測定された第1ニューラルネットワークによる制御誤差と、前記第2ニューラルネットワークによる制御誤差とを比較し、より制御誤差が低いニューラルネットワークを判断する判断ステップと、
前記判断ステップによってより制御誤差が低いと判断されたニューラルネットワークにより前記システムの動作を制御する制御ステップと
をコンピュータに実行させる制御プログラム。
【請求項8】
請求項7に記載の制御プログラムであって、
前記ニューラルネットワークは、複数のノードと該複数のノード間のリンクにより構成され、
前記制御ステップにより前記システムの動作の制御に用いられるニューラルネットワークにおけるリンクに設定された重みを、前記制御誤差測定ステップにより測定された制御誤差に基づいて補正する重み補正ステップと、
前記重み補正ステップにより補正されたリンクのうち、重みに基づく値が所定の閾値である第1閾値以下であるリンクを外すリンク除外ステップと、
前記リンク除外ステップにより外されたリンクのうち、重みに基づく値が前記第1閾値と異なる閾値である第2閾値より大きいリンクを導入するリンク導入ステップと
を更にコンピュータに実行させる制御プログラム。
【請求項9】
システムの動作を制御するための制御方法であって、
互いにネットワーク構成が異なる複数のニューラルネットワークのうち、所定のニューラルネットワークである第1ニューラルネットワークを選択する第1選択ステップと、
前記複数のニューラルネットワークのうち、前記第1ニューラルネットワークとは異なるニューラルネットワークである第2ニューラルネットワークを選択する第2選択ステップと、
前記第1ニューラルネットワークによる制御と、前記第2ニューラルネットワークによる制御とによる制御誤差を測定する制御誤差測定ステップと、
前記制御誤差測定ステップによって測定された第1ニューラルネットワークによる制御誤差と、前記第2ニューラルネットワークによる制御誤差とを比較し、より制御誤差が低いニューラルネットワークを判断する判断ステップと、
前記判断ステップによってより制御誤差が低いと判断されたニューラルネットワークにより前記システムの動作を制御する制御ステップと
を備える制御方法。
【請求項10】
請求項9に記載の制御方法であって、
前記ニューラルネットワークは、複数のノードと該複数のノード間のリンクにより構成され、
前記制御ステップにより前記システムの動作の制御に用いられるニューラルネットワークにおけるリンクに設定された重みを前記制御誤差測定ステップにより測定された制御誤差に基づいて補正する重み補正ステップと、
前記重み補正ステップにより補正されたリンクのうち、重みに基づく値が所定の閾値である第1閾値以下であるリンクを外すリンク除外ステップと、
前記リンク除外ステップにより外されたリンクのうち、重みに基づく値が前記第1閾値と異なる閾値である第2閾値より大きいリンクを導入するリンク導入ステップと
を更に備える制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate


【公開番号】特開2010−86397(P2010−86397A)
【公開日】平成22年4月15日(2010.4.15)
【国際特許分類】
【出願番号】特願2008−256376(P2008−256376)
【出願日】平成20年10月1日(2008.10.1)
【出願人】(309033264)東芝ストレージデバイス株式会社 (255)
【Fターム(参考)】