̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ IT ニュース&コラム 2016/11/07 通巻725号 技術版 ソフトウェアデザイン館 Sage Plaisir 21  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄   人工知能の進化にみる論理的思考の限界と新しい開発プロセスの必要性 プログラムの品質を効率的に高める方法は、レビューではありません。 なぜなら、 PCや開発ツールがあたりまえのようにある時代になったからです。 囲碁の名人に AlphaGo という AI が勝ち、仕事がコンピューターに奪われることが言われましたが、 それは、生産だけでなく開発においても品質チェックを人間が自力でする必要がなく、 AI や PC に任せられる状態であり、そのとおりになりつつあると思います。 つまり、 自動プログラミングで出来たプログラム(実装工程や詳細設計にあたる中間層)を レビューする開発プロセスが必要なくなるのです。 結果さえよければよいのです。 1970年代の AI(人工知能、artificial intelligence)は、エキスパートシステムの 開発が盛んにおこなわれていました。 「もし取ることができる将棋の駒があれば、取る」、 「もし、熱が出ていたらインフルエンザの可能性がある」、といったルールベースや 知識ベースがあり、現在問題になっていることにどのベース(内包的定義)が適用できるかを 検索することで演繹的推論を自動的に行う「推論エンジン」が AI のコアでした。 コンピューターの記憶量は膨大で複雑な処理も高速に実行できることから、あらゆる 専門家の知識を持って瞬時に判断することができると妄想が膨らんでいましたが、 現実は、暗黙知や抽象的で複雑であるために定式化できない知識があったり、 知識の間で矛盾があったり、知財はそう簡単に入手できないことがあったり、 知識のパターン マッチングがキーワードの検索だけで画像検索などがなかったりして、 1990年代にはついに AI の停滞期を迎えてしまい、AI(コンピューター)は、 よくバカな答をするというイメージが定着してしまいました。 2000年代に入ると高速インターネットが普及して、グーグルは適切な検索結果を得る ために膨大なホームページを分析するようになりました。 以前は、多くリンクされていれば良いページであるという判断基準で検索上位に 表示するページランク技術が成果を挙げていましたが、これはまだ推論エンジンの域を 超えていません。 ページランクのような法則が他にもないかを調査すること(特徴抽出) を、コンピューターで自動化するようになったこと、つまり、人間の頭脳によって 法則をハード コーディングしなくなったことが、人工知能のディープラーニング (深層学習)と似ていたことで、グーグルが人工知能に注目するようになり、 その研究で最先端を行く ディープ マインド社を2014年に 4億ドルで買収することに なったのではないかと思われます。 検索に音声認識を付けると、SF映画2001年宇宙の旅に出てくる人工知能 HAL と ほぼ同じになるので、検索≒人工知能です。 Siriやコルタナを試すと、 インターネット検索に丸投げして Wikipedia を見るなんてことがよくありますが、 ホームページを検索するということが、1900年代のエキスパートシステムが 行っていることとほぼ同じだからです。 AI の定義は変わっているのです。 ディープ マインド社は、買収される当時、シミュレーション、電子商取引、 ゲームが学習対象でしたので、グーグルが検索の人工知能を手に入れたかどうかは 不明です。 しかし、グーグルには検索の学習材料となるホームページや広告の クリックデータをすでに持っていますし、収集能力も強力なので、人工知能を 育てるよい環境があります。 ディープラーニングは機械学習の一種です。 機械学習は「明示的にプログラムしなくても 学習する能力をコンピュータに与えること」とアーサー・サミュエルが1959年にすでに 定義しているように、古くからある手段です。(プログラムが不要なのは学習する対象 だけで、メタな学習プログラムは必要です。) 機械学習のうち教師あり学習は、問題と 答の多くの例から、近い問題に演繹的に答えるためのパラメーターや手段の 組み合わせの選択を洗練させることです。 たとえば、秘伝のタレは、玉ねぎ:ソース:だし が n:m:p の割合で、n:m:p = 1:2:3 といった具体的な値が知識です。 教師なし学習は、 特徴を分類することです。 完全にバラバラであったり、すべてに共通するものではなく、 目標とする規模や数のクラスターに分類できる特徴(属性の種類やその値の範囲など) がどれなのかを抽出することです。 ディープラーニングは、入力層(問題)、中間層、出力層(答)からなるニューラル ネットワークから構築される教師あり学習において、中間層を何層にも増やしたシステム です。 教師なし学習によって問題と答の間の中間層となる仮定の作成と検証を自動的に 行い強化学習を繰り替えすシステムです。 AlphaGo は、囲碁の名人同士の大量の試合の 盤面をディープラーニングさせ、そうして強くなった AI 同士で対戦させた成果です。 その出力層(答)は、単純で、囲碁の勝利です。 その学習には、高速インターネット、 高速な計算機、大容量ストレージによる膨大な情報(知識)の入手や処理や蓄積が必要 になります。 それが簡単になったことと、分析モデルの構造に脳科学の研究結果や 教師なし学習の結果などを取り入れて洗練されたことで、ディープラーニングは劇的に 成果を出すようになりました。 また、AlphaGo は、モンテカルロ検索による計算量の 圧縮も行っています。 人間の学習は丸暗記の要素が大きいですが、機械学習での暗記はただの記録になってしまう ため、暗記は対象外です。 小さい子が、玉の形をしたものが転がることや、バカ騒ぎを すれば怒られるといった因果関係のうち、良いと定義された結果になる条件を大量のデータ (外延的定義)からトライ&エラーで探して概念を形成することが機械学習です。 機械学習は、データの相互の関係から規則性やパターンを見つけます。 人間でいえば 帰納的推論が行われているのです。 つまり、大ざっぱにいえば、1900年代は内包的定義から演繹的推論を行う AI が主流だったのが、 2000年代になると外延的定義から帰納的推論を行う AI が主流になった、すなわち、 帰納的推論を行う AI のほうが賢いということになります。 論より証拠というわけです。 なぜ大量のデータが必要なのでしょうか。 それは、将棋の詰みとなる(ある条件では、 定義された良い結果に確定する)データが存在する可能性はデータが多いほど高いことと、 定義された良い結果になる可能性が高い(スコアが高い)ことを該当するデータの数から 決められることがあるからです。 後者の例を挙げますと、たとえば、野球場でバカ騒ぎ してもホームランが出たときは怒られないとか、敵チームの席にいたら怒られるとか、 敵チームの席にいても実際に怒る行動まで起こさないとかあり、この場合、怒られるのが 1ケース、怒られないのが 2ケースなので、66%の確率で怒られないので、スコアは66 とできます。 確率論では、サンプル数(ケース数)が大きいほど確率の値が正しく なるので、大量のデータが欲しいという話になるのです。 スコアが満点になる推論が 見つかれば、それは証明であり、演繹的に処理できるため、データは必要なくなります。 敵チームの席にいることを Google Maps などで検出できれば、その確率の値はより 正しくなるでしょう。 敵チームの席にいれば 50% 怒られない、敵チームの席に いなければ、100% 怒られないとなります。 このような検出ができればいいのですが、 できなければ、「明示的にプログラムしなくても学習する」機械学習の技術で 処理することになります。 AI がなぜこれが正しい答えであるかと判断を下したのかは、論理的思考で、つまり、 内包的定義から演繹的に論理的に説明できるものではありません。 Alpha Go の開発 チームも AlphaGo がどのように考えたのか分からないといっています。 単に、AI が 認識した状況は、過去に良い(スコアが高い)結果が得られることを学習済みの、 謎の中間層の組み合わせを選択した、それだけです。 内包的定義に相当する中間層は、 パラメーターの集合でしかないので意味は理解できません。 秘伝のタレがなぜうまい のかは、割合が1:2:3 だからと言われても、なぜその割合なのかを理解できません。 このことから、論理的思考は、最先端科学の発展に使えるものではなく、人間を 説得するためにしか使えなくなったということが、事例によって証明されつつあります。 プロセスが大事といいますが、これも人間に論理的に説明するためです。 豊洲市場の盛り土がされていないから汚染水が問題だとして世間を騒がせましたが、 盛り土の代わりに空洞を作って建設コストを下げた結果であり、安全性の意識が 都に低かったわけではありません。 トップまで報告されていなくても(目的に合って いることを確認すれば)報告する必要はないのです。 請負では仕事の仕方や残業を 指示することができませんが問題ありません。 また、よい結果を出すためのプロセスが 明示された形式知のルールより、ルール無用の暗黙知のほうがスコアが高いことが よくあるのですが、有効性が知られている形式知のほうが知識ゼロより良いですが、 有効性が知られていない暗黙知のほうが効率が良ければ、レビュープロセスを 踏んだほうが競争に負けてしまいます。 形式知にしなければ技術の伝承が 難しいのは確かですが、それは昔の話で、今は暗黙知をプログラムやAIという ブラックボックスにして伝承できるのです。 プログラムのコード(テスト対象)は、内包的定義に、テスト プログラムは、 外延的定義に、ほぼ綺麗に分かれます(IT ニュース&コラム 2016/ 2/29 通巻707号 を参照)。 この状況と 内包的定義の妥当性の検証よりも外延的定義の 妥当性の検証を重視したほうが品質が高くなる AIの事例が増えていることから、 コード レビューよりもテスト プログラムの開発(TDD、テスト駆動開発)を 重視したほうが短期間で品質が高くなると言えるでしょう。 コード レビューは リーダブル コードであるかの検証や、中間層と合っているかの検証にはなりますが、 その中間層を使えば正しい出力が得られる仕様であるかの検証をすることには使えません。 なぜなら、AI がなぜ正しい答えを出したかを論理的に理解できないように、 外延的定義の妥当性を複雑な内包的定義から理解することは難しいからです。 また、 私たちの日常言語や実験科学の手法に近いのは帰納法であり、帰納法は 素朴ですがとても強力な理解方法です。 単純な内包的定義(プログラム) であれば、例外もないので「外延」と「内包」は相補的な関係にあり、 どちらも欠かすことができないのですが、それが言えるのは 1900年代の AI が 扱える狭い範囲しかありません。 羽生善治さんが言った「学習の高速道路」が敷かれると人間は自力で問題を 解く必要はなくなり、ホワイトカラーの仕事をすべて AI に丸投げできる天国に なるかというと、そうはなりません。 AIの実績を見ていくと、楽しく外延的定義 のセンスを磨くことと、常識や好き嫌いなく AIや人間の得意不得意有効性の進化を 理解すること人間に求められると思います。 過去の成功法則・根拠・技術はAIや 人間がどんどん変えていきますが、道は1つではありません。 そのように勉強内容や テスト(能力の評価方法)も変えなければなりません。 参考: http://www.itmedia.co.jp/enterprise/articles/1609/05/news043.html https://ja.wikipedia.org/wiki/AlphaGo http://japan.cnet.com/news/business/35043049/ http://minerva.cs.uec.ac.jp/~ito/entcog/contents/lecture/date/5-yoshizoe.pdf https://ja.wikipedia.org/wiki/エキスパートシステム https://ja.wikipedia.org/wiki/機械学習 https://thinkit.co.jp/story/2015/08/31/6364 https://www.ibm.com/developerworks/jp/linux/library/l-machine-learning-deep-learning-trs/ https://jp.mathworks.com/help/stats/supervised-learning-machine-learning-workflow-and-algorithms.html http://d.hatena.ne.jp/gginc/20080206/1202275749 http://pixy10.org/archives/585508.html 注目ニュース 一覧 ◇ Watson搭載の AI電子黒板登場、会議のムダを指摘する見張り役に。 http://www.itmedia.co.jp/enterprise/articles/1610/27/news049.html … 会議の進行は怪しそうだけど、自動翻訳は使えそう。 ◇ アドビがAIプラットフォーム Adobe Sensei を発表。由来はあの日本語。 http://japan.cnet.com/news/service/35091597/ … インテリジェントな画像処理。 芸術科の先生。 Microsoft Azure を使用。 ◇ Microsoft Concept Graph を公開。 http://www.atmarkit.co.jp/ait/articles/1611/04/news067.html … 地味だが AI の Web API に期待。 ◇ Surface Studioの謎、Surface Dialはどうやって吸着してるのかに公式回答。 http://www.itmedia.co.jp/news/articles/1611/06/news022.html … Adobe の協力が欠かせない。 ゲームでも使えそう。 ◇ ついに日本対応開始! 開発者が知っておきたいApple Pay決済アプリの仕組みとPassKitの使い方。 http://www.atmarkit.co.jp/ait/articles/1610/26/news018.html … 店はカード会社だけでなくアップルにも決済手数料の負担へ。 ◇ MicrosoftのHMD、HoloLens 日本で発売。 http://www.itmedia.co.jp/news/articles/1611/01/news102.html http://japan.cnet.com/news/commentary/35091264/ … 値段は 3000ドル。 ユーザーはコンシューマーではない。 ◇ 新MacBook Proが得たものと失ったもの。 http://www.itmedia.co.jp/pcuser/articles/1610/28/news061_2.html … Touch Bar に iPhone と互換性があればいいのだが。 ◇ 約3分の1の企業が毎月数回の運用ミスや障害発生。課題は運用担当のスキル不足、自動化できてないなど。 http://www.publickey1.jp/blog/16/31.html … vbslib の利用や高級なデバッガーを充実させるなどの支援がないと無理。 ◇ Linux財団傘下に JS Foundation が発足、ESLint、Appium、jQueryなどをホスト。 http://www.publickey1.jp/blog/16/js_foundation.html … 長期サポートのためにはこのような継続性が必要。 ◇ タブのツリー表示をサポートした国産Webブラウザー Kinza。 http://forest.watch.impress.co.jp/docs/news/1028039.html … ツリー表示は非常に画期的! 今後のブラウザーの標準機能になりそう。 ソフトウェアデザイン館 Sage Plaisir 21 ホームページ >>> http://www.sage-p.com/ メルマガ >>> http://www.mag2.com/m/0000083983.html ブログ >>> http://blog.livedoor.jp/sage_p/ ツイッター >>> http://twitter.com/Ts_Neko ダウンロード >>> http://www.sage-p.com/freesoft.htm サポート掲示板 >>> http://www.sage-p.com/kg_ban09/z6037C8.cgi 東日本大震災 >>> http://www.sage-p.com/saigai.html メール >>> ts-neko◇sage-p.com ←◇を@に変えてください 緊急メールは件名に「うどんメール」を付けてください。 このメルマガの登録・解除 - http://www.mag2.com/m/0000083983.htm