皆さんこんにちは。
最近夢に女神様がでてきた広報の田中です。
肝心のお告げの内容は屋台越しでの「味噌買わない?」でした。
実は広報じゃなくて味噌屋さんが天命なのかもしれません。
そんな天のお導きはさておき。
弊社では新卒採用をしていますが、2020年度の新卒が入ってきて早いものでもう1年が経とうとしています。
というわけで滑り込みで2020年度新卒社員であり、AIエンジニアの大久保氏に話を聞いてみました。
もくじ
■大久保 成将氏 プロフィール
唐揚げ発祥地と呼ばれている割にネームバリューがない大分県の宇佐出身。
某国立大学の工学部修士。プログラミングは大学生から。
趣味はアプリ制作とスポーツジムに通うことと釣り。
エアコンの風が苦手だから石油ストーブで部屋を暖める粋な男。
Q1:大学時代にやっていた研究は?
一言で言うとゲームコンテンツの自動作成です。
通常カジュアルゲームは障害物の位置やアイテムの位置、ステージのレベルデザインなどでゲームの難易度は変わってきますが、人の手による調整が必要なんです。
この辺りが自動化できれば、ゲームの難易度を調整するレベルデザイナーの負担を減らせそうだなという意識で研究してましたね。
具体的に学部時代は強化学習を用いてゲームの難易度レベルの評価の自動化をしていました。
ゲームの習熟度に差をつけた学習済みエージェント(架空のプレイヤみたいなものだと思ってもらえれば)を複数用意し、ランダムで作ったゲームステージをプレイさせます。
エージェントごとにクリア時間やダメージ量、ゲームクリアの有無などでそのステージの評価を行い、評価に応じた難易度を設定し、プレイヤに対して実際にプレイさせる順序付けに使用するという流れです。
しかし、前提としてステージがある程度プレイできる状態でないと評価が不可能で、結構苦戦した覚えがあります。(ランダムでステージを生成するから完全に無理ゲーみたいなステージが出来上がる)
強化学習とは?
試行錯誤によって「価値を最大化するような行動」の学習を行う機械学習の1種。エージェントと呼ばれる行動の主体と、エージェントの行動に対して反応を返す環境の相互作用によって学習を行う。環境はエージェントの行動によって報酬と次の状態を生成する。報酬はエージェントの行動の評価。
というわけで、修士時代では学部時代にランダムで作っていたゲームのステージをGAN(敵対的生成ネットワーク)を使って自動生成する研究をしていました。
GAN(敵対的生成ネットワーク)とは?
データの特徴を学習することで、実在しないデータを生成したり、存在するデータの特徴に沿って変換できる生成モデルの一種。昨今は正解データを与えることなく特徴を学習する「教師なし学習」の一手法として注目されている。
Generatorと呼ばれるニューラルネットワークがランダムで作ったステージ(偽物のデータ)と、人が手動で作ったステージ(本物のデータ)を、Discriminatorと呼ばれるニューラルネットワークが比較して真偽を判定することで、人が作ったかのようなステージに近づけていきます。
もはやビジネスとしてやっていけそうな研究内容だな。売らないそれ???
Q2:ネクストシステムに決めた理由は?
ネクストシステムのことは、ミチコンPlusについてのツイートをみつけた友達から教えてもらって知りました。決め手は面談との会話で自分の能力が生かせそうな会社だと感じたことですね。
あと、なんちゃってAIをしてる会社ってよくあると思うんですが、その時面接してくれたAIエンジニアのOさんとお話しして、ちゃんとAIの知識があって仕事をしている会社だということが伝わったことも決め手になりました。
Q3:現在の業務内容は?
今は3次元データ処理ですね。Intel®RealSenseシリーズの深度センサーを利用した3Dスキャンシステムを作ってます。
他にも強化学習を用いて製造工場でのロボットの動作を自動的に作成するという案件も担当しました。
これまでのロボットの動作はオペレータと呼ばれる人が動作を設定してたのですが、強化学習でロボットの動作を学習して補助します。動作全てを強化学習で求めるのではなくオペレータが動きの大まかな部分は決めて、強化学習では細かな動作を決定します。
大変だったことは?
AI学習が成功しない時は大変でしたね。数日かけて学習させたけど精度が悪かったら最初からやり直しになってしまうので。
なので基本的には学習は成功しないものとして考えて過度に期待をしないようにしてます。合理的な答えが出るわけではないので、まず仮定を立てて、その結果に対して考察し、要因を特定する必要があり、その辺りも大変かもしれません。
また、ネクストシステムにくる案件は研究開発分野も多くて、できるか分からない実験的な案件も多いんですよね。なのでトライ&エラーが大事です。失敗から学べるようになったらいいなと思います。
入社してからは簡単な取引先との渉外もできるようになりました。
Q4:社内に尊敬する人はいる?
OさんとKさんですね。
Oさんはメンターとしてみてもらってるんですが、とにかく知識がすごいです。教えてくれる時にすぐ書籍とかの引用がでてきて勉強になります。
あとは直接接触したことはないですけど、会社での言動がいいなと感じるのがKさんです。ナレッジをまとめてくれたり、有益な情報を発信したりしてくれるのが参考になります。
Q5:今後の展望は?
業務的にはOptunaなどでハイパーパラメータの最適化したり、学習の自動化をしたいですね。
とにかくシンプルにしたいんですよ。
別にミニマリストとかではないんですが、例えば携帯電話のサービスのオプションとかサービスとの関わり方などシンプルにしています。
特に携帯だと2年割とか1年間割引とか契約変更に行ったら、他の電気とか光回線を進めてきて時間がかかりがちなのがすごい嫌ですね。
あとはAmazon検索結果に正規の商品だけが表示されるようしたり、Googleの検索結果で有用でないサイトはブロックリストに追加してフィルタリングをしています。
こっちの要求に対して素直に提供しないサービスをできるだけ使わないようにしているというのが自分が思っているところのシンプルです。
めんどくさいことをしないために、めんどくさいことをするのはOKなので、そういうのはどんどんやっていきたいですね。
Q6:在学中にやっておけばよかったことは?
3Dの基礎知識と筋トレですかね。
筋トレは大学の時に座ってることが多かったので健康のためにやっておけばよかったなと。
今はお金に余裕ができたので週2〜3でジムに通ってますよ。
あとは今3次元データ処理をやってるのもあり、
Unityではあまり意識しないもっと基礎の部分、座標変換や行列計算などの線形代数を勉強していたらよかったなと思います。
行列は皆いうよね〜。
私自身は行列について1ミクロンも覚えてない自信はあるけど、ネクストのエンジニアがよく話してるのは知ってる。
ところで運動全然続かないんだけど続けるコツってある?
やらなきゃいけないと思わないことですかね。お風呂入りに行くだけとかも全然あります。
あっ、耳が痛い。すぐ義務にして自己嫌悪のループしてるわ。この考え方は見習いたいです。
社長も100kgのベンチプレス上げるし、他にも筋肉狂や、定期的にハウステンボスで躍り狂う人もいるし意外と運動してる人いるな弊社。
Q7:今後入社する人へメッセージ
ネクストシステムでは個人への裁量が大きいので自分で能動的に動ける人が向いてるかなと思います。個人的には上司であっても臆せず意見してくれる人と働きたいですね。
もし入社を考えているのであれば、姿勢推定AIエンジン「VisionPose」という自社製品があるので姿勢推定系の案件が多いです。その周辺の知識が身についておくとスムーズに案件に参加できるのでおすすめです。
マーカーレスで人の骨格・姿勢情報が2D/3D解析可能な、姿勢推定(Pose Estimation)AIエンジンです。カメラ映像の他、静止画・動画も利用できます。当社標準の学習済モデルを搭載し、追加学習(アノテーション)が可能です。お客様のAI開発に柔軟に対応いたします。
※追加学習はオプションサービスです。実施には条件があります。
あとは、自分でデータを集めて学習をやってみるのもおすすめです。
学習って結局自分でやってみないと分からないところがあるんですよ。
Oさんに「前これやってダメだったから別のことやった方がいいよ」と言われると、
「やったんだったらそうか」ってなるので、やっぱ実際にやっていると説得力が違います。
まとめ
趣味で現在も大学時代の仲間とアプリを制作しつつする大久保氏。
これからの活躍が楽しみですね。
ネクストシステムではAIエンジニアを募集しています。
気になった方は採用情報からご応募ください^^
▼ネクストシステム採用情報はこちら
▼ネクストシステムのAI開発についてはこちら