当連載は競馬AIの作者を、単行本『AI競馬 人工知能は馬券を制することができるか?』の著者・城崎哲氏と元『競馬王』編集長・柿原氏がインタビューし、城崎氏が対談形式にまとめたものです。
なお、インタビューに登場する赤兎馬氏のAIコンテンツは『競馬放送局』にて公開中です。
前回の話は、ディープラーニングの新しいライブラリを使って大きく性能が上がったところまで。今回は新しいディープラーニングがこれまでとどう違うかについて聞く。
ロボット業界でディープラーニングはどう使われるか
城崎(以下、J):「仕事でもPython(※1)はかなり使うんですか?」
赤兎馬(以下、赤):「ロボットの業界では基本Pythonは使わないんですが、このところディープラーニングを活用する機会が多くなって、使われ始めたという感じですかね」
J:「Python以外では何を使っているんですか?」
赤:「組み込みソフトだと応答スピードを出しやすいC++(※2)を使うことが多いです。入社したばかりの頃はC#(※3)でGUI(※4)作ってました。競馬を始めて最初に作った指数ソフトはC#で作りました」
J:「要するに何でも書けるわけですね」
赤:「何でも書けるわけではありませんが、その後に仕事でディープラーニングを使う必要が出てきたので、機械学習の勉強がてらPythonをやり直して、指数ソフトもPythonで作り直したんです」
赤兎馬がアルゴリズムを決定木系からディープラーニングに変えたことは前回述べたが、もともと赤兎馬の本業には決定木よりディープラーニングのほうが近かったわけだ。赤兎馬の話を聞くうちに、ディープラーニングに関しては使いこなせるかどうかの問題が大きいと改めて気づく。
ディープラーニングでもカテゴリ変数が扱えるようになった
J:「ロボットの世界でディープラーニングはどんな用途で使われているんですか?」
赤:「vision系に繋がる部分が多いですね。画像認識とか」
J:「でも、それとはまったく違いますよね。赤兎馬さんがディープラーニングでやろうとしている競馬の分析は」
赤:「全然違いますね。でもアルゴリズムは流用できますから」
J:「その場合の特徴量の与え方というのは、決定木系のアルゴリズムでそうするのと同じように、特徴量をいくつか、ばっとぶっ込んで、みたいな形になるのですか?」
赤:「それができるようになったということです。従来のディープラーニングではカテゴリ変数(※5)が扱いにくかったのですが、埋め込み(※6)層を使ってそれを上手に処理できる方法が考案されたので」
J:「その技術は最近出てきたんですか?」
赤:「最近ってほどでもないですが、使いやすくなったのは最近です。ライブラリが整ってきた、と言うべきかな。たとえば言語系はまさにディープラーニングが成果を出している分野ですが、そこでは数値じゃない、言葉のカテゴリをどう捉えるか、単語をベクトル空間にどう埋め込むか…みたいな研究が盛んで、その辺の知見がどんどん流れてきて使えるようになってきたということです」
J:「やっぱり動きが速いですね」
赤:「変化が激しいですよね。新しいものが次々に出てきますから」
J:「ディープラーニングでは何が今の主流なんですか?」
赤:「今はトランスフォーマー(※7)という方法がホットかな」
J:「初耳ですね」
柿原(以下、K):「映画か?と思った(笑)」
赤:「画像認識でもそうだし、言語系や音声系でも、トランスフォーマーでやって、最高の性能を達成しました、みたいな論文がたくさん出ています。ついていくのが大変です」
K:「そうなっていくとやはり現役で、本業でバリバリやっている強みはかなりありますよね」
※次回(12/1更新)に続く
(※1)Python
機械学習で最も多く使われている言語。インデント(字下げ)が構文のルールになっている点が特徴。
(※2)C++
機械語に近く文法も難解だが、機械語に近い分実行速度が速く、組み込みソフトやアプリケーションなどで多く使われているプロ仕様の言語。
(※3)C#
C言語の文法を継承しつつ、Visual Basicに近い書きやすさを取り入れた一般プログラマー向けの言語。
(※4)GUI
Graphical User Interfaceの略語。コンピューターへ出す命令や指示等をコンピューター画面上で視覚的に指定する方法。
(※5)カテゴリ変数
名称のような、ものや概念を定義づけするための変数。数値であっても「1組」「2組」「3組」……のような、数値の大小関係に意味がない変数。
(※6)埋め込み(embedding)
カテゴリ変数をベクトルに書き直して機械学習の特徴量として使いやすくすること。自然言語処理の場合は各単語に対して固有のベクトルを与えることになる。
(※7)トランスフォーマー
2017年に発表されたディープラーニングの新しいモデル。アテンション層の設定により、データを逐次処理でなく、並列処理することができるようになり、処理速度が大幅にスピードアップした。
▼赤兎馬プロフィール
2015年東京大学大学院情報理工学系研究科修了。2017年夏の競馬観戦をきっかけに競馬にのめり込む。2017年冬より独自指数の開発をはじめ、その後着順予測AIを開発しTwitterやnoteなどのSNSで活動中。
競馬AIを特集した競馬王2020年7月号や業界初の競馬AI単行本、城崎哲著『AI競馬』(ガイドワークス)に登場。ロボットAIエンジニアとして日々最新技術に触れ、それらを取り入れた独自の競馬AIは日々進化中。