ロジスティクスAI 戦略のポイント
From:朴成浩
グーグルの囲碁チャレンジのおかげで一気に、人工知能が一般のニュースでも脚光を浴びるようになりましたね。
「小説を書けるようになった!」とかそれはちょっと違うだろ、と言いたくなるものまで「AIスゴい!」扱いされていますが、
AIと呼ぶかどうかはともかくとして、今まで人間が勘と経験でやってきた作業を一部あるいは大部分、コンピューターが代行して人間はプロデューサー的な役割を果たす
というような、コンピューターと人間の
協調作業はどんどん増えるでしょう。
逆に言うと、これからのビジネスではそのような形でコンピューターを活用できるかどうかが競争力を決定づけます。分野を問わず、です。
仕事によって難しさに差はありますが、ただ、一つ言えるのは、
「人間に勝つ」というゴールに対して
ある仕事が他の仕事より格別に難しいということはない
ということです。
ゲームとしての難しさは別として、囲碁でも将棋でも人間に勝つことが同じように達成されてしまったようにです。
とはいえ、今回の囲碁はエポックメイキングな出来事でした。
ということで、前回[Google囲碁の「ヤバさ」を解説する(1)]に引き続いて、一体、アルファ碁がどのようにして人間に勝つに至ったのか、詳しく見ていきましょう。
前回、将棋を例に、ある盤面でどちらが有利かを判断する「評価関数」が重要であることを説明しました。で、将棋では、この評価関数の元となる土台、たとえば「駒が多い方が有利」とか「玉が堅く囲われている方が有利」といったいわば将棋の「鉄則」は人間が用意してあげていたわけですね。
では、アルファ碁も同じようなアプローチで人間を打ち負かしたのでしょうか? いえ、実は全然、違います。
従来の常識では、囲碁は将棋の駒得みたいに分かりやすい評価基準がないので、将棋のような鉄則さえ作れない。だから囲碁で勝つことは将棋よりはるかに難しいと考えられていました。しかし、そんなものは我々、日本のIT業界人の幻想に過ぎませんでした。
そもそも、アルファ碁を開発したディープマインドチームにとって、囲碁というゲームがどのようなゲームであるかはどうでも良いことでした。彼らの目指しているところは「囲碁に勝つ」ことではなく、「人間を超える」ことにあったのです。
しっかりと認識しているマスコミは少ないように思いますが、彼らの目標は単に「囲碁に勝つ」ゲームソフトを作ることではなく、汎用的に「人間を超える」アプローチを確立することにあります。そして、彼らの確立した人間超えデモンストレーションの最初の犠牲者として選ばれたのが囲碁であり、イ・セドル九段であったのです。
私は、正直、今のグーグルはまるで悪の帝国と称されたかつてのマイクロソフトのようで、あまり好きではないですが(あ、言ってしまった笑)、DeepMindチームとチームを率いる天才ハサビス氏には畏敬の念を覚えます。発想、能力、そして資金力と実現力、何より良いか悪いかは別としても目指すところの高さ。恐ろしいまでに素晴らしいと思います。
では、彼らは一体、何をやったのでしょうか?
DeepMindは、まず人間と似たような手を指すことに注力しました。本当に良い手かどうか分からないが、こういう盤面だったら人間はこういう手を指す、これを最大限、マネしようとするのです。勝ち負け関係なく人間と似たような手を指せるようになることを目指すわけです。
ここがDeepMindの恐るべき深謀です。
これでは、当然ながら、もし仮に100%人間と同じような手を指せるようになったとしても、「ミスをしない人間」レベルにしか到達できません。つまり、もし仮に完璧に人間と同じように指せたとしても人間と同じかちょっと強い程度にしかならないわけです。でも、それで良いのです。これはまず第一段階にしか過ぎないのですから。
とはいえ、勝ち負け関係ないとは言っても、人間と同じような手を指せるようにするのは大変なことです。いや、むしろ「人間のような手を指す」のは、単に「良い手を指す」より難しいとさえ言えるでしょう。人間と同じような判断をする、ということに等しいわけですから。
ここで登場するのが、Googleお得意のディープラーニングです。ネコを見てネコだと判断する、あの技術ですね。「ネコとは何か?イヌとは何か?」そんな哲学的な悩みはどうでも良いのです。ただ、ひたすらにニューラルネットワークという人間の神経組織をマネして作った(ことになっている)装置に「これがネコだ。これがイヌだ」と大量の画像を見せるわけです。そうすると、そのうちネコの画像を見たときには「これはネコだ」ニューロンが反応し、イヌの画像を見たときには「これはイヌだ」ニューロンが反応するようになる、という仕掛けです。(超おおざっぱな説明ですが)
人間の指し手をマネするというのも、これと同様の一種の画像認識です。「盤面に白い石と黒い石がこう並んでいたときは人間はここに置いた」という、大量の人間の判断例をひたすらまっさらな新品の電脳に見せていくわけです。すると、コンピューターはそのうち、囲碁の意味なんて分からなくてもこういう盤面ならここに置くでしょ?と人間の判断をマネできるようになるわけです。
もちろん、現状のニューラルネットワークは完璧とはほど遠い代物です。Googleの天才たちが大量の計算リソースを投じて学習させても、人間と同じ手を指せるようになったのは57%、2回に1回よりはちょっとマシ、程度だそうです。
この57%を多いとみるか少ないとみるかですが、個人的にはコンピューターとしては驚異的な的中率であるが、人間としては話にならない精度の低さと考えます。囲碁のような複雑で、プロセスも目的も明瞭化できない意思決定において、2回に1回以上、人間の判断を再現できるというのはまさに驚異的です。
しかし、人間としては明らかに失格です。人間の棋士であれば、これほど大量の学習をしなくても8割程度は人間らしい手を指せるようになるでしょうし、プロのように修練を積めば当然ながら100%人間らしい手を指せるようになるからです。
このように、現状のニューラルネットワークには大きな問題があります。人間の脳神経をマネしてみた、とは言っても完全なコピーにはほど遠いのです。そもそも、人間の脳自体が解明されていない以上、まだ完全なコピーを作れないのは当然ですね。
ちなみに、この手の研究は何もニューラルネットワークが本命というわけではありません。それどころか少し前まではニューラルネットワークは使いものにならない、終わった分野だと思われていました。他にも、生物学的なアプローチで脳のコピーを作ろうとするマッドサイエンティストな感じのアプローチも研究されていたりします。案外、自動運転車に乗るのはコンピューターではなく、工場で培養されたウサギの脳になるかもしれません。
いずれにしても、DeepMindは不完全な人間のコピーを作ることには成功しました。しかし、これすら第一段階に過ぎませんでした。
2回に1回は人間と同じような手が指せるようになったコンピューターを作って、次にDeepMindが何をやったか? ここからが彼らの真骨頂です。こんなことはGoogleにしかできません。Googleがやっていることがプロ野球だとしたら、大変、申し訳ないし残念なことですが、日本のコンピュータ将棋、いやIT業界がやってきたことは小学生が空き地でやってる野球もどきだというくらいに差があります。
Googleがやったことはコンピュータ同士の対戦です。毎日毎日、ありったけのコンピュータをフル回転させて、ひたすら人間みたいな手を指すコンピュータ同士を対戦させまくったのです。その対局数、実に3000万回だとか。今でも1日数万局のペースで練習しているという話もあります。世界中の囲碁のプロたち全員が1年かけてもこなせないような莫大な数の対局をたった一人で一晩でこなしてしまうわけです。
何のためでしょう? 膨大な量の意味のある棋譜を集めるためです。
棋譜からは何が分かるでしょう? 棋譜では勝ち負けが判明していますから、その途中の盤面に対して最終的に勝ったか負けたかを言うことができます。
つまり、黒が良かったのか白が良かったのかが分かる盤面状況を大量に作ることができるわけです。これだけ大量の盤面を学習させれば、画像認識と同様に、ある盤面を見せたときにその盤面がどちらが有利そうか、を判断することができるようになります。
簡単に言えば、大量に練習試合をしてどういう盤面ならどっちが有利だった(=結果的に勝った)のか?を学んでいくわけです。Googleの巨大な計算機リソースの中で人知れず延々と繰り広げられた対戦の中には、それこそ人間の5000年の歴史の中ではまだ考えもしなかった局面も何度も展開したに違いありません。そういう局面についても、コンピューターは全て結果としてどちらが勝ったのか?を学んでいったのです。
なお、そういうアプローチなら別に人間のマネができるようにするステップを省略して、コンピューターにデタラメに打たせて練習させれば良いのでは?と思う人もいると思いますが、それではダメです。
あくまで重要なのは、現在の人間のトップに近いレベル同士の大量の対局です。たとえば、囲碁を覚えたばかりの小学生が1000人集まって100年間、誰の指導も受けずにひたすら対局し続けるようなことを想像して下さい。それで強くなれるでしょうか?
もちろん、最初に比べれば多少は強くなるでしょうけど、その程度では到底、現在のプロのレベルにはたどり着けないでしょう。
とはいえ、個人的には、人間の棋譜が全くない状況からスタートしての大量の対局を通じて強くなれるのかどうかには非常に興味があります。というか、おそらくGoogleの中ではすでにそういう研究もやっている(やった)はずでしょう。実際、Googleに買収される前のDeepMindは、人間のプレイを学習することなく自分のプレイだけから学習してインベーダーゲームやブロック崩しを攻略しています。
ですが、囲碁ほど複雑なゲームともなれば、それこそコンピューターだけで自己学習して今の人間のトップレベルまで強くなるには、それこそ5000年くらいかかるのではないでしょうか? あるいは、ある閾値のようなものが存在して、ある程度のレベルの腕前から出発しなければ絶対に今の人間には追いつけない、という可能性も考えられます。
いずれにしても、コンピューターが自分で何ができるようになるか、は哲学的には非常に面白い問いですが、我々ビジネスマンにとって今この時点では重要なことではありません。重要なのは、
すでに人間が上手にやっていることであれば、
コンピュータはそれ以上に上手にやれる
ということです。それをまざまざと示したのが今回の囲碁チャレンジでした。
最初は人間のマネから出発し、やがて勝手に膨大な自習を積み重ねて強くなったアルファ碁が見せたパフォーマンスはどのようなものであったか? 結果はすでに皆さんもご存じのように驚愕のものでした。
人間の今までの常識では考えられないような手を連発してプロでさえ見たこともない展開へと盤面を誘導し、いつの間にか魔法のように勝ってしまう。傍目八目のはずの盤外の解説者たちでさえ解説もできないような見たこともない囲碁。まるで小学生だけでやっていた囲碁クラブに突然、異世界のチャンピオンが乱入してきたような状況とでも言えば良いでしょうか。
人間の手を遠く離れてコンピューターが勝手に強くなる。そんなSFのようなことがもう現実にあり得る時代なんだと、誰もが納得した瞬間でした。
まず人間のやっていることを学習して、そこそこ上手にできるようにする。ある程度、強いコンピュータが作れればそこからはもう人間の指導は不要でコンピュータだけで膨大な試行錯誤を繰り返して勝手に強くなれる。
いや、インベーダーゲームとか、限られた状況下での運転だとか、人間だとその辺の普通の小学生でもこなせるようなことであれば、人間のやっていることの学習すら必要ありません。目的と手段だけ与えてあげれば後は勝手に試行錯誤して上手になる。
コンピューターが一人で試行錯誤をして勝手に上達する。この本当に恐ろしいところは、人間には絶対に不可能な膨大な試行錯誤ができる、という点にあります。
一度、コンピューターに追い付かれたら、もう二度と人間は追いつけない。そういう可能性があるのです。Google、恐るべしですね。2020年に自動運転車がその辺を走るなんてあり得ない、と思っていたのですがちょっと考え直したくなってきました(笑)
もっとも、個人的にはコンピューターだけの試行錯誤では壁にぶち当たってメタな「気付き」がないとどこかで上達が止まる、という可能性も疑ってみたい気はしますが。
今回、Googleがまざまざとその威力を見せつけたのは、コンピューターの自己学習の可能性です。日本では、「学習」や「ディープラーニング」というと「人間のマネをする」ための技術であると理解されることが多いように思いますが、その本質、より破壊的な可能性は「莫大な試行錯誤を通しての進化」にあります。
そして、その「コンピューターの膨大な試行錯誤」を可能にするにはGoogleやFacebookのように、地球上のありとあらゆる人間のデータさえハンドリングできるほどの規模の、莫大なデータを統合的にハンドリングするソフトウェア技術とハードウェア設備・ノウハウが必要になります。
Googleは検索アルゴリズムがすごいのではありません。Facebookは事業アイデアが優れているのではありません。巨大なデータをハンドリングする技術とインフラ、そしてそれを支える豊富な人材とお金が彼らの絶対的な強みです。その物量差は圧倒的です。もはや日本の企業が追い付くことはできないでしょう。アイデアや仕組みで何とかなる問題ではないのですから。
* * *
若干、暗い話題になってしまいました。でも安心してください(笑)
AI技術は何もディープラーニングだけではありません。むしろ、あんな巨大じゃないと機能しないようなものは私たちのような普通の企業の日常業務には不要です。しかも、ロジスティクスで直面する問題・課題は実はディープラーニングには不向きな問題が多いのです。
たとえば、あなたの会社のロジスティクス業務に対して、膨大な「棋譜」を用意することができるでしょうか? あなたの会社の勝負のフィールドは今年と来年でも同じでしょうか? いくらベストプラクティスであっても、地域も業種も異なる他社の事例をあなたの業務にそのまま適用できるでしょうか?
あなたが日々のロジスティクス業務で直面する課題は、このように個別性が高く、再現性のないものであると思います。このような悩みを解決するためには、「ロジスティクスとは何であるか?」についての深い理解が欠かせないと私たちは考えます。ネコがどのようなものであるかを理解せずにネコを見てネコと答えられれば良い、というわけにはいかないのです。
いくら歴史が長い会社であっても、ロジスティクスにおいては同じ土俵、同じ環境で何百万もの事例を積み重ねるということはあり得ません。ロジスティクスにおいて競争力を得るには、もっと少ない事例から速やかに深い洞察を得ないと対応ができないのです。
そのための技術がモデル化と最適化です。数多くの現場から学んだ強力なモデルと、その複雑なモデルに対して最も良い解を高速に導き出す最適化。この技術がロジスティクスAIの世界では鍵になってくると思います。ええ、言うまでもなく当社の大得意分野です!
ということで、一応、当社のアピールもしておかないと本コラムについて「絶対、社長の趣味で書いてるだけだ」と社内から突っ込みが入るので、ちょっとPRもさせて頂きましたが、次回からは既定路線に戻り、引き続き、ロジスティクスAI活用のポイントについてお話ししていきたいと思います。
++朴成浩