機械学習

NIPS2017:2日目

2日目の最初のセッションは機械学習をゲノム解析に適用する話でした。スピーカーはBrendan Freyで、元々はGeoffrey Hintonの元で研究をしていて、今はDeep Genomicsという会社を起業して、2015年には彼らが発表した論文がNatureに取り上げられました。彼の論文は全部で3万件近い引用があり、研究者としてもトップクラスの実績を持っています。娘に遺伝子関係の問題が発覚し個人的に遺伝子異常の問題と向き合ったこともあり、問題に対する解決策を作りたかったという強い思いを語っていました。

NIPSではスポンサー企業の多くがブースを出して自社の製品を売り出したり、採用活動をしたりしているので、今日はそのブースを回りました。マイクロソフト、IBM、グーグル、アップルのような大手はもちろんのこと、他にもいろんな会社が出展していました。自動車メーカーからはベンツとアウディが出展していて、ベンツはシリコンバレーのオフィスに在住している研究者が200人以上いて、多くが自動運転の研究に従事しているようです。ディープラーニングをするためにGPUという特別なマイクロプロセッサを必要としますが、その市場を今では独占しているNVIDIAもブースを出しており、そこで彼らの製品を売り出していました。彼らはチップだけではなく、画像認識ようのキットとしてJetsonという開発者向けの小さなボードを売り出したり、最新のGPUを何個も搭載したスーパーコンピュータを数百万円くらいの価格で売り出していました。音声から感情を読み取って表情を再現するという研究もしていて、そのデモもしていました。最後にファイナンス系の会社も多く、業界のトップリサーチャーを惹きつけて証券の取引戦略を練るというクオンツ系ヘッジファンドもいました。

午後はKate CrawfordというNYUの教授が「The Trouble with Bias」という素晴らしい内容の発表をしました。機械学習の研究のなかに存在するバイアスの危険性についての話で、機械学習の研究者として、今このNIPSに参加している研究者が持ち得る力と、それに伴う倫理的責務について目が覚める内容でした。機械学習の得意技である「分類する」という行為は実は人間に当てはめるととても危険なもので、ドイツのヒットラーの元でユダヤ人の選別が虐殺に繋がる例や、アフリカのアパルトヘイトなどで人種の分類などにより自由が制限される例などを話しました。最近ではトランプが移民政策の一環として機械学習のコミュニティに移民の分類機を作る要請を出したようで、彼女をはじめとする権威数名でその危険性を啓蒙するとともに強く反対する姿勢を見せています。それ以外にも、例えばグーグル検索で「CEO」と検索すると、女性が出てこない例や、「She is a doctor, He is a nurse」という文をトルコ語に訳して英語に戻すと「He is a doctor, she is a nurse」と性別が逆転してしまう例などを取り上げ、機械学習の研究の根幹をなす標準化されたデータセットにバイアスがあることによってモデル自体もバイアスがかかってしまうことを述べていました。

次に、今年から始まった新しい賞で、「Test of Time」賞というものがあり、10年前(±1年)の研究論文を振り返り、10年経った今でも重要でそれだけ影響力が強かった論文に与えられるものです。てっきり今のディープラーニングに発展したタネのような研究が取り上げられるものかと思いましたが、そうではなくAli Rahimi氏のランダム最適化アルゴリズムでした。彼の話はすごく面白くて、科学的アプローチへの回帰を呼びかけるものでした。「今皆ディープラーニング、ディープラーニングと言っていますが、10年後に本当に重要だと言える発見がこの分野でされているのか、その答えはNoだと思う」と言っています。精度が良いから大丈夫というのではなく、ちゃんと中身を理解した上で研究を進めるべき、というのが彼の意見でした。昨今のディープラーニングバブルの中で、しかもディープラーニングの研究の頂点にあるとも言えるこのNIPSでそういう発表をする度胸と新鮮さに感嘆しました。

最後に、2日目からデモセッションが始まり、チャットボット、ロボット、ポーカーAIなど様々な面白いデモを見ました。ロボットの特色は、たった1回動作を見せるだけで、その真似をできるというOne Shot Imitationを実践していて、膨大な教師データがなくてもすぐに学ぶロボットを作る最先端の研究を見れました。

ランチは昔の同僚と、当日仲良くなったグーグルの研究者と食べました。ではまた明日!

友人とのランチ。左からアップルのエンジニア、弊社CTO長谷川、グーグルの研究者、バイオ系の研究者。

友人とのランチ。左からアップルのエンジニア、弊社CTO長谷川、グーグルの研究者、バイオ系の研究者。

NIPS2017:初日

こんにちは、CTOの長谷川です。

機械学習カンファレンスのNIPSに到着しました!今年の会場はロスアンゼルスのロングビーチです。パロアルトから車で約6時間なので、友達と運転してきました。壮大なカリフォルニアの風景を見ながら、ロス関数についてああでもないこうでもないとか議論していたら、あっというまにホテルに到着しました。これは、ドライブしているときの風景です。

最初はDeepMind社からディープラーニングの現状とトレンドに関する発表で、内容としてはConvolutional Neural NetworkやRecurrent Neural Networkから始まり、なぜカーネルサイズが3X3になるのか、オーバーフィットしているときはどうすれば良いか、などの実践的なアドバイスが多かったです。DeepMindはアルファ碁ゼロを完成させる過程で、いくつもの実践的な難問を解いて来ただけのことがあり、いろいろな示唆を得ることができました。また、最近のトレンドとして、Generative Model、つまり今までに機械が見たことがない内容を出力するモデルについて触れていました。

夕方にはNIPSの運営側から「ようこそNIPS2017」という発表があり、正式なキックオフという流れです。今年はものすごい人気で8000人近い登録者数で、30年前に数十人の前でNIPSを始めたときはまさかこんなことになるとは思っていなかったと言っていました。会場に来ていた人間のうち約半分は初めてNIPSに参加すると言っていたので、機械学習に対する関心が高まっているなと感じました。他にも以下のようなメトリクスを発表していました。

  • 3249 papers sent out for review
  • 156 subject areas (most popular "Algorithms", second "Deep Learning")
  • 7844 unique authors
  • 10% women 90% men
  • 12% industry 88% academia
  • 2093 reviewers
  • 183 area chairs
  • 26 senior area chairs
  • 679 accepted / 3249 submission = 21% acceptance rate

初日の最後の発表は"Powering the Next 100 Years"というタイトルで、素晴らしい発表でした。テーマはエネルギーの枯渇に対する解決策として、機械学習を応用できないかというものです。今のまま人類がエネルギーを消費し続けると、約0.2ヨタジュールのエネルギーが必要で、石油や天然ガスなどのエネルギー源はもとより、ゼロカーボンのエネルギー源を合わせてもその量のエネルギーを作り出すことは不可能らしいです。そこで、フュージョンという新しいエネルギー源の開拓に、機械学習を応用しようという内容でした。話のスケールの大きさと、そのような重要な課題に対して機械学習の応用分野があることを知れて刺激になりました。

夜はポスターセッションと言って、それぞれの研究者が自分の研究内容をポスターにして、研究内容を発表するというものです。研究者に各自の研究内容について聞く良い機械なので、皆夜遅くまで熱心に聞いて回ります。

アルファ碁ゼロの快挙について

こんにちは、CTO長谷川です。私は2015年の頭から、2016年には囲碁のプロ棋士を凌駕する人工知能ができることを予測していたこともあり、何度か頼まれてアルファ碁について講演したことがあります。そういう背景もあって、アルファ碁についてはそれなりに読み込んでいたのですが、今回のアルファ碁ゼロの発表には驚きました。何と言ってもスピード感がすごいです。2016年にアルファ碁を発表して、今年の頭にはマスターをネットに忍び込ませ、先月末にゼロを発表するスピード感。今回のゼロは何がすごいかというと、李セドルに打ち勝った当初のアルファ碁よりも強いという点に加えて、学習をさせるための教師データが一切ないピュアな強化学習だという点です。

強化学習について

強化学習は、今回のアルファ碁の開発リーダーであるDavid Silver氏は「意思決定の科学」というふうに表現しています。従来のマネジメントなどで考える意思決定の科学と違う点は、人間の行動心理などを排除して、本当に数学的に意思決定を捉えた考え方であることです。強化学習は、世界を以下の5つのピースに分けて考えます。

  1. Agent: 世界の中で活動する主体。ゲームのプレーヤーなど
  2. Environment: Agentに対して働きかける環境
  3. State: 今の世界のあり方
  4. Action: Agentが出来る行動
  5. Reward: 行動をした結果Agentが得る報酬

この5つを正しくモデリングして、強化学習のアルゴリズムを適用することにより、どんなに複雑な意思決定でもエージェントに学ばせることが出来るというのが強化学習です。車やロケットの運転から、ゲームの操作、広告の選択などかなり幅広く応用されています。

強化学習は機械学習の中でも、直感的に親しみやすい分野です。例えば弊社の技術顧問の杉山先生が「ラーメン屋さん問題」と名付けている問題があります。これは、例えば地方から引っ越してきて、広い東京の中で、自分が長期的には一番美味しいラーメン屋さんにたどり着きながらも、そこにたどり着く過程でまずいラーメン屋さんをなるべく避けて行くためのアルゴリズムを考えようというものです。あと、前提として、自分はとにかくラーメンについては他人とは全く別の味覚を持っているので、他人の評判やネットなどは一切頼りにならないという前提があります。最初はとにかく手探りなので、行き当たりばったりのラーメン屋さんに行くしかないですよね。そこから徐々に行きつけを見つけては冒険して行く、という感じではないでしょうか。強化学習には、epsilon decayという、これと似たような概念があります。

アルファ碁ゼロとアルファ碁リーの違い

まず、直接対決100戦全勝という圧倒的な強さの違いがあります。なんと学習を開始してから数日で李セドル氏に勝利したアルファ碁の強さを抜いたようです。

Silver et al., "Mastering the game of Go without human knowledge"より抜粋

Silver et al., "Mastering the game of Go without human knowledge"より抜粋

次に、全く教師データがないという違いがあります。David Silvers氏がインタビューでも言っていますが、李セドルに勝ったアルファ碁は、プロ棋士の対局を何万局と読み込ませることによって、「プロがどう考えるか」をまず学習しました。先生がついているようなものです。対してゼロは、全く先生がいない状況で、言葉の通りゼロから囲碁の定石などを学習しました。なぜこのようなことが可能になるかというと、教師がいないため、自分と戦う過程において、ゼロは自分という、実力においてレベルが非常に似通った相手が必ずいるためです。その実力が伯仲している相手と切磋琢磨することにより、少しづつ確実に強くなっていくという仕組みです。ゼロの学習の軌跡を見るともっと面白くて、まず人間が何百年もかけて編み出してきた定石を学び、そしてその定石を壊して新しい定石を生み出すということが見て取れるらしいです。

私もDQNなどの手法を用いて強化学習のモデルを開発した経験がありますが、ボタンを押してあとは放っておくという感じでは決してありません。DQNの例でいうと、ミニバッチのサイズやネットワークのアーキテクチャ、さらには報酬のエンジニアリングなども考えることが必要であるため、まだまだ「全く人間の介在を必要としない」と言い切れるレベルではないと思いますが、今回のアルファ碁ゼロは、DeepMind社が目指す、「tabula rasa(白紙の状態から勝手に知識を身につけるAI)」に一歩近づいたことは間違い無いと思います。

AWS Storage Weekに参加してきました

