ご存知の通り、世界はいま人工知能(AI)ブーム。近年の人工知能の発展に大きく貢献した技術が機械学習という技術で、入力と出力の組からその背後にある関係のモデルを自動で構築するという技術です。
Googleの人工知能が囲碁で世界チャンピオンを圧倒したり、車の自動運転などにも応用されたりなどここ10年ほどの技術の進歩が凄まじいわけですが、この技術をスポーツにも応用しようという動きは各所で見られます。
例えばちょっと古いですが、2015年にミズノと筑波大学がプレスリリースした内容によれば、ランニング中の動作データを人工知能に与えて点数化し、上級者と初心者に分類するスキルグルーピング技術を開発したようです。
ミズノはフォーム診断サービスをやっていますが、おそらくこのサービスで集めたデータが使われ、サービス品質の向上にも活かされているのでしょう。
他にはニューヨーク・タイムズ紙によるヴェイパーフライの市民ランナーへの影響を統計分析した例も、Stravaから集めた膨大なデータを用いた予測モデルの構築に機械学習の技術を用いていると考えられます。
この機械学習技術を使って、膨大なランナーのトレーニングデータを適切なモデルで学習させることができれば世界最高のトレーニングコーチができるのではないかと個人的には考えているのですが、同じことを考える人は当然いてすでにプロトタイプの実装まで完了して無料で公開している人がいました。
この記事ではその紹介をしようと思います。
- 解説記事
- サービス本体
何ができるのか?
トレーニングデータからレースの予測タイムを推測
これはGarminなどにも実装されている機能かと思いますが、Garminの場合はトレーニング時のペースと心拍数からVO2max(実際はVDOT)を推定して、そのVDOTの等価タイムを表示しているだけだと思われます(最近の機種は違うかも)。
一方、上記記事の方が実装したモデルでは、Stravaで集めた様々なランナーのトレーニングログとレースのタイムの組からその関係モデルを構築し、自分のトレーニングログを入力として予測タイムが得られるという仕組みです。
過去のトレーニング履歴からパフォーマンス向上のためのヒントを提供
こちらが本命。自分と同レベルのランナーのモデルについて走行距離や、各心拍ゾーンのトレーニング時間などを比較でき、どこが優れていてどこが劣っているかを表示できます。例えばこんな感じ。
この図で青い点が自分で、走行距離などの各項目について自分が同レベルのランナーの中でどの程度の位置なのかを確認できます。赤いゾーンが下位10%、緑のゾーンが上位10%。
各項目は潜在的に走力が向上する見込みが高い順に並んでいるようです。この例では週の走行回数が一番重要という判定ですね。
この情報だけを見てトレーニング計画に落とし込むのもまた難しいのですが、基本的には相対的に苦手な部分を埋め、長所が伸ばせそうならさらに伸ばす、という方針になるのかなと思います。
感想
まだ学習に用いたデータも少ないみたいですし、プロトタイプなので機能も少なく実用度は高くないかもしれませんが、ここまで実装して公開までされているのはすごいの一言。おそらくデータ収集の目的もあるのだと思いますが。
この作者様が趣味でやったのか研究の一環でやったのかはよくわかりませんが、どちらにせよ素晴らしい仕事ですね。エンジニアとしての格の違いを感じさせられます。もう少し洗練させればサービスとしてお金も取れるレベルかと思います。
一方、市民ランナーのほとんどはセルフコーチですから、走力向上のために自分で練習メニューをあれこれ考えるのも大きな楽しみの一つだと思います。将来的に人工知能がコーチングでも最強になる時代が来るかもしれませんが、それだと面白くないから自分でメニューを立てることにこだわる人も多いかもしれません。
まとめ
- 人工知能、とくに機械学習技術をスポーツに応用する動きが加速しているよ
- Stravaのデータを用いて、トレーニングログからタイムやトレーニングアドバイスをしてくれるサービスを試験的に動かしている人もいるよ
- 今後、人工知能が最高のコーチになったとしても、自分でメニューを組み立てる楽しみもあるからそれに従わない人も多いと思うよ
コメント