AIの技術活用が進む今、AI人材の育成が必要不可欠になってきている。AIやIoTを活用した実証プロジェクトを中心にさまざまな取り組みを行っている「ひろしまサンドボックス」でも、地域におけるAI人材の持続的な育成を目指して多数のコンペティションを開催してきた。今回のコンペティションも、新たなAI人材の発掘と育成を目的に、河川の推移や雨量、潮位といった観測データを用いて翌日の水位を予測するアルゴリズムを募集する運びとなった。 本コンペティションで見事1位に入賞した大庭崇稔さんは、普段は年金アクチュアリーとして数理計算業務を行っており、プログラミングの経験はほぼゼロに等しかったという。果たして、なぜ未経験から1位を獲得することができたのか。そのモチベーションとは何だったのか。参加を決めた経緯や取り組みにおける工夫、参加で得られた学びについて率直に伺った。
AIを使いこなせる人材になるために、社内の公募制度に手を挙げた。
2022年の3月まで、三井住友信託銀行で年金アクチュアリーとして働いていたのですが、業務のマニュアル化などをしても部分的な最適化しか進まず、事業全体の最適化ができていないことにもどかしさを感じていました。一体どうすれば全体最適化を進めることができるだろうか。そんなことを考えていたときに、テレビでプロ棋士がAIの指し手を解説している姿が目に入ったのです。AIとプロ棋士を戦わせてどちらが上か競うのではなく、プロ棋士がAIを用いて戦術を勉強する。その様子を見た瞬間、AIの可能性に気づいたのです。AIを使いこなす力があれば、全体最適化も進めることができるかもしれない。そう考え、AIを学ぼうと決意しました。 そんな中、日本電気(以下NEC)がAI人材輩出を目的に開校した、約1年間NECへ出向してAIやデータサイエンスを学ぶ「NECアカデミー for AI 入学コース」への社内公募があることを聞き、すぐに手を挙げました。入社して約15年が経った上で新たな挑戦であり、管理職として現場から離れていくだけでなく、プレイヤーとしてまだまだ知識を深めたいという気持ちもあったため、応募への迷いはなかったです。 いざ講座が始まると、AIやデータサイエンスの基礎知識を座学で学ぶだけでなく、NECで扱っている実際のデータを用いてモデルをつくってみたりと、学習と実践を繰り返しながら成長することができました。ただ、三井住友信託銀行から出向させてもらっている以上、「ここまで成長できました」と胸を張って帰れるような成果を残したいという気持ちがあり、少し焦っていました。このままでは自己満足で終わってしまう。そう思っていたときに、同アカデミー 内で「ひろしまQuest2022~河川の水位予測~」コンペティションの案内があり、興味を持ちました。比較的難易度が低い回帰分析がテーマでしたし、初心者の自分でも取り組みやすいのではないかと考え、思い切って参加することに決めました。
がむしゃらに進めるのではなく、まずはじっくりデータと向き合うことにした。
参加を決意した後、まず手をつけたのはデータの分析でした。やみくもにモデルを設計したり、「なんとなく」で決めつけて進めたりするのではなく、きちんとデータと向き合う。データの特徴を捉えることが大切だと講座内で口酸っぱく講師の方から言われ続けてきたため、その教えに素直に従おうと思ったのです。 いざデータを見て最初に感じたのは、欠損値や外れ値が多いということ。河川の水位を表すデータなのに「300m」などの外れ値もあり、これらの値をどう検出するかが今回の肝になるだろうと思いました。その糸口もデータとじっくり向き合えば見えてくるはずだと考え、日付ごとに横に並んでいたデータを1時間ごとに縦に並び替えた後、データ・場所・緯度や経度・平均値などをグラフ化して分析していきました。今回最も時間をかけたのは、モデル作成ではなくこうしたデータ分析だったと思います。 データを分析していったところ、河川によって増水しやすさに特徴があることや、東より西にある河川の方が水位の変動が大きく、北と南でも差があるということが分かりました。そこで河川名や緯度・経度をカテゴリ変数として取り入れることにしたのです。このカテゴリ変数によって、欠損値や外れ値をスムーズに取り除くことができるようになりました。とはいえ、これは特別な分析を行ったからではなく、相関係数や標準偏差など、データサイエンスの基礎中の基礎を行った結果にしかすぎません。基本が大切だと頭では分かっていましたが、改めてその大切さを強く実感しましたね。
コーディングミスなど初心者ならではの壁にもぶち当たったが、粘り強さが結果につながった。
データの分析がうまくいったからといって安心はしませんでした。今回のコンペティションは、予測結果ファイルではなく、学習済みモデルと推論部分のソースコードで評価されるため、期間の後半はモデルの精度向上に注力しました。 プログラミング初心者の自分にとっては、この部分が最も苦戦しました。最初はLightGBMを使っていたのですが、より精度を上げるために途中でニューラルネットワークとアンサンブルすることに決め、解説本を片手に最適なアンサンブルを模索していきました。「NECアカデミー for AI 入学コース」に入学するまではPythonのコードさえ書いたことがなかったので、本業でプログラミングを手がけている方からしたら驚くようなミスを何度も連発しました。 それでも、これまで学んだことを振り返ったり、データコンペ初心者向けの書籍を読み込んだりした結果、LightGBMのみで動かしていたときよりも精度を上げることができました。締め切りの数時間前まで粘り強く精度向上に力を注いだ結果、自分のコーディングミスにも気づくことができ、月並みですが諦めないことの大切さも痛感しましたね。教わったことを無視せず、ミスや疑問を一つずつ潰していったことが、今回の結果に結びついたのだと思います。
業務の効率化はもちろん、新たな事業創出にもAIを活用していきたい。
自分が出向して学んだ成果を形にできればとは思っていましたが、1位をとれるとは夢にも思っていなかったので本当に嬉しいですし、AIを学んでいる最中の自分でも優勝できたことが自信になりました。この結果を通じて、たくさんの人に「AIやデータサイエンスは遠い存在ではなく、自分にも挑戦できる」と感じてもらえたら幸いです。それに、コンペティションではこれまで学んできたことを実践し、自分のスキルを試すことができる。そのため、業務でデータサイエンスのスキルが必要だと感じている人にこそ、ぜひコンペティションへの参加をオススメしたいです。 また、2023年の3月をもって「NECアカデミー for AI 入学コース」の全講座を終えるので、三井住友信託銀行に戻った後は、この1年間で学んだことを活かしてデータ分析やAIの技術を業務にどんどん取り入れていきたいです。それによって、元々の狙いだった事業の全体最適化のみならず、AIを活用して企業年金の運営方法を提案するなど、新たな事業にも展開していければと思います。 そうした未来を実現するためには、データサイエンスと切っても切り離せないプログラミングスキルなどのIT技術を身につけていく必要があると思います。ソフトウェア・ハードウェアの基盤構築やAWSなどのクラウドの知見なども深め、AIを存分に使いこなせる人材になれるようこれからも努力していきたいです。
コンペティション参加を検討している方へのメッセージ
AIの技術やデータサイエンスを学び始めたばかりの人からすると、Kaggleなどのコンペティションの上位層は雲の上の存在に感じるかもしれません。私自身、自分には到底及ばないと思っていました。しかしそれをサッカーに例えるなら、未経験なのにワールドカップの決勝戦を見ているようなもの。最初からトップを見るのではなく、地区予選の上位を狙うくらいの気持ちで「下位30%以上には入るぞ」など、自分に合った目標設定をするとよいと思います。そして継続してコンペティションに参加して、少しずつステップアップしていくのをオススメします。 三井住友信託銀行 https://www.smtb.jp/
NECアカデミー for AI https://jpn.nec.com/nec-academy/