データコレクターでリアルタイム機械学習に TensorFlow を使用する方法

データコレクターでリアルタイム機械学習に TensorFlow を使用する方法

【51CTO.com クイック翻訳】

ビジネス ユーザーとアプリケーションがさまざまなソースからの生データと集約データにアクセスし、データに基づく洞察をタイムリーに生成できる場合にのみ、最新の DataOps プラットフォームの真の価値を実現できることに気づいているでしょうか。機械学習 (ML) テクノロジーにより、データ アナリストやデータ サイエンティストは、TensorFlow などのテクノロジーを使用して、さまざまな履歴データをオフラインまたはリアルタイムで使用し、データに基づくビジネス上の意思決定を改善できます。

この記事では、StreamSets Data Collector 3.5.0 (https://streamsets.com/products/sdc を参照)、StreamSets Data Collector Edge (https://streamsets.com/documentation/datacollector/latest/help/datacollector/UserGuide/Edge_Mode/EdgePipelineTypes.html#concept_c14_m4r_4bb を参照)、および新しくリリースされた TensorFlow Evaluator (https://streamsets.com/documentation/datacollector/latest/help/datacollector/UserGuide/Processors/TensorFlow.html#concept_otg_csh_z2b を参照) を使用して、さまざまな予測タスクや分類タスクに TensorFlow (TF) モデルを使用する方法を説明します。

詳細に入る前に、まずいくつかの基本的な概念を明確にしましょう。

機械学習

アーサー・サミュエルはこれを「事前に明示的にプログラムすることなく、コンピューターを自動的に学習させる方法を研究する分野」と説明しました。機械学習技術の発展により、今日のコンピューターは人間と同等かそれ以上の予測を行うことができます。機械学習は、一般的に問題を解決する方法に基づいて 2 つのカテゴリに分類されます。

教師あり学習

Wikipedia では、教師あり学習は次のように定義されています: 教師あり学習とは、特定の例の「入力と出力のペア」に基づいて実際の入力を出力にマッピングする学習タスクです。履歴データがその結果に応じてラベル付けされると、それを使用してさまざまな結果を予測する正確なモデルを構築できます。

教師あり学習で解決できる一般的なビジネス上の問題には、次のようなものがあります。

  • バイナリ分類(カテゴリ値を予測する学習)
    • 顧客は製品を購入するでしょうか?
    • ある癌は悪性ですか、それとも良性ですか?
  • 多重分類(カテゴリ値を予測する学習)
    • 指定されたテキストにはウイルスやその他の不健全なコンテンツが含まれていますか?
    • 与えられた花はどの科と種に属しますか?
  • 回帰(連続値を予測する学習)
    • この家の販売前価格はいくらですか?
    • 明日のサンフランシスコはどうなるでしょうか?

教師なし学習

教師なし学習は、出力に関する知識がほとんどまたはまったくない問題を扱います。構築するモデルは過去のデータのラベルを使用できないため、データ内の変数間の関係性に基づいて構造を導き出すためにデータをクラスタリングする必要があります。

教師なし学習の一般的な 2 つの方法は、K-means クラスタリング (https://en.wikipedia.org/wiki/K-means_clustering を参照) と DBSCAN (https://en.wikipedia.org/wiki/DBSCAN を参照) です。

Data Collector と Data Collector Edge の両方の TensorFlow Evaluator は現在、教師あり学習モデルのみをサポートしていることに注意することが重要です。

ニューラルネットワークとディープラーニング

ニューラル ネットワークは、人間の脳の構造にヒントを得た計算モデルを学習して使用できる機械学習アルゴリズムの一種です。ニューラル ネットワークは、決定木やロジスティック回帰などの他の機械学習アルゴリズムと比較して、高い精度を備えています。ディープラーニングはニューラル ネットワークのサブセットであり、これによりネットワークはネストされた階層でさまざまな概念を表現できるようになります。一般的なニューラル ネットワークとディープラーニングのアプリケーションには次のものがあります。

  • コンピュータビジョン/画像認識/物体検出
  • 音声認識/自然言語処理 (NLP)
  • 推薦システム(商品推薦、マッチメイキング等)
  • 異常検知(ネットワークセキュリティ等)

テンソルフロー

Google Brain チームによって作成された TensorFlow は、ディープ ニューラル ネットワーク専用に設計されたオープン ソースの機械学習フレームワークです。 TensorFlow は、Windows や Mac OS だけでなく、CPU、GPU、TPU でもスケーラブルで移植可能なモデル トレーニングをサポートします。現在、GitHub 上で最も人気があり、活発な機械学習プロジェクトの 1 つです。

データコレクターにおける TensorFlow

TensorFlow Evaluator を使用すると、データや機能を伝送し、含まれている環境でさまざまな予測や分類を生成するパイプラインを作成できます。 HTTP または REST API 呼び出しを開始せずに、Web サービスとして公開されている機械学習モデルにアクセスできます。たとえば、データは最終的な保存先に保存される前に複数の段階を経ることが多く、Data Collector のさまざまなパイプラインは不正なトランザクションをリアルタイムで検出したり、テキストに対して自然言語処理を実行してさらなる処理や意思決定を行ったりすることができます。

さらに、Data Collector Edge を使用すると、Raspberry Pi (https://www.raspberrypi.org/ を参照) またはその他のサポートされているプラ​​ットフォーム (https://streamsets.com/documentation/datacollector/latest/help/datacollector/UserGuide/Edge_Mode/SupportedPlatforms.html#concept_yxr_b5q_4bb を参照) で TensorFlow 機械学習対応パイプラインを実行できます。たとえば、高リスク地域での洪水などの自然災害の発生確率を検出するなど。

応用事例

乳がんの腫瘍を悪性か良性かに分類するユースケースを考えてみましょう。 scikit-learn モデルによって提供される古典的な乳がんデータセット (http://scikit-learn.org/stable/modules/generated/sklearn.datasets.load_breast_cancer.html を参照) を使用して、トレーニングとエクスポートに使用できるシンプルな TF モデルを Python で構築しました。私のコードは GitHub で確認できます: https://github.com/iamontheinet/datascience/blob/master/Breast_Cancer/breast_cancer_training.py最も単純な使用例として、モデルの作成とトレーニングではいくつかの隠しレイヤーのみを使用しました。ただし、TensorFlow SavedModelBuilder (https://www.tensorflow.org/api_docs/python/tf/saved_model/builder/SavedModelBuilder を参照) を使用して、Python などのサポートされている言語や、Jupiter Notebook (http://jupyter.org/ を参照) などのインタラクティブな環境を使用してモデルをエクスポートおよび保存する方法を確認できます。

TensorFlow SavedModelBuilder を使用してモデルをトレーニングしてエクスポートした後、Data Collector または Data Collector Edge がアクセスできる場所にモデルを保存することで、データフロー パイプラインで簡単に予測や分類を行うことができます。

パイプラインの概要

次の図は、上記のユースケースのパイプラインの詳細を示しています。で:

  • ディレクトリの起源:
    • ここでは、.csv ファイルから乳がんのデータ レコードを読み込みます。注: ここで入力したデータ ソースは、Kafka、AWS S3、MySQL などの他のソースに簡単に置き換えることができます。
  • フィールドコンバーター:
    • このプロセッサは、乳がん記録機能を持つすべての入力に対して、平均を文字列から浮動小数点数に変換するさまざまな変換を実行します。
  • TF Evaluator (TensorFlow Evaluator、構成は次のとおりです):

    • 保存されたモデル パス: 事前トレーニングに使用する TF モデルの場所を指定します。
    • モデル タグ: エクスポートされたモデルでは、メタ グラフは提供を目的としているため、「serve」に設定する必要があります。詳細については、tag_constants.py(https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/saved_model/tag_constants.py) および関連する TensorFlow API ドキュメント(https://www.tensorflow.org/api_docs/python/tf/saved_model/tag_constants) を参照してください。
    • 入力構成: モデルのトレーニングおよびエクスポート中に構成される入力テンソル情報を指定します。 TensorFlow SavedModelBuilder セクションを使用してモデルをトレーニングし、保存およびエクスポートするを参照してください。
    • 出力構成: モデルのトレーニングおよびエクスポート中に構成される出力テンソル情報を指定します (上記のリンクも参照)。
    • 出力フィールド: カテゴリ値を保存する必要がある出力レコード内のフィールド。
  • 式評価子:
    • このプロセッサは、モデルの出力と分類値が 0 か 1 か (通常は出力フィールド TF_Model_Classification に格納されます) を評価し、それに応じて、それぞれ「良性」または「悪性」の機能「条件」を持つ新しいレコード フィールドを作成します。
  • ストリームセレクター:
    • がんの状態(良性か悪性か)を評価し、その記録をさまざまな Kafka プロデューサーに送信します。
  • カフカプロデューサー:
    • さまざまな入力レコードとモデルの出力/分類値は、条件に応じて 2 つの Kafka プロデューサーにルーティングされ、さらに処理および分析されます。 (注: ここでのターゲットは、AWS S3、MySQL、NoSQL などの他のターゲットに簡単に置き換えることができます)

この例のパイプライン ステージは、TensorFlow Evaluator によって生成されるモデル出力と比較すると、実際にはオプションであることに注意してください。ユースケースの必要に応じて、他のプロセッサやターゲットと交換できます。

パイプライン実行

パイプラインをプレビュー (または実行) すると、入力された乳がんの記録が上記のデータ フローのパイプライン ステージを通過し、TensorFlow モデルに対して提供されます。 Kafka プロデューサーに送信される最終出力レコード (上の図を参照) には、乳がんを分類するために使用されるモデル機能、ユーザー定義フィールド TF_Model_Classification の出力モデル値 (0 または 1)、および式評価者によって作成された、がんの状態が良性か悪性かを示すフィールド条件が含まれます。

要約する

上記では、Data Collector 3.5.0 で新しくリリースされた TensorFlow Evaluator の使い方を簡単に紹介しました。この評価ツールを使用すると、追加のカスタム コードを記述することなく、トレーニング済みの TF モデルを提供して、さまざまな予測と分類を生成できます。

原題: データコレクターでの TensorFlow を使用したリアルタイム機械学習、著者: Dash Desai

[51CTOによる翻訳。パートナーサイトに転載する場合は、元の翻訳者と出典を51CTO.comとして明記してください]


<<:  疫病流行中の人間の行動にAIが混乱!データ変更による作業の「異常」は手動での制御が必要

>>:  映画での演技から運転まで、人工知能の実装の5つの主要な方向性は次のとおりです。

ブログ    
ブログ    

推薦する

AI推論の進化

AI推論市場はここ3、4年で劇的に変化しました。以前は、エッジ AI は存在すらせず、推論機能のほと...

自動運転には未来があるのでしょうか?

自動運転の定義この記事では、飛行機や船ではなく、自動車の自動運転について説明します。英語ではこれを自...

...

自動制御システムとは何ですか? 自動制御システムの動作原理は何ですか?

自動制御システムといえば、実は多くの友人はそれについてあまり知りません。ここでは、自動制御システムと...

超音波チップが脳コンピューターインターフェースに革命をもたらす:非侵襲的インプラントに一歩近づく

2023年、脳コンピューターインターフェース(BCI)技術は依然として急速な発展の年を迎えました。脳...

マイクロソフトの「Office の新時代」イベント プレビューでは AI が紹介される: 新しい描画アプリ、ゲーム フレーム レートの向上など

マイクロソフトは3月8日、北京時間3月22日午前1時にオンライン新製品発表会を開催することを決定した...

Megvii、AIイノベーションを加速させるため7億5000万ドルのシリーズD資金調達を完了

北京Megviiテクノロジー株式会社(以下、「Megvii」)は、シリーズDの株式資金調達の第2フェ...

米国の3つの事例を踏まえた、医療AIの正しい導入アプローチとは?

[[287239]]先ほど終了したRSNAでは、国内外のAI企業が製品と科学研究の両面で再び世界の...

新しい形の人工知能が登場: AIaaSについてお話しましょう

「サービスとしての」配信モデルの誕生以来、SaaS と PaaS は日常的な技術用語の一部となり、企...

今からAIについて学ぶのは遅すぎますか?

AI飽和私は、Google やハーバード大学のコース、YouTube の完全なチュートリアルなど、...

小中学生の安全を守るためにロボットは今や欠かせない存在です!

安全性について話すと、誰もが必ずそれに共感します。時代の急速な発展に伴い、人々の個人的な安全がますま...

人材情報プラットフォームの変革における人工知能の役割

人工知能 (AI) が人材情報プラットフォームを変革することで採用業界に革命をもたらしていることは否...

プログラマーから見たChatGPT

著者 |ブライト・リャオ私はもともとAI技術に興味があったソフトウェア開発エンジニアで、ディープラー...

ビッグデータアルゴリズムのジレンマ

2013年、米国で窃盗罪で有罪判決を受けた男性がウィスコンシン州の裁判所に訴訟を起こしたという物議を...

...