各所でAIの重要性が叫ばれる一方、AIの開発にかかる膨大な時間や手間が導入の障壁になっているのが現状だ。こうした課題を解決するために、最適なハイパパラメータの探索(Hyperparameter Optimization、以下HPO)を自動で行うHPOモジュールの開発を目指してこのコンペティションが開催されることとなった。特定の問題を解くというコンペティションが多い中、今回のコンペティションは汎用的な問題を解くことが求められたため、その難易度の高さから参加者たちは頭を悩ませた。 そんな本コンペティションで見事1位に入賞した長澤順平さんは、なんとエンジニア出身ではなく、ビジネス職出身だという。果たして、今回のコンペティション参加の動機とは何だったのか。そして、ビジネス職でありながらどのようにして1位入賞を果たしたのか。取り組みにおける工夫、参加で得られた学びについて率直に伺った。
人生は短いのだから、難しくて面白いことに飛び込みたい。そう思い参加を決めた。
デジタル領域の新規事業開発の立ち上げなどをする中で、ビジネス・技術両面のスキルを磨く必要があったため、ビジネス職ではあるもののプログラミング自体には10年以上前からずっと触れてきました。さらに、現在ソリューションデザイナとして所属しているLaboro.AIでは、エンジニアとソリューションデザイナがタッグを組んで仕事をしており、的確な戦略設計や議論のために相当なエンジニアリングの知見が求められます。画像認識の案件を担当する際はエンジニアに渡す前に自分でデータをすべて確認するし、最新の論文も読むし、もちろんPythonも触る。ですので、体系的にエンジニアの知見を得る必要があり、自分の手を動かして学びたいと考えていたのです。そのために、様々なアプローチをハンズオンで試せるコンペティションがうってつけだと思い、これまでも色々なコンペティションに参加してきました。 そんな中で今回のコンペティションに参加を決めたのは、一番難しそうだと感じたためです。汎用的な課題を扱うため、他のコンペティション比べて難易度が高い。つまり、機械学習のスペシャリストたちが参加するコンペティションになるということ。人生は短いから、なるべく楽しそうなことに興味を持つというのが僕の信条なので、こんなにも難しくて新しくて面白そうなコンペティションなら参加するしかないと思い、すぐに応募しました。
この課題を解く方法は、まだこの世にない。そう考え、仮説ベースで進めていった。
課題に取り組み始めてみると、かなりテクニカルなコンペティションだなという印象があり、エンジニアとチームを組むべきだったなと早くも後悔しかけました(笑)。しかしリーダーボードを見ると、意外と皆苦労している。その様子から、この課題を解く最適な手法はまだ世の中に確立されていないのではと考えました。だから凄腕のエンジニアたちを困らせているのではないかと。ただ、それはあくまで予想でしかありません。本当に手法が確立されていないのか、今回使用が条件づけられていたaiaccelのコードを確認したり、ハイパパラメータに関する論文を読み漁ったりしたところ、やはり最適な手法は見つかりませんでした。 そこで僕が採用したのは、仮説ベースで進めていくという方法です。最適な手法がない=正解がない以上、正解不正解はさておき一度仮説を立てて、間違っていたらその都度仮説を修正して進めていくのが良いのではと考えたのです。この仮説ベースの進め方は、お客様のニーズの整理や戦略設計を本職とする僕にとって最も得意な方法。仮説の質によっては自分にも勝ち目があるかもしれないと思い、モチベーションが高まりました。 その後、仮説を立てては反証し、反証しては仮説を立て直すといった形で進めていきました。仮説ベースで進める上で重要なのは、意地悪なもう1人の自分を持つことだと思います。「本当にこれで合っているのか?」「数値を変えても同じことが言えるのか?」と何度も問い続けることで、誤った方向に進むのを防ぐことができます。
本業も家族との時間も確保しつつ、効率的に進める方法を追求した。
今回工夫した点は色々ありますが、その中の1つがオブジェクト指向で進めたことです。まだ手法が確立されていないということを前提に進めていくため、いつでも軌道修正できるよう、各プログラムが個別に動くこの方法を採用しました。解法の詳細になりますが、Generatorのみならず、Manager単位でも入れ替え可能にしたことで、かなり柔軟に調整することができたと思います。 もう1つ工夫した点は、使える時間が限られている中でいかに効率的に進めるかということ。コンペティションに参加してから、2人の娘に「仕事が終わったのに、どうしてまだPCに向かっているんだ」と聞かれ、ぐうの音も出なかったんですよね(笑)。本業や家族との時間も確保しつつコンペティションに参加するためには、削れる作業はとことん削る必要がある。そこで目をつけたのがChatGPTです。その頃はまだChatGPTはあまり注目されていなかったのですが、趣味の範囲で日常的に触っていたので、膨大なテスト関数を作る際に「ChatGPTに任せてみようかな」と思いつきました。生成されたコードを確認すると何も問題ない。これはいけるぞと確信し、テスト関数の作成はすべてChatGPTに任せることにしました。想像以上に精度が高いので、今後コンペティションに参加する方は、ぜひChatGPTを活用してみてほしいです。
自分が楽しいと思えるかどうか。その軸はブラさずに、学び続けたい。
1位入賞はもちろん嬉しいですが、今の仕事にポジティブな影響を与えることができたことが特に嬉しいです。これまでは、AIといえばエンジニアというイメージが強く、ソリューションデザイナと言うと「本当にAIにどこまで詳しいの?」と思われている感覚もありました。しかし、今回のコンペティションでこうした結果を残せたことで、ソリューションデザイナもAIのスペシャリストなのだと対外的に示すことができるようになりました。また、仮説ベースの考え方が結果に結びつくということが証明できたことで、今の仕事をする上でも恐れずに何度でも仮説に立ち返ろうと思えるようになりました。非エンジニアだからこそ、こうしたコンペティションに参加するだけでも箔が付くし、自分の幅を広げることができるのだとビジネス職の方々に強く伝えたいです。 ただ、もしエンジニアとチームを組んでいれば、より深い回答を求めることができたのではないかという心残りもあります。そのため、コンペティション終了後、社内にコンペティション部を立ち上げました。すでに今、他のコンペティションにも参加しており、ソリューションデザイナが仮説を立てて、エンジニアがその仮説をもとに最適なモデルを構築するという理想的な流れで進めることができています。 今後もコンペティションには積極的に参加していきたいですし、本業も頑張りたい。自分の最期に「あいつ、なんかよくわからないけどいつも楽しそうだったよね」と言われることが目標なので、60歳になっても80歳になっても、自分が楽しいと思えるかどうかを大切にして何事にも取り組んでいきたいです。
コンペティション参加を検討している方へのメッセージ
今回のように、エンジニアリングスキルやAIの知見だけでなく、課題を適切に捉えて仮説ベースで考えることが結果に結びつく場合もあります。だからこそ、エンジニア以外の方にもぜひ勇気を出して参加してみてほしいですね。それに、エンジニアではないからこそ得るものもたくさんあるだろうし、そうした方々の視点が入ることで、コンペティションそのものにも面白い化学反応が起きるかもしれません。職種や経歴にとらわれず、面白そうだと思ったら飛び込んでみてください。