• X
  • Facebook
  • RSS

HAL研で活躍した伝説のプログラマーが予感する「組み込み開発とAIの組み合わせは、今後伸びていく」話

松岡聡教授は、世界トップレベルのスーパーコンピューター開発者であり、任天堂の故・岩田社長とともにHAL研究所の設立に関わっていた伝説のプログラマーでもある。そんな彼に、特別顧問として参画しているSky株式会社での取り組みと、組み込み開発とAIについて伺った。

https://cdn-ak.f.st-hatena.com/images/fotolife/b/blog-media/20181205/20181205173932.jpg

任天堂のファミコン用ゲーム開発者からキャリアをスタートして、世界トップレベルのスーパーコンピューター開発者となった、理化学研究所計算科学研究センターの松岡聡教授。現在はSky株式会社の特別顧問として、同社のAI研究を支援しています。松岡教授に、コンピューター技術の進化とAIビジネスの可能性について、HAL研究所時代の思い出も交えつつ、Sky株式会社での取り組みまで語っていただきました。

Sky株式会社

※この記事は、Sky株式会社の提供によるPR記事です。

■ 計算速度が上がるとできることの質が変わる

https://cdn-ak.f.st-hatena.com/images/fotolife/b/blog-media/20181203/20181203151043.jpg

── 松岡先生は今、理化学研究所計算科学研究センター(R-CCS)という、まさに日本のスーパーコンピューター研究の総本山のセンター長でいらっしゃいます。高性能な計算機を作るというのが先生の研究テーマなのでしょうか?

松岡聡教授(以下、松岡):高性能な計算機というか、それにまつわるさまざまな技術ですね。私自身はというと、最近はシステムアーキテクト、つまりスーパーコンピューター自身の設計もやりますが、本来の専門はソフトウェアなので、ソフトウェアやアルゴリズムの研究をしています。最近は、スーパーコンピューター上で大規模なAIを動かす、逆にシミュレーションをAIで高速化する、ビッグデータ処理をAIで加速するといったこともしています。

一番最近作ったAIマシンは、ImageNetという大規模な画像データセットを利用した機械学習のベンチマークで世界一を取りました。どのくらい早いかというと、昔は普通のCPUで学習すると何カ月もかかったものが、今では3分ぐらいでできるようになった。アルゴリズムの進歩もありますが、やはりハードウェアの進歩やスーパーコンピューターとしての進歩がもう驚異的なわけです。だから、昔は時間がかかり過ぎて話にならなかったような処理でも、今は分単位でできる。そうするとどんどん開発が進むわけです。昔はできなかったことが、マシンが1000万倍ぐらい高速になって可能になったことがその大きな要因です。

── 高速になることでできることが変わるということですか?

松岡:そうですね。時間的制約やメモリーの制約や他にもいろいろな制約があって解けなかった問題が解けるようになるというのは質的な変化を生みます。

あと、そうした技術が普及していったことで、今皆さんの手元にあるスマホには一昔前のスーパーコンピューター並の計算性能がある。それはやはり計算がものすごく速くなったからできたわけです。昔、HAL研究所でプログラムを書いていた頃と比べると、もう何億倍も違うけれど、それによっていろいろなことができるようになっています。

■ 百貨店のパソコンコーナーは穴場だった

https://cdn-ak.f.st-hatena.com/images/fotolife/b/blog-media/20181203/20181203151044.jpg

── 先生がHAL研究所にいらしたのっていつ頃だったのでしょう。

松岡:HAL研の設立は1980年ですね。その少し前に、池袋の西武デパートに、コモドールとかアップルとか、当時日本で初めて売り出した、パソコンコーナーができたんです。秋葉原にもあったんですがそちらは競争が激しくて、池袋はちょっと穴場だった。それで、学校が終わるとそこにたむろして、閉店までプログラミングをするようになったんです。何人か仲間がいて、後にMSXの開発責任者になる鈴木仁や任天堂の故・岩田社長もその一人でした。

彼らと一緒にHAL研究所という会社を作ることになったんです。当時私はまだ高校生だったので、まだアルバイトだったのですが、岩田さんはちょうど大学を卒業するタイミングだったので、そのまま就職しました。
 
当時、国内のパソコン市場をリードしていたNECは、CPUにインテル系の808xやその後継のZ80を採用しており、国内のほとんどのプログラマーはZ80系でした。ところが、我々が使っていたアップルとかコモドールといった機種は、CPUがMOS 6502(以下6502)という、安くて速いものを使っていたのです。そこで自前のコンパイラを作ったり、アセンブラでゲームプログラムを書いたりしていましたので、HAL研というのが国内でも珍しい、6502のアセンブラを知っている専門家の集団でした。
 
