2023年1月4日水曜日

数学者は人工知能の判断基準を理解しようとしているようです

 この投稿は前回「人工知能は理解しない というお話し」の続きです。

人工知能が判断できるようになっても、「なぜ判断できたか」は説明できないというお話でした。ではなぜ説明もできないような「判断」が業績として社会で受け入れられて、活用しているのかというと、

説明できなくても、その人工知能を簡単に運べたり再現できたりできるからです。

家庭用の炊飯器が美味しくお米を炊く方法はわからなくても、家電量販店で炊飯器を買ってきてスイッチを入れると、みなさんも使えますね。同じように、理由はわからなくても人工知能はある程度知識があれば、開発したヒトから買ったり、似たモノを作ることができるのです。

それで、理由を説明できない人工知能を現代社会は活用している、というわけです。

でも、説明できないモノについて納得しない人たちは必ずいるはず、と思ってScience newsで数学の記事を探していました。数学者のみなさんは、きっと、「説明できない」ということに納得されない、と考えたからです。

それで、

Finding simplicity within complexity

という記事を見つけました。

紹介していた研究は、Nature machine intelligence という雑誌の

Data-driven discovery of intrinsic dynamics

という論文です。著者のFloryanさんは、20000以上の変数でしか説明できない(つまりほとんど説明になっていない)化学反応を一つの数式にまとめることができたそうなのです。

この研究をうまく利用すれば、大量のデータから人工知能が何を学習して正しい判断に至ったかを説明することができるかもしれません。

おそらく、その論文にはたくさんの数式が並んでいて、どうやって自分の課題に適用すればよいかはすぐにはわからないかもしれませんが、内容はわからなくても、権威ある雑誌で高度な専門能力を持った数学者が示してくれた数式ですから、使ってみる価値はあります。その数式を使うことができれば、たくさんの問題を解決することができるはずです。

Pythonなどのプログラムを使うと、その数式はほとんどわからなくても、数式を使うことは、可能です

残念ながら、現在、論文の本文を読むことはできませんが、要旨と他の研究を調べて、彼らがどのような数学的技術を使ったかは調べることができました。

Dynamics とTheory of manifolds です。

Dynamicsは、変化を解析する学問で、おそらく、学習する際に、どのように予測が進むかを計算中に調べることで人工知能を単純化しようとしているようです。

もう一つのTheory of manifoldsですが、多面体に関する理論です。正確なところはわからないのですが、どうも、人工知能で学習している多数の変数を表面に割り当てたような多面体を想定すると、その多面体と似ている単純な多面体を作り出すことができて、単純な多面体は少ない変数を持つ単純な数式にできるらしいということが想定されます。


Wikipedia (https://en.wikipedia.org/wiki/Manifold)






最後にまとめますと、

数学者は、普通のヒトが理解できない人工知能の判断基準を単純な数式にまとめる技術を見つけたようなのです。

これを理解と呼ぶかは別にして、もし、この技術が実用化されると、人工知能の処理速度は何千倍も早くなります。おそらく、この技術は、まず自動運転に活用されることと思います。私もどこかで使ってみたいと思います。

2023年1月1日日曜日

人工知能は理解しない というお話し

 このブログでは、ゲノムや医療診断などの大量のデータベースを分析して新しい発見を生み出す方法に関連する研究をご紹介したいのですが、どうしても予備知識が必要になります。

次に紹介したい発見はScientificDaily NewwのFinding simplicity within complexityという記事なのですが、これを説明するためには、私達が人工知能と呼んでいる技術がどのような特性を持っているかをお話しする必要があります。

それで今回は、「ニューラルネットワーク自作入門」という本をベースに、代表的人工知能である教師あり機械学習が何をしているかについてお話します。

人工知能というと、ヒトの顔を判断して、人物を特定する仕組みを想像されると思います。

実は人工知能と言われる仕組みにも多数あって、教師なし機械学習と言われるプログラムは、とってもわかりやすいものです。短く言うと、データの中から区別しやすい指標を見つけるということです。例えば、受付に来られたヒトの性別を判断するためには、大量のデータを利用することができます。顔の輪郭や服装、声の音質などがそれらにあたります。でも、最も正確に判断したいと考えると、受付時の質問用紙に性別の記入欄を設けておいて、それを読み取ってできるデータ(これを指標といいます)が最も正確です。

ちょっと例えがおかしいと感じたかもしれませんが、データというのは、そのような多様な性質や入手の難易度などを持っているものです。その中から、最も正確性が高い指標やその組み合わせを探し出すのが、対象を分類して区別するのに有効です。このような分類方法を見つける手段が教師なし学習です。

それに対して、手書きの文字を読み取ったり、顔の判別をしたりする場合は、もっと複雑です。多くの場合対象の持っている指標を単純に組み合わせて判断をすることができません。

それで、パーセプトロンという小さな判断プログラムを組みあせます。この判断プログラムには、データが持っている1つか2つの指標を入力します。すると、パーセプトロンは設定値に応じて答えを出します。その一つ一つのパーセプトロンは手書き文字の示す数字などの最終的な答えを出すことはできませんから、連結させます。このパーセプトロンが層状に連結している、多層パーセプトロンは複雑な判断にも対応するようになります。パーセプトロンの一個一個は単純な判断だけをしますが、それらを連結しますと、複雑な分類にも対応するようになります。ここで、パーセプトロンの一個一個の判断基準は、単純な、重みや出力先などの設定をだけで成立しています。多層パーセプトロンで各パーセプトロンの重みや出力先を調整して、最も良い数字を見つけることができると、一つの対象の分類が可能になることは想像できると思います。犬と猫のイラストがあって、耳の形や鼻の形などを数値にして入れると正しく犬か猫を選べる設定値があることは想像いただけると思います。

一枚の犬か猫のイラストについてパーセプトロンごと重みや出力先を工夫すると、犬か猫を正しく判断できるようになるのは想像いただけると思います。

続けて、イラストをいくつか試すときにも、一個のサンプルと同じように重みや出力先を変更すると、犬か猫が正しく判断できます。ただし、たくさんのイラストで判断するときに、重みや出力先の設定値はパーセプトロンごとに違っても良いけれど、イラストごとに変更してはいけないとします。かなり大変になりますが、もしかすると、いろいろなイラストで犬か猫を正しく判断できる設定値が存在するかもしれません。正しく判断できる重みや出力先のセットを探すためには、毎回、イラストの正しい答えを見ながら調整します。

そんな、パーセプトロンの重みや出力先を見つける作業が 教師あり機械学習です。

出来上がった、パーセプトロンの重みや出力先のセットは、多くの場合、これまでに使っていなかったイラストを持ってきても正しく判断する可能性比較的高いと思いませんか?

例えば、1万枚のイラストで調整したパーセプトロンの重みや出力先のセットは10,001枚目のイラストについても正解を出しそうです。

ただ、想像いただけると思いますが、こうやって正解率を高くした多層パーセプトロンは、たくさんの重みや出力先を数字として持っていますが、人間が理解できるような、単純な指標の組み合わせは教えてくれません。あるのは、ただただ、たくさんのパーセプトロンについている設定値だけです。

結果的に、教師あり機械学習は、多くの対象を区別可能にしてくれますが、その区別方法を人間が「理解できる」ような法則にしてくれることはありません。

これが、今社会で使われている人工知能の特徴です。

つまり、人工知能が優秀でも、人工知能に「どうやって区別できたの」「どう理解したの」と尋ねることは、全く無意味なのです。何千ものパーセプトロンの設定値を答えてもらっても理解したとは言えませんね。

結局「人工知能は理解しない」と考えるのが最も有効な考え方です。