5
ORACLE.COM/JAVAMAGAZINE ///////////////////////////////// MAY/JUNE 2015 46 COMMUNITY JAVA IN ACTION JAVA TECH ABOUT US blog ィープ・ラーニングとは機械学習の 形態の1つで、あらゆる形状、サイ ズのインテリジェント・デバイスを 使って人間の脳の学習機能をエミュレート しようという試みです。 このような機能は、自動運転車への応 用など、ビッグ・データやモノのインター ネットに莫大な見返りをもたらす可能性が 写真:BOB ADLER/GETTY IMAGES 起業まもないSkymindは、ディープ・ラーニング・テクノロジーを研究所から持ち出し、 Javaと Hadoopで構築したオープンソース・フレームワークと合わせて企業に持ち込もうとしていま す。 PHILIP J. GILL Christian Nicholson(左)、 George Takeo(右)と ともに、Skymind の 主要製品についてミー ティングを行う共同創業 者のAdam Gibson(中央) ディープ・ラーニング

JAVA IN ACTION JAVA TECH - Oracle Cloud...とし、Deep Learning for Javaフレーム ワークをオープンソース・テクノロジー 形式で開発し、リリースしました。これ

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: JAVA IN ACTION JAVA TECH - Oracle Cloud...とし、Deep Learning for Javaフレーム ワークをオープンソース・テクノロジー 形式で開発し、リリースしました。これ

ORACLE.COM/JAVAMAGAZINE ///////////////////////////////// MAY/JUNE 2015

46

COMMUNITY

JAVA IN ACTION

JAVA TECH

ABOUT US

blog

ディープ・ラーニングとは機械学習の形態の1つで、あらゆる形状、サイズのインテリジェント・デバイスを

使って人間の脳の学習機能をエミュレートしようという試みです。このような機能は、自動運転車への応用など、ビッグ・データやモノのインターネットに莫大な見返りをもたらす可能性が

写真:BOB ADLER/GETTY IMAGES

起業まもないSkymindは、ディープ・ラーニング・テクノロジーを研究所から持ち出し、JavaとHadoopで構築したオープンソース・フレームワークと合わせて企業に持ち込もうとしています。PHILIP J. GILL

Christian Nicholson(左)、George Takeo(右)と ともに、Skymind の 主要製品についてミーティングを行う共同創業者の Adam Gibson(中央)

ディープ・ラーニング

Page 2: JAVA IN ACTION JAVA TECH - Oracle Cloud...とし、Deep Learning for Javaフレーム ワークをオープンソース・テクノロジー 形式で開発し、リリースしました。これ

ORACLE.COM/JAVAMAGAZINE ///////////////////////////////// MAY/JUNE 2015

47

COMMUNITY

JAVA IN ACTION

JAVA TECH

ABOUT US

blog

あります。ただし、実用レベルのディープ・ラーニング技術のほとんどは一部の大学や企業の研究所にとどまっているのが現状です。しかし、このテクノロジーを広く利用してもらえるようにしたいと考えている人物がいます。Skymindの共同創業者で、同社の開発陣をとりまとめているAdam Gibsonです。カリフォルニア州サンフランシスコにあるSkymindは、ビジネス・インテリジェンスとエンタープライズ・ソフトウェアを扱う会社で、起業してまだ1年です。「顔認識、会話認識などへの応用を目的としてビッグ・データやビッグ・データ分析の分野でディープ・ラーニングを取り入れている組織もあります。しかし、実際に導入されているツールは、研究機関と企業

とではまったく異なっています」と25歳のGibsonは説明します。「企業の開発者は、このようなビッグ・データの応用分野にディープ・ラーニング・テクノロジーを活用する方法を探しており、それを日常業務の稼働環境に導入したいと考えています」Skymindのチームはこの認識を目標

とし、Deep Learning for Javaフレームワークをオープンソース・テクノロジー形式で開発し、リリースしました。これはDeeplearning4J(DL4J)とも呼ばれ、deeplearning4j.orgから無償でダウンロードできます。Skymindの説明によると、DL4Jは商用レベルと呼べる初の製品であり、オープンソース型分散ディープ・ラーニング・ライブラリとしてJavaで書かれ、ビジ

ネス環境向けに設計されています。

脳のエミュレーション現在、スパム・フィルタ、OCR、検索エンジンといった多くの一般的な計算処理は機械学習という側面を持っています。「機械学習は、非常に高いレベルでビッグ・データ分析の進化を支えています」とGibsonは言います。しかし、ビッグ・データも壁に突き当たっています。画像、ビデオ、会話認識、テキストといったある種の非構造化データは企業にとって大きなメリットをもたらす可能性を持ちますが、現在のビッグ・データ・ツールが把握できる範囲を越えています。ディープ・ラーニングはこの問題を解決できる可能性を秘めています。このタイプ

