同時、遅延、共時性

同時(または少し汎化して、事象Aのn時間後に事象Bが起きること)が重要な含意を含むという視点は、主観/自我の仕組みの主たる構成要素である。

同時というのは、同じように動く2物体を一つの視覚でまとめて見ると、網膜上で類似位置を空間的にノードで接続できるので、AIにも人間にも認識しやすい。

同時のパルスは、他者から見ると単なるパルス以上の情報量を持たない。しかし主観にとっては、自己の仕組みから出るパルスと「同時」に起きる外界のパルスは重要な意味を含む。

そして「同時」をルールとしたノード結合の強化はニューロ網の基本的な学習ルールである。

共時性というオカルトのような話が、人から発案されたのは偶然ではなく「同時」がニューロの認識できる基本単位であるからであり、あと「遅延」を認識できる機構(つまりニューロ網の個々に時計のメカニズムを持たせる)ことで「繰り返し」を処理できるようになる。

「繰り返し」は「歌」であり、「近い未来の予測」である。

それを構造的に組み合わせれば「少し遠い未来の予測」になる。

その「少し遠い未来の予測」を他者に説明可能にするためには「主観/自我」の要素を除去し「その個人との同時性」をなくすことで、「文章/書籍」などの静的コンテンツに記述がしやすい形にする必要がある。それが「論理/物理」である。

AIを人に近づけたいのなら、「同時」および「遅延した同時(Aのn時間後のB)」をニューロで処理しやすい形で組み込めばよい。

AIに「同時」を処理出来るようにすれば、おそらく「共感」(AI間の同時パルスによる含意の伝達)も出来るようになるし、それは人にも「共感」に見える行動になる。

jQuery Datatablesにひらがなカタカタ無視の絞り込みを入れる

日々見つけた細かいTipsを書き留めておくようにするのがよいだろう。

jQuery Datatablesは、とりあえずエイヤでテーブル状のデータを表示するときにあまり考え込まずにページネーションやソートなど細かい機能を手軽に入れられるJavaScriptツールだ。テーブル表示にtableタグを使うのが今風でなくなってきているが、取り急ぎ機能を入れたりモックアップを起こすときには便利である。ただ、検索絞り込みのときに、日本語でよく必要になるカタカナひらがな無視検索(絞り込み)がないので、そのあたりを拡張する案の一つを。

このあたりを参考に検索拡張部分で、比較をひらがなカタカナ統一してしまうみたいな方法が考え込まずに楽だった。

文字変換には moji.js を使ってみる感じ。

<script src="moji.js"></script>
<script>
$(document).ready(function () {
    $('#customkeyword').keyup(function () {
            $('#table').DataTable().draw();
    });

    $.fn.dataTable.ext.search.push(
            function (settings, data, dataIndex) {
                var key = moji($('#customkeyword').val().trim()).convert("HGtoKK").convert("ZEtoHE").toString().toUpperCase();
                if (key == '') {
                    return true;
                }
                for (var i = 0; i < data.length; i++) {
                    var dt = moji(data[i].trim()).convert("HGtoKK").convert("ZEtoHE").toString().toUpperCase();
                    if (dt.indexOf(key) != -1) {
                        return true;
                    }
                }
                return false;
            }
    );
});
</script>

 

あと#customkeywordのテキストボックスを作って、DataTable側の定義DOMで標準テキストボックスを消すと見栄えが少しはマシになるかも。

$('#table').DataTable({
・・・
"dom": "lrtip",
・・・
});

 

鬼トレの調子がわずかによい

いらんことでもいろいろ考え事を集中しているときが脳にはよいのだろうなー。鬼トレはたまに続けている(鬼めくりだけですが)けど最近若干ポイントが高めに出ている。まぁいいことだろう。

openAiのuniverseみたいなものはずいぶん前に欲しかったもので、一時は自作環境を作ったのだが共通基盤がないと他者に説明することが困難なのよね。

ただ、報酬のハンドリング方法は違うし、外界をVNC+ベクター画像で認識させるのではなく、すべてアローキーも含めてテキストの塊で処理させる形でしたが。キーボードエミュレートドライバとかも作ってましたが。でもそれを変な人ということでなく他人に説明可能な時代になったのはありがたい気がする。

めがみめぐりを少しやってるけどゲームと考えると厳しい気がする。音声合成とかLive 2Dとか頑張ってるのはわかるけど、現状では愛玩暇つぶしかなー。どちらかというとこれで作った技術を今後他ゲームに応用するとかにいいのではないかという気がする。

入出力遅延も学習対象

現実的なAIの外界入力を考えたときに、かならず通信路やデバイスの遅延があるわけだが、遅延はそのまま環境と自己の特性として学習する必要がある。そのときタイマー付きノード(遅延ノード)で考えると、それらを全部まとめた形で入力しても問題がないことになる。