転機となったのが、任天堂のファミリーコンピューター(ファミコン)でした。そのファミコンが、CPUに6502を採用したのです。喫茶店やゲームセンターにある業務用のゲーム機はCPUにZ80を採用していたのですが、複雑でコストが高い。任天堂は家庭用ゲーム機のコストダウンのために、回路が簡素で高速、そして価格が安い6502を改造して使うことにしたのです。
 
アメリカではそれでよかったんですが、日本では6502のプログラマーがいなくて大変困っていたと。そこに、我々HAL研という6502の精鋭集団がうまくマッチメイクされました。おまけに我々、ゲームもいろいろ書いていた。最初に話をいただいて、業務用ゲーム機からファミコン用に移植されたコードを見てみたら、申し訳ないけど全然ダメだった(笑)。
 
Z80と6502ってまったくCPUの体系が違うので、そのまま焼き直しただけではとてつもなく効率の悪いプログラムになってしまいます。それではダメだということで、HAL研究所が任天堂のファミコンのソフトウェアの開発をいろいろと請け負い始めたわけです。当時、任天堂のゴルフゲーム、F1レース、あと私が書いたのはピンボールですね。バルーンファイトはもう少し後です。

■プログラマーの実力が出た機械

https://cdn-ak.f.st-hatena.com/images/fotolife/b/blog-media/20181203/20181203151045.jpg

── ピンボールは岩田さんと2人で開発されたんですよね。

松岡:ピンボールは、メインプログラマーが私、サブプログラマーが岩田さんで、絵柄とかは任天堂のデザイナーの人がデザインしたけど、メインのプログラムはほとんど2人で書きました。

当時私は大学4年生。もちろん物理的なボールの動きは全部分かっていますが、そのまま当時のプアなハードウェアに移しても全然動かないんです、遅過ぎて。高速化が必要、しかもゲームだからもちろんリアルタイムでなくてはいけない。なかなか方法が思いつかなくて、岩田さんからは「納品日がだんだん近づいてるんだけどまだ?」って催促されながら2カ月ぐらいうなってました。ところがある日、突然やり方を閃いたんです。
 
一番難しかったのは衝突判定で、複雑な形状のピンボール台に、どの角度でボールがぶつかっても物理法則に従って剛体運動するのが、今ならスマホでも普通に計算できますけど、当時のハードウェアでは無理だった。でも、うまく高速計算できる近似法のアルゴリズムを思いついて、物理パッケージを書いてリアルタイムドライバを書くという、まさに組み込みと全く同じ開発をして、1カ月半で書きました。そしたら100万本以上売れて、任天堂も我々もハッピーでした。思い返してみても、ファミコンは非常にユニークで面白いマシンでした。何が面白いってホントにプログラマーの実力が出た機械でしたね。

■大学よりも環境が良かった、プログラミングトキワ荘

https://cdn-ak.f.st-hatena.com/images/fotolife/b/blog-media/20181203/20181203151046.jpg

── その後先生は大学院に進学されましたが、修士課程の間はHAL研の仕事も続けておられたんですね。

松岡:岩田さんが買ってきたサン(Sun Microsystems)のワークステーション上にゲーム開発環境を作ってました。大学よりもHAL研の方が、速いマシンがあって環境が良かったんです。

当時の東大の大学院生が使えるコンピューターって、メインフレームマシンを数十人で共有してシリアルラインでつながった端末から使っているような環境でした。ところがHAL研に行くとワークステーションがある。1台でも大学で共用しているコンピューターと同じくらいの速度のマシンなのに、それを2台独占できるとか、もう夢のような環境なんですよ(笑)。修士の時には、もう大学の研究は適当にやって、真剣なプログラミングはサンでやっていました。

最終的に私が作ったコンパイラは、HAL研のゲーム開発環境になっていったわけですけど、その環境で開発する何人かのプログラマーも一緒に、マンションの一室に泊まり込んで、ずっと一緒に生活していました。せんべい布団で寝て、起きたらプログラミングするか、牛丼かマクドナルドを食べるか、マージャンをするか、テレビを見るか。大学に行っていない間はずっとそういう生活。
 
── 手塚治虫や石ノ森章太郎が漫画の修行をしていた、トキワ荘みたいですね。