SKYMIND skymind.io

所在地: カリフォルニア州 サンフランシスコ業界: ソフトウェア従業員数: 4名使用しているJava テクノロジー: Java Development Kit 7

多くのサンフランシスコの技術系新会社と同じように、Skymind の本社は事務所 向けに改装された工業施設にあります。

Page 3: JAVA IN ACTION JAVA TECH - Oracle Cloud...とし、Deep Learning for Javaフレーム ワークをオープンソース・テクノロジー 形式で開発し、リリースしました。これ

ORACLE.COM/JAVAMAGAZINE ///////////////////////////////// MAY/JUNE 2015

48

COMMUNITY

JAVA IN ACTION

JAVA TECH

ABOUT US

blog

の機械学習は、ディープ・ストラクチャル・ラーニングとも呼ばれており、人工ニューラル・ネットワーク(ANN)、パターン認識、統計、数理最適化や、その他の人工知能に関するテクノロジーを組み合わせたものです。ディープ・ラーニングでは、ANN上で実行されるディープ・ラーニング・アルゴリズムがデータを適切に分類し、それに意味を与えます。その際に使用できる関連情報は、シグナルと呼ばれます。意味を与えるとは、写真やビデオから顔の特徴を認識したり、録音された音声から話し言葉を認識したり、文書やWebサイトに書かれた文字を認識したりすることです。その他の情報は、すべてノイズです。「ディープ・ラーニング・アルゴリズムは

データから自動的にシグナルを抽出し、そのデータを使って事前プログラミングを必要としない方法で問題を解決します。アルゴリズムがそのデータから多くのシグナルをキャッチできればできるほど、推論もしやすくなります。この点はビッグ・データ分析と同じです。これは、人間にとっては簡単

歴史世界初のディープ・ラーニング人工ニューラル・ネットワークは、1980 年に福島邦彦氏が 作成したネオコグニトロンだと言われています。

DL4JフレームワークDeep Learning for Java(DL4J)はオープンソースのフレームワークで、エンタープライズ・コンピューティング環境でJavaを使ってディープ・ラーニング・アルゴリズムを開発できます。このフレームワークには、さまざまな人工ニューラル・ネットワーク(ANN)が含まれており、開発者はディープ・ラーニング・アプリケーションに解釈させたいデータの種類に応じたANNをJava仮想マシン(JVM)に導入できるようになっています。ANNは統計的学習アルゴリズムとして、動物中枢神経系、とりわけ人間の脳のような生体神経回路網に近い機能を持っています。 一般的なANNには、いくつかのタイプがあります。畳込み

ネットワークは画像の学習によく使用され、再帰的ニューラル・テンソル・ネットワークは自然言語処理、テキスト・マイニング、文の解析に導入できます。 単純多層制約付きボルツマン・マシンである深層信念

ネットワークは、複数のデータ型を扱います。ディープ・オートエンコーダ・ネットワークは、データ圧縮や、複雑な入力の次元を小さくする際に便利です。多層ノイズ除去オートエンコーダは、新しいデータを一般化するためにノイズ除去技術を活用しています。回帰ネットワークは、一般的に音声や時系列を学習するために使用します。 DL4Jフレームワークには、N-Dimensional Arrays for Java

(ND4J)も含まれています。これは、NumPyおよびMATLABタイプのデータ分析ツールをJVMに導入する科学計算ライブラリです。NumPyはPythonプログラミング言語のエクステンションで、多次元配列と高水準数学関数の大規模ライブラリをサポートしています。MathWorksのMATLABは、マルチパラダイム数値計算環境であり、第4世代のプログラミング言語です。DL4Jは、JVM上で動作する言語、Scalaもサポートしてい

ます。

Page 4: JAVA IN ACTION JAVA TECH - Oracle Cloud...とし、Deep Learning for Javaフレーム ワークをオープンソース・テクノロジー 形式で開発し、リリースしました。これ

ORACLE.COM/JAVAMAGAZINE ///////////////////////////////// MAY/JUNE 2015

49

COMMUNITY

JAVA IN ACTION

JAVA TECH

ABOUT US

blog

でも、コンピュータにとってはとても難しいことです。ディープ・ラーニング・アルゴリズムは、コンピュータが自動的に、人間とほぼ同じように情報を解析できるよう教え込むものです」とGibsonは述べています。現在のディープ・ラーニング・アルゴリズムやANNは、PythonなどのJava以外のプログラミング言語で書かれていることがほとんどです。しかし、Gibsonにとっては、DL4JにJavaを使うのは自然な選択でした。現在、Javaは企業で重要な位置を占めているからです。彼はこう言います。「DL4JをJavaで開発することで、私たちは企業向け分野で有利なポジションを確保できます。企業と同じセキュリティ・メカニズムを使い、企業のプログラマーがすでに理解している環境で運用できるのです」

