研究3:考察

研究3:遺伝的アルゴリズムを活用した風景画の複製

Hayate.Labに戻る

  ・背景と目的
  ・アプローチ手法
  ・原理
  ・可視化方法
  ・可視化結果
  ・考察

【考察】

 研究3で用いた遺伝的アルゴリズムの原理は、【アプローチ手法】で触れた通り、画像を複製する基本的な考え方は『図形(ここでは円)を組み合わせることで全体の大枠からイメージを作成していき、多段遺伝的アルゴリズムの適用で細部を作っていく』ということです。この方法は人間が風景画に限らず描写をする際に踏まえる手順そのものであり、大枠から描画し、その後ディテールを描画し描写を完成させる方法を模倣したものとなります。

 ここで、今一度可視化結果を見てみます。

 上図について、サムネイルレベルのサイズ(150×150)ではある程度の画像複製精度が認められるが、各画像をクリックして拡大表示させると複製の精度は不十分であることが見て取れる。また、色の再現性にも課題が残っている。この要因としては、円を幾重にも組み合わせて画像の複製を試みる、というアルゴリズムの限界である。その理由を下記に示す。

 円を組み合わせるアルゴリズムの限界を説明するために、まずは下図をご覧頂きたい。

Simulated annealing という方法で画像を複製した結果

 上図は、15角のランダムノイズを幾重にも組み合わせて元画像の複製を試みた実験結果である(Simulated annealing)。演算時間は揃えているものの、見ての通り画像の再現性には大きな差がある。

 この理由を考察していきます。どちらの方法もオリジナル画像と各世代での出力結果を比較し、適合度が高い出力をベースに変異を加えて次世代の画像を生成しています。具体的に、どのようにアルゴリズムに違いがあるのかを下記に示します。

 Simulated Annealingは、最適化アルゴリズムの一種で、組み合わせ最適化問題を解決するために使用される手法の一つです。このアルゴリズムは問題の最適な解を見つけるためにランダムな変更を受け入れつつ、徐々に探索を絞り込むことを目的としています。

 具体的なSimulated Annealingのアルゴリズムは下記のようになります。

ステップの流れ:
a. 初期解を生成します。これは問題に応じたランダムな解です。
b. 現在の解に対して、隣接解を生成します。これは現在の解から小さな変更を加えたものです。
c. 目的関数を使用して、現在の解と隣接解の良さを比較します。
d. 新しい解がより良い場合、それを受け入れます。一方、悪い場合でも、一定の確率で受け入れることがあり、これが「ランダム性」の要素です。
e. ステップbからdを繰り返します。その際には良い解を受け入れる条件徐々に厳しくし、精度を徐々に向上させます。
f. 一定の条件(求める精度を満たすときなど)を満たすまで、このプロセスを繰り返します。

 以上がSimulated Annealingのアルゴリズムですが、遺伝的アルゴリズムに酷似しています。それぞれの差異を示し、その上での遺伝的アルゴリズムによる画像複製の限界を下記に示します。

 Simulated Annealingと遺伝的アルゴリズム(Genetic Algorithm)は、両方とも最適化問題を解決するためのアルゴリズムですが、異なるアプローチを取っています。

解の表現:
Simulated Annealing:
 Simulated Annealingは、問題の解を一つの個体として表現します。
遺伝的アルゴリズム:
 遺伝的アルゴリズムは、解を複数の個体(遺伝子)の集合で表現します。各個体は問題の属性を表現し、個体間で情報を組み合わせて進化させます。

進化の仕組み:
Simulated Annealing: 
 現在の解に対して小さな変更を行い、新しい解を生成します。その後、新しい解が以前の解よりも優れている場合に受け入れるか、確率的に受け入れるかを決定します。変更はランダムに行われます。
遺伝的アルゴリズム:
遺伝的アルゴリズムは、個体間の交叉(遺伝子の組み換え)と突然変異(遺伝子のランダムな変更)を使用して進化を模倣します。親の遺伝子から子孫の遺伝子を生成し、優れた遺伝子を選択的に保存します。

適用範囲:
 Simulated Annealing:
 Simulated Annealingは、単一の解を求める問題に適しており、局所的な最適解を回避するのに有効です。組み合わせ最適化問題や連続最適化問題に使用されます。
遺伝的アルゴリズム:
 遺伝的アルゴリズムは、多くの個体からなる候補解の集団を扱う問題に向いています。組み合わせ最適化、スケジューリング、機械学習のハイパーパラメータ最適化など幅広い問題に適用されます。

 簡単に言えば、Simulated Annealingは単一の解を探索するのに対して、遺伝的アルゴリズムは個体集団を進化させ、複数の解を同時に探索することが特徴です。

 以上より、上記で述べた【遺伝的アルゴリズムによる画像複製の限界】は『解を集合で表す』、つまり、ここでは円の集合で表す方法で画像の複製を行っている、という遺伝的アルゴリズム上の定義に起因します。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA