[レベル: 上級]
機械学習(マシンラーニング、Machine Learning)が検索の世界でもホットワードになっています。
ちょうど1年前にその存在が明らかになったRankBrainは、機械学習を本格的に採用した検索アルゴリズムとして大きな話題になりました。
Googleは、すべてのアルゴリズムを機械学習化するのでしょうか?
そういったことは起きなさそうです。
エンジニアが書いたアルゴリズムが、機械学習によってできあがったアルゴリズムに完全に置き換わるということはないようです。
機械学習がうまく機能する場面では機械学習を使うものの、手動のアルゴリズムのほうがうまく機能する場面では手動のアルゴリズムを使い続けます。
米ラスベガスで先日開催されたPubCon Las Vegas 2016で、Gary Illyes(ゲイリー・イリェーシュ)氏は基調講演のなかでこうしたことを話しています。
Googleはすべてのアルゴリズムを機械学習に置き換えるのか?
対談形式の基調講演で、質問役のEric Enge(エリック・エンガ)氏はイリェーシュ氏に次のように質問しました。
機械学習を使ったRankBrainは、アルゴリズム全体を置き換えたわけではないのか?
イリェーシュ氏はこのように説明しました。
いいや、置き換えてはいない。
アルゴリズム全体、つまりコアアルゴリズムに機械学習が取って代わるということは絶対にないだろうと多分言えると思う。
機械学習はランキングにおいてGoogleが使っている要素の1つだ。実際に、僕たちが使っている数百のシグナルの単に1つの要素にしかすぎない。
機械学習はツールだ。スイスナイフ(スイスアーミーナイフ)を使うようなものだ。
スイスアーミーナイフはいろんなことに使える。あらゆることに適しているわけではないが、いろんな場合で使える。でも、スイスナイフでコンクリートに穴を開けようとは思わないはずだ。
同じように、(機械学習で動く)RankBrainもあらゆる場面で機能するわけじゃない。だが別の場面では、ずっとうまく機能するかもしれない。だから使える場面では使っている。
言うまでもなく、手動のアルゴリズムをすべて廃止するなんてことはない。そんなことをしても意味をなさない。手動アルゴリズムがうまく機能しているのであれば、そのアルゴリズムには何も手を付けないことを選ぶ。
しかし、ランキングにおいて、機械学習を用いて何かほかのことができないか実験はしている。(検索以外の)ほかのプロダクトでもそうだ。
使える場面で機械学習を使う
機械学習によるアルゴリズムがありとあらゆる状況で、人間が書いたアルゴリズムに勝っているわけではありません。
将来的にはわかりませんが、現状ではこれが事実です。
機械学習が優勢なところでは機械学習を使うし、手動が依然として勝っていると判断したのであれば手動を使い続けます。
また、機械学習には次のような特性があります。
機械学習が信頼性が高い結果を出すには、学習するための十分な量のデータが必要です。
データの量が足りないと、本当に正しい結果を導き出すことが難しくなります。
ほかには、機械学習ではどうやってその結果を出したかが見えづらく、デバッグしづらいという欠点があります。
一方で、人間のエンジニアがコードを書いたアルゴリズムは、問題がある場合は、自分で作ったわけですからどこをどういじればいいのかが発見しやすいというメリットがあります。
機械学習がすべてを解決してくれるような期待もありますが、まだその域までには到達していないようですね。
GoogleにはGoogle Brainといって機械学習や人工知能を専門に研究するチームがあります。
このチームが、Googleのさまざまなプロダクトで役立つ機械学習の開発に貢献しています。
RankBrainは、このチームと検索部門の連携によってできあがったものです。
機械学習によるアルゴリズムはまだほんの一部分だとしても、今後はもっともっとアルゴリズムの多くの領域に進出してくるでしょう。
もっとも僕たちがやることは変わりません。
ユーザーの役に立つコンテンツをユーザー体験の優れたサイトで提供していくだけです。