[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を退社し、株式会社オープンソース活用研究所を設立。
2022年4月19日(火)15:00~16:00 『ランサムウェア攻撃の標的にされ始めた中小企業 ~「選ばれるMSP/MSSP」が備えるセキュリティ/データ保護を可能にする近道~』 と題したウェビナーが開催されました。 皆様のご参加、誠にありがとうございました。 当日の資料は以下から無料でご覧いただけます。 ご興味のある企業さま、ぜひご覧ください。
Theano(テアノ)とは、Python用数値計算ライブラリです。「コンピュータ代数システム」と「最適化コンパイラ」の機能を有しており、多次元配列を含む数式について「定義」「最適化」「評価」が可能です。ディープラーニング計算処理でよく利用されています。
Apache Superset(アパッチスーパーセット)とは、最新エンタープライズ対応の「ビジネスインテリジェンスWebアプリケーション」です。「軽量」「高拡張性」「直感的」を特徴としており、「シンプルな円グラフ」から「詳細な地理空間チャート」まで、さまざまなデータ探索や視覚化が可能です。
Torch(トーチ)とは、「機械学習ライブラリ」および「科学計算フレームワーク」です。GPUを活用する機械学習のための幅広いアルゴリズムを提供します。「ディープラーニング」や「コンボリューショナルネット」などのニューラルネットワーク技術に特化しており、「シンプルプロセス」「最大限の柔軟性とスピード」などを特徴としています。
Metabase(メタベース)とは、オープンソースのデータ可視化ツールです。シンプルかつ強力なビジネスインテリジェンスツールとして、さまざまなデータ表現形式による意思決定サポートのための知見を得られます。特別な技術的スキルを必要とせずに利用できるため、ビジネス現場ですぐに利用できます。
Adminer(アドミナー)とは、PHPで記述されたフル機能のデータベース管理ツールです。同様な機能を提供する「phpMyAdmin」とは異なり、ターゲットサーバにデプロイする準備ができている単一ファイルで構成されます。主要データベースをサポートし、豊富なプラグイン機能も用意されています。
Microsoft Cognitive Toolkit(CNTK)(マイクロソフトコグニティブツールキット)とは、Microsoftが提供するオープンソースの「統合ディープラーニングツールキット」です。※CNTKは消極的開発段階に入っており、「ONNX」の利用が推奨されています。
Jaspersoft(ジャスパーソフト)とは、オープンソースのビジネスインテリジェンス(BI)ツールです。複数のコンポーネントで構成されており、高機能BIレポーティングツールとして、高度にインタラクティブなレポートを作成できます。Webやモバイルアプリケーションに組み込める分析機能なども提供します。
Apache Storm(アパッチストーム)とは、オープンソースのビッグデータ処理フレームワークです。耐障害性に優れており、分散型によるニアリアルタイム高速処理を実現します。「不正検出」「クリックストリーム分析」「大量IoTデバイス監視」「ソーシャル分析」「ネットワーク監視」などのリアルタイム性が要求される用途に適しています。
Apache NiFi(アパッチナイファイ)とは、データフローオーケストレーションツールです。Webインターフェースでシステム間のデータフロー自動化定義を実施し、フローベースプログラミングコンセプトでのデータ処理(配信)システムを構築できます。データフロー管理自動化のための「IoTデータフローを見据えた双方向性」を特徴としています。
Apache Solr(アパッチソーラー)とは、オープンソースエンタープライズ検索プラットフォームです。ApacheLucene上に構築されており、「高速処理」「高信頼性」「拡張性」「分散インデックス作成機能」「負荷分散クエリ機能」「自動フェイルオーバー機能」などの特徴があります。
Pentaho Data Integration(ペンタホデータインテグレーション)はETLツールです。革新的なメタデータ駆動型アプローチを使用して、強力な「データ抽出」「データ変換」「データ読み込み」などを実行できます。開発経緯から「Kettle」とも呼ばれます。
Apache Spark(アパッチスパーク)とは、インメモリ高速分散処理プラットフォームで、大規模データ処理用統合分析機能を提供します。「高速」かつ「汎用的」であることを目標に設計されています。Java派生言語「Scala」で実装されており、各種高機能ライブラリを搭載しています。
MXNet(エムエックスネット)とは、フル機能のディープラーニングフレームワークです。最先端のディープラーニング技術「畳み込みニューラルネットワーク(CNN)」「長短期メモリネットワーク(LSTM)」などをサポートしており、AWSが公式サポートを表明したことで大きな注目を集めています。
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分散レッジャー技術の確立を目指しています。
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 Flink(アパッチフリンク)。分散ストリーム処理プラットフォームです。バッチ処理にも対応し、耐障害性/拡張性を備えたストリーム処理基盤です。
Apache Nutch(アパッチナッチ)。オープンソースのWebクローラフレームワークです。Apache Hadoopによる拡張性が特徴です。
Apache Drill(アパッチドリル)。ビッグデータに対応するスキーマフリーSQLクエリエンジンです。構造化データ/非構造化データなどのさまざまなデータソースに対して、直接SQLクエリを実行して結果を得ることができます。
Norikra(ノリクラ)。ストリームデータ処理エンジンです。リアルタイムイベントストリームデータに対して、SQLライク言語でスキーマレスなデータ処理が可能です。手軽に利用できる点が特徴です。
Apache ManifoldCF(アパッチマニフォールドシーエフ)。オープンソースクローラフレームワークです。インターネット上やイントラネット内のさまざまなサーバに保管されているドキュメントコンテンツ(Webページ/文書ファイル/DBデータなど)を収集し、それを検索エンジンに送ります。
Eclipse BIRT(エクリプス バート)。BIRTとは、Business Intelligence and Reportting Toolsの頭文字。Eclipse上で利用できるレポート開発環境
OSS×Cloud ACCESS RANKING