マエカワの備忘録的な何か

思い立ったが吉日

知的情報処理 其の四 20171027

推論の残り

帰納推論

 規則を見つける。データ群から一般法則を導くことができる。文法・関数・モデル推論などの種類がある。
 簡単に書くと、「全ての正例(条件に合う例)を満たし、負例(条件に合わない例)を一切満たさない一般法則を導く」といえる。この推論では、正例も負例も大事になってくる。

アーチの概念を導く

 ここで紹介されたのは、「アーチの概念を導く」ための例の与え方。
 ただ単に辞書を与えるだけでは、意味どうしの関係がわからないため、意味ネットワークを用いる。例をどんどん与えていき、そこにある共通項を認識できたら理解したとみなしていく。これができなければ、人間的ではない。
 正例と負例をどんどん与えて、照合。拘束化(特殊化)・一般化を行っていく。具体的な手順を画像で表してみる。説明は画像の後に書いていく。

f:id:maekawa_yoshimiki_1119:20171105020632j:plain

  1. (正例1)AをBとCが支えるものがアーチである
  2. (負例1)BとCがAの上にあるのはアーチではない
  3. (負例2)BとCが接しているのはアーチではない
  4. (正例2)Aの形は三角柱でもアーチである

こんな感じで、アーチであるものとアーチでないものの差分を取って、概念を獲得していく。

  • 正例:一般化に使う
  • 負例:拘束化に使う

これだけは覚えておく。

複雑系

 システムを構成する要素の動きが環境によって動的に変化するのが特徴。

創発

 構成要素の相互作用によって、構成要素一つでは説明できない上位の概念が出てくることを言う。今までの人工知能とはけた違い。自ら考えて成長していく。
 ここで、ボトムアップトップダウンという言葉が出てきた。創発と・システム・システムの秩序の処理関係についてどちらも言っている。

還元主義

 部分を理解することで、全体を理解できるという考え方。
 しかし、複雑系はこの還元主義的な考え方では全て説明ができない。ここから、「還元主義ってホントにいいの」っていう動きが高まってきた。この動きを脱還元主義という。

進化的計算

 この複雑系を解決する手法として「進化的計算」が挙げられる。その名前の通り、自分で進化していくための計算。人工生命・ネットワークモデルなどのモデルがある。

遺伝的アルゴリズム

 ここでは、遺伝的アルゴリズムを紹介する。この方法は、生物の進化の過程をそのままプログラムにした感じ。以下にプロセスを書いていく。

  1. 初期集団の生成(ランダム)
  2. 適応度の計算
  3. 選択(適応度の高いものを選択)
  4. 交叉(選択したもので子孫を作る)
  5. 突然変異(数%の頻度で起こるのが望ましい)
  6. 2. に戻る

この処理を繰り返していくことで、適応しないものは淘汰。適応するものは生き延びていく。結果として、より良い個体が残る。この遺伝的アルゴリズムを使った動画を講義で見たので、貼っておく。


遺伝的アルゴリズムでブランコの漕ぎ方を学習させた。genetic algorithm Long

付けたし

 今回のメインテーマは遺伝的(進化)アルゴリズムでしたが、これを実装するなんていうサイトは探せば腐るほど出てきます。今回出てきた動画などは母数を多くして、進化速度を早くしていますが、これを一つの個体で行ったらどうなるのか…。それこそ究極の人工生命体なのかななんて思ってたりしてます。それと、物理エンジン面白い。やってみようかな…。
 遺伝的アルゴリズムについて解りやすく書いてあるサイトを見つけましたので、貼っておきます。
qiita.com