いよいよ本日、
今回、
テクノロジーの進化はスポーツにどのような影響を与えるのか、
上川伸彦氏(写真左):
株式会社ビーブレイクシステムズ技術担当取締役。父親が中日ファン、
Q:まず、
今回利用したDL4J (Deep Learning for Java) の特徴を教えてください。 上川: 商用サポートも提供されている高機能なプロダクトで、
ホームページを見るとわかるとおり、 サンプルも充実しています。本格的に使えるディープラーニングのライブラリの中で、 Java向けのプロダクトは、 現時点では唯一と言っても良いと思います。 - Deep Learning for Java
- https://
deeplearning4j. org/ ja-index
Q:今回、
DL4Jでペナント予想をしようと思ったきっかけは何でしょうか? 平原: 元々、
ペナントレースの予想大会が、 社内の10名程度の有志により、 2016年に始まりました。酒の肴ですね。 上川: 2016年の冬に、
2016年ペナント予想の答え合わせの飲み会があったんですが、 たまたまそこに私が参加して、 その流れで、 2017年の予想大会に呼ばれたことがきっかけでした。 正直、
私は、 野球をそれほど見ているわけではないので、 他の参加者のように、 好きな球団を熱烈に押すこともできないし、 冷静に各球団の戦力を分析して順位を予想することもできませんでした。そこで、 「コンピュータに予想させよう」 と、 AIを使うことを思いつきました。 平原: ちなみに、
2016年ペナント予想では、 誰一人として、 優勝チームを当てることができませんでした (笑)。 上川: 何よりも、
その結果が強烈に私の背中を押しましたね。 「あ、 外れ前提で大丈夫なんだ (笑)」と。 Q:なるほど。社内交流の場がきっかけで、
さらにそれほど野球に詳しくない上川さんが参加したことの2つが重なって、 AI予想をすることになったんですね。 さて、
今回の予想は、 どのようなデータを用いて、 どのようなプログラミング (前提条件) で行ったのでしょうか。 上川: 今回使ったのは、
球団ごとの年度成績、 ドラフトやトレードのデータです。年度成績は、 NPB (日本野球機構) のオフィシャルサイトで公開されているデータで、 順位や打撃成績、 投手成績、 守備成績になります。ドラフトやトレードのデータは、 オフィシャルサイトにはありませんでしたので、 情報が載っているサイトを探し、 そこから自分たちで用意しました。 前提として社内の予想大会があるので、
参加するためにもそれっぽい結果が出ることを優先させました。とにかく、 結果 (それぞれ1~6位の順位付け) を出すことが前提です。 予想に影響があるであろうデータを用意し学習させ、
学習したモデルから結果が出ることを最重要要件として実施しています。そのため、 ハイパーパラメータは、 検討して決めたというよりも、 試行錯誤で結果が出そうな値を、 あまり考えずに使ったりしています。この点については、 今後さらに改善の余地があると感じています。 また、
当初はAIに順位を予想させていたのですが、 あまりうまく結果を出すことができませんでした。そこで、 順位予想の前段階として、 勝ち数と負け数を予想させることをゴールにしました。その数値を、 別途計算し、 勝率を求めて順位を予想するという方法を採用しています。
今回の予想に関する備考
使用した過去のデータと条件
- 10年分
(2007~2016年シーズン) のもの - 「ドラフトやトレードの人数
(過去4年分)」および 「各チームの順位、 打撃成績、 投手成績、 守備成績 (過去2年分)」をまとめて入力情報とし、 「次の年の勝数・ 負数」 を出力情報として学習 - 1球団につき223次元のデータ
(ドラフトやトレードの人数の過去4年分、順位・ 打撃成績・ 投手成績・ 守備成績の過去2年分) を採用
使用したディープラーニング構成
- 全結合×3階層のニューラルネットワーク。中間層のノード数は1,000~10,000
- ハイパーパラメータの値は、
学習が進みそうな値を人的に決定 - 学習回数は12,600~126,000回。学習率=0.
0001~0. 000005。セパ別々に学習を実施 - 元データが少ないため、
過学習になると想定。そのため、 学習化程度の精度推移を見ながら、 安定した状態での予測値を採用
結果の出し方
- 球団ごとに
「勝数×確率の合計値」 「負数×確率の合計値」 を求め、 そこから算出された勝率が大きい順に1~6位の順位付けを行う - それぞれの球団の勝数・
負数は記事最後のとおり
Q:実際にDL4Jで予想してみた結果について、
技術的観点から気になった点、 ぜひ紹介したい点があれば教えてください。 上川: 先ほどもお伝えしたとおり、
今回は結果を出すことを最優先とした機械学習を行いました。ですので、 はっきり言えばそれっぽい結果を出しただけです。なので、 引き続き、 学習したモデルの内容を解析することを考えてます。 学習したモデルを解析すれば、
たとえば、 勝ち数には打撃成績が、 負け数には守備成績が関係している、 といった興味深いことがわかるかもしれませんし、 ハイパーパラメータのチューニングのヒントが見えてくるかもしれません。 もしくは、
全然逆で、 実はそれっぽい結果が出ているだけで、 全然ディープラーニングで学習する意味がないお題目だったといったようなつまらないことが見えてくるかもしれません。 どちらにせよ、
今年の秋、 答え合わせの際に、 言い訳にもなるので、 前向きに捉えて進めたいと思います。 Q:逆に、
結果を見て、 (AIによるペナント予想で) 課題と感じた点があれば教えてください。 上川: やはり、
データ量が不足しているのは課題なのだろうと思います。その一方で、 たとえば、 今回使いませんでしたが、 オープン戦や2軍の成績、 選手の年棒や観客動員数等、 順位に関連しそうな情報は、 まだまだたくさんあります。 このように、
データ量が少ないのに使うデータの種類が増えると、 一般的には、 うまく学習できないと言われていますので、 学習のさせ方や、 学習したモデルの使い方を工夫することが重要だと感じています。 また、
学習したモデルを解析して、 その辺りのヒントが出てくれば良いなあと期待しています。もっと大きな課題が見つかるかもしれませんが。 Q:さて、
映画 『マネーボール』 をはじめ、 ここ日本でもプロ野球でデータを活用することが認識され始めました。チームでの活用はもちろん、 今回のペナント予想のような形での活用も増え、 これからITとプロ野球、 さらにはスポーツがより密接になるように思います。 このような形で、
皆さんが思うスポーツとITが生み出すこれからの可能性はなんでしょうか。 上川: 囲碁や将棋と同様、
新しい手法や、 これまでと違った視点での戦術等が生まれる可能性があるかと思います。たとえば、 プロ野球だったら、 勝利につながる何か、 効率の良いチーム強化に繋がる何かを、 AIを使って解析することにより、 パラメータとして抽出できることになりますので、 これが、 新しい手法や戦術の発見につながる可能性があります。 『マネーボール』 では、 とくに出塁率の高さを重要視したシーンがありました。たとえば、 そのような判断材料になりうるデータや類似したパラメータを、 AIが発見すると言ったことが考えられますね。 また、
一般論として、 AIに学習させて、 意味のあるアウトプットを得ようとすると、 ある程度のボリュームのデータを集めなければなりません。すでに行われていることではありますが、 試合の映像から自動的にデータを作成する必要がありますし、 そのために、 たとえば用具にセンサーを埋め込んでデータを取得するといったように、 「多くのデータを収集する」 という動きが、 今後さらに活発になっていくだろうと思います。 今後、
野球に限らず、 さまざまなスポーツ分野でITが活用されることで、 選手やチームの進化、 それによる競技自体の進化が加速することを期待しています。 平原: すでにアメリカのメジャーリーグの球団や日本の数球団で、
チーム編成にIT技術を取り入れていると聞きます。この動きはますます活発になるでしょう。さらに、 未来には 「AIが監督として試合の采配をする」 といったチームが出てくるかもしれません。 近い将来、
ワールドシリーズや日本シリーズで 「名将対AI監督」 の戦いを見られたら、 野球の新しい楽しみ方が生まれますね。
――ありがとうございました。
非常に興味深い取り組みを伺うことができました。ここ数年、
さて、
パ・ | ||||||
---|---|---|---|---|---|---|
順位 | チーム | 平均勝数 | 平均負数 | 平均分数 | 勝率 | 2016年順位 |
1位 | 北海道日本ハムファイターズ | 81. | 53. | 8. | .6065 | 1 |
2位 | 福岡ソフトバンクホークス | 83. | 54. | 5. | .6063 | 2 |
3位 | 千葉ロッテマリーンズ | 73. | 69. | 0. | .512 | 3 |
4位 | 埼玉西武ライオンズ | 69. | 74. | -1. | .485 | 4 |
5位 | オリックス・ | 62. | 71. | 9. | .464 | 6 |
6位 | 東北楽天ゴールデンイーグルス | 65. | 78. | 0. | .455 | 5 |
セ・
| ||||||
1位 | 読売ジャイアンツ | 85. | 57. | 0. | .596 | 2 |
2位 | 広島東洋カープ | 75. | 69. | -1. | .519 | 1 |
3位 | 中日ドラゴンズ | 68. | 68. | 6. | .503 | 6 |
4位 | 阪神タイガース | 64. | 76. | 3. | .457 | 4 |
5位 | 横浜DeNAベイスターズ | 64. | 78. | 0. | .449 | 3 |
6位 | 東京ヤクルトスワローズ | 60. | 76. | 7. | .441 | 5 |