データサイエンスの未来を切り拓く──0からスタートした若手データサイエンティストの飽くなき挑戦
テクノプロ・デザイン社に新卒入社し、2023年で3年目を迎える林 佑亮さん。データサイエンティストとして日々活躍しつつ、社内の新たな取り組みとして発足されたAWS DeepRacerプロジェクトへも積極的に参加。技術を磨き続けている彼にAI技術のおもしろさ、難しさを語ってもらいました。
プロジェクトに揉まれアップデートする毎日
テクノプロ・デザイン社に入社して2023年現在で3年目になります。配属部署はDXソリューション統括部・データサイエンス課。当社は製造業のお客様向けに事業を展開しているアウトソーシング企業ということもあり、データサイエンスに特化したビジネスモデルではなく、技術ナレッジや実務経験を蓄えるため、データサイエンス事業に強みを持つ当社アライアンスパートナーのプロジェクトに合流しています。
そのプロジェクト内でOJTを通じて基礎を学び、実務にて経験を積んでいます。プロジェクトの完了と共に社内プロジェクトに移動する社員もいますが、私はそのチームに残り、現在は当社が協業しているデータアナリティクス技術を持つコンサルティング企業のプロジェクトを担当しています。
プロジェクトの内容にもう少し触れていきます。クライアント様はカスタマー向けにオンラインサービスを展開されており、カスタマーの年齢や性別、居住エリア等のデモグラデータや、購買履歴などのサービス利用データがサービスを通じて蓄積されています。これらのデータを元に、さらなる収益向上につなげるためにはどうすれば良いか?といった問いに対して、最適な答えを導きだすデータの分析や可視化を行っています。
このようなさまざまなデータを加工・分析する際には、主にPythonやSQLを使用します。とくにビックデータと呼ばれる規模のデータを扱う際は、プログラムの書き方を工夫したり、Sparkといった分散処理フレームワークを使用して処理スピードを早めるよう意識したりしながら開発をしています。
また、プロジェクト内では定期的に進捗を報告するイベントがあるのですが、その場にはクライアント様の役員クラスの方も出席されていて、その方々向けに報告資料を作成。プレッシャーも感じる中、資料フォーマットやフォント、色なども揃えるといった成果物の品質に対しても経験の中から養うことができています。
共通して、手がける業務はデータ分析ではあるのですが、クライアント様ごとに業種やサービス形態は異なるので、その業界の業務知識を理解する必要があるのが大変ですね。ミーティングに参加していて初めて耳にする単語もでてきますので、技術だけではなく業界用語も調べながら理解を深め、周囲と比べ知識量が劣らないように努めています。自分をアップデートする毎日ですね。そういう意味ではビジネスパーソンとしての汎用性やスタミナもついてきたのかなと思います。
複雑なデータ分析において大事になるポイントは?
データ分析といってもその分析手法はさまざまあるのですが、何のデータを元にするのか、そして、そこからどのような結果を得たいかによって適切な手法は異なってきます。また、得たい結果を導き出すために扱う技術やモデリングの仕方も異なってきます。機械学習全体を理解しようとすると全体的に満遍なく経験をしていく必要があると思っています。技術ナレッジ以外でも機械学習は、統計学や線形代数、確率論などの数学的な概念を基盤としているため、これらの数学的な概念への理解も必要とします。
とはいえ、実務においては、何かを予測したいといったニーズに対して典型的な要望があるので、これまでの経験則から実行に移すことは可能なのですが、分析手法や扱う技術が変わるごとに新たに学び直す必要があると感じています。
ただ、データ分析や機械学習において大事になるポイントはあります。それは導き出そうとする結果に対する精度の高さ、結果のわかりやすさ、処理速度の3点を全体的に意識すること。
そしてもう一つ、これは業務に関わる前の座学でも教えてもらったのですが、“むやみに”複雑なモデルを使わないこと。設計したモデルに基づいて結果が導き出された際に、その結果に導いた理由を人が信頼を持って理解するための、解釈のしやすさを“説明可能性”と呼ぶのですが、この説明可能性はモデルが複雑になればなるほど低くなってしまうのですね。
そうすると業務上の契約において担保すべきサービスの品質を不確定になり得ます。あくまでも、業務上ではクライアント様の立場で考えることが必要で、可読性の高いプログラムを組むのと同様に、わかりやすさを追求できる適切な手法を取り入れていくようにしています。ただ、高性能なモデルを知っていると自慢したくはなってしまいますね。ですが、そこは自分の中だけに留めるようにしています(笑)。
ロボコンに参加した理由、そして得られたモノ
続いて社内活動として新たに発足された、ロボコンへの取り組みに関して触れていきたいと思います。
この取り組みは大きく2つに分かれています。UMLツールを使いモデリングした設計書の評価と組み込み技術を用いたタイムアタックレースの合計点で競いあう“ETロボコン”と、AWS上に機械学習モデルを構築してレーシングマシンを自動運転させ、サーキットの周回タイムを競い合う“AWS DeepRacer”(以下、DeepRacer)です。こちらのDeepRacerで扱う技術はAIや機械学習、AWSといったそそるキーワードばかりでして、私はこちらのDeepRacerプロジェクトに参加しています。
また、ロボコンへの参加を決めた背景に、技術に対して危機感を覚えていたからといった理由もあります。
ロボコンの案内があった当時、私はまだ1年目であり、AIやAWSに関する知識が全然足りていないという自覚がありました。さらに、同じプロジェクトで活動する先輩方の多くがAWSを含めたクラウドに関する資格を保有していまして、中にはAWS系やAzure系のベンダー資格を毎月取得されている方もいらっしゃいます。このような方々を目の当たりにすることでポジティブな刺激もありますが、同時に危機感でもありました。
急いで勉強しなければ、まずはAWSに触れてみよう、そういった思いもあり参加を決めました。
他に、会社全体に向けた公募でもありましたから、普段プロジェクトでは関わらない他チームの社員との交流につながるかなといった気持ちもありましたね。
DeepRacerプロジェクトが始まった1年目は研修担当の方も含めてどこから手をつけて良いのかわからない状態だったんですよ。まずは何ができるのかを把握することに集中した1年目で、2年目に入ってからは進め方が確立して、いろいろなツールを整備するためのチームが生まれたりして、体制は整ってきたと思います。
DeepRacerは個人競技ではあるのですが、チームを設けてコミュニケーションを取ろうという動きも出てきました。それぞれの実行環境でトライ&エラーを繰り返して得られたナレッジをオンラインミーティングツールで共有しあうなど、参加メンバーだけではなく、教育研修の担当者も含め、コミュニケーションの回数が増えてきているなと思います。0からスタートした取り組みの場合、軌道に乗らないと風化することもありますが、DeepRacerプロジェクトは6名からスタートし、13名、20名と参加メンバーの増加とともに活気が増してきています。
そして、そもそもDeepRacer含めたロボコンの取り組みは有志活動でもあるので、そこに参加する方々は意欲のあるメンバーばかり。そのメンバーの熱量がそうさせていると実感しています。
また、参加メンバーは部門や職種の垣根がないですし、得意分野や技術スキルも異なります。高い技術力を持つエンジニアもいますし、逆にPython言語が未経験のエンジニアもいます。
ただ、当人たちもそこを意識しているわけでもなく、だからこそ同じ立ち位置で相談し合いながら、ときには本施策を運営している教育研修の担当者に対して参加メンバーから知識を共有する場面もあります。このように上下のないチーム活動は業務上では得られない経験だなと思います。
そして肝心のDeepRacerに関してなのですが、DeepRacerは仮想空間上に置かれたレーシングマシンにコースを自走するように学習を与え、サーキットを素早く周回させることで機械学習を学ぶことを目的としています。
また、マシンには1から10までの学習を与えるのではなく、マシン自ら学ぶことができる強化学習モデルが搭載されています。だからこそ難しいです。いわば、まっさらな脳みそからスタートする上に、ランダム性を持ちながら自ら学習し自律していくので、まったく意図しない動きをとることもあります。そんな中で、マシンの行動ルールやパターンを読みとれなければいけません。
初めはコースに沿ってまともに走らせることもできませんでしたが、2年経過した現在は走らせること自体は容易になりました。ただ、ブレずに真っ直ぐ走らせることや、速度のアップダウンや適切な角度でコーナリングさせることにはまだまだ課題が残ります。
周回タイムが1位の方のマシンの周回映像を観てもどういったモデリングをしたらそうできるのか、同じプログラムを与えているはずなのに、マシンが何を考えているのかがまったくわからなくなります。そこはめげずに結果を見ながらマシンが何を考えてるかをひたすら逆算して紐解いていくことが必要になります。
ただ、少しずつでも走行距離を伸ばすことや思い描いた通りに行動してくれた際にはとても嬉しく思いますね。地道ではありますが、その積み重ねの過程も楽しさや達成感を得ることにつながっています。
機械学習への挑戦、まずは一つの理解を深める
DeepRacerプロジェクトの経験を通じて得られたモノはたくさんあるものの、先ほど触れました通り、機械学習全体を理解しようとすると体系的な理解を必要としますので、DeepRacerや日々の業務の経験を経ても、まだまだ経験や知見を増やしていくことは必要だと感じています。それほどにAIの活用方法やそこで扱われる手法、技術はケースバイケースであり複雑です。
たとえば、DeepRacerの場合は、強化学習を使っています。使用する言語はPythonで、数値演算用にnumPy、math、他にはsciPy、shapelyといったライブラリがあらかじめパッケージングされているので、DeepRacerにログインして画面を開けばすぐに始めることが可能です。逆に言うと代表的なライブラリのみで他のライブラリを試したくても使えなかったりするんですね。
ただ、だからといって、この経験は決して無駄にはなりません。DeepRacerを経験することで少なくとも強化学習の手法が理解できるようになります。そうすると他のところも相対的に理解しやすくなりますので、全体を理解する上でまずは一つを極めることはとても大事です。この取り組みに参加することはこれから機械学習系を経験したい、学んでいきたいという方にとっては良い道標になるのかなと思います。
また、DeepRacerを含めたロボコンへの取り組み以外にも、テクノプロ・デザイン社は研修やスキルアップにつながる制度が豊富です。プラスワンスキルといって、自身の業務領域拡大のためにデザイン社が推奨しているスキル群があります。それらのスキルに関する資格の学習・受験を補助する制度を活用し、E資格やAWSの資格を取得しました。このような社内の仕組みを活用しキャリアを高めています。
まだまだスキルアップが必要な段階ではあるのですが、それでもデータサイエンティストの先輩として、今後入社される後輩やスキルチェンジされる方に対し、これまで培った知識の共有をしていきたいと考えています。そしてテクノプロ・デザイン社全体の技術力向上に貢献することが私の当面の目標です。
最後に、私のように0からスタートされる方へのメッセージなのですが、「未経験だから、AIはよくわからない」と思うかもしれません。ですが、最初はわからないことだらけなのは当然で、大事なことはそれをわからないままにせず、興味や関心を持って調べ続けられる、知識に貪欲であること、そしてテクノプロ・デザイン社はそういった意欲を経験や成長に変えてくれる仕組みや制度が豊富にあります。
※こちらの記事は2023年6月時点の情報となります。
▼テクノプロ・デザイン社の採用情報はこちらから
▼テクノプロ・デザイン社のメルマガ登録はこちらから
メルマガ登録(社会人向け)
メルマガ登録(学生・第二新卒・既卒(3年以内)向け)