古橋健斗 / AIエンジニア
芝浦工業大学大学院 理工学研究科 電気電子情報工学専攻
新卒でCCT入社
ボストンに留学し研究に没頭
-学生時代の研究について教えていただけますか
学部時代は、IaaS環境をRaspberryPiで構築し、物理マシンの上でテストが行える環境を安価で構築するという研究を行っていました。IaaSというのは仮想化技術を使ってCPUやメモリなどのインフラをオンデマンドで提供するサービスのことで、身近なものでいうとAmazonのEC2やGCE(Google Compute Engine)などがありますね。こういったサービスはクラウド経由で利用されることがほとんどで、ユーザはあたかも1台のサーバを扱っているように見えるのですが、裏ではロードバランサや仮想マシンの再配置などが行われています。この研究ではユーザ側ではなく開発者側の観点で、IaaS環境を構築したい人に向けて、最大負荷を軽減するためにどうやったら仮想マシンの再配置やスケールアウトが効率よく動くか試すためのテスト環境をRaspberryPiという安価なマイコンで構築できるように提供するといったものです。
次に大学院での研究ですが、分子通信(Molecular Communication)という分野の研究を行いました。
分子通信は文字通り分子を使って通信するというもので、分子に情報を埋め込んでそれを送信するのですが、9μmという短い距離であっても動きを制御できないので送信機から受信機まで9日間かかっても到達しないことや、3時間で到達するみたいな不確実性があります。この不確実性をいかに軽減するかという研究をBostonのUMASS(マサチューセッツ大学ボストン校)に留学して取り組んでいました。この分野はあまり研究されていないので何をしても新規性を生み出せて楽しかったですし、3ヶ月に1回論文を書いていました。とはいえ私は分子については高校化学の授業でしか勉強していなかったのでそもそも情報をどうやって埋め込めるのかなど全く分からなかったのですが、様々な仮定を置いてシミュレータを作成しどうしたら不確実性を軽減できるのかということを試していました。具体的な例を出すとTCP-IPみたいに情報を分割し、パケットとして情報が埋め込まれた分子を複製するみたいな感じですかね。こちらはSQ-ARQ(Stop-and-Wait Automatic Repeat Request)という手法を提案しました。こちらは語りたいことが山ほどあるのですが、これくらいにしておきます(笑)
プログラミング×趣味
-学生時代のプログラミング経験について教えていただけますか
今も大して変わっていないのですが、学生の頃は趣味がプログラミングという感じで色々やっていましたね。大学ではCとJava程度しかやっていませんでしたが、趣味でRubyのRailsを使ってサーバ立てたり、Goでディスアセンブラ作ったりしていました。あとは関数型言語に憧れてHaskellやったり、バイトでPerlやったり、node.jsでボードゲーム作って通信対戦できるようなものを作ったり、C++でゲーム作ったりしていました。iOSのためにSwiftを使ったりAndroidのためにKotlin使ったりもしていました。簡単に言うと何でもかんでも手を出すみたいなことをしていましたね。
そんな中で私が出会った最高の言語がPythonです。当時はアニメが好きだったので、クローリングして好きなアニメキャラの画像を死ぬほど集めていたのですが、手作業で関係ないものを消すみたいなことをしていました。そんな中で出会ったのがAIです。最初は画像を分類するためだけに触ったAIでしたが、ある時美少女キャラをAI(GAN)で作るようなWebサービスが我々の界隈で流行り、そこから本格的なAIの勉強を始めました。
色々な言語を使いましたが、ボードゲームやゲーム作成、アニメ関連など自分の趣味から何か作るというのが多かったです。
AI領域の幅を広げる
-CCTで今まで関わったプロジェクトについて教えていただけますか
2019年8月からAIをメインで扱う部署に配属されたのですが、案件としては6件ほど携わりました。AIの案件はヒアリングの後にPoCという実験フェーズがあるのですが、簡単にいえば色々試してみて良いものを探る期間が与えられます。そのため1案件につき複数の手法を試したりするので似たような内容であっても別のものを使うことがありますね。
例を挙げると、時系列データから異常検知を行うために部分空間法というものを使ったり、工作機械に取り付けたセンサーデータからズレを予測するために勾配ブースティング法を使ったり、動画から特定の行動を行っている人に対してアラートを出すために物体検知や姿勢検知、異常検知を使ったり色々やっています。他にも3Dデータを類似検索するOrizuruAIの開発や文字認識を行うOCRなども携わりました。
生涯エンジニアとして
-今後実現したいことを教えていただけますか
精魂尽き果てるまではAIエンジニアとして生きたいという夢があります。AIだけではないんですけど、ITに携わる者の宿命として常に新しい情報をキャッチアップし、自分の中で消化する必要があります。全員がそうではないとは思いますが、私はそれが楽しいし続けていきたい。死ぬまで勉強だと思っています。
画像処理やセンサーデータの異常検知など特定の分野だけでなくあらゆるAIの分野にチャレンジし、知見を広げることを目標としています。ゆくゆくは特定の分野に深く踏み込み唯一無二の存在になりたいですね。そのための環境がCCTには備わっていると思っていますし、業務をこなしつつも利用できるものはとことん利用し、自分の成長につなげていきたいと思っています。
最後になりますが、仕事は大変です。ただ、それをどれだけ楽しめるかは自分自身との戦いでもあります。大変だからこそ自分がやりたいことをするために選択/行動をしましょう。CCTでは向上心があれば色々なことにTryできるし成長できます。それをどう活かすかは人それぞれですが、楽しみながら成長できる最高の環境があります。AIに興味があり根気や向上心がある人は是非一緒に仕事しましょう!