DL4Jは、HadoopおよびSparkと統合されています。どちらも企業のビッグ・データ向け実稼働環境の業界標準であり、Apache Software Foundationから提供されています。Skymindは、DL4Jにこの2つのソフトウェアのライセンス2.0を使用しています。HadoopはJavaで記述されており、SparkはScala(JVM上で動作する言語)で記述されています。「HadoopとSparkはJavaとともに企業のオープンソース・テクノロジーを牽引しています。この傾向は今後もしばらく続くでしょう」とGibsonは述べています。

ビッグ・データとその向こうにあるものDL4Jはさまざまなタイプのニューラル・ネットワークをサポートしているため、こ

のフレームワークをプラットフォームに用いてアプリケーションを開発すれば、ほぼあらゆるデータ型を解析できます(サイドバーの「DL4Jフレームワーク」を参照)。先行する他のオープンソース企業と同様、Skymindもトレーニング、実装、カスタマイズ、継続サポートといった有料サービスを提供しています。Skymindの重点領域は、テキスト分析や画像などです。「テキスト分析は一般的なオフィスの課題で、私たちが多く相談を受けるのもこの分野です」とGibsonは言います。「カスタマー・サービスのログを保存する企業は多いですが、それをどうしたらよいのか、そのデータからどのようにシグナルを抽出すればよいのかを企業は知りません。たとえば、顧客がいつ不満を感じているかを判

Gibson、Nicholson、Takeo は、製品の機能やスケジュールを相談する ため、頻繁にミーティングを行っています。

ドメイン名.ioトップレベル・ドメインは、入出力(I/O)を連想させることから、とりわけ最近のシリコン・バレーの新会社の間で人気です。

Page 5: JAVA IN ACTION JAVA TECH - Oracle Cloud...とし、Deep Learning for Javaフレーム ワークをオープンソース・テクノロジー 形式で開発し、リリースしました。これ

ORACLE.COM/JAVAMAGAZINE ///////////////////////////////// MAY/JUNE 2015

50

COMMUNITY

JAVA IN ACTION

JAVA TECH

ABOUT US

blog

断できません。テキストを分析して鍵になる情報を見つけ、顧客が怒ったり興奮したりしていないか調べることができないからです」 顧客のサービス・ログに意味付けする同アルゴリズムは、テキスト・マイニングに関連するもう1つの面倒な作業も改善してくれます。「ディープ・ラーニング・アルゴリズムは、2つの単語が類似の文脈で使われていることを自動的に認識します。アルゴリズムはそれを学習し、検索結果を改善できるのです」顔認識は多くの重要な分野、とりわけセキュリティに応用できます。たとえば、会社のエントランスに誰かが近づいてきた場合、ディープ・ラーニング・システムは顔認識アルゴリズムを使ってその人物を特定

できます。「セキュリティのために顔認識を行う場合、システムは人物を特定できるまで写真を撮り続けます」また、Gibsonは、モノのインターネットの分野でさまざまな応用事例が成功を収めるためには、ディープ・ラーニング・アルゴリズムが欠かせないと話しています。モノのインターネットでは、ほとんどすべての機械やデバイスに何らかの形態のインテリジェントな埋込み機能が搭載されており、リアルタイムでシグナルの読取りや解析を行ってクラウド経由で他のデバイスと通信します。 Gibsonはこうまとめます。「絶えず到着するデータを解釈し、そこから学習するディープ・ラーニング機能は、モノのイン

ターネットに応用できます。自動運転車は一番の‘目玉’ですが、Eコマースなどのさまざまな分野にも活用できるでしょう」</article>

Philip J. Gill:カリフォルニア州サンディエゴを活動拠点とするライター兼編集者。Java の誕生以来、その動向を追い続けている

5,000を越えて増加中Deep Learning for Javaフレームワーク(DL4J)の安定版は、2014年11月に最初にリリースされました。共同創業者のAdam Gibsonによると、このフレームワークはそれ以降で5,000回ダウンロード(重複したIPアドレスは排除)され、SkymindのWebサイトは、月間で約21,000回アクセスされています。「私たちのGoogle Groupコミュニティのメンバーは600近くになりました。また、250名以上のソフトウェア・エンジニアがGitHubリポジトリをフォークして、自分用のバージョンで作業しています」とGibsonは言います。