[2016年12月21日 ]
ざっくりわかる「機械学習」シリーズ。
→目次ページ
第2回は『「機械学習」「ディープラーニング」の違い』です。
「1.人工知能(AI)」「2.機械学習」「3.ニューラルネットワーク」「4.ディープラーニング」は包括的関係にあります。
・「1.人工知能(AI)」は「2.機械学習」を包括
・「2.機械学習」は「3.ニューラルネットワーク」を包括
・「3.ニューラルネットワーク」は「4.ディープラーニング」を包括
・「1.人工知能(AI)」←「2.機械学習」←「3.ニューラルネットワーク」←「4.ディープラーニング」
のように、それぞれ包括し包括される関係性があります。
「2.機械学習」とは、「1.人工知能」を実現するためのアプローチ手法/データ分析手法の1つで、「IT研究テーマ」「分野」「ジャンル」のような概念です。
概要については、こちらを参照ください。
→ざっくりわかる「機械学習」---第1回 機械学習とは(入門編)
「3.ニューラルネットワーク」とは「2.機械学習」手法の1つです。
人間の脳の神経回路(ニューロン間相互接続)をモデルにして機械的に模倣する考え方で、対象のデータ特徴をさまざまな方向から検出し理解することを目的としています。
まだ人工知能という概念が存在していなかった時代から研究されていました。
「4.ディープラーニング」とは、「3.ニューラルネットワーク」を発展/拡張させた機械学習アルゴリズムです。「ディープラーニング(Deep Learning)」は、「深層学習」や「多階層ニューラルネットワーク(Deep Neural Network)」とも呼ばれます。
「3.ニューラルネットワーク」は入力~出力間の中間層が非常にシンプルですが、「4.ディープラーニング」はその中間層を何層にも重ねて、深く(ディープに)なっている点が特徴です。
中間層が多くなるほど、さまざまな特徴点を組み合わせて、高精度な特徴を見出すことができます。
従来の機械学習の課題は、人間がパラメータ設定を行わなければならない点でした。例えば、色を識別する機械学習の場合、色の特徴点について、人間が1つずつ判断しパラメータ設定を行わなければならず、自動化を阻むポイントになっていました。
一方、「4.ディープラーニング」では、学習データから自動的に特徴を抽出し、自動的にモデル化していきます。
つまり、人間が1つ1つ関与しなくても、アルゴリズムが自律的に学習していきます。この点が革新的とされている理由です。
ディープラーニングは性能/精度を高め続けています。特に画像認識分野で実用化されてきています。
「犬と猫を識別する」「犬の犬種を見分ける」などのことが可能となってきています。ディープラーニングでは、非常に細かい特徴点まで学習できるため、「子猫と子供ライオンの判別」などの人間でも難しい判別ができるようになってきています。
「画像を判別し、その画像に自動でキャプション(タグ)を付ける」こともできるようになってきています。キャプションが付くことにより、後で文字での検索ができるなどのメリットが生まれます。
ディープラーニングがもたらす可能性により、AI/機械学習の分野が大きく発展すると考えられています。応用範囲としては、画像認識/自然言語処理/音声認識などが想定されています。
自然言語処理/音声認識では、まだまだ発展途中ですが、さまざまな研究が行われ、特化したアルゴリズムが開発されていくに従い、この分野においてブレイクスルーを起こせる可能性について期待されています。
ざっくりわかる「機械学習」シリーズ。
→目次ページ
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