松岡:そうですね。まさにそういう感覚でプログラミングにどっぷりつかってました。大学院で勉強したアルゴリズムや数学をちゃんと応用できるので面白かったですよ。しかもゲーム開発のクロスコンパイラ環境っていう明確なターゲットがある開発ですから、言語設計して、ちゃんと売り物になるソフトウェアが作れるレベルのコンパイラを作らないといけない。当時は研究もしていたけれど、HAL研でエンジニアとしてのセンスが非常に磨かれたと思います。

■岩田さんの一言が、人生を決めた

https://cdn-ak.f.st-hatena.com/images/fotolife/b/blog-media/20181203/20181203151047.jpg

── そんな松岡先生が、HAL研の仕事を辞めて研究者の道に入られました。何がそうさせたのでしょうか。

松岡:修士課程の研究とHAL研の開発を両立させるというのは、楽しかったけれどやはりあまりにも忙し過ぎました。博士課程ではさすがにプログラミングのアルバイトもできないだろうから、どちらかを選ばなくてはいけなかった。

当時は、大学の先生になろうなんて気は全くなかったんです。むしろ自分はエンジニアだって周囲に言ってました。ドクター進学も1年やってダメならやめて就職すればいい、ぐらいの気楽な感覚でした。ところが岩田さんがなぜか、「お前は研究者になれ。その方が向いている」と言われて。

それを聞いても当時は半信半疑でしたが、今になって思えば研究者として意外と成功しているので、彼は先見の明があったのかなと思います。彼が後に経営者として成功したというのは、人を見る目が結構あったからなのでしょうね。

── そして今や、世界一を争うスーパーコンピューターの研究者となられました。その魅力は何でしょうか。

松岡:速いのが好きだから。なんでも速いものを見るとわくわくするんです。新幹線とか、飛行機とか、ロケットとか。あと、スーパーコンピューティングの分野って、もう50年以上も研究開発されて、今でも広がりながら発展し続けています。なかなかそういう分野はありません。アーキテクチャとかソフトウェアとか最先端の技術を投入し続けているから進歩し続けることができる。それがずっと続いているので好きなんです。

■HPCとAIは切り離せない

https://cdn-ak.f.st-hatena.com/images/fotolife/b/blog-media/20181203/20181203151048.jpg

── さて、ここからは、SkyのAI研究と松岡先生の関わりのお話を、Sky株式会社の河野武さんも交えてお伺いしていきます。河野さん、よろしくお願いします。

河野武さん(以下、河野):よろしくお願いします。

── まず、松岡先生がSkyの顧問になった経緯を教えていただけますか。

松岡:Skyが今後AIに取り組んでいくとお伺いし、先ほどからお話ししていた通り、我々が研究しているHPC(High Performance Computing)と今のAIはまさに切り離せない関係なので、それならこちらでもいろいろとお手伝いできるのではないかと、Skyの技術顧問を務めることとなりました。

── 先生はSkyのAIへの取り組みにどのような形で関わっておられるのですか。

松岡:河野さんがリーダーを務める、AIをテーマに活動するワーキンググループ(WG)のアドバイザーとして、月に1回の定例会で技術的な情報やさまざまな業界情報を紹介したり、展示のアドバイスをしたり、あとは業界の知人を紹介したり、ということをしています。

https://cdn-ak.f.st-hatena.com/images/fotolife/b/blog-media/20181203/20181203151049.jpg

── SkyではWGとしてAIに取り組んでいらっしゃるんですね。どういった取り組み内容なのでしょうか。

河野:社内の業務系システム、カーエレクトロニクス、モバイル、デジタル複合機、デジタルカメラ、エネルギー、医療機器といった事業グループから、グループ横断的にAIと画像認識をテーマに活動しているグループになります。内容としては、まず先ほど挙げたような事業グループが出展する大きな組み込み技術の展示会が年4回あるのですが、そこに向けて、新しい技術を取り込んだ新しいコンテンツを作っていく活動があります。また、新たな案件の獲得や、AI関連の案件対応に向けて、新たにWGへ参加してもらうメンバーを集い、実際に案件へ関わってもらいます。それを中心メンバーがサポートしていくといった活動もあります。

── 「展示会に出展するコンテンツを作るために定常的に活動している」というのはとても珍しいと思うのですが、WGでの開発成果を展示会に出していくということはどういう意味があるのでしょうか。

