pirika logo

ホームページ Pirikaで化学 ブログ 業務リスト お問い合わせ
Pirikaで化学トップ 情報化学+教育 HSP 化学全般
情報化学+教育トップ 情報化学 MAGICIAN MOOC プログラミング
MAGICIANトップ MAGICIAN-Jr. MAGICIAN-講義 過去の資料

MAGICIANとは、材料ゲノム(Materials Genome)、材料情報学(Materials Informatics)、情報化学(Chemo-Informatics)とネットワーク(Networks)を結びつけて(Associate)いかれる人材です。

MAGICIANトップ > 高校生にもわかる化学、薬学系 データサイエンス MAGICIAN-Jr. > 第2回 コンピュータに学習をさせてみよう

2021.7.14

コンピュータはどうやって知識を蓄えるのか?

最近、AI
Artificial Intelligence:人工知能という意味
という言葉を聞かない日はないよね。

身近な例では、スマホに入っているSiriのような応答システムがちょっと知性があるようなので、それを人工知能と勘違いしている事も多いかもしれない。Siriなどがやっているのは、音声を文字情報に変えて、位置情報とともに、”検索”をかけているだけなので知性は無い。
音声という振動エネルギーを文字に変える所では、音声のビッグデータをコンピュータに学ばさせるので、その部分は人工知能的ということができるかもしれない。でもその学習は別の、もっと高性能なコンピュータを使ってやるので、Siri自体が知能的なわけでは無い。

別の例では、将棋用のソフトをAIなどと呼ぶ事もあるよね。
Googleの翻訳ソフトはネット上にある膨大なテキスト情報をAIに学習させたという言い方をするもので、人工知能など、もう実現しているように思うかもしれない。

何と無くだけど、人工知能というのは、コンピュータの上で動くプログラムで、人間の能力の一部を超えた時、人工知能と呼んで良いような感じになってきてる。

だけど、コンピュータのできることは、四則演算
+, -, *(掛け算), /(割り算)の4つ
と論理演算だけなので、知性を持つことはあり得ないとも言われている。

人間でも広い知識を持っている先生は知性があるように見えてしまうので、なんでも知っているgoogle教授は最も知性的な存在に見えてもしょうがない。

この10年で何が変わったのだろうね?
僕が一番大きく変わったと思う点は、
昔はコンピュータのソフトの性能向上はプログラムをゴリゴリ書き直すことによって達成された。
今は、学習させるデータの質と量を上げる事によって性能が向上する。
点かな。

じゃー、プログラムを書くのでは無く、学習によって性能が上がるという事を実際にやってみよう。

学習による知能獲得

下の画面で、一筆書き(水色の領域内でマウス・ボタンを押しっぱなしで動かす)でパターンを描いて、どんなパターンを描いたかコンピュータに学習させよう。

まず、スタートボタンをクリックする。そして自分がジグザグだと思うパターンを描いて、これはZigZagだと教えて(Teach)あげる。図形を消去(Clear)して次は、自分がくねくねと思うものを描いて、これはKuneKuneだと教えてあげる。右から左に描く。その逆。上から下。斜め。大きく書いたり、小さく書いたり。そうして学習が進んでくると、コンピュータがZigZagかKeneKuneかの判断がだんだん正しくなってくる。

この学習方法は、親が小さな子供に教えるのにかなり近いよね。
「どういう特徴があるから、これは何」という論理的な教育は小さな子供にはしないでしょう?

これをプログラム的に同じように判断させようとすると実はかなり難しい。
曲率がどうのこうの、動きのベクトルの反射とか。

ボタンの横に数字が表示される。その数字は、ZigZagならZigZagの特徴をどれだけ持っているかの指標だ。プログラムは、その値が大きい方を答えとして返している。
そこで、試しに、途中までKuneKune、途中からZigZagを描いてみよう。
両方の特徴を持っているので、数値はどちらも大きくなるだろう。
その数値の差がある値以下だったら(難しい言葉で、閾値という)答えとして「どちらだかわからない」と答えさせる事もできる。
その部分をうまくやらないと、人間とゴリラを間違って認識したりして大問題になったりする。

このページを再読み込みして学習結果を一旦クリアーしよう。
そして、ZigZagの代わりに、Maru, Kunekuneの代わりにSankakuと入れてからスタートボタンを押して、MaruとSankakuを教えてみよう。しばらく教えると正しく認識するようになるだろう。

つまり、プログラムは全く同じものがあるだけなのに、ZigZag/KuneKuneと教えるか、Maru/Sankakuを教えるかで、違う認識を行うようになっていく。これは、生物の学習に近いような感じがして、とてもおもしろい。

これが学習による知識獲得の原理というわけだ。 プログラムの中には、獲得した知識が詰まっているので、それを取り出して保存したり、コピーを作ることができる。 つまり、コンピュータを動かす用のプログラム作成法など全く知らなくても、ある図形認識するプログラムを作成できてしまったということだ。
これは、ジグザグ!

化学の領域では、スペクトル解析などに使うことができる技術になる。

このプログラムは、「Cで作る脳の情報システム」中野肇、近代科学社(1995年)という25年以上も前の書籍に記載されていたCのプログラムを、Java, JavaScriptへと書き直したものだ。

そのぐらい昔から、脳を真似して機械学習させる事はやられていた。

そうか。人工知能とはそういうことか!僕もDXしなくちゃ!

その頃と比べると、コンピュータは1000倍以上早くなったし、ネット速度やメモリーも桁違いになった。
それなのに、昔のプログラムで、知識の獲得の説明をした所、MIを専門としてやっている研究者からも驚かれた。
この強化学習は、どうしてこのような結果が得られるかの説明が続くのだが、「全部覚えますから、答えを教えてください」という者には見せない。記憶力を頼りに生きていく者はAIに駆逐される。
こういうことができるなら、あんな事にも使えるのかなー? こんな事には? と考えたい人は先に進める。

先の説明

数学やら統計やらは
得意で無くてもいい。

まー自分が、それらは苦手なので、必須とは言わない。
データ・サイエンスの領域で、赤ん坊のようなAIに常識からきちんと教える。
そんな役割の重要性も、とても高くなってきている。

MAGICIANトップ > 高校生にもわかる化学、薬学系 データサイエンス MAGICIAN-Jr. > 第2回


Copyright pirika.com since 1999-
Mail: yamahiroXpirika.com (Xを@に置き換えてください) メールの件名は[pirika]で始めてください。