分離できない遅延はそのまま「遅延がないもの」として学習を進めてよいし、途中のIO(皮膚触感や筋肉緊張など)の入力も織り交ぜて入力すれば、個々でのずれが発生順序の時刻のずれとして学習されていく。

どちらにしても入出力の遅延も含めて学習対象として、そのまま入力してよいわけになる。
発火の時刻の照合が教師である点はそのままでよい。
実際、デバイスとノードのエミュレータとの通信をプログラムとして書くと、イベントのプールとスタックで記述することになったので、遅延は実装の上ではかなり考慮が必要だった(時刻をイベントに記録するとか)が、学習システム側ではそれも含めて対象としてよい考えて作っていた。

出力はタイマーである

「推測結果の出力はタイマーの集まりである」という言い方は、今まで考えていた「事象の発生時刻/時刻を推測する」という考え方より、直感的で他者にわかりやすい気がする。

どこの時刻の話をしているのかが伝わらないし説明しにくかったのよね。出力結果がタイマーであるというと、出力結果が出された時刻に対して、検証とフィードバックが未来に行われ、推測の実行が現時刻で行われる というのがわかりやすい。

しかも実装も現実的に近いんじゃないだろうか。

いつ出てくるかを予測する問題

よく予測の問題として「跳ねるボールが仕切を超えていつ出てくるか?」という話がある。車の免許のいつ車が飛び出すかの試験にも使われる予測力の問題。
%e3%82%ad%e3%83%a3%e3%83%97%e3%83%81%e3%83%a3

今風の機械学習だと「跳ねるボールの入る絵(動画)を複数読み込ませて、出てくる時間を結果として与える」というのを山ほど読み込ませて、特徴抽出というところだろう。そして「このボールの動画では何秒後にボールが出てくるか(たとえば0.5秒後)」という推測結果を出力させる。
さらに人によっては「そこから入力に対する分布に線形な偏りがあるので、速度計算の式を作らせる」みたいなところをAIとかいうかもしれない。

脳はそんなことを求めていなくて、跳ねるボールの動画を見て「仕切を出てくる時刻に励起するタイマーを起動する」が出力結果であると思う。0.5秒なんて表記は人の論理の表現都合であってそれを得ることは脳には意味がないし、計算式など脳の論理の抽象的な話で後付けの話である。
「仕切を出てくる時刻に励起するタイマーを起動する」ことで仕切から出てきたときにタイマーが鳴るので、筋肉を動かしてボールをとらえることが出来るのだ。

入力に対して求める出力結果が「タイマーの起動」であるという点をもっと考えるべきだと思う。

Universeかー

Universeか。ちょっと興味はあるな。
http://www.itmedia.co.jp/news/articles/1612/06/news053.html

ちょこちょこ調べてみるか。標準化技術は追っておいたほうがよい気がするし。

年賀状の準備もそろそろ考えないといけないかー。

とりあえずTwitter側から転記

とりあえずTwitter側から転記

Q: AIはうそをつくか? A:ニューロ型AIは一種の過去知の統計システムなので、嘘という概念そのものが元々ない。

過去知統計システムが最終的に行きつくのは、1.どのような事態になっても不変な「物理法則」の認識、2.どのような事態になっても最終的にここを通過する「入力IO」の特性の認識、の2つの特性把握。1は論理思考の基盤になり、2が自我の基盤になる。

過去知統計システムは入出力IOの特性把握時に、それがIOの特性なのか、IOに付随するサブシステム(本能ジェネレーター)の特性なのか分離できないまま学習する。この過程で自我に本能が埋め込まれる。

つまりAIに自我を持たせるのはそんなに難しいことではない。本能を持たせることもそんなに難しいことではない。人間と共感できる本能、および人間に利益のある本能を持たせるのは研究が必要だろうし、そこそこ大変だと思うのだ。

音響関係のAI応用があまり表に出てきていないのが気になっている。画像認識と比べてわかりにくいからだろうが、ループ形式の音楽はそれそのものが時間構造を含んでおり、それを過去知として統計するというのは時間の構造を統計学習することであり、AIに時間の概念を理解することにつながるからだ。

はたから見ると、どうみても中二病ですな。

でも本当にこのあたりを長年考察してきたわけだし、昨今のAIの発展でこのあたりが実現しそうになってきてるのを「ようやくかー」という気分で見ているのも確か。ニューロは構造(空間構造、時間構造)の失敗・成功の統計システム。わかりやすく端的にいうと 過去知の統計システム という言い回しが、人に説明しても なんとなく理解してもらえる時代になってきたのが助かる。AIを実用段階に持ってきた人が、有効性を「実証」することではじめて可能になってきた状況。

理解不可能とか妄言とか言われずに済むようになってきたかも。