ディープラーニングという言葉が流行って久しい。ディープラーニングとは機械学習の形態の1つで、あらゆる形状、サイズのインテリジェント・デバイスを使って人間の脳の学習機能をエミュレート(模倣)しようという試みだ。「人間の脳神経回路を真似することによって、データを分類しようというアイデアに基づくアルゴリズム」と解説するメディアもある。
世間によく知られているディープラーニングの成果として有名なのが、2012年に発表されたGoogleの研究。12層のニューラルネットワークにインターネット上にある人や猫の顔の画像を大量に入力した結果、コンピュータが人や猫の顔の画像が判別できるようになったというものである。それから3年が経過した現在、ディープラーニングの画像認識精度は人間を超えてしまったという。2015年にはGoogleやMicrosoftのディープラーニングの誤認率が5%を切るまでに進化を遂げている。他にも、音声検索、音声の文字化、スパムフィルタ、ECサイトにおける不正検出などに利用できるとされ、研究開発分野や企業において注目を集めている。
なお、ディープラーニングの専門的な技術などの解説については、他の機会を譲りたい。本記事では、Javaや Scalaで書かれた世界初のオープンソース分散deep-learningライブラリである、DL4J(Deep Learning for Java)を開発した、アダム・ギブソン氏について触れる。
アダム・ギブソン(Adam Gibson)氏は、Facebookのマーク・ザッカーバーグ、アップルのスティーブ・ジョブス、Dellのマイケル・デルといった面々同様に大学を中退。IT業界に足を踏み入れた。アダム氏は、オープンソース・ディープラーニングプロジェクトを牽引するスタートアップ「スカイマインド(Skymind)」を創立し、現在は同社の最高技術責任者(CTO)として働いている。
「私の夢は、“自分自身に一生金銭的な投資をすることができるコンピュータ科学者(Self-Funded Scientist)”として生きていくことです」
これは、アダム・ギブソン氏本人の言葉である。年齢わずか27歳である彼は、オープンソース・ディープラーニング・フレームワークであるDL4Jを開発し、2013年に自身が参画する4番目のスタートアップ・スカイマインドを設立した。アダム・ギブソンはウェブニュースメディア「マイクロソフトウェア」のインタビューに次のように答えている。
「みんな怠けるために懸命に働く(Work hard to be lazy)のでは(笑)?僕の場合は、コンピュータを自動化して開発の仕事を減らすために、懸命にコーディングに励んでいます。ディープランニングの用途は他でもなく、コンピュータにデータ、ツール、パターンを入力、エンターキーを打って、自動的に答えを得ること。まるでゲームのようにです。それが、ディープラーニングのすばらしい魅力ではないでしょうか」
ギブソンCTOは、2010年にミシガン工科大学に入学してコンピュータ工学科で経営情報システムを専攻した。この時彼は、コーディングする時間を減らさなければ、開発者が経営に参加する時間を作ることが難しいということを学んだ。そしてその後、1年ほど人工知能(Artificial Intelligent、AI)関連授業を受けたアダム氏は、コーディングする時間を短縮するためには、人工知能技術が必要だという点に気づいた。
「怠けるために懸命にコーディングする」という言葉は、そんな経験から出てきたものである。彼は大学在学中にDL4Jを開発し、非営利会社のコンサルタントとして働いた。そして大学3年生の時に、最初の設立したスタートアップが成功をおさめると大学を中退した。
「お金を儲けると、学校に行くことに疑問を感じ始め最終的に中退しました。2012年に最初に作ったスタートアップでは、リアルタイム株式取引の事業をしました。主に海外取引に使用されるソフトウェアを開発して販売していました」
ただすべてが順調だった訳ではない。2番目、3番目のスタートアップは上手くいかなかったという。そして自らやりたいと心に決めていた、ディープラーニング関連の事業を起こす決意をする。そこで、業界関係者と交流するために、2013年にサンフランシスコで開催された「マシン・ラーニング・カンファレンス(Machine Learning Conference)」に参加。そこで、スカイマインドの競争創業者ジョシュ・パターソン(Josh Patterson)と出会う。ギブソンCTOは「すべてがそこから始まった」と回想する。
「カンファレンスでは、ジョシュ・パターソンとオープンソース、Hadoop、CUDAなど、本当に様々なテーマで会話しました。また、オープンソースコミュニティで交流する形で事業を展開するのが良いというアイデアも議論しました。結局、彼と2013年にスカイマインドを共同創業し、今年はディープランニング関連本『Deep Learning-A Practitioner's Approach』をともに執筆中です」(ギブソン氏)
ギブソン氏はHadoopの創始者であるダグ・カッティング(Doug Cutting)氏の方法を採用し、DL4Jを育てたいという。DL4Jが、研究結果を実際のビジネスにも適用することができるようにするというアイデアをもとにしたこと、オープンソースコミュニティで生態系を先に育てようとしたことなどは、Hadoopの成長モデルと酷似している。
「ダグ・カッティング氏がHadoopを成長させたように事業を展開したい。オープンソースで、エンタープライズ市場に打って出るのです。DL4Jをオープンソースとしたのも、その理由からですし、世界中の企業や個人開発者を教育しに通うのもそのためです」
※エンタープライズ市場-IT業界における市場や製品カテゴリの区分の一つで、大企業や中堅企業、公的機関など、複数の部門で構成されるような比較的規模の大きな法人に向けた市場や製品のこと。同様に、個人事業主や中小企業は「スモールビジネス」、一般消費者は「パーソナル」「ホーム」「コンシューマ」などと呼ぶ。
ギブソンCTOはDL4Jをエンタープライズ市場でも利用できるオープンソース・ディープラーニング・フレームワークだという点を強調する。ギブソン氏たちの立場からすれば、それがお金を最も簡単に稼ぐ手段となる。というのも、ディープランニングが今最も注目を集める技術なだけに、大企業はテストと実験を経て、競合他社よりもいち早くサービスを出したがる。そこに、ギブソン氏が作成したソフトウェアを使用する機会が生じることになる。
「僕たちの立場からすれば、コストを節約することができます。大企業は、データ、エンジニアリングチームなどのリソースが豊富。僕たちが同じことをやろうと思えば、費用を捻出する必要がありますが、大企業をターゲティングすれば無料で利用できます。また、さまざまな事業にも触れることができる。大企業は、僕たちのソフトウェアでそれぞれ個別の問題を解決しようとします。そのように、大企業で経験した問題やそれを解く経験をノウハウとして蓄積することができるのです」
DL4JはApacheライセンス2.0の規定に従う分散型ディープラーニング・オープンソース・ライブラリであり、マルチスレッドと通常のシングルスレッドを両方を含むフレームワークだ。大容量のデータを迅速に処理することができる。Java、Scala、Clojureと互換性を持ち、Hadoop、Sparkと統合可能である。
「DL4Jは計6個の言語で構成されています。 Java、C ++、Javaスクリプト、オープンCL(Open Computing Language)、CUDA、Scalaです。オープンCLとCUDA は、GPU分散処理のための言語です。言語ごとにオープンソースプロジェクトがあり、プロジェクト全体の生態系を構成しています」
DL4Jはディープラーニング技術の中でも、最近最も多く使われるDeep Neural Nets(DNN)を構成するようにサポートする。つまり薄い網(ネット)が層(レイヤ)を形成する過程をDL4Jが助ける。ここでさまざまなオープンソースプロジェクトが出てくる。
ギブソン氏によると、DL4Jは徹底したコミュニティベースの商品であり、スカイマインドはそこに金銭的な投資をする。利益は他のオープンソースベンダーのようにコンサルティングなどのプレミアムサービスで得る。またスカイマインドのプロジェクトを商品化し、パッケージ化してライセンス提供することもある。現在は、米国の有名チップメーカーと主に協力しているそうだ。ギブソンCTOはディープランニングの主要市場として、アジアを挙げた。
「スカイマインドは米国よりもアジアを最も重要な市場と見ています。多くのディープランニング関連スタートアップが、すでに慣れ親しんだ米国市場で事業を展開するのを好みます。しかし、スカイマインドはアジアに進出、ビジネスモデルを構築し、市場を作っていきたいと思います。需要があり、機会も多い市場ですので。昨年から韓国に出張する機会も増えました。大きなカンファレンスで講演をして他社とのネットワークを増やすためです」
ギブソンCTO率いるスカイマインド、そしてDL4Jがアジア地域にどう根付いていくか。その去就が注目される。