投稿

9月, 2019の投稿を表示しています

大規模システム開発の問題 4 -- 開発コスト

イメージ
9/24のマルレクでは、ソフトウェアの開発の世界の話題を取り上げます。https://deep-spec.peatix.com/ システムの大規模化・複雑化は、開発コストを増大させます。先日正式に稼働を始めたみずほ銀行のシステムMINORIは、開発に4000億円以上を投入したと言われています。 顧客に便利なサービスを事故なく提供できるのなら、必要なコストと考えてもいいと思います。それに、僕の周辺には、こうした金融機関の巨大投資を歓迎する人は、たくさんいました。IT業界にお金が流れてくるのですから。 ただ、金融の世界もITの世界も、どんどん変化していきます。開発コストの高騰は、変化への迅速な対応への足かせになる可能性があります。 もちろん、安かろう、早かろうで、バグですぐにこけるようなシステムを作っていたら、それは企業の価値を毀損することになります。ただ、大規模システムでの開発コストの低減が、今後も大きな課題になるのは確実です。 ここでは、開発コストの高騰を放置すれば、どういう事態になるかを警告した、アメリカ国防総省のDARPAのレポートを紹介したいと思います。 みずほ銀行の4000億円の開発費なんか、可愛いもんだと思うような、かつ、「ほんとかよ!」と思うような、シュールな分析がされています。DARPAすごいです。 Formal Model-Based Design & Manufacture: -- A Template for Managing Complexity in Large-Scale Cyber-Physical Systems"
"https://www.innovation4.cn/library/r16328 (僕がブックマークしていた、資料のリンクが切れていて、ググり直しました。DARPAの資料を中国のサイトで読むことになってしまいました。) 直接には、F35(図1)のような軍用機の開発コストを分析しています。
図2を見てください。ここでは、大規模システムとして、三つの分野を取り上げています。CPUの開発(ピンク)、自動車の開発(グリーン)、そして軍用機の開発(パープル)です。 横軸は、部品数・ソースコードの量で計ったシステムの「複雑さ」、縦軸は、設計・統合・テストが終わるまでの「開発時間」です。(開発時間は、コスト…

大規模システム開発の問題 3 -- CPUの設計

イメージ
9/24のマルレクでは、ソフトウェアの開発の世界の話題を取り上げます。https://deep-spec.peatix.com/ ソフトウェアの開発だけでなくハードウェアの開発も、大規模化・複雑化が進んでいます。ここではCPUの開発での話題を取り上げます。 CPUの設計では、動作の徹底的なシミレーションは可能ですが、最終成果物であるCPUチップに対して、アジャイルのような開発手法はとれません。 今回のマルレクのテーマである「形式手法」は、ハードウェアの正しい動作を保証する手段として、ハードウェアの開発では重要な役割を果たしていて、すでに広く用いられていると語られてきました。 ただ、実態は、必ずしもそうでなかったようです。 RISCVチップの検証を、初めて完全に形式的手法で行うことに成功したチッパラは、次のように語っています。http://bit.ly/2MbSdin 「ソフトウェアに関する経験しかない研究者にとっては、この業界がハードウェアに対して行なっている形式的方法というものが、いたるところで制限されたものだということに驚くことになるだろう。 そこでの形式方法というのは、典型的には、モデルのチェックと充足性の解決に基づいたもので、結局分析は明示的な状態空間の探索に還元される。 検証作業は、フルシステムの(比較的)小さなコンポーネント、例えば、プロセッサの浮動小数点ユニットに集中している。確かに、浮動小数点演算の実装アルゴリズムの完全な検証は、それ自体、英雄的な努力を必要とするのだが、これらの個々の結果は、システム全体の定理には組み込まれない。」 彼の指摘は、昨年来話題になっている、SpectreやMeltdownといった CPUアーキテクチャー設計自体の不備をつく攻撃に対する、CPUの深刻な脆弱性を考えると重要な意味を持っています。 現在のほとんど全てのCPUは「投機的実行 Speculative execution」をサポートしています。投機的実行は、条件付き分岐命令に出会うと、条件の計算が終わるのを待たずに、二つの可能な分岐をキャッシュ上で先読みして実行します。条件の計算が終わって、どちらの分岐が選択されるのか確定した時点で、一方の「当たり」のキャッシュの計算結果が採用され、一方の「はずれ」のキャッシュの中身は無視されます。 Spectreは、キャッシュ上…

大規模システム開発の問題 2 -- 分散システム

イメージ
9/24のマルレクでは、ソフトウェアの開発の世界の話題を取り上げます。https://deep-spec.peatix.com/ システムの構築方法が変わるにつれ、開発の方法も変化します。現代のシステムは、規模の大小を問わず、またユーザ(場合によっては開発者も!)がそれを意識する否かを問わず、ネットワークをまたいでサービスを交換するのが、基本的なスタイルになっています。 こうした分散システムの開発には、そうではないモノリシックなシステムの開発とは異なる注意が必要になります。分散システム上でプログラムを正しく実行させるのは、そうでないシステム上でプログラムを正しく実行させるより、本当は、難しいのです。 先日も、AWSで大規模な障害が起きましたが、ここで取り上げたいのはそうしたことではありません。 クラウド事業者は、基本的には、分散システム設計のプロで、何が設計の肝で、トラブルにどう対応すればいいのかをよく理解していると、僕は信じています。 問題は、一般のユーザー企業も、普通のプログラマーも、そのことを意識するか否かをとわず、事実上の分散システムを作ることが、今では当たり前になっていることです。 こうした分散システムの構築の難しさによるトラブルは、枚挙にいとまがありません。 2002年4月に起きた、みずほ銀行の大規模な障害は、システム内のネットワーク、第一勧業銀行・富士銀行・日本興業銀行間を結ぶネットワークをコントロールする「リレーコンピュータ」のバグが原因でした。 写真は、2015年7月8日のシステム障害で、創設以来223年間、途絶えたことのなかった取引の中止に追い込まれたニューヨーク証券取引所の前でボーッとする人。

単純な例ですが、分散システムでのプログラミングの難しさを示した図があります。https://github.com/…/d…/blob/master/verdi/slides/verdi-2.pdf から。 分散システム上のノードは、故障で死んでるかもしれないし(ノード S2)、メッセージの通信がタイムアウトを起こしてメッセージが伝わっていないかもしれません(ノード S1)、またある瞬間をとれば、メッセージは送り出されているのに、まだ受け手のノードには届いていないかもしれません。 分散システム上で、正しく動くプログラムの設計・開発、なかなか難しいですね。 …

大規模システム開発の問題 1 -- 航空機のソフト開発

イメージ
今回は、大規模開発の問題の事例の一回目として、航空機でのソフト開発を取り上げようと思います。
2018年10月29日、インドネシアでライオン・エアのボーイング737MAX が離陸直後に墜落、乗客乗員189名全員が死亡しました。 2019年3月10日には、エチオピアで、エチオピア航空の同じボーイング737MAX 8が、やはり離陸直後に墜落。乗客乗員157名全員が死亡しました。 墜落の原因は、MCASという自動操縦システムの不具合だと言われています。
「MCASを始動させるシグナルは、機首の角度を調べる2個のセンサー(AoA=迎え角センサー)から出る。2個のうち1個は正常だったが、残る1個が故障して異常に高い角度を示していた。MCASは高い角度のほうに反応するので、機首が上がりすぎていると判断し、強制的に下げようとしたのである。」http://bit.ly/2k56eCK この事故の関連では、ブルームバーグ紙が、ボーイング社は737MAXのソフトウェア開発をインドのHCLという会社に委託していて、その中には大学を出たばかりの時給9ドルの若者がいたことをすっぱ抜いて話題になりました。(ボーイング社は、今回の不具合にこの若者が関わったことを否定しています。) 現代の航空機は、「空飛ぶソフトウェア」と言われるほど、大規模なシステムなのですが、その高価なシステム開発に、時給1000円の人が使われていたのは、ちょっと驚きでしたが、僕が気になったのは、他のところです。 ブルームバーグの記事 http://bit.ly/2k56eCK を読んでも、「仕様」はボーイング社が提供し、HCL社は「コード」を納品したことは書いてあるのですが、先の記事を見ても、不具合の原因が「仕様」の側にあったのか「コーダー」の側にあったのか判然としません。これは大事なところです。 古い、ある意味「ハード」だけで動いていた飛行機には、Fail Safe のノウハウが二重三重に生かされていたと言います。ところが、現在の旅客ジェットは、ソフトウェアの塊であるだけでなく、それ自身が「空飛ぶ大規模分散システム」になっています。 個人的には、二つのセンサーの一方(場合によったら両方)が故障したり、異なる値を返した時の処理に疑問を持っています。ただ、これは分散システムの開発では避けて通れないPartial Fairu…

「型の理論」入門のショート・ビデオ

「型の理論」入門

型のないラムダ計算1
https://youtu.be/WEbDbLwEog8
http://bit.ly/2MOQMr5型のないラムダ計算2
https://youtu.be/sGhiSSNnv0Y
http://bit.ly/34dma8l型付きラムダ計算
https://youtu.be/p9dv0RH4s60
http://bit.ly/32q7GQX論理的推論1 -- 判断と論理式
https://youtu.be/Nrv5UVeoL4o
http://bit.ly/30XTf5W論理的推論2 -- Natural Deduction
https://youtu.be/J-2F2slEqu4
http://bit.ly/2NE0iNoCurry-Howard対応1
https://youtu.be/_QDaoBabMU8
http://bit.ly/2MMVJRvCurry-Howard対応2 --「型の理論」と「証明の理論」
https://youtu.be/47YanruvaLE
http://bit.ly/2Uit4oeDependent Type Theory
https://youtu.be/4cH3zWEQ5ko
http://bit.ly/2ZpttLuHomotopy Type Theory
https://youtu.be/N92Rx4USQPY
http://bit.ly/2L96rzw

「三体」

As a science fiction writer who began as a fan, I do not use my fiction as a disguised way to criticize the reality of the present. I feel that the greatest appeal of science fiction is the creation of numerous imaginary worlds outside of reality. I’ve always felt that the greatest and most beautiful stories in the history of humanity were not sung by wandering bards or written by playwrights and novelists, but told by science. The stories of science are far more magnificent, grand, involved, profound, thrilling, strange, terrifying, mysterious, and even emotional, compared to the stories told by literature.

一人のファンとして始まったSF作家として、私は、現在の現実を批判するための偽装として自分の創作を利用することはない。SFの最大の魅力は、現実の外に無数の空想世界を作り出すことにあると私は感じている。私は、人類の歴史において、最大の最も美しい物語は、吟遊詩人によって歌われたものでも、戯曲家や小説家によって書かれたものでもなく、科学によって語られたものだと、いつも感じてきた。科学の物語は、はるかに壮麗で、偉大で、感動的で、深遠で、スリリングで、奇妙で、人をおののかせ、神秘的である。それは、文学によって語られる物語たちと比較しても、より感情に訴えるものでさえある。

《「ないことを考える」という点において、科学とフィクションは似ているそうです》

8/1 丸山 x 山賀対談「科学と虚構の未来を語る」の司会をお願いした、角川アスキー総研の 遠藤 諭 さんからの推薦文です。

《「ないことを考える」という点において、科学とフィクションは似ているそうです》

 『UNIX MAGAZINE』の「クラウドコンピューティング」を解説した原稿が、私にとって丸山不二夫さんの文章を読んだはじめだと思います。

 たぶん、クラウドコンピューティングって「遠くにあるコンピューターを使うことでしょ」くらいにしか考えていない人は多い。私もそうで、せいぜい「ネットワーク上のコンピューター資源がサービスインフラとして提供されるものである」などともっともしい説明をするくらいが関の山でした。ところが、丸山さんの記事は海外論文を読み、「クラウドコンピューティング」を可能たらしめる理論や技術についての解説だったのでした。

 その頃に最も注目される動きだったのに、誰もきちんとみんなが読める形では説明していなかった。そのことに驚いたし、「これを書いた人はとても役に立つ」(失礼!)と思ったのでした。なおかつ、話を聞く人にそのことの理解を助けるためのなにかを印象づける仕掛けが、丸山さんのお話にはある。

 7月某日、今回の対談のために神楽坂で丸山さんと山賀博之さんの事前打ち合わせというのが行われました。このお二人なので、科学とフィクションというところを起点にどんどん話がすすみます。

 その中で「惑星」の話が出てきました。地動説時代の我々は、地球を含めて惑星は太陽のまわりをコンパスで描いたような綺麗な軌道にお行儀よく回っていると思い描いていると思います。ところが、月や太陽と異なり、地球から見た惑星は、行ったり来たりループを描いたりと複雑な動きをするわけです。そこで、丸山さんは、

「だから惑う(まどう)星で惑星なんですね」

とポツリとタネ明かし的なことを言う(ご存じの方もおられるでしょうが、プラネット=ギリシャ語のさまようものが語源だそうです)。これ「信じる」ということについてのお話で出てきたのですが、これによって、ビジュアルイメージになる。しかも、我々の頭上にずっとあったのに誰も真面目に見てくれないから「惑星」という名前の由来も忘れられていたという余韻を残す声の調子なので、少しばかり詩情が漂う。

 このあたりが、丸山不二夫式の真骨頂で、母方の叔父さん(?)がプ…

何かが欠けている

人工知能技術というのは、最終的には、人間の知能の機械による代替を目指す技術です。
ただ、人間の知能といってもいろいろあります。人間の知能自身が、生物学的な進化や文明史的な進歩の産物として、歴史的に形成された階層構造をもつのですから、それぞれの階層に対応する人工知能技術が存在します。

以下に、それぞれの知能の階層に対応する、現在の人口知能技術をあげてみました。
これらの技術は、知能のある能力の一面をカバーするのですが、一つの人工知能技術が、人間の知能を全てカバーすることはないと僕は考えている。

ただ、多分、問題はその先にもあります。こうした現在芽生え始めたばかりの人工知能技術が成熟すると、我々は「考える機械」「人間と同じ機械」を構成できるのだろうかという問題です。僕は、まだ、何かが欠けていると感じています。
感情、自由意志、創造性、芸術、.... こうした人間にとっては、ある意味もっとも人間らしい能力を、機械は獲得できるのか? そのことは、人工知能の「研究者」じゃない多くの人が、自然に感じている疑問です。
そのあたりの問題を 「8/1 丸山x山賀対談「科学と虚構の未来を語る」」で話せればと思います。 もちろん、答えはありません。

ビッグ・データとビッグ・ソフトウェア

この間、大規模システムでのディープラーニング技術の応用事例を調べていたのだが、こういう文章に出会う。

「ビッグ・ソフトウェアは、人間が一人で設計、展開、運用することができない(?)ような、非常に多くの動く部分で構成されたソフトウェアのクラスである。これらは、そもそもは単一のマシンに格納できないビッグデータを呼び起こすことを目的としていた。 」

まあいいだろう。現代は、ビッグ・ソフトウェアの時代なのは確かだ。確かに、大規模システムの管理は難しい。

「ここにこそ、AIが登場する。我々は、ディープラーニングが大規模システム管理の未来だと考えている。ニューラルネットは、大量のデータから、干し草の山から、針を見つけることができる。ニューラルネットは、従来のシステム管理者の能力を大幅に拡張し、その役割を変革するツールとなる。」

これも、まあいいだろう。大規模システムの管理に使えるツールがあるなら、なんでも使えばいい。ただ、次の未来像は怪しい。

「AIが学ぶにつれて、最後には、自己修復型データセンターが標準になる。 AIは、手元のリソースに適応したより優れたモデルを発見するので、最終的にはインフラストラクチャを改善および再構築するためにコードを修正することができる。」

ディープラーニングには、プログラムのロジックが理解できない。コードを読んでバグを見つけて、それを修正するなんて、ディープラーニングには、逆立ちしたってできないのだ。

多少、鼻が歪んでいても、目がつり上がっていても、ディープラーニングは、それを同じ人間だと同定できる。それはそれで素晴らしい。ただ、ソフトウェアの場合には、それがどんなに大きなソフトウェアでも、一箇所でもバグがあれば、それがシステム全体をダウンさせる可能性がある。

ビッグ・データとビッグ・ソフトウェアを、どちらも「ビッグ」だからと、同じ仲間だと考えるのは大きな間違いだ。

幸いなことに、このビッグ・ソフトウェアの分野では、ディープラーニングではない「Yet Another AI」技術が、花開こうとしている。

どういうムーブメント(ディープラーニングに対して、「ディープ・スペシフィケーション」 Deep Specification と言ったり、あるいは、数学基礎論にならって、「ソフトウェア基礎論」と言ったりする)かは、次のビデオを見るのがいい。

「もうじ…

実は、ディープラーニングは数学が理解できないのだ

少なくないIT技術者が、人工知能技術の進化は、「ルール中心」から「データ中心」への進化だと思い込んでいる。確かに、「データ中心」のディープラーニング技術が人工知能技術にもたらしたものは、巨大なものだった。それを否定するつもりも、その必要もないもない。

ただ、この何年かの変化だけをみて、人工知能への基本的なアプローチが、「データ中心」のディープラーニング技術で確定し、人工知能技術の未来が、「データ中心」のディープラーニング技術の未来と共にあると考えるなら、それは間違いだ。

明らかに、ディープラーニングには、苦手な領域があるのである。僕は、その一つは、言語の意味理解の能力だと思っているのだが、それについては別の機会に触れる。もっとわかりやすいのは、ディープラーニングの手法で構成された「知能」は、数学を理解することも、数学を学習することもできないということだ。

「人を批判するのはやさしい。
 そんなら、自分のアイデアでなんか作って見せてよ。」

もっとも、ディープラーニングは数学ができないという僕が、すらすらと数学の問題を解き、新しい数学の定理を発見する「機械」を作って、皆に見せられるのかというと、そうではないのだ。

「やーい、やーい。
 やっぱりできないんじゃないか!」

そうなのだ。でも、子供の喧嘩じゃないのだから、もう少し冷静に議論しようと思う。
今はまだできていないと問題の難しさを認めることは、なんでもできますというよりは、ましなことだ。

大事なことは、「データ中心」と対比されて、エキスパート・システム程度のイメージで「ルール中心」と一把一からげにされてる、論理的・数学的推論を機械に実行させようというもう一つの人工知能技術に、着実で大きな進化があるということである。(RPAの中で、ディープラーニングを「補完」する技術として「ルール・エンジン」が復活しているのだが、僕が、いいたいのはそのことではない。)

コンピュータが存在しなかった、今から90年近く前の1930年代、当時まだ若者だったゲーデルやチューリングが発見したことは、「証明可能性」と「計算可能性」が同一の概念だということであった。もう一つの人工知能技術の源流が、そこにある。

ただ、それは数学的・原理的な同一性で、実際のコンピュータに数学の証明をさせるには、いろんな回り道が必要だった。また、その探求は、現在も続…

AI+RPAの大規模事例紹介(2) -- テレコム業界

AI+RPAの大規模事例紹介(2) -- テレコム業界

今回は、Orange Silicon Valley社 ( https://www.orangesv.com/ )のSkymind社との共同の取り組みを紹介します。https://skymind.ai/case-studies/orange ここで問題となっているのは、SIM Box Fraud というSIMの不正利用です。アメリカでは年間数十億ドルの被害が出ているといいます。

不正なSIMボックスは、国際電話をハイジャックし、それらをインターネットを介して携帯電話装置に転送し、携帯電話装置はその後それらを携帯電話ネットワークに返します。その結果、通話はローカルであるように見え、セルラー事業者は、長距離通話のルーティングおよび着信に対する支払いを受けないことになります。それだけではなく、SIM Boxは、基地局に過重な負担をかけ、他のユーザーの通話の質を低下させます。

Skymind社とOrange Silicon Valley社のプロジェクトでは、ニューラル・ネットワークのAutoencoder を用いて、不正利用のパターンを学習し異常な活動を見つけ出し、発信記録を不正の確率でランクづけます。

現在のところニューラルネットが利用されているのは、今の所ここまでで、高い確率で不正だとランクづけられたデータは、優先的に、これまでの経験で作られた「決定木(decision tree)」に基づいたルールエンジンに渡され、不正かそうでないかの細かいチェックを受けることになります。

りょうしゃ

科学と虚構

科学には、いろいろな分野あります。自然科学、社会科学、人文科学 ... 。
ただ、現代では科学といえば、自然科学をさすことが普通なようです。で、他の科学は無視して、今日は自然科学の話をしようと思います。でも、自然科学にも、いろいろあります。数学、物理学、生命科学、情報科学....。

個人的な話ですが、こうして科学の分類をしていくと、実は、僕は困ることになります。さきに、社会科学、人文科学は無視しようと書いたのですが、僕は大学院では、数理哲学を研究していました。哲学は、普通、人文科学ですよね。さらに、僕の入った大学院は、社会学研究科の中に哲学の講座があったので、僕は、社会学の学位をもらうことになります。

最初に、科学という言葉でイメージされているものについて話そうと思います。

科学を、確実にわかっているものたちから、確実だと思われる結果のみを導こうとする方法だと考えるのは、少し窮屈な科学観だと僕は感じています。数学でも、そうです。数学的に正しい命題は、どんな具体的な知識も前提にせずに導かれるという意味では、情報を持ちません。ただ、そうした数学観では、数学の世界はトリビアルなトートロジーの世界になってしまいます。

科学者や数学者を動機づけているのは、そういう研究をしたいということではないと思います。彼らを突き動かしているのは、そこに理解できないこと、一見すると手が出ないほど複雑なこと、とても不思議な「謎」があるということです。科学と科学では解かれていない「謎」があるという認識は、両立可能です。

むしろ、「謎」がない世界では、科学は必要なくなります。だから、なんでも説明できる究極の理論があるとか、全ての「謎」は解けているという主張を、僕は疑います。

類人猿の中から、僕らの祖先が、多分、言語能力の獲得をきっかけに「人類」として独立した時、人間の認識能力は飛躍的に発達しました。アフリカの平原で満点の星空を見て、我々の祖先が感じたものは、無数の「謎」だったと思います。

ただ、彼は「畏怖」の念に打ちひしがれていただけではなかったと思います。「なぜ?」という問いかけは、別の行動を生み出します。おそらく、科学も宗教も哲学も芸術も、プリミティブな形では、別々のものに分離されずに、同時に生まれたと僕は思っています。

科学の源流は古代ギリシャの自然哲学です。そこでは科学と哲学は混じりあっ…

「先生、シンギュラリティの話、しないんですか?」

今度、山賀さんと「科学と虚構の未来」というテーマで対談をするのだが、こんな質問が。確かに、このテーマなら、今ならある意味ど真ん中の質問なのだと思うのだが、残念ながら、僕は、あまのじゃくなのだ。というか、僕は、シンギュラリティの議論が嫌いなのだ。

「人間より機械が賢くなって、人間が滅びる」?

その辺の機械より人間が愚かになっても人間は滅びるだろう。パイロットが、自分の自殺(なんかおかしい表現)の為に乗客を道連れにする事件があったが、愚かなことだとは思うが、「核」の引き金を引くのは、一人か二人かの人間で十分なのだ。それでも何十億人を道連れにできる。パイロットの「精神鑑定」は強化できるかもしれないが、核を持つ権力者の精神鑑定はできるのだろうか。

「人間を機械が支配するようになる」?

機械は、人間を支配したがるだろうか? なんのため? こうした発想は、支配したがるのは、機械というより人間の発想だと思う。

もしも、人間を機械が支配する世界が来るのなら、その前に、必ず、機械を支配する少数の人間が、多数の人間を支配する段階を経るだろうと僕は思う。そして、そうした過程は、始まっているようにも思う。

機械だけが敵とは限らない。目に見えないウィルスのパンデミックで、人類は滅亡するかもしれないし、それよりもっとずっとありそうなことは、環境問題が深刻化して、地上の生物が絶滅することだ。すでに、その兆候は出ている。多くの種が、かつてないスピードで地上から消えている。この引き金を引いたのは、多くの生物種を道連れにしようとしているのは、我々人間なのは間違いない。

地球の歴史の中で、こうした大量絶滅は何度かあった。それでも、生命は途切れることなく続いてきた。人間が地球からいなくなることが、地球と生命にとって悪いことだとは限らない。

僕は、この宇宙には、「知的な生命体」が無数に存在すると思う。ボエジャーは、いまは、秒速何十キロメーターかで太陽系から飛び出そうとしているが、そこには、宇宙人へのメッセージを刻んだプレートが搭載されていた。そのプレートは、宇宙人の手に渡るだろうか? その可能性は、落としたクレジットカードが善意の誰かに拾われて本人の元に返る可能性より、ずっとずっと、気が遠くなるほど、ずっと低いと思う。

でも、彼らは、この地球で起きるかもしれないという「シンギュラリティー」に興味を持つだろ…

RPA

最近、思わず笑ったblogの文章があります。

 「RPAは馬鹿だが、AIは賢い。」
   "AI vs. RPA" 2019/02/14  https://www.enfo.se/blogg/ai-vs-rpa

言いたいことの気持ちはわかります。ここには「AIは、RPAなんかよりもっと賢いはずだ」という気持ちがにじみ出ています。

この記事は今年になってからのものです。こうした認識は、以前から見られたものです。

 「RPAには "NO" というべきか」
  "Should I say “NO” to RPA" 2017/03/06 http://bit.ly/2NUgYCk

この記事は、RPA = Robotic Process Automationに対して、単純なロボットには出来ない「知的」なプロセスの自動化 IPA = Intelligent Process Automation を勧めたものです。

 「ごめん。あなたのbotは馬鹿じゃない?」
 "Sorry, But Your Bots Are Stupid" 2018/11/19 http://bit.ly/30vUOrd

ベンチャー市場で多額の資金を調達しているRPAのボットは、本当は、馬鹿なので「知的」と呼んじゃいけないと主張しています。

 「RPAは死んだ」
 "RPA is Dead"  2019/04/16 http://bit.ly/2JzvX0j

長いことプロセスの自動化を研究してきた著者が、プロセスの自動化には長い歴史がある、現在もてはやされているRPAには新しいことは何もないと言っています。(このシリーズは、もっと続くのですが)

もちろん、こうした議論だけではありません。

 「RPAとAIの収束がビジネス・プロセス自動化を推進する」
 "The convergence of RPA and AI can boost Business Process Automation"
 2019/02/16 http://bit.ly/2SeMWYb 

僕は、日本での次のような議論を、「AI = ディープラーニング技術」の現状に対する、ある意味「現実主義的」な対応として、注目していま…

Yet Another AI

現在のAI技術の主流は、ディープラーニング技術なのですが、それ以外のもう一つのAI技術("Yet Another AI")として、論理的・数学的推論をコンピュータで行おうというAI技術の流れが存在します。今回は、そうした技術を取り上げます。

ディープラーニングは、生物のニューロンとそのネットワークをモデルにしています。視覚や聴覚・嗅覚といった生物の知覚のシステムを機械でシミュレートし、また、生物の全身の筋肉を連携させてバランスをとって運動する運動能力を機械・ロボットで実現するにはとても優れた技術です。それは、生物との類似で言えば、蜜を求めて花を回るハチや、上空から獲物を見つけて急降下するハヤブサの、体内のニューラル・ネットワークの働きと同等のものを機械の上で実現しようという技術だと思っていいと思います。

ただ、人間には、そうした、ほとんど全ての生物に共通する感覚・運動能力とは別に、感覚と運動とをワンクッション置いて統合する機能があります。確かに、ハチも「迷う」かもしれないし、ハヤブサも「賢い」かもしれないのですが、人間は、知覚系の入力から条件反射的に運動系を動作させて行動するだけではありません。人間は、考えます。考えることができることが、人間の知能の大きな特徴だと僕は考えています。

そうした人間の「考える」知能の中核は「推論」する能力にあります。もう少し、抽象的に言えば、人間は論理的・数学的に推論する能力を持っています。それは、「人工知能」技術の重要な対象だと僕は考えています。

ディープラーニング技術は、「推論」する人間をシミュレートできるでしょうか? 答えはおそらくノーです。

ドンキーカーでも自動運転するBMVでも、ディープラーニング技術はとても重要です。ただ、彼らに右側通行か左側通行かといった「交通法規」を覚えさせるのに、ディープラーニングは役立つでしょうか? 多分、もっと上位の層で、ルールを覚えさせることが必要になります。

ネットワークのセキュリティでも、異常検出にディープラーニング的アプローチは役に立ちます。ただ、異常らしきものを検出したとして、それにどう対応すべきかは、「自動化」「機械化」しようと思ったら、たくさんのルールの構築が必要になります。

「推論する機械」の可能性の問題は、意外と我々の身近なところに現れてきているように思います…

AI = ディープラーニング ? -- AI「ブーム」の現在とRPA

次回の7/29マルレクは、次のような人にぜひ聞いてもらいたいと思っています。

・会社のエライ人に「人工知能がはやっているようだから、わが社でもなんかやりたい。なんかプロジェクト考えて。」と言われて困っている人。
・「人工知能プロジェクト」を立ち上げたけど、ビジネスに落とし込むうまい着地点が見つからなくて困っている人。

みなさんが感じている困難には理由があります。それは、会社に優秀な「データ・サイエンティスト」がいないからでしょうか? 多分、そうではありません。

「人工知能ブーム」でうまれた「人工知能万能論」に近い期待の中で、未来の人工知能技術の可能性と、現在のディープラーニング技術の可能性との混同が生まれて、ディープラーニング技術でなんでもできるのではという「幻想」が生まれています。

残念ながら、現在の大きな問題は、人工知能技術の一部としてのディープラーニング技術は、皆が信じ込んでいるほど万能ではないということです。

丸山は、ディープラーニング技術が与えるものは、これまでの手法では処理が難しかったデータ(画像データ、音声データ等)や、非常に大量のデータ(時系列データを含む)から、データに含まれる特徴量を抽出する「センサー」だと考えています。そのセンサーの精度は、他の手法では達成できない素晴らしいものです。

ただ、優れた「センサー」がいくら揃っても、それだけでは役に立つシステムはできません。「センサー」が抽出した特徴量をどのように生かすかは、「センサー」自身の設計とは別の次元の問題、システムの設計の問題です。

冷静に判断しなくてはいけないことは、このシステム設計のレベルでは、ディープラーニング技術は役に立たないということです。「ディープラーニング」が「万能」だと考えていると、このレベルでもAI技術で何かできるのではと考えたくなる人も現れるのですが、それはうまくいきません。ただ、人工知能技術ではなく、従来のシステムを設計した人間のノウハウは生かすことができるのです。

「人工知能ブーム」の中で生み出された「人工知能を応用したシステム」と言われるもののほとんど全てがこうしたものです。それは、悪いことではありません。

僕の当面のアドバイスは、「ディープラーニング技術で出来ることをリアルに正確に把握することで、ディープラーニング技術を現実の課題解決に最大限活かすことができる…

Ex Libris

FacebookのLibraが話題だが、「Libraから」"Ex Libris"という題名の映画を見た。(これ嘘。libris は、ラテン語 liber の複数奪格。Libraはラテン語ではない。)「ニューヨーク公共図書館」という映画だ。

僕は、ほとんど紙の本を読まない。当然、図書館とは無縁の生活を送っている。ネットがあれば、紙の本も図書館もいらないと思っているのだ。ただ、この映画は、そういう僕にも、本当にそれでいいのかを、改めて考えさせるきっかけになったように思う。

この映画のメッセージは、「ネットの時代、複雑な現代に、図書館は変わろうとしている」というものだと思うが、そういう動き、図書館の具体的な取り組みを、僕は知らなかった。それは、「公共」性を旗印にした、とても魅力的なものだった。

映画冒頭、「利己的遺伝子」のドーキンスの市民向けの講座が出てくる。奇矯な人だと思い込んでいたが、とてもまともな人だった。ダーウィンの進化論を否定する「創造論教育」を批判し、「無宗教者」の権利について語っていた。それはそれで、アメリカでは「過激」な主張なのかもしれないが。

「過激」といえば、かつて パンク/ニューウェーブの旗手の一人だった エルビス・コステロも市民に向けて語っている。やはり歌手だったお父さんの映像を司会者と一緒に見ていた。なんとなく セックス・ピストルズとコステロの、その後の歩んだ道の違いがわかったように感じた。「敵だから認知症で死んでしまえとは思わないが、サッチャーがイギリスにしたことは許せない。」まだ元気である。(コステロ、今月、日本に来るんだ。)

パティ・スミスが、ジャン・ジュネについて語っている。ジャン・ジュネは XXX-Tentacionと同じく「犯罪者にして芸術家」という類型に属するのだが、そうしたアーティストへの「共感」が語られる。文学講座では、僕の好きなガルシア・マルケスの作品が取り上げられていた。

最近のアメリカを見ていて、なんだかなと感じていたのだが、そうした印象は表面的だったのかもしれない。

アメリカは、イギリスからの植民地独立戦争と奴隷制解放の内戦である南北戦争という自身が経験した二つの戦争の意味を、市民レベルで、いまでも、問い続けている。そのことは、この映画で示されている、かつての黒人奴隷の子孫であるアフリカ系アメリカ人…

現在のコンピュータと量子コンピュータがハイブリッドする未来

7/6 ハンズオン「量子コンピュータで学ぶ量子プログラミング入門」https://lab-kadokawa82.peatix.com/ の演習の目標である「量子テレポーション」について、少し補足しようと思う。

「量子テレポーション」。なんとも奇妙な名前なのだが、それもそのはずで、命名者は、SF映画の「スタートレック」から、この名前を取ったらしい。

「量子テレポーテーション」技術は、「スタートレック」のように、物体そのものを瞬間移動することができるわけではない。それが可能とするのは、情報を移動することだけである。それは、現代のネットワーク技術が情報の移動をおこなっているのと同じである。

少し違うのは、「量子テレポーテーション」が、一つ一つの量子が持つ情報(それをqubitという。qubit = quantum bit 「量子ビット」の略である)を送り出し、受け取ることができることであり、またその為に「エンタングルメント」という量子の性質を利用することである。

重要なことは、量子情報理論の情報通信技術への応用においては、本格的な量子コンピューが登場する以前に、この「量子テレポーテーション」等の「量子通信技術」が、実用化するだろうということである。

では、どこに、この「量子通信」技術は使われるのであろうか?

それは、現在のコンピュータとコンピュータを接続する為にである。

量子コンピュータの時代というと、現代のコンピュータが全て量子コンピュータに置き換わる時代を想像するかもしれないのだが、それは正しくないだろう。現代のコンピュータ技術は、引き続き有用なものとして残り続けるだろう。

「量子コンピュータ」との対比で、現代のコンピュータを「古典コンピュータ」と呼ことがある。古典コンピュータと古典コンピュータとの通信に、まず「量子通信」技術が使われ始めるのである。

現代の通信技術の中核である「光通信」技術と「量子通信技術」は、実は、親和性が高い。また現代の通信技術の重要な課題であるセキュリティについても、「量子通信技術」では「量子暗号」技術と組み合わせると、飛躍的なセキュリティの向上が可能になる。

「量子通信」の導入によって、古典コンピュータと量子コンピュータのハイブリッドの時代が始まると、僕は考えている。

幸いなことに、すでに我々は、実際の量子コンピュータ上で、「量子通信」の…

チューリングの予言と現代のAI技術

今から約70年前の1950年、アラン・チューリングは、次のような予言を行いました。

私は、次の問題を考えることを提案する。

「機械は考えることが出来るか?」

この「機械は考えることが出来るか?」というオリジナルな問題は、議論にも値しないほどあまりに意味のないものだと、私は信じている。
 .......
それにもかかわらず、この世紀の終わりには、言葉の使い方と教育を受けた一般の人々の意見は大きく変化して、矛盾しているとは少しも思うことなく、機械の思考について語ることが出来るようになるだろうと、私は信じている。

                             -- Alan Turing 
                                 1950年

チューリングの人々の意識の変化についての予言は、的中しました。
それは、かれの天才的な洞察力を示す素晴らしいものだと思います。

いまでは、誰もが 矛盾しているとはほとんど思わず、 「機械の思考=人工知能」について語っています。ある人たちは、「人工知能」技術を「万能の技術」と信じ始め、ある人々は、機械が人間を凌駕する時代の到来について語っています。「シンギュラリティーがくるぞ」と。そこまで行かなくとも、この数年で、人工知能に対する期待は、IT技術者を中心に、多くの人に共有されるようになりました。

ただ、大事な問題が残っています。 我々は、「考える機械」には、まだたどりつけてはいないということです。
こうした中で、僕は、次のような議論が出ていることに注目しています。
 「日本の労働生産性はRPA(ロボットによるプロセス自動化)とAI(人工知能)で上がる。人間は(生まれた余剰時間で)創造性を発揮できるだろう。これが日本復活のシナリオだ」
ソフトバンクグループの孫正義社長(兼会長)は6月13日、RPAツール大手の米Automation Anywhereが都内で開いたイベント「IMAGINE TOKYO 2019」でそう話しました。
なぜ、注目したかについては、次のメールでお話しします。
次回のマルレクのテーマは、「Yet Another AI (もう一つのAI技術)-- RPAは「推論エンジン」の夢を見るか?」です。来週月曜から受付を開始します。 https://yet-another-ai.peatix.com/