河野:お客さまとの接点を作ることですね。我々が持っている技術をアピールすることでお客さまにまず興味を持っていただき、そのお客さまのところに案件のお話を伺うために営業ツールとして使うという形になります。

── なるほど、展示をきっかけに案件化できたお客さまをサポートするところまでがWGの役割なんですね。今までどんなものを展示されてきたのでしょうか。

河野:AI関連で、松岡顧問にアドバイスいただいたものだと、ロボットアームでボールをつかんで横のBOXに移動するデモですね。ボールをつかむために、その位置の精度をディープラーニングを使って自動的に上げていくようなものです。

他に最近の展示としては、物体検出を用いた人流の可視化、骨格検知、人物検知、トラッキングなどもあります。

画像認識関連だと、外観検査ですね。工場の検品時に、カメラの映像から不良品を検出するもので、これは以前からラベルずれ、傷を検出したり、3Dカメラを使ってへこみやひしゃげを検出するデモを展示しています。あと、つい先日は、カメラ映像からミリ単位での精度での計測をするデモを展示しました。

── 既にAIや画像認識でお客さま業務になっている案件もあるんですよね。

河野:一番大きいのが医療系のお客さまで、画像を用いた診断補助ですね。大量の画像がとれますので、ディープラーニングのセグメンテーションを行って、病理箇所を絞り込むといった使い方です。

他には、自動運転の関連で、車載カメラから前方車両や信号、人などを認知する物体検出、自動運転でレーン(車線)キープのために路上の白線を検知する技術などですね。お客さまが行なっている、自動運転実現化に向けたAIや画像認識の研究・検証業務の一部を、Skyの技術者が一緒に進めさせていただく感じです。

■独自のAIエンジニア育成カリキュラムを開発

https://cdn-ak.f.st-hatena.com/images/fotolife/b/blog-media/20181203/20181203151050.jpg

── 今のWGのメンバーは、もともと大学や他社でAIや画像認識の研究をされていたという方が多いのですか?

河野:今、WGのメンバーは20人ぐらいいますが、もともとAIや画像認識を知っているという人は少ないです。もともと組み込みや業務系アプリのエンジニアだった社員に、社内で作成したカリキュラムで教育を受けてもらい、画像認識とディープラーニングができるエンジニアに育ってもらいます。

── カリキュラムというのは、社内独自で作成されたのですか。どのようなものなのでしょうか?

河野:私が作成しました。独学で進めていただくコンテンツなのですが、画像認識とディープラーニング、それぞれ標準学習時間が30時間となっています。画像認識は画像処理の概要から基礎アプリケーション作成まで、ディープラーニングは基礎から実践まで一通り習得できます。学習には会社の業務として取り組んでいただきますので、学習している時間はたとえ自宅であっても稼働時間として扱います。

── それはすごいですね。いわば「AIエンジニア育成コース」ですものね。

河野:もともとWGは画像認識の活動が核にあったのですが、まず技術者を増やさなくてはいけないというのが第一の命題としてありました。そのためにどうすればよいかを初期のWGメンバーで話し合ったときに、画像認識のエンジニアを増やすためには、まずカリキュラムを作るのがいいだろう、ということになって、作りました。

── いつ頃から始り、会社にとってどのような利益を生み出してきたんですか?

河野:2016年に、Skyとして初めて組み込み技術展に出展しまして、「画像認識」ブースを設けたら非常に好評でした。そこから画像認識に取り組もうという流れになり、WGの実質的な活動が始まりました。ちょうどその頃に案件の話も出たんですけれども、技術者がいなくて受注できなかった。画像認識では、OpenCVというフリーのライブラリの使い方を習得してれば一応画像認識者といえるかなという目安がありますので、まずはそれをできる技術者を多く作ろうというところでカリキュラムを作成しました。

そうした活動を続けていくうちにAIの方もWGの活動範囲に入ってくるようになり、カリキュラムを作って技術者を増やそうという流れに自然となりました。AIのカリキュラムは、
ディープラーニングで、Chainer*1を使って学習ができるところまでをやります。

https://cdn-ak.f.st-hatena.com/images/fotolife/b/blog-media/20181212/20181212140142.jpg

河野:このカリキュラムがあることで、もともとはAIに関する知識や経験がない技術者を、案件開始までに学んでから業務にあてることができるようになりました。とはいえそれでも、カリキュラムを終わらせただけでは初心者には変わりませんので、実際にお客さまにあたる担当者を、WGで長く活動している私のようなメンバーが後ろでフォローするという形をとっています。

