豊田自動織機主催・フォークリフト自動運転×強化学習ハッカソン 最優秀チームインタビュー
1926年の創業以来、繊維機械部門・自動車部門・産業車両部門など多様な分野での事業展開してきた株式会社豊田自動織機。同社が主催するイベント「フォークリフト自動運転×強化学習ハッカソン」が2021年12月22日(水)、23日(木)、24日(金)の3日間にわたり開催された。
本イベントは、同社の幅広い分野の中でも産業車両・物流ソリューションの部門にフォーカス。業界トップランナー企業の現場を担う社員と一緒に、物流ソリューションにおけるデジタル・AI技術を用いた新たな価値創造について考えるプログラムだ。
株式会社豊田自動織機は、社祖・豊田佐吉が発明したG型自動織機の製造・販売のため創業。その後、事業の多角化を進め、繊維機械、自動車、産業車両、エレクトロニクスと事業領域を拡大。世界各地にグループ会社を保有するグローバル企業でもあり、関係会社数は2020年度末時点で276社を超え、従業員数66,947名のうち約7割の従業員が海外にて活躍する。
プログラムは、1~2日目にハッカソン、3日目は若手ソフトウェアエンジニアとの座談会やプロジェクトマネージャー達から今後の技術開発への想いを聞いたうえで交流を行う2部構成。ハッカソン部門では参加者は数名のチーム単位で活動。多様なスキル・バックボーンを持つ参加者同士で知恵を出し合い、相互に学び合う環境が整えられた。さらに、豊田自動織機の現役社員がメンターとして参加、個別のフィードバックも実施された。
学生たちは3日間、自動運転フォークリフトの開発体験や、産業車両・物流の未来に触れるコンテンツを通じて、同社の価値創造のプロセスや最先端技術への取り組みなどを学んだ。チームで手を動かして難題に挑戦し、コンテンツや先輩社員の話から新たな知識を得られる本イベント。自分自身の今後の活躍の可能性を伸ばすことのできるプログラムとなっていた。
本インタビューでは3日間のイベント中12月22日・23日で開催されたハッカソン部門について、見事最優秀賞に輝いたチームの皆さんにお話を伺った。
最優秀チームメンバー
田中博之さん 名古屋大学 工学研究科 物質プロセス工学専攻 材料系
黒田峻弘さん 筑波大学 理工情報生命学術院 システム情報工学研究群 情報系
伊藤智亮さん 大阪府立大学 工学研究科 電気・情報系専攻 電気・電子系
古川翔也さん 名古屋工業大学 工学研究科 工学専攻 情報系
―大学での研究内容を教えてください
田中さん:
大学では、シミュレーションや機械学習を用いて、太陽電池の結晶シリコンをつくるための製造装置の設計をしています。
黒田さん:
機械学習の学習用データ不足を想定し、データセット変換を用いて学習用データを補完することで、高精度を出す研究をしています。
伊藤さん:
大学では、光を使った画像識別をする際、識別に使うためのフィルターをニューラルネットワークを用いてつくる研究をしています。
古川さん:
私は人間の脳波から感情を推定するAIモデルをつくる研究をおこなっています。
―ハッカソンに参加したきっかけは?
田中さん:
企業が使用する高度なプログラムに触れた経験があまりなく「プログラムに触れてみたい」「豊田自動織機を深く知りたい」と考えたのが参加のきっかけです。
黒田さん:
メーカーで情報系の人材として働くのはどんなことか知りたいと思っていました。業務の疑似体験ができ、社員の方とも関われるのではないかと思い参加しました。
伊藤さん:
私は産業車両の自動運転に取り組みたいと考えており、これまでも豊田自動織機のインターンシップに参加してきました。今回は、私の取り組みたい内容がハッカソンで開催されることになり「挑む」想いで参加しました。
古川さん:
豊田自動織機のインターンシップには夏から参加しています。身の回りで強化学習の技術が使われていることを前々から感じており、実際に技術を使って企業が実践することに触れられる貴重な機会だと思いました。
―参加してみていかがでしたか?
伊藤さん:
私はプログラムを書くのが苦手で、強化学習の知識も浅く、とくに最初のスタートは出遅れているように感じていました。そこで、1つずつ基礎の基礎から追いついていこうというモチベーションで進めていきました。「わからないときに基礎に立ち戻る」ことがきちんとでき、それが最終的に結果につながったと思っています。
田中さん:
プログラムを書く部分では、黒田さんと古川さんがチームを先導してくれました。伊藤さんが、序盤でわからないという質問を投げかけた際は、私自身もわかっていない部分もあったので、1日目は共に学ぶ場面が多かったです。
黒田さん:
私としては、助けてもらったことの方が多いと感じています。わからないことをわかるまで聞いてくれたので、どこがわからないか明確でした。
古川さん:
伊藤さんの「ここがわからない」というポイントは、はっきりしていたので、質問に答えやすかったです。
全体を通しては自分の知識を共有できたというより、みんなで意見を出すことができたのではないでしょうか。
―強化学習はもともと得意分野でしたか?
田中さん:
実際に強化学習のプログラムを見て、自分で動かして、そのプログラムを使って何かをした経験はありませんでした。WEB教材で勉強した際に強化学習の概要に触れた程度です。
伊藤さん:
強化学習という言葉も今回初めて知りました。機械学習にもあまり触れておらず、未経験での挑戦でした。
黒田さん:
研究室の友人が強化学習に携わっているため、何となくのイメージは持っていましたが、どのようにコーディングするのかは知らない状態でした。普段、Pythonでコードを書いているので、変数の意味する内容は理解できましたが、実際にどうすれば精度が上がるかは全くわかりませんでした。
古川さん:
強化学習は未経験でしたが、機械学習系の研究室にいるので用語は知っていました。プログラムを書けたのは、同じPythonを使っていたからです。今回のサンプルコードは、とてもわかりやすく、どこを触るか指定されているなど、しっかりガイドラインがあったので進めやすかったです。
―好成績を修めましたがどのような工夫をしましたか?
黒田さん:「転移学習(※1)を使ったのがよかった」というのが皆の共通認識だと思います。簡単に言うと、最初からランダムな値である程度学習して、学習した値を使って更新していくと、初期値が良いので精度が出る手法です。私と古川さんが普段の研究で触れており、その部分(編集注:転移学習をするためのベースプログラム)がサンプルコードに書いてありました。他のチームとの一番の差が出た部分ではないでしょうか。
※1 学習済みのモデルをベースにすることで、より効率的な学習を行う手法。ここでは、ランダム値で学習した結果をベースにして仮説検証を行いモデルを改善した上で、改善後の値を次の仮説検証時の初期値とする形で転移させている。
古川さん:
「このパラメーターを触ったらどうなるか?」「ここが駄目なのか? いいのか?」といった比較検討を4人で分担しました。こんなに密度の濃い実験ができたのは、すごいことだと感じています。4人全員で「とにかくトライ&エラーをしよう」といった取り組み方ができたのも、好成績を修めることができた1つの要因だと感じています。
田中さん:
全員が現状を正しく認識している状態で、最後まで取り組むことができました。「こう思うんだよね」と気軽に言える環境で「ここはこうじゃないかな」という議論が常に行われていました。強化学習は計算に時間がかかるため、ほぼ全員のPCが動いている状態をキープしていました。「もう少しで計算が終わるけど、次は何したらいい?」と各々が議題にあげ「ここのパラメーターを変えて、これをやってみたらどう?」「ここと比較したら、こういうことがわかるのでは?」などの意見を常に出し合っていました。
伊藤さん:
他のチームでは、プログラムに存在する数値の示す意味などについて、「当たり前のこと」として深く掘り下げることがなかったのかもしれません。私は「数値を触ればいいだろう」と済まさず「わからないときに基礎に立ち戻る」というモチベーションで、その数値がなぜ正負なのか、なぜその大きさが与えられていたのかなど、納得できるまでメンターさんやチームメンバーに聞き続けました。そのうえで、色んなパラメーターを触り、対称実験をして、どちらがよかったかを随時比較していました。
黒田さん:
そういった比較をすべてまとめて、表にしてくれたのは伊藤さんです。常に4~5つの実験をしていると、いま何をやっているかがわからなくなってきます。そこで表をみて「じゃあ、これとこれを比較しよう」とできたので、とても助けられました。
―主催企業やメンターの印象について率直な感想を教えてください。
古川さん:
夏からインターンシップに参加していましたが、ソフトウェア開発にどれだけの技術力があるのかは掴めていませんでした。今回は強化学習に特化した技術に触れ「本当にすごい技術力を持つ企業だ!」と実感できました。メンターさんは、面倒見の良い方だと感じました。考えは強要せず、困っているときに「こうしたらいいのでは?」と優しいアドバイスをいただきました。
伊藤さん:
具体的な目標に向かって業務を体感できました。自分が入社したときに携わりたいテーマと全く一緒だったので、実際に働くイメージを具体的に持つことができました。メンターの方は非常に優しく、質問内容によっては他のメンターさんにも確認をとるなど、手厚いサポートをしてくださいました。
田中さん:
質問に対して、4人全員が理解できるまで優しく説明してくださるメンターさんで、私も面倒見が良い印象を抱きました。私たちが立ち止まっている際には、クリティカルなアドバイスをいただきました。そのアドバイスによって、チームの進捗が大きく変わったところもあり、大きな存在でした。
黒田さん:
想像以上に高い技術力を持っていることに驚きました。取り組み方の解説を聞き、自分が考えていたより単純な設計で高精度が出ており「すごい!」と感じました。チームでは常に議論をし続けていましたが、なかなか解決できず、早急性を求められる課題のときにはメンターの方を頼りました。質問しやすい雰囲気のメンターさんだったので、気軽に質問できました。悩んでいるときにはサポートしてくれる一方、4人の議論はそっと見守ってくださいました。
―今後、どのようなチャレンジをしていきたいですか?
田中さん:
大学での研究を通じて、ITやソフトウェアに興味を持ちました。ですので何らかの形でITやソフトウェア、機械学習の技術力を活用して、社会貢献ができればいいなと思っています。
黒田さん:
将来は情報系の仕事をしたいと考えており、いま勉強している知識を活かせる企業へ入り、何らかの形で社会貢献がしたいと思っています。今回はメーカー主催のハッカソンに参加できました。次はIT通信系のイベントに参加して、どちらで働くか方向性を定めていきたいです。
伊藤さん:
将来は自動運転の技術開発に携わりたいと考えていますが、自分よりも技術力をもった人は、たくさんいると思います。そういったとき、今回のハッカソンのように、皆が進んでいく中でも基礎に立ち戻って新たな知見を得ながら、常に視野の広さを持ち続けていきたいです。
古川さん:
機械学習やIT技術を使って、誰かが何かを喜んでくれるものをつくりたいという想いを持っています。そのなかでITのプロフェッショナルと呼ばれるようになれたら嬉しいです。