[2016年12月21日 ]
ざっくりわかる「機械学習」シリーズ。
→目次ページ
第4回は『主要な機械学習フレームワーク(ライブラリ)』です。
機械学習フレームワーク(ライブラリ)を使用すると、ガイダンス/チュートリアルに従うだけで、基本的な機械学習処理を走らせることができます。
機械学習フレームワーク(ライブラリ)には、多くの種類があり、それぞれで特徴が異なります。それらの中から人気が高いオープンソースプロダクトを5製品紹介します。
名称 | TensorFlow |
読み方 | テンソルフロー(テンソーフロー) |
主要開発元 | |
オープンソースライセンス | Apache License version 2.0 |
・Googleが自社のプロダクトにも使用
・データフローグラフで、複雑なネットワークを分かりやすく記述できる
・ローレベルオペレータも手書きできる汎用性
・高パフォーマンス/スケーラビリティ
・研究レベルから実プロダクトまで扱える効率性
名称 | Microsoft Cognitive Toolkit |
読み方 | マイクロソフト コグニティブ ツールキット |
主要開発元 | Microsoft |
オープンソースライセンス | MIT License |
・音声/画像認識などのディープラーニングモデルにおいて高い処理速度を実現
・有向グラフを利用してニューラルネットワークを一連の演算的ステップとして記述
・自動差別化を持つ確率的勾配降下(SGD)モデルを実装
・音声認識/画像認識/検索適合性評価などのタスク支援を目的とする
・複数GPU上での動作を念頭に置いて設計
→OSS×クラウド情報 →Microsoft Cognitive Toolkitとは
名称 | DSSTNE |
読み方 | デスティニー |
主要開発元 | Amazon |
オープンソースライセンス | Apache License version 2.0 |
・スパースデータ(値のほぼすべてがゼロであるデータ)の処理に強い
・1つのツールでデータ分析/学習/モデル評価できる
・マルチGPUスケール
・CPU上とGPU上のどちらでもタスクを実行
名称 | Caffe |
読み方 | カフェ |
主要開発元 | Berkeley Vision and Learning Center |
オープンソースライセンス | BSD 2-Clause license |
・画像認識に特化(高精度画像識別)
・学習済モデル配布フレームワーク「Caffe Model Zoo」
・CNNでの「画像の多クラス分類」「特徴ベクトルの抽出」「転移学習」
・開発コミュニティが活発
名称 | Chainer |
読み方 | チェイナー |
主要開発元 | Preferred Networks(日本製) |
オープンソースライセンス | MIT License |
・ChainerはPythonのライブラリとして提供
・ニューラルネットワークを誤差伝播で学習
・「Define-by-Run」方式→「ネットワーク構築」と「学習」を同時に行う
・「Flexible(柔軟性)」「Intuitive(直感的)」「Powerful(高機能)」
ざっくりわかる「機械学習」シリーズ。
→目次ページ
1993年、株式会社野村総合研究所(NRI)入社。
インフラ系エンジニア、ITアーキテクトとして、証券会社基幹系システム、証券オンライントレードシステム、損保代理店システム、大手流通業基幹系システムなど、大規模システムのアーキテクチャ設計、基盤構築に従事。
2003年、NRI社内に、オープンソースの専門組織の設立を企画、10月に日本初となるオープンソース・ソリューションセンター設立。
2006年、社内ベンチャー制度にて、オープンソース・ワンストップサービス「OpenStandia(オープンスタンディア)」事業を開始。オープンソースを活用した、企業情報ポータル、情報分析、シングルサインオン、統合ID管理、ドキュメント管理、統合業務システム(ERP)などの事業を次々と展開。
オープンソースビジネス推進協議会(OBCI),OpenAMコンソーシアムなどの業界団体も設立。同会の理事、会長や、NPO法人日本ADempiereの理事などを歴任。
2013年、NRIを退社し、株式会社オープンソース活用研究所を設立。
①BIRT BIRT(Business Intelligence and Reporting Tools)は、Eclipse Foundationが後援するオープンソーステクノロジープラットフォーム。 「ビジュアルレポートデザイナー」と「JavaおよびJavaEE環境のランタイムコンポーネント」で構成されている。
Apache Spark(アパッチスパーク)とは、インメモリ高速分散処理プラットフォームで、大規模データ処理用統合分析機能を提供します。「高速」かつ「汎用的」であることを目標に設計されています。Java派生言語「Scala」で実装されており、各種高機能ライブラリを搭載しています。
MXNet(エムエックスネット)とは、フル機能のディープラーニングフレームワークです。最先端のディープラーニング技術「畳み込みニューラルネットワーク(CNN)」「長短期メモリネットワーク(LSTM)」などをサポートしており、AWSが公式サポートを表明したことで大きな注目を集めています。
Jaspersoft(ジャスパーソフト)とは、世界で幅広く利用されているオープンソースのビジネスインテリジェンス(BI)ソフトウエアであり、高機能なレポーティングツールです。PDFやHTMLなどさまざまな出力形式の帳票を作成でき、Webまたはモバイルアプリケーションに組み込める分析機能なども提供します。
Apache Solr(アパッチソーラー)は、Javaベースのオープンソース全文検索エンジンです。基本的には「ローカルにある文書ファイルの中からキーワードを含む文書を検索する」機能を提供します。他のシステムやツールと組み合わせることで、GoogleのようなWeb検索も実行できます。
Jupyter Notebook(ジュピターノートブック)とは、インタラクティブコンピューティング用Webベースノートブック環境です。ノートブック形式で段階的にプログラムを実行し、データ分析作業を行える対話型ブラウザ実行環境として利用できます。
Pentaho(ペンタホ)とは、BI(Business Intelligence)に必要なすべての機能が用意されているプロフェッショナル向けのオープンソースBIスイート製品です。「ETL」「OLAP」「クエリ」「レポーティング」「インタラクティブ分析」「ダッシュボード」「データマイニング」など、データ統合から分析までを一貫して実施できます。
RapidMiner Studio(ラピッドマイナースタジオ)とは、ビジュアルデータサイエンスワークフローデザイナーです。「機械学習」「データマイニング」「テキストマイニング」「特徴選択」「予測分析」などのさまざまなデータ分析処理をプログラミングなしで実施できます。
scikit-learn(サイキットラーン)とは、Pythonのオープンソース機械学習ライブラリです。機械学習アルゴリズムを幅広くサポートしており、「分類回帰クラスタ分析」「ニューラルネットワーク」「サポートベクターマシン」「ランダムフォレスト」「k近傍法」などを手軽に実装できます。
Enigma(エニグマ)とはブロックチェーンタイプの分散型計算プロトコルです。「シークレットコントラクト」を可能にする分散ネットワーク構築が可能で、Enigmaネットワーク内の「シークレットノード」が暗号化データに対して安全に計算を実行できます。
Elasticsearch(エラスティックサーチ)とは、全文検索エンジンです。マルチテナント、スキーマレスでクラウドに最適化されています。HTTP WebインターフェースとスキーマフリーのJSONドキュメントを備えており、さまざまなユースケースに対応できる分散型RESTful検索が可能です。
Kibana(キバナ)とは、全文検索エンジン「Elasticsearch」と連携して使用するデータ解析/可視化プラットフォームです。データ分析および検索ダッシュボードで、全文検索エンジン「Elasticsearch」用のオープンソースのデータ視覚化プラグインとして機能します。
Chainer(チェイナー)とは、日本製の深層学習フレームワークです。ニューラルネットワークを誤差伝播で学習するライブラリで、Pythonで柔軟に記述し学習させることができます。特徴として「柔軟性」「直感的」「高機能」の3つを掲げています。
Apache Kafka(アパッチ カフカ)とは、分散ストリーミングプラットフォームです。「Pull型」「高スループット」などの特徴があり、ストリーミングデータパイプライン構築に利用できます。分散環境において「高スループット」かつ「低レイテンシ」で、大規模データを高速に取り込み配信できるメッセージングシステムです。
Caffe(カフェ)とは、オープンソースのディープラーニングライブラリです。画像認識に特化しており、「高速動作」「GPU対応」「洗練されたアーキテクチャ/ソースコード」「開発コミュニティが活発」などの特徴があります。C++/Python/MATLABなどで使用できます。
Apache Hadoop(アパッチハドゥープ)とは、オープンソース大規模データ分散処理フレームワークです。「データ処理基盤」と「分散コンピューティング基盤」という2つの特徴を持つフレームワークとして大規模データを効率的に分散処理および管理できます。
Orange(オレンジ)とはデータマイニングソフトウェアです。初心者から専門家までのニーズに対応できる対話型データ分析ワークフローとして利用できます。「探索的なデータ分析」と「対話的なデータ視覚化」のためのビジュアルプログラミングフロントエンドを特徴としています。
TensorFlow(テンソルフロー)とは、Googleの機械学習/ディープラーニング/多層ニューラルネットワークライブラリです。データフローグラフを使用したライブラリで複雑なネットワークを分かりやすく記述できます。高い汎用性により研究レベルから実プロダクトにまで活用できます。
NGT(Neighborhood Graph and Tree for Indexing)とは、高次元ベクトルデータ高速検索技術です。ビッグデータ分析/ディープラーニング領域に活用できる技術として注目されています。
Hyperledger(ハイパーレッジャー)とは、オープンソース「ブロックチェーン技術推進コミュニティー」です。「Linux Foundation」が中心となり、世界30以上の先進的IT企業が協力して、ブロックチェーン技術/P2P分散レッジャー技術の確立を目指しています。
Theano(テアノ)とは、Python用数値計算ライブラリです。多次元配列を効率的に使用する数式について定義/最適化/評価でき、ディープラーニング計算処理によく利用されます。
Eclipse Deeplearning4j(イクリプスディープラーニングフォージェイ)とは分散型深層学習ライブラリです。「Java」「JVM(Java仮想マシン)」「各種アルゴリズム」をサポートします。
Keras(ケラス)とは、Python実装の高水準ニューラルネットワークライブラリです。「TensorFlow」「Microsoft Cognitive Toolkit」「Theano」上で実行できます。
Talend Open Studio(タレンドオープンスタジオ)とは、ELTビジュアル開発ツール群です。コードを記述せずにETLプロセスを作成できる点が特徴です。
Pravega(プラベガ)とは、オープンソースの分散ストレージサービスです。連続した無制限のデータに対してストレージ抽象化を行う、分散コンピューティングコーディネーションフレームワークです。
Fess(フェス)とは、Javaベースの全文検索サーバです。検索エンジンとして「Elasticsearch」を利用します。「5分で簡単に構築可能」な導入容易性が特徴です。
Schema Registry(スキーマ レジストリ)とは、メッセージングシステム「Apache Kafka」ベースのストリームデータ基盤「Confluent Platform」の1コンポーネントです。一元的なスキーマ管理機能を提供します。
Apache NiFi(アパッチナイファイ)。データフローオーケストレーションツールです。Webインタフェースでシステム間のデータフロー自動化定義が可能です。IoTデータフローを見据えた双方向性が特徴です。
Apache Flink(アパッチフリンク)。分散ストリーム処理プラットフォームです。バッチ処理にも対応し、耐障害性/拡張性を備えたストリーム処理基盤です。
Apache Nutch(アパッチナッチ)。オープンソースのWebクローラフレームワークです。Apache Hadoopによる拡張性が特徴です。
Apache Drill(アパッチドリル)。ビッグデータに対応するスキーマフリーSQLクエリエンジンです。構造化データ/非構造化データなどのさまざまなデータソースに対して、直接SQLクエリを実行して結果を得ることができます。
Norikra(ノリクラ)。ストリームデータ処理エンジンです。リアルタイムイベントストリームデータに対して、SQLライク言語でスキーマレスなデータ処理が可能です。手軽に利用できる点が特徴です。
Apache ManifoldCF(アパッチマニフォールドシーエフ)。オープンソースクローラフレームワークです。インターネット上やイントラネット内のさまざまなサーバに保管されているドキュメントコンテンツ(Webページ/文書ファイル/DBデータなど)を収集し、それを検索エンジンに送ります。
Microsoft Cognitive Toolkit(マイクロソフトコグニティブツールキット)。AI技術を利用したディープラーニング(深層学習)ツールキットです。旧称「CNTK」から改名されました。
Apache Storm(アパッチストーム)。オープンソースで耐障害性に優れた高速分散処理型ニアリアルタイムビッグデータ処理フレームワークです。
Eclipse BIRT(エクリプス バート)。BIRTとは、Business Intelligence and Reportting Toolsの頭文字。Eclipse上で利用できるレポート開発環境
OSS×Cloud ACCESS RANKING