こうした体制をとることで、これまで技術者がいなくて取れなかったような案件も取りこぼすことがなくなり、案件の幅が広がっています。もともと弊社は組み込み開発がメインだったので、大手電機メーカーのお客さまが多かったのですが、AIとなるとインフラ関連、キャリア関連、交通関連など、今まで関わったことのなかったさまざまなお客さまからのお声がけをいただくようになりました。

Skyの今後

https://cdn-ak.f.st-hatena.com/images/fotolife/b/blog-media/20181205/20181205173931.jpg

── Skyといえば、資産管理ソフトのSKYSEAのイメージとても強いのですが、組み込み開発がメインなのですか? AI関連も含めた受託開発事業はどのくらいの割合を占めているのでしょうか。

河野:実は売上の6割は、組み込みをはじめとするお客さまの製品やソフトウェア開発をお手伝いする受託開発で、SKYSEAのような自社製品よりも多いんですよ。AI関連については、お客さまの研究開発の一部として、技術者を提供しているような形のものが多いです。

── それはちょっとイメージが変わりました。

松岡:私も知らなかったのですが、Skyさんは特に組み込み開発の分野では豊富な経験があるんですね。私の専門であるHPC(High Performance Computing)は、日本が世界において競争力のある数少ない分野の1つですが、組み込みや製造技術もそうだと思います。でも、組み込みの開発経験があって、AIも最新の技術をマスターしている人というのはほとんどいない。Skyがそこを狙って立ち上げていくというのは、非常にいいマーケットだと思うし、それをどう立ち上げていくのかということにとても興味があります。そういう案件が増えてもっと大規模な学習もやるようになって、スーパーコンピューターも使いましょうか、なんて話になったらいいなと思っています。

── ところで河野さんご自身は、AIや画像認識について、経験をお持ちだったんですか?

河野:大学で画像認識の研究をしていましたので、最初の展示会用コンテンツを作成する際には知識をそのまま生かしてやった感じですね。その後は先ほどお話ししたように、会社として技術者を増やす必要を感じたので、WGを作って、カリキュラムを作って、今に至ります。

── その間ずっとリーダーとして推進してこられたのは、河野さんご自身の「やりたい」思いがあったのでしょうか?

河野:そうですね。展示会の結果を受けて、画像認識の機運の盛り上がりがあったので、ある意味そこに乗って波がついえないように推進してきたという感じです。

── 元々、そういう研究をしたくてSkyに入社されたのですか?

河野:そうではないです。2004年に新卒で入社したのですが、研究者になりたいわけではなく、ソフトウェア開発の分野で技術者としてバリバリ働きたくて、実力主義で働けると思い、この会社を選びました。入社から10数年間は、受託開発で携帯端末やコピー機の開発をしていまして、当初の目的は達成したということで、社内での新たな取り組みとして、昔やっていた画像認識にあらためて取り組んでいるという感じです。

── 今後、こんなことに挑戦したいということがありますか?

河野:WG活動の推進です。AIや画像認識関連の売上をまずは他のグループに匹敵するレベルまで引き上げることが当面の目標です。既に7-8案件が実案件として立ち上がってきており、数字も少し見えてきました。

松岡:AI系ベンチャーというのは日本でもいくつか出てきていますが、組み込みの上流工程からサポートに至るまでのきちんとしたビジネスモデルを持っている会社はほとんどありません。ある程度の会社の規模があって、河野さんが作ってきたような社内教育プログラムに先行投資しながら、案件も獲得できているような会社は少ないと思うんですね。がちがちの大企業よりも自由度があり、技術力もあり、先行投資をして、かつ組み込みの経験を生かしたビジネスモデルを構築していこうとしている。これから非常に伸びる会社だと思うし、AIをやりたいエンジニアには働きやすい会社だと思いますよ。

── ありがとうございました。


Sky株式会社は1月16日に開催される、Engineer Career Talkに協賛しています。

Engineer Career Talk

日時:2019年1月16日(水)
会場:JPタワーホール
ゲスト:及川卓也氏、澤円氏
詳細はコチラ

[PR]企画・制作:はてな
取材・文:板垣 朝子
写真:南方 篤


※記事初出時、記事タイトルで「HAL」と記載していましたが、読者の方からのコメントを受け、2018年12月21日(金)午後0時01分に「HAL研」に変更いたしました。

*1:ニューラルネットワークの計算および学習を行うためのオープンソースソフトウェアライブラリ