入力波形が正弦波の時は大体が学習できることが分かったが、もう少し複雑な波形である方形波でも学習できるのかどうか調べた。
本実験で用いた方形波は以下の様に定義した。
1周期におけるサンプリング数(分割数)を、合成する高調波成分の数を
とした時、時間
における教師信号
を
高調波数が1だと正弦波と同じ入力波形となるため、まず、高調波数を2とした時の方形波について実験を行った。 最終世代のエリート遺伝子を適用した時のバックプロパゲーションによる評価値を分割数1〜100まで変更した時 の結果を図 6.14 に示す。 正弦波における結果である図 6.3と比較してみると、全体的に学習の誤差が大きくなっていることが分かる。 また、正弦波のときと同様に分割数が極端に小さい場合においては、学習の誤差がほとんどなかった。
学習に成功した例として、分割数50の教師信号とカオスニューロンの出力信号の値を図 6.15, 図 6.16に示す。 この2つの図より、カオスニューロンの出力信号の値は、望ましい信号である教師信号よりも振幅が小さくなることが分かった。
次にもう少し複雑な波形として、高調波を5つ合成した方形波について同様の実験を行った。 図 6.17にその結果を示す。 高調波数が2つのときと比べると、さらに誤差が大きくなり、誤差が0.2を超える点が多く見られる様になった。
次に入力の難しさと学習の精度にはどういう関係があるのかを調べるために、 分割数を固定して合成する高調波の数を変更したらどうなるのか実験を行った。 正弦波の実験において分割数が極端に小さい例では、学習ができることが分かっているので、 分割数が24とある程度大きいもので実験を行った。その時の各高調波数における評価値(誤差)のグラフを 図 6.18に表す。 このグラフを見てみると、学習できている点と学習できていない点は斑に分布しているため、 高調波と誤差の間には直接的な誤差の原因が見られない。
ここで、学習に成功した時の入力の性質についてまとめる。 図 6.19は高調波数, 分割数をそれぞれ1〜100まで変更した時に 学習した点をプロットしたものである。 高調波数と分割数に、比例の関係があるところで傾きによって学習に成功する点とそうでない点が見られた。
|
また、学習に成功・失敗した時の入力波形を図 6.20に示す。
(), (
)は学習に成功した例、(
), (
), (
), (
)は学習に失敗した例である。
まず、学習に失敗した例について検討する。(
), (
), (
)では、1周期の中央において、0.5となる点が存在しない。
また(
)では、周期の中央前後にてお互い正反対の方向に傾いている。
(
)では方形波が二重に重なった様にも見える。
その一方学習に成功した例では、信号が滑らかに繋がっており、周期の真ん中にも点が存在している。
1周期の中央に点があるかないかは分割数が偶数か奇数かによって決まる。
図 6.19において1つ置きに学習ができている所を見ると、
このことが波形の学習の難しさの要素となっていることが分かる。
|
次に方形波について、バックプロパゲーションが終了してから、カオスニューロンの出力を入力に戻しその次の値の予測を行った。
図 6.21にその結果を示す。グラフの右半分が教師信号、左半分が予測値、つまりカオスニューロンの出力である。
(), (
)では大まかな形を予測できているが、(
), (
)においては、全く違う形のものを出力している。
この時の評価値は、(
)で0.02768, (
)で0.049976, (
)で0.122344, (
)で0.402097となっている。
評価値だけでは、予測できるものとそうでないものを判別することはできないが、評価値の高いものほど全く違う波形を出したり、
値が収束してしまったりしている。
また、(
)のようにサンプリング数が多いものについても、方形波の周波数が多い出力となっていたり、収束していることが多いという
結果が得られた。
次に方形波の遺伝的アルゴリズムによる学習の様子を図 6.22, 図 6.23に示す。 これはどちらも学習に成功した時の例である。誤差の評価値に不安定な要素がありながらも学習していっていることが分かる。
次に、学習の精度を向上させるべく、評価方法を変更することにした。 これまでの実験では、パラメータを1回適用して、バックプロパゲーションで学習させた時の最終周期の誤差を 評価値として用いていた。すべての遺伝子について言えることではないが、 適用したパラメータによって1回は学習に成功するが、もう一度適用したときに学習に失敗する という場合がある。 これは、バックプロパゲーションの重みの初期値をランダム関数で決めていて、実行するたびに初期値が 変わるからである。つまり重みの初期値によっては学習できるものとそうでないものができたということである。 このような不安定な誤差の要素も含めて遺伝的アルゴリズムで学習するために、 初期値を変更したバックプロパゲーションへの適用を3回行った中で、 最終周期の誤差が最も大きくなるものを評価値として用いることにした。
評価値の変更後の結果を図 6.24に示す。 この結果と図 6.19を比較してみると、学習できた点の数は減少している。 これは、図 6.19はバックプロパゲーション1回分の評価値であるのに対して 図 6.24では3回分の評価値の中で最も悪いものを遺伝的アルゴリズムの評価値をしてため、 学習成功の基準が厳しくなったからであると考えられる。 しかしながら、この評価値の変更によって、バックプロパゲーションの初期値による不安定な要素を取り除くことはできなかった。 これが今後の課題である。