基礎から応用まで幅広く
感性情報システム研究室では,研究を進めるにあたって必要となる知的情報処理の基礎技術について,毎週輪講形式で学習を行います.また,それぞれの理論を学んだあと,より実践的な演習としてプログラミング課題に取り組みます.
第1回 遺伝的アルゴリズム
遺伝的アルゴリズムは,この研究室で最初に学ぶ最適化手法で,自然界での生物の進化と遺伝にモデルにしたものです.これらは,自然淘汰により最適な遺伝子が残ってきたように,システムの中で自然淘汰のシュミレーションを行い最適解を求めようというものです.
巡回セールスマン問題やナップザック問題などの最適化問題における最適化プログラム作成し,知識を深めていきます.
第2回 シミュレーテッド・アニーリング
シミュレーテッドアニーリング(Simulated Annealing;SA)は,高温で加熱した金属の温度を徐々に下げて冷やすことによって,もとの金属より欠陥の少ない優れた結晶構造を作る物理プロセス(焼きなまし)を計算機上で模倣した最適化手法です.
SAの基礎となる最適解の探索法として局所探索法(Local Search;LS)があります. LSは逐次的な解の改善操作を繰り返す最適化手法です.近傍内に目的関数を改善する点が存在しない場合にLSは停止します.
下図のように目的関数が複数の極小値を持つ場合では,初期解をX0にとると,近傍内に改善する点が存在しないX1の状態で停止し,LSでは最適解に到達できません.これに対してSAでは,LSでの暫定解の更新法として目的関数を改善するものだけでなく,改悪となるものもときには許し,局所最適解からの脱出を可能にします.

SAの概念図
第3回 タブーサーチ
タブーサーチの輪講では,GA,SAと同様に巡回セールスマン問題についてのプログラムを作成します.
タブーサーチは状態の近傍を複数探索しその中で最も良い状態に遷移します.このときタブーリストと呼ばれるものに状態遷移時の操作を書き込みます。このタブーリストに書き込まれている操作は行わないことにより状態がループするのを防ぐことで探索が停滞せずに最適解を探索することができます。
これにより,タブーサーチは局所解に陥りにくくなります.

GAとTSのモデル比較
第4回 遺伝的プログラミング
遺伝的プログラミング(以下GP:Genetic Programming)は,遺伝的アルゴリズム(以下 GA:Genetic Algorithm)の遺伝子列をグラフ構造や木構造の取り扱いができるように拡張した進化的アルゴリズムです.
GPの応用例には自動プログラミングや人工知能の作成などがあります.

輪講の課題のANT問題とは限られたエネルギーで人工蟻がより多くの餌を取るプログラムを自動生成する問題です.上図は木構造であり,aを根,b・d を非終端子,c・e・f・g を終端子と言います.終端子をそれぞれロボットの簡単な1つの行動(進む,回転など)を表すとします.
図のように木を辿ったとすると人工蟻が e→f→c→g の順に行動を行うことをその木構造が示しています.したがって,木の構造をGAの遺伝子列として扱うことで最適な人工蟻の行動をプログラミングすることができます.
第5回 ニューラルネットワーク(相互結合)
ニューラルネットワークは,脳機能に見られるいくつかの特性を計算機上のシミュレーションによって表現することを目指した数学モデルです.自己想起とは,顔の一部を見ただけで顔全体が想起されるような場合を言い,相互想起とは,果物と聞いて,例えばミカンを想起するような場合を言います.このセクションでは,前者の自己想起の過程をプログラムで作成します.
本輪講では,ノイズの混じった数字データから,もとの数字を復元するという,簡単な文字認識プログラムを作成します.

ニューラルネット(相互結合)のプログラム実行例
第6回 ニューラルネットワーク(階層型)
ニューラルネット(以下 NNとする)とは人間の脳の仕組みを模倣した情報機構のことです.これは神経細胞(ニューロン)をモデル化したものを多数つなげてネットワークを構成し, 新しい情報処理原理を追及することが目的です.
階層型NNではニューロンを下図のように入力層,中間層,出力層を用意します.このNNは教師あり学習の誤差逆伝搬法(BP法)という方法を用いて学習をしていきます.

階層型NNのモデル
以下にその手順を示します.
1.NNに入力し出力を得ます.
2.出力と教師信号(手本となる値)と比較し2つの値の誤差を求めます.
3.その誤差によりNNのニューロン同士の結合荷重を調整し教師信号に近づけます.
※結合荷重とはニューロン同士を結んでいる重みのことです.
この1~3の操作を繰り返し行うことで入力をするとそれに対応した値(教師信号と近い値)が出てくるようになります.
第7回 ファジィ制御
ファジィ制御とは,ファジィ集合論に立脚して制御モデル等を構成する方法です.ファジィ集合論は,0または1といった境界がはっきりした集合論とは異なり,中間の状態を許容する集合論です.たとえば35歳の人間は「若者」0.4,「中年」0.5,「老人」0.1,といった感じです.これにより,人が用いる主観的であいまいな表現(やや,とてもなど)を定量的に扱うことができます.
輪講では車の速度制御を題材として内容理解に取り組んでいます.具体的には,
ファジィ集合の決定(例 時速80kmは「速い」0.8,「遅い」0.2)
ファジィルールの決定(例 もし時速80km以上なら5km減速する)
ファジィ推論(複数のファジィルールを組み合わせる)
以上の内容をWindowsアプリケーション等で作成します(下図).

第8回 対話型遺伝的アルゴリズム
対話型遺伝的アルゴリズムとは人間の主観評価値に基づいて最適化を行う技術の一種で,遺伝的アルゴリズムの解候補となる個体の評価を行うために用いられる目的関数を,人間の直感的評価に置き換えた計算手法です.
このため,定量的な評価を行うことが比較的困難な製品デザインなどの感性評価や,ユーザ個人の主観評価が必要となる製品のカスタマイズなど,人間の好みや主観が考慮されるべき問題に対して有効とされています.