Webマガジン
「<Part 2>人工知能技術の過去と現在(1)」
株式会社オージス総研

2018年06月号
  • 「<Part 2>人工知能技術の過去と現在(1)」
株式会社オージス総研   乾 昌弘

1.はじめに

(1)昨年度連載した「人工知能に関する内容」の「続編」として始めたいと思います。
(2)ディープラーニングをはじめとする機械学習は、非線形問題を扱っています。ここでは、「線形と非線形」という観点から「ニューラルネットワーク」「Genetic Algorithm」「数理計画法」を取り上げます。

2.線形と非線形

2-1.線形、非線形とは

(1)「線形」は、初期値が少し変わっても結果(解)は大きく変わらない。
 Y + dY = f ( X+dX)
 ○比較的、解を得やすい。特徴がわかりやすい、理想的なかたちとして解く。

(2)「非線形」は、初期値が少し変われば結果は大きく変わる場合が多い。解を得るのに計算パワーが必要。全体像が捉えにくい(工夫すれば「捉えやすい」場合もある)
※「バタフライ効果
James Gleickの著書 "Chaos: Making a New Science" では、「今日の北京で1匹の蝶が空気をかき混ぜれば、翌月のニューヨークの嵐が一変する」という形で説明されているようである。つまり、天気予報などは、スパコンを使ってやっと一週間程度の予測ができる。

バタフライ効果
図1.バタフライ効果

2-2.最適化問題

(1)(私ごとですが)大学・大学院(機械系)6年間の前半は、数学を中心に流体力学、熱力学や機構学などを学び、後半は制御・システム工学を専攻。その中で最適化手法も学んだ。例えば、最大フロー最小カット定理、ダイナミックプログラミングである。
(2)最適化問題は結局、ある「制約条件」のもとで「評価関数(目的関数」の最小値または最大値を求めることに帰する。

2-3.ニューラルネットワーク

(1)ニューラルネットワークなどの教師あり学習は、すべての「訓練データ」と「正解」との誤差が最小になるように決定する。(回帰分析のイメージ)
(2)中間層(隠れ層)がないニューラルネットワークの場合、
出力層の「ノード1」の出力Y1は(単純に考えると)
   Y1 = W1 + W11×X1 + W21×X2 + ........... (X:入力層の出力、W:重み付け) で表される。
「正解」との誤差をXの値に比例して(+-を考慮して)Wをδだけ修正する。これをすべての訓練データで繰り返す。

ニューラルネットワーク(中間層がない場合)果
図2.ニューラルネットワーク(中間層がない場合)

※Xの値に比例して修正するが、すべての誤差に対応するためにδだけ修正する。δが大きいと値が振動し、小さいと最適値になかなか近づかないという特徴がある。

(3)「中間層」がある場合は「非線形」となり、解くことが難しかったが、1986年Rumelhartが、3層以上のニューラルネットワークでBack Propagationにより、うまく学習できることを示した。
 (詳細は下記を参照)
 4.ニューラルネットワーク(Back Propagation)

3.Genetic Algorithm

3-1.Genetic Algorithm とは、

(1)1990年代の初め、ニューラルネットワークと並んでブームになったのが、非線形な機械学習の1手法でもあるGenetic Algorithmである。「gene、crossover、mutation」がキーワードとなっている。
※カオス理論、フラクタルが流行ったのもこの頃です。

(2)現在でも最適化の一手法として使われているだけではなく、米国ではディープラーニングと並び、Genetic Algorithmが株取引などに使われている。

3-2.Genetic Algorithm の概要

(1)0,1 を並べた列(genes)になっており、それぞれの意味づけを予め行う。
(2)ランダムで同じ意味づけの列を複数用意しておく。
  ※候補を多めに作成しておく。
(3)「訓練データ」と「正解」から、正解に近いものが生き残っていくように「crossover」を行う。
  ※有効なgenesが生き残っていく。

crossoverの方法
図3.crossoverの方法

(4)非線形特有の「極大値」あるいは「極小値」に近づかないように、2%程度のgenesの値を変更する(mutation)
(5) (3)(4)を繰り返して最適値に近づけていく。

mutationの方法
図4.mutationの方法

3-3.ニューラルネットワークとGenetic Algorithm

ニューラルネットワークは、ある程度基盤が出来上がっているのに対して、Genetic Algorithmは、Primitive(アセンブラ的)である。従って、実際の問題に適用するときに具体的な戦略が必要となる。
これは、人工知能言語であるPrologとLISPの関係に似ていると思う。

4.数理計画法

4-1.数理計画法とは、

(1)以前にも述べたが数理計画法などの最適化手法はかつて人工知能に含まれ、エキスパートシステムが経験的解法に対して論理的解法と呼ばれていました。
(2)図5のように「評価関数」は、ベクトルXの関数。「制約条件」は、Xが実行可能解の集合に含まれることである。
(3)「制約条件」には「ハード制約」と「ソフト制約」がある。ハード制約は、条件を満たさないと解にはならない。ソフト制約は優先順位である。

評価関数と制約条件
図5.評価関数と制約条件

4-2.線形計画法

線形計画法は高校2年数学の不等式で学習する。
※「線形計画法の文章題」(「参考文献」1より引用)
ある工場の製品にAとBの2種類がある。1kg生産するのに、Aは電力60kwhとガス2立法m、Bは電力40kwhとガス6立法mを要する。1kgあたりの価格は、Aは2万円、Bは3万円である。この工場への1日の供給量が電力2200kwh、ガス120立法mまでとすると、1日に生産される製品の総価格を最大にするには、A、Bをそれぞれ何kgずつ生産すればよいか?

 評価関数:k=20000x+30000y(最大値)
 制約条件:x、y>=0、60x+40y<=2200、2x+6y<=120

線形計画法の例
図6.線形計画法の例


※一般的には、N次元線形計画法となる。

4-3.MIP(Mixed Integer Programming)など非線形計画

(1)MIPでは、例えば大型ポンプ1台が必要な場合と2台必要な場合とでは、電力量などが非常に違ってくる。(単純に考えると2倍)このような整数変数が含まれている。
(2)通常の問題は非線形の式を解く。すべて解くと、どこが最大値かわかるが、最初はまったくわからない(山に霧がかかった状態)解く方法には「メタヒューリスティックス法」などがある。場合によっては極大値を結論としてもよい。
(3)オープンソースやツールでは、いろいろな手法をメニューで選択できるようになっている。
※「メタヒューリスティックス法」:「ヒューリスティック」とは発見的方法という意味で、ある程度正しい解を導ける経験則。「メタ」で一段抽象化しており、特定の問題に関わらず一般的な解法という意味になる。代表的な解法としては、山登り法(最急降下法)がある。

山間部で一番低い地点は何処であろうか?
図7.山間部で一番低い地点は何処であろうか?

「参考文献」
1.砂田利一編著「チャート式(赤チャート)数学Ⅱ」P142、数研出版(2004年4月)

「余談」
1.「行列」「統計」なども高校の数学で学習するので、統計解析や最適化の基礎は学んでいることになると思う。

*本Webマガジンの内容は執筆者個人の見解に基づいており、株式会社オージス総研およびさくら情報システム株式会社、株式会社宇部情報システムのいずれの見解を示すものでもありません。

同一テーマ 記事一覧
乾 昌弘  記事一覧



2018年06月号のコンテンツ



『Webマガジン』に関しては 弊社の「個人情報の取り扱いについて」に同意の上、
下記よりお気軽にお問い合わせください。

ページトップへ戻る