こんにちは、CTOの長谷川です。サンフランシスコにはAWS Popup Loftというコワーキングスペースがあります。TwitterやUberといった名だたる企業のビルの向かい側にあり、多くのエンジニアがそういった企業から集まって来てはAWSについて自由に無料で質問できるという、気前の良い場所です。

先週はそのPopup LoftでAWS Storage Weekという3日間のイベントに参加してきました。なんと登録料は無料です。内容としては、AWSの最新のテクノロジーや事例紹介をメインにレベルの高いスピーカー達がプレゼンと質疑応答をしていました。参加者は様々で、スタートアップのエンジニアリング部門のトップや、ビジネスオーナー、IT部門の方などとお会いしました。

Region毎にデータセンターが数カ所あり、各データセンターが10キロ以上離れている 

Region毎にデータセンターが数カ所あり、各データセンターが10キロ以上離れている 

無料で提供される朝食、昼食、軽食がとにかく美味しかったし、最後には数種類のTシャツなんかも配られました。また、スピーカーはアマゾンの社員だけではなく、AWSの面白い活用事例を見つけて来ては、クライアント企業の技術部長レベルを招待して事例紹介もさせていました。これだけのリソースを投入してこうしたイベントを開催するのは、彼らがどれだけデベロッパーやサンフランシスコ近辺に存在するスタートアップに対して力を入れているかを示していると思います。

S3については、「インターネットのストレージ」と豪語するだけのことはあるという印象を受けました。ちなみに今年でS3は11歳になったらしいです。とくに印象に残ったのは「11 9’s Durability (99.999999999%)」の指標と、導入事例の豊富さでした。11 9’sについては、簡単に言うと1000万年に1つオブジェクトを失うことを指すらしいです。導入事例が多いのは、コスト面(昨年11月に大幅値下げ)や柔軟性もさることながら、S3を中心とした機械学習と分析のエコシステムができていることが後押しをしているのでしょう。DataBricksなんかも全面的にS3を勧めているし、Apacheもオープンソースの中でS3を見据えた開発を心掛けているようです。 

無料のご飯 

無料のご飯 

密度比推定に基づく異常検知

AI導入を考えているお客様のニーズの代表例の一つとして「異常検知」があります。例えば、大量のデータを持っているが、それらがラベル付けされていない上に、実際に起こる頻度が少ない「異常」をどうやって検知すれば良いかという問題です。癌などの病気もそうですが、そもそも病気になる確率が0.001%にも満たない場合、病気を持っていると知っている症例のデータがものすごく少ないため、教師あり学習では汎用性が高いモデルを作ることが困難であるという問題です。

弊社の技術顧問である杉山将先生は、数年前にこの問題に対して効果的な解決策を提案しています。それが、密度比推定に基づく異常検知です。この方法では、正常データの確率密度を取り、テストデータの確率密度で割ることによって、その密度比を正常度とします。この密度比は正常値に対しては1に近い値を出力し、異常データに対しては1から大きく離れた値を出力するという特徴を持ち、そうした値がある場合はテスト標本に異常値が入っていることになります。

出展:杉山 将 「密度比推定によるビッグデータ解析」

出展:杉山 将 「密度比推定によるビッグデータ解析」

この手法のすごい所は、学習標本とテスト標本の確率分布を個別に計算せず、一発で密度比の推定を行える所にあります。また、実用面では以下のような利点があります。

  • 異常データを大量に収集する必要がない:異常データを学習データセットとして集める必要が無くなります
  • ラベル付け不要:正常だと分かっている標本さえあれば学習データセットに「正常」「異常」などのラベルを付ける必要が無くなります
  • 異常データがあれば、密度比に顕著に現れます

ただし、留意すべき点として、この方法からは「どのデータポイントが異常であるか」という異常値の特定まではできないということと、標本自体が高次元である場合、次元の呪いの問題があるため次元削減処理を行わなければならないことなどが挙げられます。また、密度比にどういう値がある場合は異常値があるとみなすかというスレッシュホールドを自分で決めなければなりません。実験を繰り返すことによってしか、良い値を設定することはできません。